diff --git a/packages/modules/web_themes/colors/source/src/components/chargePointList/CPChargePoint.vue b/packages/modules/web_themes/colors/source/src/components/chargePointList/CPChargePoint.vue index 3b145b84c2..41b1bf5bc8 100755 --- a/packages/modules/web_themes/colors/source/src/components/chargePointList/CPChargePoint.vue +++ b/packages/modules/web_themes/colors/source/src/components/chargePointList/CPChargePoint.vue @@ -47,7 +47,7 @@
- @@ -55,225 +55,11 @@
@@ -293,7 +79,7 @@ - @@ -310,71 +96,23 @@ diff --git a/packages/modules/web_themes/colors/source/src/components/chargePointList/ChargingState.vue b/packages/modules/web_themes/colors/source/src/components/chargePointList/ChargingState.vue new file mode 100644 index 0000000000..68afb5c3e6 --- /dev/null +++ b/packages/modules/web_themes/colors/source/src/components/chargePointList/ChargingState.vue @@ -0,0 +1,65 @@ + + + + diff --git a/packages/modules/web_themes/colors/source/src/components/chargePointList/VehicleData.vue b/packages/modules/web_themes/colors/source/src/components/chargePointList/VehicleData.vue new file mode 100644 index 0000000000..24744fb9d2 --- /dev/null +++ b/packages/modules/web_themes/colors/source/src/components/chargePointList/VehicleData.vue @@ -0,0 +1,308 @@ + + + + diff --git a/packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/CPConfigVehicle.vue b/packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/CPConfigVehicle.vue deleted file mode 100755 index 29d65975a4..0000000000 --- a/packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/CPConfigVehicle.vue +++ /dev/null @@ -1,66 +0,0 @@ - - - - - diff --git a/packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/CPChargeConfigPanel.vue b/packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/ChargeConfigPanel.vue similarity index 72% rename from packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/CPChargeConfigPanel.vue rename to packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/ChargeConfigPanel.vue index 0b553129e9..9f797d8ac3 100755 --- a/packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/CPChargeConfigPanel.vue +++ b/packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/ChargeConfigPanel.vue @@ -61,21 +61,6 @@ > - - @@ -86,7 +71,7 @@ role="tabpanel" aria-labelledby="instant-tab" > - +
- - - @@ -130,7 +115,7 @@ role="tabpanel" aria-labelledby="eco-tab" > - +
- +
- - - @@ -171,12 +133,12 @@ import { computed, onMounted } from 'vue' import { ChargePoint, vehicles, chargeTemplates } from '../model' import ConfigItem from '../../shared/ConfigItem.vue' -import CPConfigInstant from './CPConfigInstant.vue' -import CPConfigPv from './CPConfigPv.vue' -import CPConfigScheduled from './CPConfigScheduled.vue' -import CPConfigTimed from './CPConfigTimed.vue' -import CPConfigEco from './CPConfigEco.vue' -import CPChargeConfig from './CPChargeConfig.vue' +import ConfigInstant from './ConfigInstant.vue' +import ConfigPv from './ConfigPv.vue' +import ConfigScheduled from './ConfigScheduled.vue' +import ConfigTimed from './ConfigTimed.vue' +import ConfigEco from './ConfigEco.vue' +import ConfigGeneral from './ConfigGeneral.vue' const props = defineProps<{ chargepoint: ChargePoint }>() diff --git a/packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/CPConfigEco.vue b/packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/ConfigEco.vue similarity index 100% rename from packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/CPConfigEco.vue rename to packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/ConfigEco.vue diff --git a/packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/CPChargeConfig.vue b/packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/ConfigGeneral.vue similarity index 100% rename from packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/CPChargeConfig.vue rename to packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/ConfigGeneral.vue diff --git a/packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/CPConfigInstant.vue b/packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/ConfigInstant.vue similarity index 100% rename from packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/CPConfigInstant.vue rename to packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/ConfigInstant.vue diff --git a/packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/CPConfigPv.vue b/packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/ConfigPv.vue similarity index 100% rename from packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/CPConfigPv.vue rename to packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/ConfigPv.vue diff --git a/packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/CPConfigScheduled.vue b/packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/ConfigScheduled.vue similarity index 100% rename from packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/CPConfigScheduled.vue rename to packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/ConfigScheduled.vue diff --git a/packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/CPConfigTimed.vue b/packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/ConfigTimed.vue similarity index 100% rename from packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/CPConfigTimed.vue rename to packages/modules/web_themes/colors/source/src/components/chargePointList/cpConfig/ConfigTimed.vue diff --git a/packages/modules/web_themes/colors/source/src/components/chargePointList/cpSimpleList/CpsListItem2.vue b/packages/modules/web_themes/colors/source/src/components/chargePointList/cpSimpleList/CpsListItem2.vue index 623dbc65de..26f91ddcbb 100755 --- a/packages/modules/web_themes/colors/source/src/components/chargePointList/cpSimpleList/CpsListItem2.vue +++ b/packages/modules/web_themes/colors/source/src/components/chargePointList/cpSimpleList/CpsListItem2.vue @@ -131,7 +131,7 @@ import { ref, computed } from 'vue' import { chargePoints, type ChargePoint } from '../model' import { chargemodes, globalConfig } from '@/assets/js/themeConfig' import { formatWatt, formatWattH } from '@/assets/js/helpers' -import CPChargeConfigPanel from '../cpConfig/CPChargeConfigPanel.vue' +import CPChargeConfigPanel from '../cpConfig/ChargeConfigPanel.vue' import BatterySymbol from '../../shared/BatterySymbol.vue' import RangeInput from '@/components/shared/RangeInput.vue' import { updateServer } from '@/assets/js/sendMessages' diff --git a/packages/modules/web_themes/colors/web/assets/index-By-W14Wk.js b/packages/modules/web_themes/colors/web/assets/index-By-W14Wk.js new file mode 100644 index 0000000000..8e17040e4e --- /dev/null +++ b/packages/modules/web_themes/colors/web/assets/index-By-W14Wk.js @@ -0,0 +1,6 @@ +var ja=Object.defineProperty;var Fa=(a,e,t)=>e in a?ja(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var b=(a,e,t)=>Fa(a,typeof e!="symbol"?e+"":e,t);import{r as he,m as Na,c as g,a as Y,i as Ha,e as Le,u as jt,t as tt,b as wt,s as le,d as I,p as _a,f as wa,w as Ra,o as l,g as f,h as x,j as n,n as R,k as $,l as w,q as ue,v as _,x as J,y as i,z as v,F as j,A as Z,B as ka,C as Re,D as gt,E as rt,G as ot,H as dt,I as ht,J as it,K as Ja,L as Ne,M as K,N as qa,O as Te,P as mt,Q as Ya,R as Qa,S as xa,T as Za,U as Sa,V as Xa,W as Ka,X as en,Y as tn,Z as an,_ as nn,$ as rn,a0 as on,a1 as sn,a2 as ln}from"./vendor-CmSLe-Fc.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))o(s);new MutationObserver(s=>{for(const r of s)if(r.type==="childList")for(const h of r.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&o(h)}).observe(document,{childList:!0,subtree:!0});function t(s){const r={};return s.integrity&&(r.integrity=s.integrity),s.referrerPolicy&&(r.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?r.credentials="include":s.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function o(s){if(s.ep)return;s.ep=!0;const r=t(s);fetch(s.href,r)}})();var $e=(a=>(a.instant_charging="instant_charging",a.pv_charging="pv_charging",a.scheduled_charging="scheduled_charging",a.eco_charging="eco_charging",a.stop="stop",a))($e||{});class $a{constructor(e){b(this,"id");b(this,"name","Wechselrichter");b(this,"color","var(--color-pv)");b(this,"power",0);b(this,"energy",0);b(this,"energy_month",0);b(this,"energy_year",0);b(this,"energy_total",0);this.id=e}}const cn=[["EV","ev_mode"],["Speicher","bat_mode"],["MinSoc","min_soc_bat_mode"]];class un{constructor(e){b(this,"id");b(this,"name","Gerät");b(this,"power",0);b(this,"status","off");b(this,"energy",0);b(this,"runningTime",0);b(this,"configured",!1);b(this,"_showInGraph",!0);b(this,"color","white");b(this,"canSwitch",!1);b(this,"countAsHouse",!1);b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"tempConfigured",0);b(this,"temp",[300,300,300]);b(this,"on",!1);b(this,"isAutomatic",!0);b(this,"icon","");this.id=e}get showInGraph(){return this._showInGraph}set showInGraph(e){this._showInGraph=e,L.items["sh"+this.id].showInGraph=e,ae()}setShowInGraph(e){this._showInGraph=e}}const te=he(new Map);function Rt(a){te.has(a)?console.info("Duplicate sh device message: "+a):(te.set(a,new un(a)),te.get(a).color="var(--color-sh"+te.size+")")}const dn=0,Ma={host:location.hostname,port:location.protocol=="https:"?443:80,endpoint:"/ws",protocol:location.protocol=="https:"?"wss":"ws",connectTimeout:4e3,reconnectPeriod:4e3,clean:!1,clientId:Math.random().toString(36).replace(/[^a-z]+/g,"").substring(0,6)},kt={topic:"",qos:dn};let Be;const{host:hn,port:pn,endpoint:gn,...Pa}=Ma,oa=`${Pa.protocol}://${hn}:${pn}${gn}`;try{console.debug("connectURL",oa),Be=Na.connect(oa,Pa),Be.on("connect",()=>{console.info("MQTT connection successful")}),Be.on("disconnect",()=>{console.info("MQTT disconnected")}),Be.on("error",a=>{console.error("MQTT connection failed: ",a)})}catch(a){console.error("MQTT connect error: ",a)}function mn(a){Be?Be.on("message",a):console.error("MqttRegister: MQTT client not available")}function Ke(a){kt.topic=a;const{topic:e,qos:t}=kt;Be.subscribe(e,{qos:t},o=>{if(o){console.error("MQTT Subscription error: "+o);return}})}function st(a){kt.topic=a;const{topic:e}=kt;Be.unsubscribe(e,t=>{if(t){console.error("MQTT Unsubscribe from "+a+" failed: "+t);return}})}async function xt(a,e){let o=Be.connected,s=0;for(;!o&&s<20;)console.warn("MQTT publish: Not connected. Waiting 0.1 seconds"),await fn(100),o=Be.connected,s+=1;if(s<20)try{Be.publish(a,e,{qos:0},r=>{r&&console.warn("MQTT publish error: ",r),console.info("MQTT publish: Message sent: ["+a+"]("+e+")")})}catch(r){console.warn("MQTT publish: caught error: "+r)}else console.error("MQTT publish: Lost connection to MQTT server. Please reload the page")}function Jt(){return Ma.clientId}function fn(a){return new Promise(e=>setTimeout(e,a))}class vn{constructor(e){b(this,"id");b(this,"name","Ladepunkt");b(this,"icon","Ladepunkt");b(this,"type","");b(this,"ev",0);b(this,"template",0);b(this,"connectedPhases",0);b(this,"phase_1",0);b(this,"autoPhaseSwitchHw",!1);b(this,"controlPilotInterruptionHw",!1);b(this,"isEnabled",!0);b(this,"isPluggedIn",!1);b(this,"isCharging",!1);b(this,"_isLocked",!1);b(this,"_connectedVehicle",0);b(this,"chargeTemplate",null);b(this,"evTemplate",0);b(this,"_chargeMode",$e.pv_charging);b(this,"_hasPriority",!1);b(this,"currentPlan","");b(this,"averageConsumption",0);b(this,"vehicleName","");b(this,"rangeCharged",0);b(this,"rangeUnit","");b(this,"counter",0);b(this,"dailyYield",0);b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"faultState",0);b(this,"faultStr","");b(this,"phasesInUse",0);b(this,"power",0);b(this,"chargedSincePlugged",0);b(this,"stateStr","");b(this,"current",0);b(this,"currents",[0,0,0]);b(this,"phasesToUse",0);b(this,"isSocConfigured",!0);b(this,"isSocManual",!1);b(this,"waitingForSoc",!1);b(this,"color","white");b(this,"_timedCharging",!1);b(this,"_instantChargeLimitMode","");b(this,"_instantTargetCurrent",0);b(this,"_instantTargetSoc",0);b(this,"_instantMaxEnergy",0);b(this,"_instantTargetPhases",0);b(this,"_pvFeedInLimit",!1);b(this,"_pvMinCurrent",0);b(this,"_pvMaxSoc",0);b(this,"_pvMinSoc",0);b(this,"_pvMinSocCurrent",0);b(this,"_pvMinSocPhases",1);b(this,"_pvChargeLimitMode","");b(this,"_pvTargetSoc",0);b(this,"_pvMaxEnergy",0);b(this,"_pvTargetPhases",0);b(this,"_ecoMinCurrent",0);b(this,"_ecoTargetPhases",0);b(this,"_ecoChargeLimitMode","");b(this,"_ecoTargetSoc",0);b(this,"_ecoMaxEnergy",0);b(this,"_etActive",!1);b(this,"_etMaxPrice",20);this.id=e}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked=e,be("cpLock",e,this.id)}updateIsLocked(e){this._isLocked=e}get connectedVehicle(){return this._connectedVehicle}set connectedVehicle(e){this._connectedVehicle=e,be("cpVehicle",e,this.id)}updateConnectedVehicle(e){this._connectedVehicle=e}get soc(){return Q[this.connectedVehicle]?Q[this.connectedVehicle].soc:0}set soc(e){Q[this.connectedVehicle]&&(Q[this.connectedVehicle].soc=e)}get chargeMode(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.selected)??$e.stop}set chargeMode(e){console.log("set mode"),this.chargeTemplate&&(console.log("active"),this.chargeTemplate.chargemode.selected=e,oe(this.id))}get hasPriority(){var e;return((e=this.chargeTemplate)==null?void 0:e.prio)??!1}set hasPriority(e){this.chargeTemplate&&(this.chargeTemplate.prio=e,be("cpPriority",e,this.id))}get timedCharging(){return this.chargeTemplate?this.chargeTemplate.time_charging.active:!1}set timedCharging(e){this.chargeTemplate.time_charging.active=e,be("cpTimedCharging",e,this.id)}get instantTargetCurrent(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.instant_charging.current)??0}set instantTargetCurrent(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.instant_charging.current=e,oe(this.id))}get instantChargeLimitMode(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.instant_charging.limit.selected)??"none"}set instantChargeLimitMode(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.instant_charging.limit.selected=e,oe(this.id))}get instantTargetSoc(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.instant_charging.limit.soc)??0}set instantTargetSoc(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.instant_charging.limit.soc=e,oe(this.id))}get instantMaxEnergy(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.instant_charging.limit.amount)??0}set instantMaxEnergy(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.instant_charging.limit.amount=e,oe(this.id))}get instantTargetPhases(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.instant_charging.phases_to_use)??0}set instantTargetPhases(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.instant_charging.phases_to_use=e,oe(this.id))}get pvFeedInLimit(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.pv_charging.feed_in_limit)??!1}set pvFeedInLimit(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.pv_charging.feed_in_limit=e,oe(this.id))}get pvMinCurrent(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.pv_charging.min_current)??0}set pvMinCurrent(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.pv_charging.min_current=e,oe(this.id))}get pvMaxSoc(){return this._pvMaxSoc}set pvMaxSoc(e){this._pvMaxSoc=e,be("cpPvMaxSoc",e,this.id)}updatePvMaxSoc(e){this._pvMaxSoc=e}get pvMinSoc(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.pv_charging.min_soc)??0}set pvMinSoc(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.pv_charging.min_soc=e,oe(this.id))}get pvMinSocCurrent(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.pv_charging.min_soc_current)??0}set pvMinSocCurrent(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.pv_charging.min_soc_current=e,oe(this.id))}set pvMinSocPhases(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.pv_charging.phases_to_use_min_soc=e,oe(this.id))}get pvMinSocPhases(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.pv_charging.phases_to_use_min_soc)??0}get pvChargeLimitMode(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.pv_charging.limit.selected)??"none"}set pvChargeLimitMode(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.pv_charging.limit.selected=e,oe(this.id))}get pvTargetSoc(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.pv_charging.limit.soc)??0}set pvTargetSoc(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.pv_charging.limit.soc=e,oe(this.id))}get pvMaxEnergy(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.pv_charging.limit.amount)??0}set pvMaxEnergy(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.pv_charging.limit.amount=e,oe(this.id))}get pvTargetPhases(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.pv_charging.phases_to_use)??0}set pvTargetPhases(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.pv_charging.phases_to_use=e,oe(this.id))}get ecoMinCurrent(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.eco_charging.current)??0}set ecoMinCurrent(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.eco_charging.current=e,oe(this.id))}get ecoTargetPhases(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.eco_charging.phases_to_use)??0}set ecoTargetPhases(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.eco_charging.phases_to_use=e,oe(this.id))}get ecoChargeLimitMode(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.eco_charging.limit.selected)??"none"}set ecoChargeLimitMode(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.eco_charging.limit.selected=e,oe(this.id))}get ecoTargetSoc(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.eco_charging.limit.soc)??0}set ecoTargetSoc(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.eco_charging.limit.soc=e,oe(this.id))}get ecoMaxEnergy(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.eco_charging.limit.amount)??0}set ecoMaxEnergy(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.eco_charging.limit.amount=e,oe(this.id))}get etMaxPrice(){var e;return(((e=this.chargeTemplate)==null?void 0:e.chargemode.eco_charging.max_price)??0)*1e5}set etMaxPrice(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.eco_charging.max_price=Math.ceil(e*1e3)/1e8,oe(this.id))}get etActive(){return this.chargeTemplate&&this.chargeTemplate.chargemode.selected==$e.eco_charging}get realCurrent(){switch(this.phasesInUse){case 0:return 0;case 1:return this.currents[0];case 2:return(this.currents[0]+this.currents[1])/2;case 3:return(this.currents[0]+this.currents[1]+this.currents[2])/3;default:return 0}}toPowerItem(){return{name:this.name,power:this.power,energy:this.dailyYield,energyPv:this.energyPv,energyBat:this.energyBat,pvPercentage:this.pvPercentage,color:this.color,icon:this.icon,showInGraph:!0}}}class bn{constructor(e){b(this,"id");b(this,"name","__invalid");b(this,"tags",[]);b(this,"config",{});b(this,"soc",0);b(this,"range",0);b(this,"_chargeTemplateId",0);b(this,"isSocConfigured",!1);b(this,"isSocManual",!1);b(this,"_evTemplateId",0);this.id=e}get chargeTemplateId(){return this._chargeTemplateId}set chargeTemplateId(e){this._chargeTemplateId=e,be("vhChargeTemplateId",e,this.id)}updateChargeTemplateId(e){this._chargeTemplateId=e}get evTemplateId(){return this._evTemplateId}set evTemplateId(e){this._evTemplateId=e,be("vhEvTemplateId",e,this.id)}updateEvTemplateId(e){this._evTemplateId=e}get chargepoint(){for(const e of Object.values(O))if(e.connectedVehicle==this.id)return e}get visible(){return this.name!="__invalid"&&(this.id!=0||m.showStandardVehicle)}}const O=he({}),Q=he({}),Ft=he({}),yn=he({});function _n(a){if(!(a in O)){O[a]=new vn(a);const e="var(--color-cp"+(Object.values(O).length-1)+")";O[a].color=e;const t="cp"+a;se[t]?se["cp"+a].color=e:se[t]={name:"Ladepunkt",color:e,icon:"Ladepunkt"}}}function wn(){Object.keys(O).forEach(a=>{delete O[parseInt(a)]})}const me=g(()=>{const a=[],e=Object.values(O),t=Object.values(Q).filter(r=>r.visible);let o=-1;switch(e.length){case 0:o=t[0]?t[0].id:-1;break;default:o=e[0].connectedVehicle}let s=-1;switch(e.length){case 0:case 1:s=t[0]?t[0].id:-1;break;default:s=e[1].connectedVehicle}return o==s&&(s=t[1]?t[1].id:-1),o!=-1&&a.push(o),s!=-1&&a.push(s),a}),qt=[{name:"keine",id:"none"},{name:"Ladestand",id:"soc"},{name:"Energie",id:"amount"}],Ca={cpLock:"openWB/set/chargepoint/%/set/manual_lock",chargeMode:"openWB/set/vehicle/template/charge_template/%/chargemode/selected",cpPriority:"openWB/set/vehicle/template/charge_template/%/prio",cpTimedCharging:"openWB/set/vehicle/template/charge_template/%/time_charging/active",pvBatteryPriority:"openWB/set/general/chargemode_config/pv_charging/bat_mode",cpVehicle:"openWB/set/chargepoint/%/config/ev",cpInstantChargeLimitMode:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/selected",cpInstantTargetCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/current",cpInstantTargetSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/soc",cpInstantMaxEnergy:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/amount",cpPvFeedInLimit:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/feed_in_limit",cpPvMinCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_current",cpPvMaxSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/max_soc",cpPvMinSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc",cpPvMinSocCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc_current",cpEtMaxPrice:"openWB/set/vehicle/template/charge_template/%/et/max_price",vhChargeTemplateId:"openWB/set/vehicle/%/charge_template",vhEvTemplateId:"openWB/set/vehicle/%/ev_template",shSetManual:"openWB/set/LegacySmartHome/config/set/Devices/%/mode",shSwitchOn:"openWB/set/LegacySmartHome/config/set/Devices/%/device_manual_control",socUpdate:"openWB/set/vehicle/%/get/force_soc_update",setSoc:"openWB/set/vehicle/%/soc_module/calculated_soc_state/manual_soc",priceCharging:"openWB/set/vehicle/template/charge_template/%/et/active",chargeTemplate:"openWB/set/chargepoint/%/set/charge_template"};function be(a,e,t=0){if(isNaN(t)){console.warn("Invalid index");return}let o=Ca[a];if(!o){console.warn("No topic for update type "+a);return}switch(a){default:o=o.replace("%",String(t))}switch(typeof e){case"number":xt(o,JSON.stringify(+e));break;default:xt(o,JSON.stringify(e))}}function Yt(a){xt("openWB/set/command/"+Jt()+"/todo",JSON.stringify(a))}function oe(a){xt(Ca.chargeTemplate.replace("%",String(a)),JSON.stringify(O[a].chargeTemplate))}const _e=500,Me=500,N={top:15,right:20,bottom:10,left:25},Qt=["charging","house","batIn","devices"];class kn{constructor(){b(this,"data",[]);b(this,"_graphMode","");b(this,"waitForData",!0)}get graphMode(){return this._graphMode}set graphMode(e){this._graphMode=e}}const y=he(new kn),Ia=Y(Ha),Qe=g(()=>[0,_e-N.left-2*N.right].map(a=>Ia.value.applyX(a)));let pt=!0,lt=!0;function sa(){pt=!1}function ia(){pt=!0}function la(){lt=!1}function ca(){lt=!0}function xn(a){lt=a}function ft(a){y.data=a,y.waitForData=!1}const ge=he({refreshTopicPrefix:"openWB/graph/alllivevaluesJson",updateTopic:"openWB/graph/lastlivevaluesJson",configTopic:"openWB/graph/config/#",initialized:!1,initCounter:0,graphRefreshCounter:0,rawDataPacks:[],duration:0,activate(a){this.unsubscribeUpdates(),this.subscribeRefresh(),a&&(y.data=[]),y.waitForData=!0,Ke(this.configTopic),this.initialized=!1,this.initCounter=0,this.graphRefreshCounter=0,this.rawDataPacks=[],Cn(),ct.value=!0},deactivate(){this.unsubscribeRefresh(),this.unsubscribeUpdates(),st(this.configTopic)},subscribeRefresh(){for(let a=1;a<17;a++)Ke(this.refreshTopicPrefix+a)},unsubscribeRefresh(){for(let a=1;a<17;a++)st(this.refreshTopicPrefix+a)},subscribeUpdates(){Ke(this.updateTopic)},unsubscribeUpdates(){st(this.updateTopic)}}),ce=he({topic:"openWB/log/daily/#",date:new Date,activate(a){if(y.graphMode=="day"||y.graphMode=="today"){y.graphMode=="today"&&(this.date=new Date);const e=this.date.getFullYear().toString()+(this.date.getMonth()+1).toString().padStart(2,"0")+this.date.getDate().toString().padStart(2,"0");this.topic="openWB/log/daily/"+e,Ke(this.topic),a&&(y.data=[]),y.waitForData=!0,Yt({command:"getDailyLog",data:{date:e}})}},deactivate(){st(this.topic)},back(){this.date=new Date(this.date.setTime(this.date.getTime()-864e5))},forward(){this.date=new Date(this.date.setTime(this.date.getTime()+864e5))},setDate(a){this.date=a},getDate(){return this.date}}),Ee=he({topic:"openWB/log/monthly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(a){const e=this.year.toString()+this.month.toString().padStart(2,"0");y.data=[],Ke(this.topic),a&&(y.data=[]),y.waitForData=!0,Yt({command:"getMonthlyLog",data:{date:e}})},deactivate(){st(this.topic)},back(){this.month-=1,this.month<1&&(this.month=12,this.year-=1),this.activate()},forward(){const a=new Date;a.getFullYear()==this.year?this.month-112&&(this.month=1,this.year+=1)),this.activate()},getDate(){return new Date(this.year,this.month)}}),qe=he({topic:"openWB/log/yearly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(a){const e=this.year.toString();Ke(this.topic),a&&(y.data=[]),y.waitForData=!0,Yt({command:"getYearlyLog",data:{date:e}})},deactivate(){st(this.topic)},back(){this.year-=1,this.activate()},forward(){this.year0&&(L.items[a].energyPv+=1e3/12*(e[a]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),L.items[a].energyBat+=1e3/12*(e[a]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}function Mn(a,e){e[a]>0&&(L.items[a].energyPv+=1e3*(e[a]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),L.items[a].energyBat+=1e3*(e[a]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}const Pn=["evuIn","pv","batOut","evuOut"],Ze=Y(!1);function Zt(a,e){Object.entries(a).length>0?(Ze.value=!1,Object.entries(a.counter).forEach(([t,o])=>{(e.length==0||e.includes(t))&&(L.items.evuIn.energy+=o.energy_imported,L.items.evuOut.energy+=o.energy_exported)}),L.items.pv.energy=a.pv.all.energy_exported,a.bat.all&&(L.items.batIn.energy=a.bat.all.energy_imported,L.items.batOut.energy=a.bat.all.energy_exported),Object.entries(a.cp).forEach(([t,o])=>{t=="all"?(L.setEnergy("charging",o.energy_imported),o.energy_imported_pv!=null&&(L.setEnergyPv("charging",o.energy_imported_pv),L.setEnergyBat("charging",o.energy_imported_bat))):L.setEnergy(t,o.energy_imported)}),L.setEnergy("devices",0),Object.entries(a.sh).forEach(([t,o])=>{L.setEnergy(t,o.energy_imported);const s=t.substring(2);te.get(+s).countAsHouse||(L.items.devices.energy+=o.energy_imported)}),a.hc&&a.hc.all?(L.setEnergy("house",a.hc.all.energy_imported),a.hc.all.energy_imported_pv!=null&&(L.setEnergyPv("house",a.hc.all.energy_imported_pv),L.setEnergyBat("house",a.hc.all.energy_imported_bat))):L.calculateHouseEnergy(),L.keys().forEach(t=>{Pn.includes(t)||(L.setPvPercentage(t,Math.round((L.items[t].energyPv+L.items[t].energyBat)/L.items[t].energy*100)),Qt.includes(t)&&(H[t].energy=L.items[t].energy,H[t].energyPv=L.items[t].energyPv,H[t].energyBat=L.items[t].energyBat,H[t].pvPercentage=L.items[t].pvPercentage))}),y.graphMode=="today"&&(Object.values(O).forEach(t=>{const o=L.items["cp"+t.id];o&&(t.energyPv=o.energyPv,t.energyBat=o.energyBat,t.pvPercentage=o.pvPercentage)}),te.forEach(t=>{const o=L.items["sh"+t.id];o&&(t.energy=o.energy,t.energyPv=o.energyPv,t.energyBat=o.energyBat,t.pvPercentage=o.pvPercentage)}))):Ze.value=!0,ct.value=!0}const Ve=g(()=>{const a=Le(y.data,e=>new Date(e.date));return a[0]&&a[1]?jt().domain(a).range([0,_e-N.left-2*N.right]):tt().range([0,0])});function Cn(){L.keys().forEach(a=>{Qt.includes(a)&&(H[a].energy=L.items[a].energy,H[a].energyPv=0,H[a].energyBat=0,H[a].pvPercentage=0)}),Object.values(O).forEach(a=>{a.energyPv=0,a.energyBat=0,a.pvPercentage=0}),te.forEach(a=>{a.energyPv=0,a.energyBat=0,a.pvPercentage=0})}const Ye=g(()=>{const a=Le(y.data,e=>e.date);return a[1]?wt().domain(Array.from({length:a[1]},(e,t)=>t+1)).paddingInner(.4).range([0,_e-N.left-2]):wt().range([0,0])});function Pt(){switch(y.graphMode){case"live":y.graphMode="today",m.showRightButton=!0,fe();break;case"today":y.graphMode="day",ce.deactivate(),ce.back(),ce.activate(),fe();break;case"day":ce.back(),fe();break;case"month":Ee.back();break;case"year":qe.back();break}}function Xt(){const a=new Date;switch(y.graphMode){case"live":break;case"today":y.graphMode="live",m.showRightButton=!1,fe();break;case"day":ce.forward(),ce.date.getDate()==a.getDate()&&ce.date.getMonth()==a.getMonth()&&ce.date.getFullYear()==a.getFullYear()&&(y.graphMode="today"),fe();break;case"month":Ee.forward();break;case"year":qe.forward();break}}function Kt(){switch(y.graphMode){case"live":Pt();break;case"day":case"today":y.graphMode="month",fe();break;case"month":y.graphMode="year",fe();break}}function ea(){switch(y.graphMode){case"year":y.graphMode="month",fe();break;case"month":y.graphMode="today",fe();break;case"today":case"day":y.graphMode="live",fe();break}}function ua(a){if(y.graphMode=="day"||y.graphMode=="today"){ce.setDate(a);const e=new Date;ce.date.getDate()==e.getDate()&&ce.date.getMonth()==e.getMonth()&&ce.date.getFullYear()==e.getFullYear()?y.graphMode="today":y.graphMode="day",fe()}}const Fe=Y(new Map);class In{constructor(){b(this,"_showRelativeArcs",!1);b(this,"showTodayGraph",!0);b(this,"_graphPreference","today");b(this,"_usageStackOrder",0);b(this,"_displayMode","dark");b(this,"_showGrid",!1);b(this,"_smartHomeColors","normal");b(this,"_decimalPlaces",1);b(this,"_showQuickAccess",!0);b(this,"_simpleCpList",!1);b(this,"_shortCpList","no");b(this,"_showAnimations",!0);b(this,"_preferWideBoxes",!1);b(this,"_maxPower",4e3);b(this,"_fluidDisplay",!1);b(this,"_showClock","no");b(this,"_showButtonBar",!0);b(this,"_showCounters",!1);b(this,"_showVehicles",!1);b(this,"_showStandardVehicle",!0);b(this,"_showPrices",!1);b(this,"_showInverters",!1);b(this,"_alternativeEnergy",!1);b(this,"_sslPrefs",!1);b(this,"_debug",!1);b(this,"_lowerPriceBound",0);b(this,"_upperPriceBound",0);b(this,"isEtEnabled",!1);b(this,"etPrice",20.5);b(this,"showRightButton",!0);b(this,"showLeftButton",!0);b(this,"animationDuration",300);b(this,"animationDelay",100);b(this,"zoomGraph",!1);b(this,"zoomedWidget",1)}get showRelativeArcs(){return this._showRelativeArcs}set showRelativeArcs(e){this._showRelativeArcs=e,ae()}setShowRelativeArcs(e){this._showRelativeArcs=e}get graphPreference(){return this._graphPreference}set graphPreference(e){this._graphPreference=e,ae()}setGraphPreference(e){this._graphPreference=e}get usageStackOrder(){return this._usageStackOrder}set usageStackOrder(e){this._usageStackOrder=e,ae()}setUsageStackOrder(e){this._usageStackOrder=e}get displayMode(){return this._displayMode}set displayMode(e){this._displayMode=e,Tn(e)}setDisplayMode(e){this._displayMode=e}get showGrid(){return this._showGrid}set showGrid(e){this._showGrid=e,ae()}setShowGrid(e){this._showGrid=e}get decimalPlaces(){return this._decimalPlaces}set decimalPlaces(e){this._decimalPlaces=e,ae()}setDecimalPlaces(e){this._decimalPlaces=e}get smartHomeColors(){return this._smartHomeColors}set smartHomeColors(e){this._smartHomeColors=e,da(e),ae()}setSmartHomeColors(e){this._smartHomeColors=e,da(e)}get showQuickAccess(){return this._showQuickAccess}set showQuickAccess(e){this._showQuickAccess=e,ae()}setShowQuickAccess(e){this._showQuickAccess=e}get simpleCpList(){return this._simpleCpList}set simpleCpList(e){this._simpleCpList=e,ae()}setSimpleCpList(e){this._simpleCpList=e}get shortCpList(){return this._shortCpList}set shortCpList(e){this._shortCpList=e,ae()}setShortCpList(e){this._shortCpList=e}get showAnimations(){return this._showAnimations}set showAnimations(e){this._showAnimations=e,ae()}setShowAnimations(e){this._showAnimations=e}get preferWideBoxes(){return this._preferWideBoxes}set preferWideBoxes(e){this._preferWideBoxes=e,ae()}setPreferWideBoxes(e){this._preferWideBoxes=e}get maxPower(){return this._maxPower}set maxPower(e){this._maxPower=e,ae()}setMaxPower(e){this._maxPower=e}get fluidDisplay(){return this._fluidDisplay}set fluidDisplay(e){this._fluidDisplay=e,ae()}setFluidDisplay(e){this._fluidDisplay=e}get showClock(){return this._showClock}set showClock(e){this._showClock=e,ae()}setShowClock(e){this._showClock=e}get sslPrefs(){return this._sslPrefs}set sslPrefs(e){this._sslPrefs=e,ae()}setSslPrefs(e){this.sslPrefs=e}get debug(){return this._debug}set debug(e){this._debug=e,ae()}setDebug(e){this._debug=e}get showButtonBar(){return this._showButtonBar}set showButtonBar(e){this._showButtonBar=e,ae()}setShowButtonBar(e){this._showButtonBar=e}get showCounters(){return this._showCounters}set showCounters(e){this._showCounters=e,ae()}setShowCounters(e){this._showCounters=e}get showVehicles(){return this._showVehicles}set showVehicles(e){this._showVehicles=e,ae()}setShowVehicles(e){this._showVehicles=e}get showStandardVehicle(){return this._showStandardVehicle}set showStandardVehicle(e){this._showStandardVehicle=e,ae()}setShowStandardVehicle(e){this._showStandardVehicle=e}get showPrices(){return this._showPrices}set showPrices(e){this._showPrices=e,ae()}setShowPrices(e){this._showPrices=e}get showInverters(){return this._showInverters}set showInverters(e){this._showInverters=e,ia(),ca(),ae()}setShowInverters(e){this._showInverters=e}get alternativeEnergy(){return this._alternativeEnergy}set alternativeEnergy(e){this._alternativeEnergy=e,ia(),ca(),ae()}setAlternativeEnergy(e){this._alternativeEnergy=e}get lowerPriceBound(){return this._lowerPriceBound}set lowerPriceBound(e){this._lowerPriceBound=e,ae()}setLowerPriceBound(e){this._lowerPriceBound=e}get upperPriceBound(){return this._upperPriceBound}set upperPriceBound(e){this._upperPriceBound=e,ae()}setUpperPriceBound(e){this._upperPriceBound=e}}const m=he(new In);function Ba(){En();const a=le("html");a.classed("theme-dark",m.displayMode=="dark"),a.classed("theme-light",m.displayMode=="light"),a.classed("theme-blue",m.displayMode=="blue"),a.classed("shcolors-standard",m.smartHomeColors=="standard"),a.classed("shcolors-advanced",m.smartHomeColors=="advanced"),a.classed("shcolors-normal",m.smartHomeColors=="normal")}const Bn=992,St=he({x:document.documentElement.clientWidth,y:document.documentElement.clientHeight});function Vn(){St.x=document.documentElement.clientWidth,St.y=document.documentElement.clientHeight,Ba()}const De=g(()=>St.x>=Bn),ve={instant_charging:{mode:$e.instant_charging,name:"Sofort",color:"var(--color-charging)",icon:"fa-bolt"},pv_charging:{mode:$e.pv_charging,name:"PV",color:"var(--color-pv)",icon:"fa-solar-panel"},scheduled_charging:{mode:$e.scheduled_charging,name:"Zielladen",color:"var(--color-battery)",icon:"fa-bullseye"},eco_charging:{mode:$e.eco_charging,name:"Eco",color:"var(--color-devices)",icon:"fa-coins"},stop:{mode:$e.stop,name:"Stop",color:"var(--color-fg)",icon:"fa-power-off"}};class Ln{constructor(){b(this,"batterySoc",0);b(this,"isBatteryConfigured",!0);b(this,"chargeMode","0");b(this,"_pvBatteryPriority","ev_mode");b(this,"displayLiveGraph",!0);b(this,"isEtEnabled",!0);b(this,"etMaxPrice",0);b(this,"etCurrentPrice",0);b(this,"cpDailyExported",0);b(this,"evuId",0);b(this,"etProvider","")}get pvBatteryPriority(){return this._pvBatteryPriority}set pvBatteryPriority(e){this._pvBatteryPriority=e,be("pvBatteryPriority",e)}updatePvBatteryPriority(e){this._pvBatteryPriority=e}}function ae(){An()}function Tn(a){const e=le("html");e.classed("theme-dark",a=="dark"),e.classed("theme-light",a=="light"),e.classed("theme-blue",a=="blue"),ae()}function On(){m.maxPower=q.evuIn.power+q.pv.power+q.batOut.power,ae()}function da(a){const e=le("html");e.classed("shcolors-normal",a=="normal"),e.classed("shcolors-standard",a=="standard"),e.classed("shcolors-advanced",a=="advanced")}const Je={chargemode:"Der Lademodus für das Fahrzeug an diesem Ladepunkt",vehicle:"Das Fahrzeug, das an diesem Ladepounkt geladen wird",locked:"Für das Laden sperren",priority:"Fahrzeuge mit Priorität werden bevorzugt mit mehr Leistung geladen, falls verfügbar",timeplan:"Das Laden nach Zeitplan für dieses Fahrzeug aktivieren",minsoc:"Immer mindestens bis zum eingestellten Ladestand laden. Wenn notwendig mit Netzstrom.",minpv:"Durchgehend mit mindestens dem eingestellten Strom laden. Wenn notwendig mit Netzstrom.",pricebased:"Laden bei dynamischem Stromtarif, wenn eingestellter Maximalpreis unterboten wird.",pvpriority:"Ladepriorität bei PV-Produktion. Bevorzung von Fahzeugen, Speicher, oder Fahrzeugen bis zum eingestellten Mindest-Ladestand. Die Einstellung ist für alle Ladepunkte gleich."};function An(){const a={};a.hideSH=[...te.values()].filter(e=>!e.showInGraph).map(e=>e.id),a.showLG=m.graphPreference=="live",a.displayM=m.displayMode,a.stackO=m.usageStackOrder,a.showGr=m.showGrid,a.decimalP=m.decimalPlaces,a.smartHomeC=m.smartHomeColors,a.relPM=m.showRelativeArcs,a.maxPow=m.maxPower,a.showQA=m.showQuickAccess,a.simpleCP=m.simpleCpList,a.shortCP=m.shortCpList,a.animation=m.showAnimations,a.wideB=m.preferWideBoxes,a.fluidD=m.fluidDisplay,a.clock=m.showClock,a.showButtonBar=m.showButtonBar,a.showCounters=m.showCounters,a.showVehicles=m.showVehicles,a.showStandardV=m.showStandardVehicle,a.showPrices=m.showPrices,a.showInv=m.showInverters,a.altEngy=m.alternativeEnergy,a.lowerP=m.lowerPriceBound,a.upperP=m.upperPriceBound,a.sslPrefs=m.sslPrefs,a.debug=m.debug,document.cookie="openWBColorTheme="+JSON.stringify(a)+";max-age=16000000;"+(m.sslPrefs?"SameSite=None;Secure":"SameSite=Strict")}function En(){const e=document.cookie.split(";").filter(t=>t.split("=")[0]==="openWBColorTheme");if(e.length>0){const t=JSON.parse(e[0].split("=")[1]);t.decimalP!==void 0&&m.setDecimalPlaces(+t.decimalP),t.smartHomeC!==void 0&&m.setSmartHomeColors(t.smartHomeC),t.hideSH!==void 0&&t.hideSH.forEach(o=>{te.get(o)==null&&Rt(o),te.get(o).setShowInGraph(!1)}),t.showLG!==void 0&&m.setGraphPreference(t.showLG?"live":"today"),t.maxPow!==void 0&&m.setMaxPower(+t.maxPow),t.relPM!==void 0&&m.setShowRelativeArcs(t.relPM),t.displayM!==void 0&&m.setDisplayMode(t.displayM),t.stackO!==void 0&&m.setUsageStackOrder(t.stackO),t.showGr!==void 0&&m.setShowGrid(t.showGr),t.showQA!==void 0&&m.setShowQuickAccess(t.showQA),t.simpleCP!==void 0&&m.setSimpleCpList(t.simpleCP),t.shortCP!==void 0&&m.setShortCpList(t.shortCP),t.animation!=null&&m.setShowAnimations(t.animation),t.wideB!=null&&m.setPreferWideBoxes(t.wideB),t.fluidD!=null&&m.setFluidDisplay(t.fluidD),t.clock!=null&&m.setShowClock(t.clock),t.showButtonBar!==void 0&&m.setShowButtonBar(t.showButtonBar),t.showCounters!==void 0&&m.setShowCounters(t.showCounters),t.showVehicles!==void 0&&m.setShowVehicles(t.showVehicles),t.showStandardV!==void 0&&m.setShowStandardVehicle(t.showStandardV),t.showPrices!==void 0&&m.setShowPrices(t.showPrices),t.showInv!==void 0&&m.setShowInverters(t.showInv),t.altEngy!==void 0&&m.setAlternativeEnergy(t.altEngy),t.lowerP!==void 0&&m.setLowerPriceBound(t.lowerP),t.upperP!==void 0&&m.setUpperPriceBound(t.upperP),t.sslPrefs!==void 0&&m.setSslPrefs(t.sslPrefs),t.debug!==void 0&&m.setDebug(t.debug)}}const se=he({evuIn:{name:"Netz",color:"var(--color-evu)",icon:""},pv:{name:"PV",color:"var(--color-pv",icon:""},batOut:{name:"Bat >",color:"var(--color-battery)",icon:""},evuOut:{name:"Export",color:"var(--color-export)",icon:""},charging:{name:"Laden",color:"var(--color-charging)",icon:""},devices:{name:"Geräte",color:"var(--color-devices)",icon:""},batIn:{name:"> Bat",color:"var(--color-battery)",icon:""},house:{name:"Haus",color:"var(--color-house)",icon:""},cp1:{name:"Ladepunkt",color:"var(--color-cp1)",icon:"Ladepunkt"},cp2:{name:"Ladepunkt",color:"var(--color-cp2)",icon:"Ladepunkt"},cp3:{name:"Ladepunkt",color:"var(--color-cp3)",icon:"Ladepunkt"},cp4:{name:"Ladepunkt",color:"var(--color-cp4)",icon:"Ladepunkt"},cp5:{name:"Ladepunkt",color:"var(--color-cp5)",icon:"Ladepunkt"},cp6:{name:"Ladepunkt",color:"var(--color-cp6)",icon:"Ladepunkt"},cp7:{name:"Ladepunkt",color:"var(--color-cp7)",icon:"Ladepunkt"},cp8:{name:"Ladepunkt",color:"var(--color-cp8)",icon:"Ladepunkt"},sh1:{name:"Gerät",color:"var(--color-sh1)",icon:"Gerät"},sh2:{name:"Gerät",color:"var(--color-sh2)",icon:"Gerät"},sh3:{name:"Gerät",color:"var(--color-sh3)",icon:"Gerät"},sh4:{name:"Gerät",color:"var(--color-sh4)",icon:"Gerät"},sh5:{name:"Gerät",color:"var(--color-sh5)",icon:"Gerät"},sh6:{name:"Gerät",color:"var(--color-sh6)",icon:"Gerät"},sh7:{name:"Gerät",color:"var(--color-sh7)",icon:"Gerät"},sh8:{name:"Gerät",color:"var(--color-sh8)",icon:"Gerät"},sh9:{name:"Gerät",color:"var(--color-sh9)",icon:"Gerät"},pv1:{name:"PV",color:"var(--color-pv1)",icon:"Wechselrichter"},pv2:{name:"PV",color:"var(--color-pv2)",icon:"Wechselrichter"},pv3:{name:"PV",color:"var(--color-pv3)",icon:"Wechselrichter"},pv4:{name:"PV",color:"var(--color-pv4)",icon:"Wechselrichter"},pv5:{name:"PV",color:"var(--color-pv5)",icon:"Wechselrichter"},pv6:{name:"PV",color:"var(--color-pv6)",icon:"Wechselrichter"},pv7:{name:"PV",color:"var(--color-pv7)",icon:"Wechselrichter"},pv8:{name:"PV",color:"var(--color-pv8)",icon:"Wechselrichter"},pv9:{name:"PV",color:"var(--color-pv9)",icon:"Wechselrichter"},bat1:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat2:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat3:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat4:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat5:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat6:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat7:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat8:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat9:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"}});class Va{constructor(){b(this,"_items",{});this.addItem("evuIn"),this.addItem("pv"),this.addItem("batOut"),this.addItem("evuOut"),this.addItem("charging"),this.addItem("devices"),this.addItem("batIn"),this.addItem("house")}get items(){return this._items}keys(){return Object.keys(this._items)}values(){return Object.values(this._items)}addItem(e,t){this._items[e]=t?ze(e,t):ze(e)}setEnergy(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energy=t}setEnergyPv(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energyPv=t}setEnergyBat(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energyBat=t}setPvPercentage(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].pvPercentage=t<=100?t:100}calculateHouseEnergy(){this._items.house.energy=this._items.evuIn.energy+this._items.pv.energy+this._items.batOut.energy-this._items.evuOut.energy-this._items.batIn.energy-this._items.charging.energy-this._items.devices.energy}}let L=he(new Va);function ta(){L=new Va}const q=he({evuIn:ze("evuIn"),pv:ze("pv"),batOut:ze("batOut")}),H=he({evuOut:ze("evuOut"),charging:ze("charging"),devices:ze("devices"),batIn:ze("batIn"),house:ze("house")}),de=he(new Ln);Y("");const ct=Y(!1);function ze(a,e){return{name:se[a]?se[a].name:"item",power:0,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:e||(se[a]?se[a].color:"var(--color-charging)"),icon:se[a]?se[a].icon:"",showInGraph:!0}}const Nt=Y(new Date),we=Y(new Map),zn=a=>{we.value.set(a,new $a(a)),we.value.get(a).color=se["pv"+we.value.size].color},Dn=["origin"],Wn=I({__name:"PMSourceArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(a){const e=a,t=g(()=>{let o={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:"",showInGraph:!0},s=q;s["zz-empty"]=o;const r=Object.values(q).length-1,h=_a().value(d=>d.power).startAngle(-Math.PI/2+e.circleGapSize).endAngle(Math.PI/2-e.circleGapSize).sort(null),p=wa().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius).padAngle(0),u=le("g#pmSourceArc");return u.selectAll("*").remove(),u.selectAll("sources").data(h(Object.values(s))).enter().append("path").attr("d",p).attr("fill",d=>d.data.color).attr("stroke",(d,c)=>c==r?d.data.power>0?"var(--color-scale)":"null":d.data.color),"pmSourceArc.vue"});return Ra(()=>{let o=q.pv.power+q.evuIn.power+q.batOut.power;o>m.maxPower&&(m.maxPower=o)}),(o,s)=>(l(),f("g",{id:"pmSourceArc",origin:t.value},null,8,Dn))}}),Gn=["origin"],Un=I({__name:"PMUsageArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(a){const e=a,t=g(()=>{let o={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:"",showInGraph:!0};const s=[H.evuOut,H.charging].concat([...te.values()].filter(d=>d.configured&&!d.countAsHouse).sort((d,c)=>c.power-d.power)).concat([H.batIn,H.house]).concat(o),r=s.length-1,h=_a().value(d=>d.power).startAngle(Math.PI*1.5-e.circleGapSize).endAngle(Math.PI/2+e.circleGapSize).sort(null),p=wa().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius),u=le("g#pmUsageArc");return u.selectAll("*").remove(),u.selectAll("consumers").data(h(s)).enter().append("path").attr("d",p).attr("fill",d=>d.data.color).attr("stroke",(d,c)=>c==r?d.data.power>0?"var(--color-scale)":"null":d.data.color),"pmUsageArc.vue"});return(o,s)=>(l(),f("g",{id:"pmUsageArc",origin:t.value},null,8,Gn))}});function Pe(a,e=1){let t;if(a>=1e3&&e<4){switch(e){case 0:t=Math.round(a/1e3);break;case 1:t=Math.round(a/100)/10;break;case 2:t=Math.round(a/10)/100;break;case 3:t=Math.round(a)/1e3;break;default:t=Math.round(a/100)/10;break}return(t==null?void 0:t.toLocaleString(void 0,{minimumFractionDigits:e}))+" kW"}else return Math.round(a).toLocaleString()+" W"}function He(a,e=1,t=!1){let o;if(a>1e6&&(t=!0,a=a/1e3),a>=1e3&&e<4){switch(e){case 0:o=Math.round(a/1e3);break;case 1:o=Math.round(a/100)/10;break;case 2:o=Math.round(a/10)/100;break;case 3:o=Math.round(a)/1e3;break;default:o=Math.round(a/100)/10;break}return o.toLocaleString(void 0,{minimumFractionDigits:e})+(t?" MWh":" kWh")}else return Math.round(a).toLocaleString()+(t?" kWh":" Wh")}function jn(a){const e=Math.floor(a/3600),t=(a%3600/60).toFixed(0);return e>0?e+"h "+t+" min":t+" min"}function La(a){return a.toLocaleTimeString(["de-DE"],{hour:"2-digit",minute:"2-digit"})}function Fn(a,e){return["Jan","Feb","März","April","Mai","Juni","Juli","Aug","Sep","Okt","Nov","Dez"][a]+" "+e}function Nn(a){return a!=999?(Math.round(a*10)/10).toLocaleString(void 0,{minimumFractionDigits:1})+"°":"-"}const vt=I({__name:"FormatWatt",props:{watt:{}},setup(a){const e=a,t=g(()=>Pe(e.watt,m.decimalPlaces));return(o,s)=>x(t.value)}}),Hn={key:0,id:"pmLabel"},Rn=["x","y","fill","text-anchor"],Jn=22,Ae=I({__name:"PMLabel",props:{x:{},y:{},data:{},props:{},anchor:{},labeltext:{},labelicon:{},labelcolor:{}},setup(a){const e=a,t=g(()=>e.labeltext?e.labeltext:e.props?e.props.icon+" ":e.labelicon?e.labelicon+" ":""),o=g(()=>e.labelcolor?e.labelcolor:e.props?e.props.color:""),s=g(()=>!e.data||e.data.power>0),r=g(()=>e.labeltext?"":"fas");return(h,p)=>s.value?(l(),f("g",Hn,[n("text",{x:h.x,y:h.y,fill:o.value,"text-anchor":h.anchor,"font-size":Jn,class:"pmLabel"},[n("tspan",{class:R(r.value)},x(t.value),3),n("tspan",null,[h.data!==void 0?(l(),$(vt,{key:0,watt:h.data.power},null,8,["watt"])):w("",!0)])],8,Rn)])):w("",!0)}}),qn={class:"wb-widget p-0 m-0 shadow"},Yn={class:"d-flex justify-content-between"},Qn={class:"m-4 me-0 mb-0"},Zn={class:"p-4 pb-0 ps-0 m-0",style:{"text-align":"right"}},Xn={class:"px-4 pt-4 pb-2 wb-subwidget"},Kn={class:"row"},er={class:"col m-0 p-0"},tr={class:"container-fluid m-0 p-0"},ar={key:0},nr={class:"px-4 py-2 wb-subwidget"},rr={class:"row"},or={class:"col"},sr={class:"container-fluid m-0 p-0"},bt=I({__name:"WBWidget",props:{variableWidth:{type:Boolean},fullWidth:{type:Boolean}},setup(a){const e=a,t=g(()=>e.fullWidth?"col-12":e.variableWidth&&m.preferWideBoxes?"col-lg-6":"col-lg-4");return(o,s)=>(l(),f("div",{class:R(["p-2 m-0 d-flex",t.value])},[n("div",qn,[n("div",Yn,[n("h3",Qn,[ue(o.$slots,"title",{},()=>[s[0]||(s[0]=n("div",{class:"p-0"},"(title goes here)",-1))]),ue(o.$slots,"subtitle")]),n("div",Zn,[ue(o.$slots,"buttons")])]),n("div",Xn,[n("div",Kn,[n("div",er,[n("div",tr,[ue(o.$slots,"default")])])])]),o.$slots.footer!=null?(l(),f("div",ar,[s[1]||(s[1]=n("hr",null,null,-1)),n("div",nr,[n("div",rr,[n("div",or,[n("div",sr,[ue(o.$slots,"footer")])])])])])):w("",!0)])],2))}});class ir{constructor(){b(this,"active",!1);b(this,"etPriceList",new Map);b(this,"etProvider","");b(this,"etMaxPrice",0)}get etCurrentPriceString(){const[e]=re.etPriceList.values();return(Math.round(e*10)/10).toFixed(1)+" ct"}}const re=he(new ir),lr={id:"powermeter",class:"p-0 m-0"},cr=["viewBox"],ur=["transform"],dr=["x"],Xe=500,je=20,ha=1,hr=I({__name:"PowerMeter",setup(a){const e=Xe,t=Math.PI/40,o=[[4],[4,6],[1,4,6],[0,2,4,6],[0,2,3,5,6]],s=[{x:-85,y:e/2*1/5},{x:0,y:e/2*1/5},{x:85,y:e/2*1/5},{x:-85,y:e/2*2/5},{x:0,y:e/2*2/5},{x:85,y:e/2*2/5},{x:0,y:e/2*3/5}],r=g(()=>Xe/2-je),h=g(()=>{let E="",T=Object.values(q).filter(M=>M.power>0);return T.length==1&&T[0].name=="PV"?E="Aktueller Verbrauch: ":E="Bezug/Verbrauch: ",E+Pe(H.house.power+H.charging.power+H.devices.power+H.batIn.power,m.decimalPlaces)}),p=g(()=>{let E=q.pv.power+q.evuIn.power+q.batOut.power;return m.maxPower>E?Pe(m.maxPower,m.decimalPlaces):Pe(E,m.decimalPlaces)}),u=g(()=>Object.values(O)),d=g(()=>{let E=0;return m.showRelativeArcs&&(E=m.maxPower-(q.pv.power+q.evuIn.power+q.batOut.power)),E<0?0:E}),c=g(()=>[H.evuOut,H.charging,H.devices,H.batIn,H.house].filter(E=>E.power>0)),k=g(()=>o[c.value.length-1]);function P(E){return s[k.value[E]]}function A(E){return E.length>12?E.slice(0,11)+".":E}const G=g(()=>{const[E]=re.etPriceList.values();return Math.round(E*10)/10});return(E,T)=>(l(),$(bt,{"full-width":!0},{title:_(()=>T[0]||(T[0]=[J(" Aktuelle Leistung ")])),default:_(()=>[n("figure",lr,[(l(),f("svg",{viewBox:"0 0 "+Xe+" "+i(e)},[n("g",{transform:"translate("+Xe/2+","+i(e)/2+")"},[v(Wn,{radius:r.value,"corner-radius":ha,"circle-gap-size":t,"empty-power":d.value},null,8,["radius","empty-power"]),v(Un,{"sh-device":i(te),radius:r.value,"corner-radius":ha,"circle-gap-size":t,"empty-power":d.value},null,8,["sh-device","radius","empty-power"]),v(Ae,{x:0,y:-i(e)/10*2,data:i(q).pv,props:i(se).pv,anchor:"middle",config:i(m)},null,8,["y","data","props","config"]),v(Ae,{x:0,y:-i(e)/10*3,data:i(q).evuIn,props:i(se).evuIn,anchor:"middle",config:i(m)},null,8,["y","data","props","config"]),v(Ae,{x:0,y:-i(e)/10,data:i(q).batOut,props:i(se).batOut,anchor:"middle",config:i(m)},null,8,["y","data","props","config"]),i(re).active?(l(),$(Ae,{key:0,x:0,y:-i(e)/10,data:i(q).batOut,props:i(se).batOut,anchor:"middle",config:i(m)},null,8,["y","data","props","config"])):w("",!0),(l(!0),f(j,null,Z(c.value,(M,V)=>(l(),$(Ae,{key:V,x:P(V).x,y:P(V).y,data:M,labelicon:M.icon,labelcolor:M.color,anchor:"middle",config:i(m)},null,8,["x","y","data","labelicon","labelcolor","config"]))),128)),i(me)[0]!=null&&i(Q)[i(me)[0]]!=null?(l(),$(Ae,{key:1,x:-500/2-je/4+10,y:-i(e)/2+je+5,labeltext:A(i(Q)[i(me)[0]].name)+": "+Math.round(i(Q)[i(me)[0]].soc)+"%",labelcolor:u.value[0]?u.value[0].color:"var(--color-charging)",anchor:"start",config:i(m)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(me)[1]!=null&&i(Q)[i(me)[1]]!=null?(l(),$(Ae,{key:2,x:Xe/2+je/4-10,y:-i(e)/2+je+5,labeltext:A(i(Q)[i(me)[1]].name)+": "+Math.round(i(Q)[i(me)[1]].soc)+"%",labelcolor:u.value[1]?u.value[1].color:"var(--color-charging)",anchor:"end",config:i(m)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(de).batterySoc>0?(l(),$(Ae,{key:3,x:-500/2-je/4+10,y:i(e)/2-je+15,labeltext:"Speicher: "+i(de).batterySoc+"%",labelcolor:i(H).batIn.color,anchor:"start",config:i(m)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(re).active?(l(),$(Ae,{key:4,x:Xe/2+je/4-10,y:i(e)/2-je+15,value:G.value,labeltext:i(re).etCurrentPriceString,labelcolor:"var(--color-charging)",anchor:"end",config:i(m)},null,8,["x","y","value","labeltext","config"])):w("",!0),v(Ae,{x:0,y:0,labeltext:h.value,labelcolor:"var(--color-fg)",anchor:"middle",config:i(m)},null,8,["labeltext","config"]),i(m).showRelativeArcs?(l(),f("text",{key:5,x:Xe/2-44,y:"2","text-anchor":"middle",fill:"var(--color-axis)","font-size":"12"}," Peak: "+x(p.value),9,dr)):w("",!0)],8,ur)],8,cr))])]),_:1}))}}),pr=["origin","origin2","transform"],gr=I({__name:"PgSourceGraph",props:{width:{},height:{},margin:{}},setup(a){const e=a,t={house:"var(--color-house)",batIn:"var(--color-battery)",inverter:"var(--color-pv)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",pv:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)"};var o,s;const r=m.showAnimations?m.animationDuration:0,h=m.showAnimations?m.animationDelay:0,p=g(()=>{const C=le("g#pgSourceGraph");if(y.data.length>0){y.graphMode=="month"||y.graphMode=="year"?V(C,Ye.value):M(C,Ve.value),C.selectAll(".axis").remove();const D=C.append("g").attr("class","axis");D.call(G.value),D.selectAll(".tick").attr("font-size",12),D.selectAll(".tick line").attr("stroke",T.value).attr("stroke-width",E.value),D.select(".domain").attr("stroke","var(--color-bg)")}return"pgSourceGraph.vue"}),u=g(()=>ka().value((C,D)=>C[D]??0).keys(k.value)),d=g(()=>u.value(y.data)),c=g(()=>Re().range([e.height-10,0]).domain(y.graphMode=="year"?[0,Math.ceil(P.value[1]*10)/10]:[0,Math.ceil(P.value[1])])),k=g(()=>{let C=[];const D=["batOut","evuIn"];if(m.showInverters){const z=/pv\d+/;y.data.length>0&&(C=Object.keys(y.data[0]).reduce((B,ne)=>(ne.match(z)&&B.push(ne),B),[]))}switch(y.graphMode){case"live":return m.showInverters?["pv","batOut","evuIn"]:["selfUsage","evuOut","batOut","evuIn"];case"today":case"day":return C.forEach((z,B)=>{t[z]="var(--color-pv"+(B+1)+")"}),m.showInverters?[...C,...D]:["selfUsage","evuOut","batOut","evuIn"];default:return["evuIn","batOut","selfUsage","evuOut"]}}),P=g(()=>{let C=Le(y.data,D=>Math.max(D.pv+D.evuIn+D.batOut,D.selfUsage+D.evuOut));return C[0]!=null&&C[1]!=null?(y.graphMode=="year"&&(C[0]=C[0]/1e3,C[1]=C[1]/1e3),C):[0,0]}),A=g(()=>y.graphMode=="month"||y.graphMode=="year"?-e.width-e.margin.right-22:-e.width),G=g(()=>gt(c.value).tickSizeInner(A.value).ticks(4).tickFormat(C=>(C==0?"":Math.round(C*10)/10).toLocaleString(void 0))),E=g(()=>m.showGrid?"0.5":"1"),T=g(()=>m.showGrid?"var(--color-grid)":"var(--color-bg)");function M(C,D){const z=rt().x((ne,Se)=>D(y.data[Se].date)).y(c.value(0)).curve(ot),B=rt().x((ne,Se)=>D(y.data[Se].date)).y0(ne=>c.value(y.graphMode=="year"?ne[0]/1e3:ne[0])).y1(ne=>c.value(y.graphMode=="year"?ne[1]/1e3:ne[1])).curve(ot);pt?(C.selectAll("*").remove(),o=C.append("svg").attr("x",0).attr("width",e.width).selectAll(".sourceareas").data(d.value).enter().append("path").attr("fill",(Se,W)=>t[k.value[W]]).attr("d",Se=>z(Se)),o.transition().duration(r).delay(h).ease(dt).attr("d",Se=>B(Se)),sa()):o.data(d.value).transition().duration(0).ease(dt).attr("d",ne=>B(ne))}function V(C,D){y.data.length>0&&(pt?(C.selectAll("*").remove(),s=C.selectAll(".sourcebar").data(d.value).enter().append("g").attr("fill",(z,B)=>t[k.value[B]]).selectAll("rect").data(z=>z).enter().append("rect").attr("x",(z,B)=>D(y.data[B].date)??0).attr("y",()=>c.value(0)).attr("height",0).attr("width",D.bandwidth()),s.transition().duration(r).delay(h).ease(dt).attr("height",z=>y.graphMode=="year"?c.value(z[0]/1e3)-c.value(z[1]/1e3):c.value(z[0])-c.value(z[1])).attr("y",z=>y.graphMode=="year"?c.value(z[1]/1e3):c.value(z[1])),sa()):(C.selectAll("*").remove(),s=C.selectAll(".sourcebar").data(d.value).enter().append("g").attr("fill",(z,B)=>t[k.value[B]]).selectAll("rect").data(z=>z).enter().append("rect").attr("x",(z,B)=>D(y.data[B].date)??0).attr("y",z=>y.graphMode=="year"?c.value(z[1]/1e3):c.value(z[1])).attr("width",D.bandwidth()).attr("height",z=>y.graphMode=="year"?c.value(z[0]/1e3)-c.value(z[1]/1e3):c.value(z[0])-c.value(z[1]))))}const S=g(()=>{const C=le("g#pgSourceGraph");if(y.graphMode!="month"&&y.graphMode!="year"&&y.data.length>0){Ve.value.range(Qe.value);const D=rt().x((z,B)=>Ve.value(y.data[B].date)).y0(z=>c.value(z[0])).y1(z=>c.value(z[1])).curve(ot);C.selectAll("path").attr("d",z=>z?D(z):""),C.selectAll("g#sourceToolTips").select("rect").attr("x",z=>Ve.value(z.date)).attr("width",e.width/y.data.length)}return"zoomed"});return(C,D)=>(l(),f("g",{id:"pgSourceGraph",origin:p.value,origin2:S.value,transform:"translate("+C.margin.left+","+C.margin.top+")"},null,8,pr))}}),mr=["origin","origin2","transform"],fr=I({__name:"PgUsageGraph",props:{width:{},height:{},margin:{},stackOrder:{}},setup(a){const e=a,t=g(()=>m.showInverters?[["house","charging","devices","batIn","evuOut"],["charging","devices","batIn","house","evuOut"],["devices","batIn","charging","house","evuOut"],["batIn","charging","house","devices","evuOut"]]:[["house","charging","devices","batIn"],["charging","devices","batIn","house"],["devices","batIn","charging","house"],["batIn","charging","house","devices"]]),o={house:"var(--color-house)",charging:"var(--color-charging)",batIn:"var(--color-battery)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)",cp0:"var(--color-cp0)",cp1:"var(--color-cp1)",cp2:"var(--color-cp2)",cp3:"var(--color-cp3)",sh1:"var(--color-sh1)",sh2:"var(--color-sh2)",sh3:"var(--color-sh3)",sh4:"var(--color-sh4)",devices:"var(--color-devices)"};var s,r;const h=m.showAnimations?m.animationDuration:0,p=m.showAnimations?m.animationDelay:0,u=g(()=>{const S=le("g#pgUsageGraph");y.graphMode=="month"||y.graphMode=="year"?M(S):T(S),S.selectAll(".axis").remove();const C=S.append("g").attr("class","axis");return C.call(E.value),C.selectAll(".tick").attr("font-size",12).attr("color","var(--color-axis)"),m.showGrid?C.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):C.selectAll(".tick line").attr("stroke","var(--color-bg)"),C.select(".domain").attr("stroke","var(--color-bg)"),"pgUsageGraph.vue"}),d=g(()=>ka().value((S,C)=>S[C]??0).keys(P.value)),c=g(()=>d.value(y.data)),k=g(()=>Re().range([e.height+10,2*e.height]).domain(y.graphMode=="year"?[0,Math.ceil(A.value[1]*10)/10]:[0,Math.ceil(A.value[1])])),P=g(()=>{if(y.graphMode!="today"&&y.graphMode!="day"&&y.graphMode!="live")return t.value[e.stackOrder];{const S=t.value[e.stackOrder].slice(),C=S.indexOf("charging");S.splice(C,1);const D=/cp\d+/;let z=[];return y.data.length>0&&(z=Object.keys(y.data[0]).reduce((B,ne)=>(ne.match(D)&&B.push(ne),B),[])),z.forEach((B,ne)=>{var Se;S.splice(C+ne,0,B),o[B]=((Se=O[+B.slice(2)])==null?void 0:Se.color)??"black"}),S}}),A=g(()=>{let S=Le(y.data,C=>C.house+C.charging+C.batIn+C.devices+C.evuOut);return S[0]!=null&&S[1]!=null?(y.graphMode=="year"&&(S[0]=S[0]/1e3,S[1]=S[1]/1e3),S):[0,0]}),G=g(()=>y.graphMode=="month"||y.graphMode=="year"?-e.width-e.margin.right-22:-e.width),E=g(()=>gt(k.value).tickSizeInner(G.value).ticks(4).tickFormat(S=>(S==0?"":Math.round(S*10)/10).toLocaleString(void 0)));function T(S){const C=rt().x((z,B)=>Ve.value(y.data[B].date)).y(k.value(0)).curve(ot),D=rt().x((z,B)=>Ve.value(y.data[B].date)).y0(z=>k.value(z[0])).y1(z=>k.value(z[1])).curve(ot);m.showAnimations?lt?(S.selectAll("*").remove(),s=S.append("svg").attr("x",0).attr("width",e.width).selectAll(".usageareas").data(c.value).enter().append("path").attr("d",B=>C(B)).attr("fill",(B,ne)=>o[P.value[ne]]),s.transition().duration(300).delay(100).ease(dt).attr("d",B=>D(B)),la()):(S.selectAll("*").remove(),S.append("svg").attr("x",0).attr("width",e.width).selectAll(".usageareas").data(c.value).enter().append("path").attr("d",B=>D(B)).attr("fill",(B,ne)=>o[P.value[ne]])):(S.selectAll("*").remove(),S.append("svg").attr("x",0).attr("width",e.width).selectAll(".usageareas").data(c.value).enter().append("path").attr("d",B=>D(B)).attr("fill",(B,ne)=>o[P.value[ne]]))}function M(S){lt?(S.selectAll("*").remove(),r=S.selectAll(".usagebar").data(c.value).enter().append("g").attr("fill",(C,D)=>o[t.value[e.stackOrder][D]]).selectAll("rect").data(C=>C).enter().append("rect").attr("x",(C,D)=>Ye.value(y.data[D].date)??0).attr("y",()=>k.value(0)).attr("height",0).attr("width",Ye.value.bandwidth()),r.transition().duration(h).delay(p).ease(dt).attr("y",C=>y.graphMode=="year"?k.value(C[0]/1e3):k.value(C[0])).attr("height",C=>y.graphMode=="year"?k.value(C[1]/1e3)-k.value(C[0]/1e3):k.value(C[1])-k.value(C[0])),la()):(S.selectAll("*").remove(),r=S.selectAll(".usagebar").data(c.value).enter().append("g").attr("fill",(C,D)=>o[t.value[e.stackOrder][D]]).selectAll("rect").data(C=>C).enter().append("rect").attr("x",(C,D)=>Ye.value(y.data[D].date)??0).attr("y",C=>y.graphMode=="year"?k.value(C[0]/1e3):k.value(C[0])).attr("height",C=>y.graphMode=="year"?k.value(C[1]/1e3)-k.value(C[0]/1e3):k.value(C[1])-k.value(C[0])).attr("width",Ye.value.bandwidth()))}const V=g(()=>{const S=le("g#pgUsageGraph");if(y.graphMode!="month"&&y.graphMode!="year"){Ve.value.range(Qe.value);const C=rt().x((D,z)=>Ve.value(y.data[z].date)).y0(D=>k.value(D[0])).y1(D=>k.value(D[1])).curve(ot);S.selectAll("path").attr("d",D=>D?C(D):"")}return"zoomed"});return(S,C)=>(l(),f("g",{id:"pgUsageGraph",origin:u.value,origin2:V.value,transform:"translate("+S.margin.left+","+S.margin.top+")"},null,8,mr))}}),vr=["width"],br=["transform"],yr=["width"],_r=["transform"],wr=["origin","origin2","transform"],kr=["origin","transform"],xr={key:0},Sr=["width","height"],$r={key:1},Mr=["y","width","height"],It=12,Pr=I({__name:"PgXAxis",props:{width:{},height:{},margin:{}},setup(a){const e=a,t=g(()=>ht(Ve.value).ticks(6).tickSizeInner(h.value).tickFormat(it("%H:%M"))),o=g(()=>Ja(Ve.value).ticks(6).tickSizeInner(h.value+3).tickFormat(it(""))),s=g(()=>ht(Ye.value).ticks(4).tickSizeInner(h.value).tickFormat(c=>c.toString())),r=g(()=>ht(Ye.value).ticks(4).tickSizeInner(h.value).tickFormat(()=>"")),h=g(()=>y.graphMode!=="month"&&y.graphMode!=="year"?m.showGrid?-(e.height/2-7):-10:0),p=g(()=>{let c=le("g#PGXAxis"),k=le("g#PgUnit");return c.selectAll("*").remove(),k.selectAll("*").remove(),y.graphMode=="month"||y.graphMode=="year"?c.call(s.value):c.call(t.value),c.selectAll(".tick > text").attr("fill",(P,A)=>A>=0||y.graphMode=="month"||y.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",It),m.showGrid?c.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):c.selectAll(".tick line").attr("stroke","var(--color-bg)"),c.select(".domain").attr("stroke","var(--color-bg)"),k.append("text").attr("x",0).attr("y",12).attr("fill","var(--color-axis)").attr("font-size",It).text(y.graphMode=="year"?"MW":"kW").attr("text-anchor","start"),"PGXAxis.vue"}),u=g(()=>{let c=le("g#PGXAxis2");return c.selectAll("*").remove(),y.graphMode=="month"||y.graphMode=="year"?c.call(r.value):c.call(o.value),c.selectAll(".tick > text").attr("fill",(k,P)=>P>=0||y.graphMode=="month"||y.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",It),m.showGrid?(c.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"),c.select(".domain").attr("stroke","var(--color-bg)")):c.selectAll(".tick line").attr("stroke","var(--color-bg)"),c.select(".domain").attr("stroke","var(--color-bg)"),"PGXAxis2.vue"}),d=g(()=>{if(y.graphMode!="month"&&y.graphMode!="year"){const c=le("g#PGXAxis"),k=le("g#PGXAxis2");y.graphMode=="month"||y.graphMode=="year"?(Ye.value.range(Qe.value),c.call(s.value),k.call(r.value)):(Ve.value.range(Qe.value),c.call(t.value),k.call(o.value))}return"zoomed"});return(c,k)=>(l(),f(j,null,[(l(),f("svg",{x:"0",width:e.width},[n("g",{id:"PgUnit",transform:"translate(0,"+(c.height/2+9)+")"},null,8,br)],8,vr)),(l(),f("svg",{x:0,width:e.width+10},[n("g",{transform:"translate("+c.margin.left+","+c.margin.top+")"},[n("g",{id:"PGXAxis",class:"axis",origin:p.value,origin2:d.value,transform:"translate(0,"+(c.height/2-6)+")"},null,8,wr),n("g",{id:"PGXAxis2",class:"axis",origin:u.value,transform:"translate(0,"+(c.height/2+-6)+")"},null,8,kr),i(m).showGrid?(l(),f("g",xr,[n("rect",{x:"0",y:"0",width:c.width,height:c.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,Sr)])):w("",!0),i(m).showGrid?(l(),f("g",$r,[n("rect",{x:"0",y:c.height/2+10,width:c.width,height:c.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,Mr)])):w("",!0)],8,_r)],8,yr))],64))}}),Cr=["width"],Ir=["id",".origin","d"],Br=["id","d","stroke"],Vr=["x","y","text-anchor"],Bt=I({__name:"PgSoc",props:{width:{},height:{},margin:{},order:{}},setup(a){const e=a,t=g(()=>{let P=Le(y.data,A=>A.date);return P[0]&&P[1]?tt().domain(P).range([0,e.width]):tt().range([0,0])}),o=g(()=>Re().range([e.height-10,0]).domain([0,100])),s=g(()=>{let A=Ne().x(G=>t.value(G.date)).y(G=>o.value(e.order==2?G.batSoc:e.order==0?G["soc"+me.value[0]]:G["soc"+me.value[1]])??o.value(0))(y.data);return A||""}),r=g(()=>e.order),h=g(()=>{switch(e.order){case 2:return"Speicher";case 1:return Q[me.value[1]]!=null?Q[me.value[1]].name:"???";default:return Q[me.value[0]]!=null?Q[me.value[0]].name:"???"}}),p=g(()=>{switch(e.order){case 0:return"var(--color-cp1)";case 1:return"var(--color-cp2)";case 2:return"var(--color-battery)";default:return"red"}}),u=g(()=>{switch(e.order){case 0:return 3;case 1:return e.width-3;case 2:return e.width/2;default:return 0}}),d=g(()=>{if(y.data.length>0){let P;switch(e.order){case 0:return P=0,o.value(y.data[P]["soc"+me.value[0]]+2);case 1:return P=y.data.length-1,Math.max(12,o.value(y.data[P]["soc"+me.value[1]]+2));case 2:return P=Math.round(y.data.length/2),o.value(y.data[P].batSoc+2);default:return 0}}else return 0}),c=g(()=>{switch(e.order){case 0:return"start";case 1:return"end";case 2:return"middle";default:return"middle"}}),k=g(()=>{if(y.graphMode!="month"&&y.graphMode!="year"){const P=le("path#soc-"+r.value),A=le("path#socdashes-"+r.value);t.value.range(Qe.value);const G=Ne().x(E=>t.value(E.date)).y(E=>o.value(e.order==2?E.batSoc:e.order==1?E["soc"+me.value[0]]:E["soc"+me.value[1]])??o.value(0));P.attr("d",G(y.data)),A.attr("d",G(y.data))}return"zoomed"});return(P,A)=>(l(),f("svg",{x:"0",width:e.width},[n("g",null,[n("path",{id:"soc-"+r.value,".origin":k.value,class:"soc-baseline",d:s.value,stroke:"var(--color-bg)","stroke-width":"1",fill:"none"},null,40,Ir),n("path",{id:"socdashes-"+r.value,class:"soc-dashes",d:s.value,stroke:p.value,"stroke-width":"1",style:{strokeDasharray:"3,3"},fill:"none"},null,8,Br),n("text",{class:"cpname",x:u.value,y:d.value,style:K({fill:p.value,fontSize:10}),"text-anchor":c.value},x(h.value),13,Vr)])],8,Cr))}}),Lr=["transform"],Tr=I({__name:"PgSocAxis",props:{width:{},height:{},margin:{}},setup(a){const e=a,t=g(()=>Re().range([e.height-10,0]).domain([0,100])),o=g(()=>qa(t.value).ticks(5).tickFormat(r=>r.toString()+"%"));function s(){let r=le("g#PGSocAxis");r.call(o.value),r.selectAll(".tick").attr("font-size",12),r.selectAll(".tick line").attr("stroke","var(--color-bg)"),r.select(".domain").attr("stroke","var(--color-bg)")}return Te(()=>{s()}),(r,h)=>(l(),f("g",{id:"PGSocAxis",class:"axis",transform:"translate("+(r.width-20)+",0)"},null,8,Lr))}}),Or={class:"d-flex align-self-top justify-content-center align-items-center"},Ar={class:"input-group input-group-xs"},Er={key:0,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},zr={class:"dropdown-menu"},Dr={class:"table optiontable"},Wr=["onClick"],Gr={key:1,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},Ur={class:"dropdown-menu"},jr={class:"table optiontable"},Fr=["onClick"],Nr={key:2,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},Hr={class:"dropdown-menu"},Rr={class:"table optiontable"},Jr=["onClick"],qr=I({__name:"DateInput",props:{modelValue:{type:Date,required:!0},mode:{type:String,default:"day"}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,o=new Date().getFullYear();let s=Array.from({length:10},(A,G)=>o-G);const r=Y(!0),h=e,p=[[0,1,2,3],[4,5,6,7],[8,9,10,11]],u=Y(t.modelValue.getDate()),d=Y(t.modelValue.getMonth()),c=Y(t.modelValue.getFullYear()),k=g(()=>{const G=new Date(c.value,d.value,1).getDay();let E=0;switch(d.value){case 1:case 3:case 5:case 7:case 8:case 10:case 12:E=31;break;case 4:case 6:case 9:case 11:E=30;break;case 2:Math.trunc(c.value/4)*4==c.value?E=29:E=28}let T=[],M=[0,0,0,0,0,0,0],V=G;for(let S=0;S(l(),f("span",Or,[n("div",Ar,[t.mode=="day"||t.mode=="today"?(l(),f("button",Er,x(u.value),1)):w("",!0),n("div",zr,[n("table",Dr,[(l(!0),f(j,null,Z(k.value,(E,T)=>(l(),f("tr",{key:T,class:""},[(l(!0),f(j,null,Z(E,(M,V)=>(l(),f("td",{key:V},[M!=0?(l(),f("span",{key:0,type:"button",class:"btn optionbutton",onClick:S=>u.value=M},x(M),9,Wr)):w("",!0)]))),128))]))),128))])]),t.mode!="year"&&t.mode!="live"?(l(),f("button",Gr,x(d.value+1),1)):w("",!0),n("div",Ur,[n("table",jr,[(l(),f(j,null,Z(p,(E,T)=>n("tr",{key:T,class:""},[(l(!0),f(j,null,Z(E,(M,V)=>(l(),f("td",{key:V,class:"p-0 m-0"},[n("span",{type:"button",class:"btn btn-sm optionbutton",onClick:S=>d.value=M},x(M+1),9,Fr)]))),128))])),64))])]),t.mode!="live"?(l(),f("button",Nr,x(c.value),1)):w("",!0),n("div",Hr,[n("table",Rr,[(l(!0),f(j,null,Z(i(s),(E,T)=>(l(),f("tr",{key:T,class:""},[n("td",null,[n("span",{type:"button",class:"btn optionbutton",onClick:M=>c.value=E},x(E),9,Jr)])]))),128))])]),t.mode!="live"?(l(),f("button",{key:3,class:"button-outline-secondary",type:"button",onClick:P},G[0]||(G[0]=[n("span",{class:"fa-solid fa-circle-check"},null,-1)]))):w("",!0)])]))}}),F=(a,e)=>{const t=a.__vccOpts||a;for(const[o,s]of e)t[o]=s;return t},Yr=F(qr,[["__scopeId","data-v-98690e5d"]]),Qr={class:"btn-group m-0",role:"group","aria-label":"radiobar"},Zr=["id","value"],Xr=I({__name:"RadioBarInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,o=e,s=g({get(){return t.modelValue},set(p){o("update:modelValue",p)}});function r(p){let u=t.options[p].color?t.options[p].color:"var(--color-fg)";return t.options[p].active?{color:"var(--color-bg)",background:u}:{color:u}}function h(p){let u=p.target;for(;u&&!u.value&&u.parentElement;)u=u.parentElement;u.value&&(s.value=u.value)}return(p,u)=>(l(),f("div",null,[n("div",Qr,[(l(!0),f(j,null,Z(p.options,(d,c)=>(l(),f("button",{id:"radio-"+d.value,key:c,class:R(["btn btn-outline-secondary btn-sm radiobutton mx-0 mb-0 px-2",d.value==s.value?"active":""]),value:d.value,style:K(r(c)),onClick:h},[n("span",{style:K(r(c))},[d.icon?(l(),f("i",{key:0,class:R(["fa-solid",d.icon])},null,2)):w("",!0),J(" "+x(d.text),1)],4)],14,Zr))),128))])]))}}),Ta=F(Xr,[["__scopeId","data-v-82ab6829"]]),Kr=I({__name:"PgSelector",props:{widgetid:{},showLeftButton:{type:Boolean},showRightButton:{type:Boolean},ignoreLive:{type:Boolean}},emits:["shiftLeft","shiftRight","shiftUp","shiftDown"],setup(a){const e=a,t=Y(0),o=g(()=>{if(y.waitForData)return"Lädt";switch(y.graphMode){case"live":return e.ignoreLive?"heute":`${ge.duration} min`;case"today":return"heute";case"day":return ce.date.getDate()+"."+(ce.date.getMonth()+1)+".";case"month":return Fn(Ee.month-1,Ee.year);case"year":return qe.year.toString();default:return"???"}}),s=["live","today","day","month","year"],r=["Live","Heute","Tag","Monat","Jahr"],h=g({get(){return y.graphMode},set(V){switch(V){case"day":k();break;case"today":P();break;case"live":c();break;case"month":A();break;case"year":G()}}}),p=g(()=>{switch(y.graphMode){case"live":case"today":return ce.getDate();case"month":return Ee.getDate();default:return ce.getDate()}});function u(V){ua(V)}function d(){t.value+=1,t.value>2&&(t.value=0)}function c(){y.graphMode!="live"&&(y.graphMode="live",fe())}function k(){y.graphMode!="day"&&y.graphMode!="today"&&(y.graphMode="day",fe())}function P(){y.graphMode!="today"&&(y.graphMode="today",ua(new Date),fe())}function A(){y.graphMode!="month"&&(y.graphMode="month",fe())}function G(){y.graphMode!="year"&&(y.graphMode="year",fe())}const E=g(()=>t.value>0?{border:"1px solid var(--color-frame)"}:""),T=g(()=>t.value==1?"justify-content-between":"justify-content-end"),M=g(()=>t.value==1?"justify-content-between":"justify-content-center");return(V,S)=>(l(),f("div",{class:"d-flex flex-column justify-content-center pgselector rounded",style:K(E.value)},[t.value==2?(l(),$(Ta,{key:0,id:"pgm2",modelValue:h.value,"onUpdate:modelValue":S[0]||(S[0]=C=>h.value=C),class:"m-2",options:s.map((C,D)=>({text:r[D],value:C,color:"var(--color-menu)",active:C==i(y).graphMode}))},null,8,["modelValue","options"])):w("",!0),t.value==1?(l(),f("span",{key:1,type:"button",class:R(["arrowButton d-flex align-self-center mb-3 mt-3",{disabled:!e.showLeftButton}]),onClick:S[1]||(S[1]=C=>V.$emit("shiftUp"))},S[6]||(S[6]=[n("i",{class:"fa-solid fa-xl fa-chevron-circle-up"},null,-1)]),2)):w("",!0),n("div",{class:R(["d-flex align-items-center",M.value])},[t.value==1?(l(),f("span",{key:0,type:"button",class:R(["p-1",{disabled:!e.showLeftButton}]),onClick:S[2]||(S[2]=C=>V.$emit("shiftLeft"))},S[7]||(S[7]=[n("span",{class:"fa-solid fa-xl fa-chevron-circle-left arrowButton"},null,-1)]),2)):w("",!0),t.value<2?(l(),f("span",{key:1,type:"button",class:"btn-outline-secondary p-2 px-3 badge rounded-pill datebadge",onClick:d},x(o.value),1)):w("",!0),t.value==2?(l(),$(Yr,{key:2,"model-value":p.value,mode:i(y).graphMode,"onUpdate:modelValue":u},null,8,["model-value","mode"])):w("",!0),t.value==1?(l(),f("span",{key:3,id:"graphRightButton",type:"button",class:R(["arrowButton fa-solid fa-xl fa-chevron-circle-right p-1",{disabled:!e.showRightButton}]),onClick:S[3]||(S[3]=C=>V.$emit("shiftRight"))},null,2)):w("",!0)],2),n("div",{class:R(["d-flex align-items-center",T.value])},[t.value==1?(l(),f("span",{key:0,type:"button",class:"p-1",onClick:d},S[8]||(S[8]=[n("span",{class:"fa-solid fa-xl fa-gear"},null,-1)]))):w("",!0),t.value==1?(l(),f("span",{key:1,id:"graphLeftButton",type:"button",class:R(["arrowButton fa-solid fa-xl fa-chevron-circle-down p-1",{disabled:!e.showLeftButton}]),onClick:S[4]||(S[4]=C=>V.$emit("shiftDown"))},null,2)):w("",!0),t.value>0?(l(),f("span",{key:2,type:"button",class:"p-1",onClick:S[5]||(S[5]=C=>t.value=0)},S[9]||(S[9]=[n("span",{class:"fa-solid fa-xl fa-circle-check"},null,-1)]))):w("",!0)],2)],4))}}),aa=F(Kr,[["__scopeId","data-v-d75ec1a4"]]),eo=["x","fill"],to=["x"],Ie=I({__name:"PgToolTipLine",props:{cat:{},name:{},indent:{},power:{},width:{}},setup(a){const e=a;return(t,o)=>(l(),f(j,null,[t.power>0?(l(),f("tspan",{key:0,x:t.indent,dy:"1.3em",class:R(t.name?"":"fas"),fill:i(se)[t.cat].color},x(t.name?t.name:i(se)[t.cat].icon)+"   ",11,eo)):w("",!0),n("tspan",{"text-anchor":"end",x:t.width-t.indent},[e.power>0?(l(),$(vt,{key:0,watt:t.power*1e3},null,8,["watt"])):w("",!0)],8,to)],64))}}),ao=["transform"],no=["width","height"],ro={"text-anchor":"start",x:"5",y:"20","font-size":"16",fill:"var(--color-fg)"},oo=["x"],so=I({__name:"PgToolTipItem",props:{entry:{},boxwidth:{},xScale:{type:[Function,Object]}},setup(a){const e=a,t=g(()=>Object.values(e.entry).filter(u=>u>0).length),o=g(()=>t.value*16),s=g(()=>Object.entries(e.entry).filter(([u,d])=>u.startsWith("pv")&&u.length>2&&d>0).map(([u,d])=>({power:d,name:Fe.value.get(u)?p(Fe.value.get(u)):"Wechselr.",id:u}))),r=g(()=>Object.entries(e.entry).filter(([u,d])=>u.startsWith("cp")&&u.length>2&&d>0).map(([u,d])=>({power:d,name:Fe.value.get(u)?p(Fe.value.get(u)):"Ladep.",id:u}))),h=g(()=>Object.entries(e.entry).filter(([u,d])=>u.startsWith("sh")&&u.length>2&&d>0).map(([u,d])=>({power:d,name:Fe.value.get(u)?p(Fe.value.get(u)):"Gerät",id:u})));function p(u){return u.length>6?u.slice(0,6)+"...":u}return(u,d)=>(l(),f("g",{class:"ttmessage",transform:"translate("+u.xScale(u.entry.date)+",0)"},[n("rect",{rx:"5",width:u.boxwidth,height:o.value,fill:"var(--color-bg)",opacity:"80%",stroke:"var(--color-menu)"},null,8,no),n("text",ro,[n("tspan",{"text-anchor":"middle",x:u.boxwidth/2,dy:"0em"},x(i(it)("%H:%M")(new Date(u.entry.date))),9,oo),d[0]||(d[0]=n("line",{y:"120",x1:"5",x2:"100",stroke:"var(--color-fg)","stroke-width":"1"},null,-1)),v(Ie,{cat:"evuIn",indent:5,power:u.entry.evuIn,width:u.boxwidth},null,8,["power","width"]),v(Ie,{cat:"batOut",indent:5,power:u.entry.batOut,width:u.boxwidth},null,8,["power","width"]),v(Ie,{cat:"pv",indent:5,power:u.entry.pv,width:u.boxwidth},null,8,["power","width"]),(l(!0),f(j,null,Z(s.value,c=>(l(),$(Ie,{key:c.id,cat:"pv",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),v(Ie,{cat:"house",indent:5,power:u.entry.house,width:u.boxwidth},null,8,["power","width"]),v(Ie,{cat:"charging",indent:5,power:u.entry.charging,width:u.boxwidth},null,8,["power","width"]),(l(!0),f(j,null,Z(r.value,c=>(l(),$(Ie,{key:c.id,cat:"charging",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),v(Ie,{cat:"devices",indent:5,power:u.entry.devices,width:u.boxwidth},null,8,["power","width"]),(l(!0),f(j,null,Z(h.value,c=>(l(),$(Ie,{key:c.id,cat:"devices",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),v(Ie,{cat:"batIn",indent:5,power:u.entry.batIn,width:u.boxwidth},null,8,["power","width"]),v(Ie,{cat:"evuOut",indent:5,power:u.entry.evuOut,width:u.boxwidth},null,8,["power","width"])])],8,ao))}}),io=["origin","transform"],lo=["x","height","width"],pa=140,co=I({__name:"PgToolTips",props:{width:{},height:{},margin:{},data:{}},setup(a){const e=a,t=g(()=>{const r=Le(e.data,h=>new Date(h.date));return r[0]&&r[1]?jt().domain(r).range([0,e.width-e.margin.right]):tt().range([0,0])}),o=g(()=>{const r=Le(e.data,h=>new Date(h.date));return r[0]&&r[1]?jt().domain(r).range([0,e.width-e.margin.right-pa]):tt().range([0,0])}),s=g(()=>((y.graphMode=="day"||y.graphMode=="today")&&(t.value.range(Qe.value),le("g#pgToolTips").selectAll("g.ttarea").select("rect").attr("x",(r,h)=>e.data.length>h?t.value(e.data[h].date):0).attr("width",e.data.length>0?(Qe.value[1]-Qe.value[0])/e.data.length:0)),"PgToolTips.vue:autozoom"));return(r,h)=>(l(),f("g",{id:"pgToolTips",origin:s.value,transform:"translate("+r.margin.left+","+r.margin.top+")"},[(l(!0),f(j,null,Z(r.data,p=>(l(),f("g",{key:p.date,class:"ttarea"},[n("rect",{x:t.value(p.date),y:"0",height:r.height,class:"ttrect",width:i(y).data.length>0?r.width/i(y).data.length:0,opacity:"1%",fill:"var(--color-charging)"},null,8,lo),v(so,{entry:p,boxwidth:pa,"x-scale":o.value},null,8,["entry","x-scale"])]))),128))],8,io))}}),uo={class:"d-flex justify-content-end"},ho={id:"powergraphFigure",class:"p-0 m-0"},po=["viewBox"],go=["transform"],mo=["x","y"],fo=2,vo="Leistung / Ladestand ",bo=I({__name:"PowerGraph",setup(a){function e(){let h=m.usageStackOrder+1;h>fo&&(h=0),m.usageStackOrder=h,xn(!0)}function t(h){const p=[[0,N.top],[_e,Me-N.top]];h.call(Qa().scaleExtent([1,8]).translateExtent([[0,0],[_e,Me]]).extent(p).filter(s).on("zoom",o))}function o(h){Ia.value=h.transform}function s(h){return h.preventDefault(),(!h.ctrlKey||h.type==="wheel")&&!h.button}function r(){m.zoomedWidget=1,m.zoomGraph=!m.zoomGraph}return Te(()=>{const h=le("svg#powergraph");t(h)}),(h,p)=>(l(),$(bt,{"full-width":!0},{title:_(()=>[J(x(vo))]),buttons:_(()=>[n("div",uo,[v(aa,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!1,onShiftLeft:i(Pt),onShiftRight:i(Xt),onShiftUp:i(Kt),onShiftDown:i(ea)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),f("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:r},p[0]||(p[0]=[n("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[mt(n("figure",ho,[(l(),f("svg",{id:"powergraph",class:"powergraphSvg",viewBox:"0 0 "+i(_e)+" "+i(Me)},[v(gr,{width:i(_e)-i(N).left-2*i(N).right,height:(i(Me)-i(N).top-i(N).bottom)/2,margin:i(N)},null,8,["width","height","margin"]),v(fr,{width:i(_e)-i(N).left-2*i(N).right,height:(i(Me)-i(N).top-i(N).bottom)/2,margin:i(N),"stack-order":i(m).usageStackOrder},null,8,["width","height","margin","stack-order"]),v(Pr,{width:i(_e)-i(N).left-i(N).right,height:i(Me)-i(N).top-i(N).bottom,margin:i(N)},null,8,["width","height","margin"]),n("g",{transform:"translate("+i(N).left+","+i(N).top+")"},[(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&Object.values(i(Q)).filter(u=>u.visible).length>0?(l(),$(Bt,{key:0,width:i(_e)-i(N).left-2*i(N).right,height:(i(Me)-i(N).top-i(N).bottom)/2,margin:i(N),order:0},null,8,["width","height","margin"])):w("",!0),(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&Object.values(i(Q)).filter(u=>u.visible).length>1?(l(),$(Bt,{key:1,width:i(_e)-i(N).left-2*i(N).right,height:(i(Me)-i(N).top-i(N).bottom)/2,margin:i(N),order:1},null,8,["width","height","margin"])):w("",!0),(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&i(de).isBatteryConfigured?(l(),$(Bt,{key:2,width:i(_e)-i(N).left-2*i(N).right,height:(i(Me)-i(N).top-i(N).bottom)/2,margin:i(N),order:2},null,8,["width","height","margin"])):w("",!0),i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live"?(l(),$(Tr,{key:3,width:i(_e)-i(N).left-i(N).right,height:(i(Me)-i(N).top-i(N).bottom)/2,margin:i(N)},null,8,["width","height","margin"])):w("",!0)],8,go),i(y).graphMode=="day"||i(y).graphMode=="today"?(l(),$(co,{key:0,width:i(_e)-i(N).left-i(N).right,height:i(Me)-i(N).top-i(N).bottom,margin:i(N),data:i(y).data},null,8,["width","height","margin","data"])):w("",!0),n("g",{id:"button",type:"button",onClick:e},[n("text",{x:i(_e)-10,y:i(Me)-10,color:"var(--color-menu)","text-anchor":"end"},p[1]||(p[1]=[n("tspan",{fill:"var(--color-menu)",class:"fas fa-lg"},x(""),-1)]),8,mo)])],8,po))],512),[[Ya,i(y).data.length>0]])]),_:1}))}}),yo=F(bo,[["__scopeId","data-v-47f3d429"]]),_o=["id"],wo=["x","width","height","fill"],ko=["x","width","height"],xo=["x","y","width","height"],So=I({__name:"EmBar",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(a){const e=a,t=g(()=>e.height-e.yScale(e.item.energy)-e.margin.top-e.margin.bottom),o=g(()=>{let r=0;return e.item.energyPv>0&&(r=e.height-e.yScale(e.item.energyPv)-e.margin.top-e.margin.bottom),r>t.value&&(r=t.value),r}),s=g(()=>{let r=0;return e.item.energyBat>0&&(r=e.height-e.yScale(e.item.energyBat)-e.margin.top-e.margin.bottom),r>t.value&&(r=t.value),r});return(r,h)=>(l(),f("g",{id:"bar-"+e.item.name,transform:"scale(1,-1) translate (0,-445)"},[n("rect",{class:"bar",x:e.xScale(r.item.name),y:"0",width:e.xScale.bandwidth(),height:t.value,fill:r.item.color},null,8,wo),n("rect",{class:"bar",x:e.xScale(r.item.name)+e.xScale.bandwidth()/6,y:"0",width:e.xScale.bandwidth()*2/3,height:o.value,fill:"var(--color-pv)","fill-opacity":"66%"},null,8,ko),n("rect",{class:"bar",x:e.xScale(r.item.name)+e.xScale.bandwidth()/6,y:o.value,width:e.xScale.bandwidth()*2/3,height:s.value,fill:"var(--color-battery)","fill-opacity":"66%"},null,8,xo)],8,_o))}}),$o={id:"emBargraph"},Mo=I({__name:"EMBarGraph",props:{plotdata:{},xScale:{},yScale:{},margin:{},height:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const r=y.graphMode=="live"||y.graphMode=="day"?q:L.items,p=(y.graphMode=="live"||y.graphMode=="day"?H:L.items).evuOut.energy,u=r.pv.energy;return Math.round((u-p)/u*100)}else if(s.name=="Netz"){const r=y.graphMode=="live"||y.graphMode=="day"?q:L.items,h=y.graphMode=="live"||y.graphMode=="day"?H:L.items,p=h.evuOut.energy,u=r.evuIn.energy,d=r.pv.energy,c=r.batOut.energy,k=h.batIn.energy;return Math.round((d+c-p-k)/(d+c+u-p-k)*100)}else return s.pvPercentage}function o(s){return s.name=="PV"?"Eigen":"Aut"}return(s,r)=>(l(),f("g",$o,[(l(!0),f(j,null,Z(e.plotdata,(h,p)=>(l(),f("g",{key:p},[v(So,{item:h,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":o(h),autarchy:t(h)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128)),r[0]||(r[0]=n("animateTransform",{"attribute-name":"transform",type:"scale",from:"1 0",to:"1 1",begin:"0s",dur:"2s"},null,-1))]))}}),Po=["origin"],Co=I({__name:"EMYAxis",props:{yScale:{type:[Function,Object]},width:{},fontsize:{}},setup(a){const e=a,t=g(()=>gt(e.yScale).tickFormat(r=>s(r)).ticks(6).tickSizeInner(-e.width)),o=g(()=>{const r=le("g#emYAxis");return r.attr("class","axis").call(t.value),r.append("text").attr("y",6).attr("dy","0.71em").attr("text-anchor","end").text("energy"),r.selectAll(".tick").attr("font-size",e.fontsize),m.showGrid?r.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):r.selectAll(".tick line").attr("stroke","var(--color-bg)"),r.select(".domain").attr("stroke","var(--color-bg)"),"emYAxis.vue"});function s(r){return r>0?y.graphMode=="year"?(r/1e6).toString():(r/1e3).toString():""}return(r,h)=>(l(),f("g",{id:"emYAxis",class:"axis",origin:o.value},null,8,Po))}}),Io=["id"],Bo=["x","y","font-size"],Vo=["x","y","font-size","fill"],Lo=["x","y","font-size","fill"],To=I({__name:"EmLabel",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(a){const e=a,t=g(()=>e.autarchy?e.yScale(e.item.energy)-25:e.yScale(e.item.energy)-10),o=g(()=>{let u=16,d=e.barcount;return d<=5?u=16:d==6?u=14:d>6&&d<=8?u=13:d==9?u=11:d==10?u=10:u=9,u}),s=g(()=>{let u=12,d=e.barcount;return d<=5?u=12:d==6?u=11:d>6&&d<=8||d==9?u=8:d==10?u=7:u=6,u});function r(u,d){return d.length>s.value?d.substring(0,s.value)+".":d}function h(){return e.autarchy?e.autText+": "+e.autarchy.toLocaleString(void 0)+" %":""}function p(){return"var(--color-pv)"}return(u,d)=>(l(),f("g",{id:"barlabel-"+e.item.name},[n("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:t.value,"font-size":o.value,"text-anchor":"middle",fill:"var(--color-menu)"},x(i(He)(u.item.energy,i(m).decimalPlaces,!1)),9,Bo),n("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:e.yScale(u.item.energy)-10,"font-size":o.value-2,"text-anchor":"middle",fill:p()},x(h()),9,Vo),n("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:e.height-e.margin.bottom-5,"font-size":o.value,"text-anchor":"middle",fill:u.item.color,class:R(u.item.icon.length<=2?"fas":"")},x(r(u.item.name,u.item.icon)),11,Lo)],8,Io))}}),Oo={id:"emBarLabels"},Ao=I({__name:"EMLabels",props:{plotdata:{},xScale:{},yScale:{},height:{},margin:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const r=y.graphMode=="live"||y.graphMode=="today"?q:L.items,p=(y.graphMode=="live"||y.graphMode=="today"?H:L.items).evuOut.energy,u=r.pv.energy;return Math.round((u-p)/u*100)}else if(s.name=="Netz"){const r=y.graphMode=="live"||y.graphMode=="today"?q:L.items,h=y.graphMode=="live"||y.graphMode=="today"?H:L.items,p=h.evuOut.energy,u=r.evuIn.energy,d=r.pv.energy,c=r.batOut.energy,k=h.batIn.energy;return d+c-p-k>0?Math.round((d+c-p-k)/(d+c+u-p-k)*100):0}else return s.pvPercentage}function o(s){return s.name=="PV"?"Eigen":"Aut"}return(s,r)=>(l(),f("g",Oo,[(l(!0),f(j,null,Z(e.plotdata,(h,p)=>(l(),f("g",{key:p},[v(To,{item:h,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":o(h),autarchy:t(h)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128))]))}}),Eo={class:"d-flex justify-content-end"},zo={id:"energymeter",class:"p-0 m-0"},Do={viewBox:"0 0 500 500"},Wo=["transform"],Go=["x"],Uo={key:0},ga=500,Vt=500,ma=12,jo="Energie",Fo=I({__name:"EnergyMeter",setup(a){const e={top:25,bottom:30,left:25,right:0},t=g(()=>{let u=Object.values(q),d=r.value;const c=L.items;let k=[];switch(m.debug&&h(),ct.value==!0&&(ct.value=!1),y.graphMode){default:case"live":case"today":k=u.concat(d);break;case"day":case"month":case"year":Object.values(c).length==0?Ze.value=!0:(Ze.value=!1,k=[c.evuIn,c.pv,c.evuOut,c.batOut,c.charging],Object.values(O).length>1&&Object.keys(O).forEach(P=>{c["cp"+P]&&k.push(c["cp"+P])}),k.push(c.devices),te.forEach((P,A)=>{P.showInGraph&&c["sh"+A]&&k.push(c["sh"+A])}),k=k.concat([c.batIn,c.house]))}return k.filter(P=>P.energy&&P.energy>0)}),o=g(()=>wt().range([0,ga-e.left-e.right]).domain(t.value.map(u=>u.name)).padding(.4)),s=g(()=>Re().range([Vt-e.bottom-e.top,15]).domain([0,xa(t.value,u=>u.energy)])),r=g(()=>{const u=Object.values(O).length,d=[...te.values()].filter(k=>k.configured).length;let c=H;return[...[c.evuOut,c.charging].concat(u>1?Object.values(O).map(k=>k.toPowerItem()):[]),...[c.devices].concat(d>1?[...te.values()].filter(k=>k.configured&&k.showInGraph):[]).concat([H.batIn,H.house])]});function h(){console.debug(["source summary:",q]),console.debug(["usage details:",r.value]),console.debug(["historic summary:",L])}function p(){m.zoomedWidget=2,m.zoomGraph=!m.zoomGraph}return(u,d)=>(l(),$(bt,{"full-width":!0},{title:_(()=>[J(x(jo))]),buttons:_(()=>[n("div",Eo,[v(aa,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!0,onShiftLeft:i(Pt),onShiftRight:i(Xt),onShiftUp:i(Kt),onShiftDown:i(ea)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),f("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:p},d[0]||(d[0]=[n("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[n("figure",zo,[(l(),f("svg",Do,[n("g",{transform:"translate("+e.left+","+e.top+")"},[v(Mo,{plotdata:t.value,"x-scale":o.value,"y-scale":s.value,height:Vt,margin:e},null,8,["plotdata","x-scale","y-scale"]),v(Co,{"y-scale":s.value,width:ga,fontsize:ma,config:i(m)},null,8,["y-scale","config"]),n("text",{x:-e.left,y:"-15",fill:"var(--color-axis)","font-size":ma},x(i(y).graphMode=="year"?"MWh":"kWh"),9,Go),v(Ao,{plotdata:t.value,"x-scale":o.value,"y-scale":s.value,height:Vt,margin:e,config:i(m)},null,8,["plotdata","x-scale","y-scale","config"])],8,Wo)]))]),i(Ze)?(l(),f("p",Uo,"No data")):w("",!0)]),_:1}))}}),No=F(Fo,[["__scopeId","data-v-32c82102"]]),Ho=["id"],Ro=["y","width","fill"],Jo=["y","width"],qo=["y","x","width"],Yo=I({__name:"EnergyBar",props:{id:{},item:{},yScale:{},xScale:{},itemHeight:{}},setup(a){const e=a,t=g(()=>e.xScale(e.item.energy)),o=g(()=>{let r=0;return e.item.energyPv>0&&(r=e.xScale(e.item.energyPv)),r>t.value&&(r=t.value),r}),s=g(()=>{let r=0;return e.item.energyBat>0&&(r=e.xScale(e.item.energyBat)),r>t.value&&(r=t.value),r});return(r,h)=>(l(),f("g",{id:`bar-${e.item.name}`},[n("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2-4,x:"0",rx:"6",ry:"6",height:"12",width:t.value,fill:r.item.color},null,8,Ro),n("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2+10,x:"0",rx:"3",ry:"3",height:"7",width:o.value,fill:"var(--color-pv)","fill-opacity":"100%"},null,8,Jo),n("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2+10,x:o.value,rx:"3",ry:"3",height:"7",width:s.value,fill:"var(--color-battery)","fill-opacity":"100%"},null,8,qo)],8,Ho))}}),Qo={id:"emBargraph"},Zo=I({__name:"BarGraph",props:{plotdata:{},yscale:{},xscale:{},itemHeight:{}},setup(a){const e=a;return(t,o)=>(l(),f("g",Qo,[(l(!0),f(j,null,Z(e.plotdata,(s,r)=>(l(),f("g",{key:r},[v(Yo,{id:r.toString(),item:s,"x-scale":e.xscale,"y-scale":e.yscale,"item-height":t.itemHeight},null,8,["id","item","x-scale","y-scale","item-height"])]))),128))]))}}),Xo=["id"],Ko=["y","x","fill"],es=["y","x"],ts=["y","x","font-size"],Lt=24,as=I({__name:"EnergyLabel",props:{id:{},item:{},yscale:{},margin:{},width:{},itemHeight:{},autarchy:{},autText:{}},setup(a){const e=a,t=g(()=>e.yscale(e.id)+e.itemHeight/3);function o(){return e.autarchy?e.autText+": "+e.autarchy.toLocaleString(void 0)+" %":""}function s(r){return r.length>14?r.slice(0,13)+"...":r}return(r,h)=>(l(),f("g",{id:"barlabel-"+e.id},[n("text",{y:t.value,x:e.margin.left,"font-size":Lt,"text-anchor":"start",fill:r.item.color,class:R(r.item.icon.length<=2?"fas":"")},x(s(e.item.icon)),11,Ko),n("text",{y:t.value,x:e.width/2+e.margin.left,"font-size":Lt,"text-anchor":"middle",fill:"var(--color-menu)"},x(i(He)(r.item.energy,i(m).decimalPlaces,!1)),9,es),n("text",{y:t.value,x:e.width-e.margin.right,"font-size":Lt-2,"text-anchor":"end",fill:"var(--color-pv)"},x(o()),9,ts)],8,Xo))}}),ns={id:"emBarLabels"},rs=I({__name:"EnergyLabels",props:{plotdata:{},yscale:{},width:{},itemHeight:{},margin:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const r=y.graphMode=="live"||y.graphMode=="today"?q:L.items,p=(y.graphMode=="live"||y.graphMode=="today"?H:L.items).evuOut.energy,u=r.pv.energy;return Math.round((u-p)/u*100)}else if(s.name=="Netz"){const r=y.graphMode=="live"||y.graphMode=="today"?q:L.items,h=y.graphMode=="live"||y.graphMode=="today"?H:L.items,p=h.evuOut.energy,u=r.evuIn.energy,d=r.pv.energy,c=r.batOut.energy,k=h.batIn.energy;return d+c-p-k>0?Math.round((d+c-p-k)/(d+c+u-p-k)*100):0}else return s.pvPercentage}function o(s){return s.name=="PV"?"Eigen":"Aut"}return(s,r)=>(l(),f("g",ns,[(l(!0),f(j,null,Z(e.plotdata,(h,p)=>(l(),f("g",{key:p},[v(as,{id:p.toString(),item:h,yscale:e.yscale,margin:e.margin,width:e.width,"item-height":s.itemHeight,"aut-text":o(h),autarchy:t(h)},null,8,["id","item","yscale","margin","width","item-height","aut-text","autarchy"])]))),128))]))}});class os{constructor(e){b(this,"id");b(this,"name","Speicher");b(this,"color","var(--color-battery)");b(this,"dailyYieldExport",0);b(this,"dailyYieldImport",0);b(this,"monthlyYieldExport",0);b(this,"monthlyYieldImport",0);b(this,"yearlyYieldExport",0);b(this,"yearlyYieldImport",0);b(this,"exported",0);b(this,"faultState",0);b(this,"faultStr","");b(this,"imported",0);b(this,"power",0);b(this,"soc",0);this.id=e}}class ss{constructor(){b(this,"dailyExport",0);b(this,"dailyImport",0);b(this,"exported",0);b(this,"imported",0);b(this,"power",0);b(this,"soc",0)}}he(new ss);const pe=Y(new Map),Oa=a=>{pe.value.set(a,new os(a)),pe.value.get(a).color=se["bat"+pe.value.size].color};function is(){pe.value=new Map}const ls={class:"d-flex justify-content-end"},cs={id:"energymeter",class:"p-0 m-0"},us=["viewBox"],ds=["transform"],hs=["x"],ps={key:0},fa=500,Tt=60,gs=12,ms="Energie",fs=I({__name:"EnergyMeter2",setup(a){const e={top:0,bottom:30,left:0,right:0},t=g(()=>o.value.length*Tt+e.top+e.bottom),o=g(()=>{let c=Object.values(q),k=h.value;const P=L.items;let A=[];switch(m.debug&&u(),ct.value==!0&&(ct.value=!1),y.graphMode){default:case"live":case"today":A=p(c).concat(k);break;case"day":case"month":case"year":Object.values(P).length==0?Ze.value=!0:(Ze.value=!1,A=[P.evuIn,P.pv,P.evuOut,P.batOut,P.charging],Object.values(O).length>1&&Object.keys(O).forEach(G=>{P["cp"+G]&&A.push(P["cp"+G])}),A.push(P.devices),te.forEach((G,E)=>{G.showInGraph&&P["sh"+E]&&A.push(P["sh"+E])}),A=A.concat([P.batIn,P.house]))}return A.filter(G=>G.energy&&G.energy>0)}),s=g(()=>Re().range([0,fa-e.left-e.right]).domain([0,xa(o.value,c=>c.energy)])),r=g(()=>wt().range([e.top,t.value-e.bottom]).domain(o.value.map((c,k)=>k.toString())).padding(.1)),h=g(()=>{const c=Object.values(O).length,k=[...te.values()].filter(A=>A.configured).length;let P=H;return[...[P.evuOut,P.charging].concat(c>1?Object.values(O).map(A=>A.toPowerItem()):[]),...[P.devices].concat(k>1?[...te.values()].filter(A=>A.configured&&A.showInGraph):[]).concat([H.batIn,H.house])]});function p(c){let k=0;return we.value.size>1&&we.value.forEach(P=>{c.splice(2+k++,0,{name:P.name,power:P.power,energy:P.energy,energyPv:0,energyBat:0,pvPercentage:0,color:P.color,icon:P.name,showInGraph:!0})}),pe.value.size>1&&pe.value.forEach(P=>{c.splice(3+k++,0,{name:P.name,power:P.power,energy:P.dailyYieldExport,energyPv:0,energyBat:0,pvPercentage:0,color:P.color,icon:P.name,showInGraph:!0})}),c}function u(){console.debug(["source summary:",q]),console.debug(["usage details:",h.value]),console.debug(["historic summary:",L])}function d(){m.zoomedWidget=2,m.zoomGraph=!m.zoomGraph}return(c,k)=>(l(),$(bt,{"full-width":!0},{title:_(()=>[J(x(ms))]),buttons:_(()=>[n("div",ls,[v(aa,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!0,onShiftLeft:i(Pt),onShiftRight:i(Xt),onShiftUp:i(Kt),onShiftDown:i(ea)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),f("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:d},k[0]||(k[0]=[n("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[n("figure",cs,[(l(),f("svg",{viewBox:"0 0 500 "+t.value},[n("g",{transform:"translate("+e.left+","+e.top+")"},[v(Zo,{plotdata:o.value,xscale:s.value,yscale:r.value,"item-height":Tt},null,8,["plotdata","xscale","yscale"]),n("text",{x:-e.left,y:"-15",fill:"var(--color-axis)","font-size":gs},x(i(y).graphMode=="year"?"MWh":"kWh"),9,hs),v(rs,{plotdata:o.value,yscale:r.value,width:fa,"item-height":Tt,margin:e},null,8,["plotdata","yscale"])],8,ds)],8,us))]),i(Ze)?(l(),f("p",ps,"No data")):w("",!0)]),_:1}))}}),vs=F(fs,[["__scopeId","data-v-63a4748e"]]),bs={class:"d-flex flex-column align-items-center justify-content-start infoitem"},ys=I({__name:"InfoItem",props:{heading:{},small:{type:Boolean}},setup(a){const e=a,t=g(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-small)"}),o=g(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-normal)"}),s=g(()=>e.small?"mt-0":"mt-1");return(r,h)=>(l(),f("span",bs,[n("span",{class:R(["d-flex heading",s.value]),style:K(t.value)},x(e.heading),7),n("span",{class:"d-flex my-0 me-0 align-items-center content",style:K(o.value)},[ue(r.$slots,"default",{},void 0,!0)],4)]))}}),ee=F(ys,[["__scopeId","data-v-f6af00e8"]]),_s={class:"d-flex justify-content-between align-items-center titlerow"},ws={class:"buttonarea d-flex float-right justify-content-end align-items-center"},ks={class:"contentrow grid-col-12"},xs=I({__name:"WbSubwidget",props:{titlecolor:{},fullwidth:{type:Boolean},small:{type:Boolean}},setup(a){const e=a,t=g(()=>{let s={"font-weight":"bold",color:"var(--color-fg)","font-size":"var(--font-normal)"};return e.titlecolor&&(s.color=e.titlecolor),e.small&&(s["font-size"]="var(--font-verysmall)"),s}),o=g(()=>e.fullwidth?"grid-col-12":"grid-col-4");return(s,r)=>(l(),f("div",{class:R(["wb-subwidget-noborder px-0 pe-1 my-0 pb-2",o.value])},[n("div",_s,[n("div",{class:"d-flex widgetname p-0 m-0",style:K(t.value)},[ue(s.$slots,"title",{},void 0,!0)],4),n("div",ws,[ue(s.$slots,"buttons",{},void 0,!0)])]),n("div",ks,[ue(s.$slots,"default",{},void 0,!0)])],2))}}),at=F(xs,[["__scopeId","data-v-2aa2b95f"]]),Ss={class:"grid-col-12 mt-0 mb-0 px-0 py-0 configitem"},$s={class:"titlecolumn m-0 p-0 d-flex justify-content-between align-items-baseline"},Ms={class:"d-flex justify-content-end align-items-baseline"},Ps={class:"d-flex align-items-center"},Cs={class:"d-flex"},Is={class:"d-flex justify-content-end m-0 p-0"},Bs={class:"ms-1 mb-2 p-0 pt-2 d-flex justify-content-stretch align-items-center contentrow"},Vs=I({__name:"ConfigItem",props:{title:{},infotext:{},icon:{},fullwidth:{type:Boolean}},setup(a){const e=a,t=Y(!1);function o(){t.value=!t.value}const s=g(()=>{let r={color:"var(--color-charging)"};return t.value&&(r.color="var(--color-battery)"),r});return(r,h)=>(l(),$(at,{fullwidth:!!r.fullwidth},{default:_(()=>[n("div",Ss,[n("div",$s,[n("span",Ms,[n("span",{class:"d-flex align-items-baseline m-0 p-0",onClick:o},[e.icon?(l(),f("i",{key:0,class:R(["fa-solid fa-sm m-0 p-0 me-2 item-icon",e.icon])},null,2)):w("",!0),J(" "+x(r.title),1)])]),n("span",Ps,[n("span",Cs,[e.infotext?(l(),f("i",{key:0,class:"fa-solid fa-sm fa-circle-question ms-4 me-2",style:K(s.value),onClick:o},null,4)):w("",!0)]),n("span",Is,[ue(r.$slots,"inline-item",{},void 0,!0)])])]),t.value?(l(),f("p",{key:0,class:"infotext shadow m-0 ps-2 mb-1 p-1",onClick:o},[h[0]||(h[0]=n("i",{class:"me-1 fa-solid fa-sm fa-circle-info"},null,-1)),J(" "+x(r.infotext),1)])):w("",!0),n("div",Bs,[ue(r.$slots,"default",{},void 0,!0)])])]),_:3},8,["fullwidth"]))}}),U=F(Vs,[["__scopeId","data-v-25ab3fbb"]]),Ls={class:"d-flex flex-column rangeinput"},Ts={class:"d-flex flex-fill justify-content-between align-items-center"},Os={class:"d-flex flex-fill flex-column justify-content-center m-0 p-0"},As={key:0,id:"rangeIndicator",class:"rangeIndicator"},Es={viewBox:"0 0 100 2"},zs=["width"],Ds=["x","width"],Ws=["x","width"],Gs=["id","min","max","step"],Us={class:"d-flex justify-content-between align-items-center"},js={class:"minlabel ps-4"},Fs={class:"valuelabel"},Ns={class:"maxlabel pe-4"},Hs=I({__name:"RangeInput",props:{id:{},min:{},max:{},step:{},unit:{},decimals:{},showSubrange:{type:Boolean},subrangeMin:{},subrangeMax:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,o=t.decimals??0,s=e,r=g({get(){return Math.round(t.modelValue*Math.pow(10,o))/Math.pow(10,o)},set(k){s("update:modelValue",k)}});function h(){r.value>t.min&&(r.value=Math.round((r.value-t.step)*Math.pow(10,o))/Math.pow(10,o))}function p(){r.valueRe().domain([t.min,t.max]).range([0,100])),d=g(()=>u.value(t.subrangeMin?t.subrangeMin:0)),c=g(()=>t.subrangeMin&&t.subrangeMax?u.value(t.subrangeMax)-u.value(t.subrangeMin):0);return(k,P)=>(l(),f("span",Ls,[n("span",Ts,[n("span",{type:"button",class:"minusButton",onClick:h},P[1]||(P[1]=[n("i",{class:"fa fa-xl fa-minus-square me-2"},null,-1)])),n("div",Os,[t.showSubrange?(l(),f("figure",As,[(l(),f("svg",Es,[n("g",null,[n("rect",{class:"below",x:0,y:"0",width:d.value,height:"2",rx:"1",ry:"1",fill:"var(--color-evu)"},null,8,zs),n("rect",{class:"bar",x:d.value,y:"0",width:c.value,height:"2",rx:"1",ry:"1",fill:"var(--color-charging)"},null,8,Ds),n("rect",{class:"above",x:d.value+c.value,y:"0",width:d.value,height:"2",rx:"1",ry:"1",fill:"var(--color-pv)"},null,8,Ws)])]))])):w("",!0),mt(n("input",{id:k.id,"onUpdate:modelValue":P[0]||(P[0]=A=>r.value=A),type:"range",class:"form-range flex-fill",min:k.min,max:k.max,step:k.step},null,8,Gs),[[Za,r.value,void 0,{number:!0}]])]),n("span",{type:"button",class:"plusButton",onClick:p},P[2]||(P[2]=[n("i",{class:"fa fa-xl fa-plus-square ms-2"},null,-1)]))]),n("span",Us,[n("span",js,x(k.min),1),n("span",Fs,x(r.value)+" "+x(k.unit),1),n("span",Ns,x(k.max),1)])]))}}),ye=F(Hs,[["__scopeId","data-v-af945965"]]),Rs=["id","value"],Js=I({__name:"RadioInput2",props:{options:{},modelValue:{},columns:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,o=e,s=g({get(){return t.modelValue},set(p){o("update:modelValue",p)}});function r(p){const u=t.options[p][2]||"var(--color-fg)",d="var(--color-bg)";return t.options[p][1]==s.value?{color:d,background:t.options[p][2]||"var(--color-menu)"}:{color:u,background:d}}function h(p){let u=p.target;for(;u&&!u.value&&u.parentElement;)u=u.parentElement;u.value&&(typeof t.options[0][1]=="number"?s.value=Number(u.value):s.value=u.value)}return(p,u)=>(l(),f("div",{class:"buttongrid",style:K({"grid-template-columns":"repeat("+(t.columns||3)+", 1fr)"})},[(l(!0),f(j,null,Z(t.options,(d,c)=>(l(),f("button",{id:"radio-"+d[1],key:c,class:R(["btn btn-outline-secondary radiobutton me-0 mb-0 px-2",d[1]==s.value?"active":""]),value:d[1],style:K(r(c)),onClick:h},[n("span",{style:K(r(c))},[d[3]?(l(),f("i",{key:0,class:R(["fa-solid",d[3]])},null,2)):w("",!0),J(" "+x(d[0]),1)],4)],14,Rs))),128))],4))}}),ke=F(Js,[["__scopeId","data-v-88c9ea7a"]]),qs={class:"mt-2"},Ys={key:0},Qs=I({__name:"ConfigInstant",props:{chargepoint:{}},setup(a){const t=Y(a.chargepoint),o=g({get(){return t.value.instantMaxEnergy/1e3},set(s){t.value.instantMaxEnergy=s*1e3}});return(s,r)=>(l(),f("div",qs,[r[5]||(r[5]=n("p",{class:"heading ms-1"},"Sofortladen:",-1)),v(U,{title:"Stromstärke",icon:"fa-bolt",fullwidth:!0},{default:_(()=>[v(ye,{id:"targetCurrent",modelValue:t.value.instantTargetCurrent,"onUpdate:modelValue":r[0]||(r[0]=h=>t.value.instantTargetCurrent=h),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1}),v(U,{title:"Anzahl Phasen",icon:"fa-plug",fullwidth:!0},{default:_(()=>[v(ke,{modelValue:t.value.instantTargetPhases,"onUpdate:modelValue":r[1]||(r[1]=h=>t.value.instantTargetPhases=h),options:[["1",1],["Maximum",3],["Auto",0]]},null,8,["modelValue"])]),_:1}),t.value.instantChargeLimitMode!="none"?(l(),f("hr",Ys)):w("",!0),v(U,{title:"Begrenzung",icon:"fa-hand",fullwidth:!0},{default:_(()=>[v(ke,{modelValue:t.value.instantChargeLimitMode,"onUpdate:modelValue":r[2]||(r[2]=h=>t.value.instantChargeLimitMode=h),options:i(qt).map(h=>[h.name,h.id])},null,8,["modelValue","options"])]),_:1}),t.value.instantChargeLimitMode=="soc"?(l(),$(U,{key:1,title:"Maximaler Ladestand",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(ye,{id:"maxSoc",modelValue:t.value.instantTargetSoc,"onUpdate:modelValue":r[3]||(r[3]=h=>t.value.instantTargetSoc=h),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),t.value.instantChargeLimitMode=="amount"?(l(),$(U,{key:2,title:"Zu ladende Energie",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(ye,{id:"maxEnergy",modelValue:o.value,"onUpdate:modelValue":r[4]||(r[4]=h=>o.value=h),min:0,max:100,step:1,unit:"kWh"},null,8,["modelValue"])]),_:1})):w("",!0)]))}}),Zs=F(Qs,[["__scopeId","data-v-de6b86dd"]]),Xs={class:"form-check form-switch"},ie=I({__name:"SwitchInput",props:{modelValue:{type:Boolean},onColor:{},offColor:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,o=e,s=g({get(){return t.modelValue},set(h){o("update:modelValue",h)}}),r=g(()=>s.value?{"background-color":"green"}:{"background-color":"white"});return(h,p)=>(l(),f("div",Xs,[mt(n("input",{"onUpdate:modelValue":p[0]||(p[0]=u=>s.value=u),class:"form-check-input",type:"checkbox",role:"switch",style:K(r.value)},null,4),[[Sa,s.value]])]))}}),Ks={class:"pt-2 d-flex flex-column"},ei={class:"subconfigstack grid-col-12"},ti={key:0,class:"subconfig subgrid"},ai={key:0,class:"subconfigstack"},ni={class:"subconfig subgrid"},ri={class:"subconfig subgrid"},oi={class:"subconfig subgrid"},si=I({__name:"ConfigPv",props:{chargepoint:{}},setup(a){const t=Y(a.chargepoint),o=g({get(){return t.value.pvMaxEnergy/1e3},set(h){t.value.pvMaxEnergy=h*1e3}}),s=g({get(){return t.value.pvMinCurrent>5},set(h){h?t.value.pvMinCurrent=6:t.value.pvMinCurrent=0}}),r=g({get(){return t.value.pvMinSoc>0},set(h){h?t.value.pvMinSoc=50:t.value.pvMinSoc=0}});return(h,p)=>(l(),f("div",Ks,[p[16]||(p[16]=n("div",{class:"heading ms-1"},"PV-Laden:",-1)),v(U,{title:"Minimaler Ladestrom",icon:"fa-bolt",infotext:i(Je).minpv,fullwidth:!0},{"inline-item":_(()=>[v(ie,{modelValue:s.value,"onUpdate:modelValue":p[0]||(p[0]=u=>s.value=u)},null,8,["modelValue"])]),default:_(()=>[n("div",ei,[s.value?(l(),f("div",ti,[p[11]||(p[11]=n("span",{class:"subconfigtitle grid-col-1"},"Stärke:",-1)),v(ye,{id:"minCurrent",modelValue:t.value.pvMinCurrent,"onUpdate:modelValue":p[1]||(p[1]=u=>t.value.pvMinCurrent=u),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])])):w("",!0)])]),_:1},8,["infotext"]),v(U,{title:"Anzahl Phasen",icon:"fa-plug",fullwidth:!0},{default:_(()=>[v(ke,{modelValue:t.value.pvTargetPhases,"onUpdate:modelValue":p[2]||(p[2]=u=>t.value.pvTargetPhases=u),options:[["1",1],["Maximum",3],["Auto",0]]},null,8,["modelValue"])]),_:1}),v(U,{title:"Mindest-Ladestand",icon:"fa-battery-half",infotext:i(Je).minsoc,fullwidth:!0},{"inline-item":_(()=>[v(ie,{modelValue:r.value,"onUpdate:modelValue":p[3]||(p[3]=u=>r.value=u),class:"grid-col-3"},null,8,["modelValue"])]),default:_(()=>[r.value?(l(),f("div",ai,[n("div",ni,[p[12]||(p[12]=n("span",{class:"subconfigtitle grid-col-1"},"SoC:",-1)),v(ye,{id:"minSoc",modelValue:t.value.pvMinSoc,"onUpdate:modelValue":p[4]||(p[4]=u=>t.value.pvMinSoc=u),class:"grid-col-2",min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),n("div",ri,[p[13]||(p[13]=n("span",{class:"subconfigtitle grid-col-1"},"Ladestrom:",-1)),v(ye,{id:"minSocCurrent",modelValue:t.value.pvMinSocCurrent,"onUpdate:modelValue":p[5]||(p[5]=u=>t.value.pvMinSocCurrent=u),class:"grid-col-2",min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),n("div",oi,[p[14]||(p[14]=n("span",{class:"subconfigtitle grid-col-1"},"Phasen:",-1)),v(ke,{modelValue:t.value.pvMinSocPhases,"onUpdate:modelValue":p[6]||(p[6]=u=>t.value.pvMinSocPhases=u),class:"grid-col-1",columns:2,options:[["1",1],["Maximum",3]]},null,8,["modelValue"])]),p[15]||(p[15]=n("hr",{class:"grid-col-3"},null,-1))])):w("",!0)]),_:1},8,["infotext"]),v(U,{title:"Begrenzung",icon:"fa-hand",fullwidth:!0},{default:_(()=>[v(ke,{modelValue:t.value.pvChargeLimitMode,"onUpdate:modelValue":p[7]||(p[7]=u=>t.value.pvChargeLimitMode=u),options:i(qt).map(u=>[u.name,u.id])},null,8,["modelValue","options"])]),_:1}),t.value.pvChargeLimitMode=="soc"?(l(),$(U,{key:0,title:"Maximaler Ladestand",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(ye,{id:"maxSoc",modelValue:t.value.pvTargetSoc,"onUpdate:modelValue":p[8]||(p[8]=u=>t.value.pvTargetSoc=u),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),t.value.pvChargeLimitMode=="amount"?(l(),$(U,{key:1,title:"Zu ladende Energie",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(ye,{id:"maxEnergy",modelValue:o.value,"onUpdate:modelValue":p[9]||(p[9]=u=>o.value=u),min:0,max:100,step:1,unit:"kWh"},null,8,["modelValue"])]),_:1})):w("",!0),v(U,{title:"Einspeisegrenze beachten",icon:"fa-hand",fullwidth:!0},{"inline-item":_(()=>[v(ie,{modelValue:t.value.pvFeedInLimit,"onUpdate:modelValue":p[10]||(p[10]=u=>t.value.pvFeedInLimit=u)},null,8,["modelValue"])]),_:1})]))}}),ii=F(si,[["__scopeId","data-v-d7ee4d2a"]]),li={class:"plandetails d-flex flex-cloumn"},ci={class:"heading"},ui={key:0},di=I({__name:"ScheduleDetails",props:{plan:{}},emits:["close"],setup(a){const e=a,t=g(()=>e.plan.limit.selected=="soc"?`Lade bis ${e.plan.time} auf ${e.plan.limit.soc_scheduled}% (maximal ${e.plan.limit.soc_limit}% mit PV)`:e.plan.limit.selected=="amount"?`Energiemenge: ${He(e.plan.limit.amount)}`:"Keine Begrenzung"),o=g(()=>{let r="Wiederholung ";switch(e.plan.frequency.selected){case"daily":r+="täglich";break;case"once":r+=`einmal (${e.plan.frequency.once})`;break;case"weekly":r+="wöchentlich "+s.value;break;default:r+="unbekannt"}return r}),s=g(()=>{const r=["Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag"];let h="(";return e.plan.frequency.weekly.forEach((p,u)=>{p&&(h+=`${r[u]} `)}),h=h.trim(),h+=")",h});return(r,h)=>(l(),f("div",li,[h[1]||(h[1]=n("hr",null,null,-1)),n("span",ci,"Details für "+x(e.plan.name)+":",1),n("ul",null,[n("li",null,x(t.value),1),n("li",null,x(o.value),1),e.plan.et_active?(l(),f("li",ui,"Preisbasiert laden")):w("",!0)]),n("button",{class:"btn btn-outline-secondary btn-sm",onClick:h[0]||(h[0]=p=>r.$emit("close"))}," Ok ")]))}}),hi=F(di,[["__scopeId","data-v-2f5cb5c1"]]),pi={key:0,class:"table table-borderless"},gi={class:"tablecell left"},mi=["onClick"],fi={class:"tablecell left"},vi={class:"tablecell"},bi={class:"tablecell"},yi={class:"tablecell"},_i={class:"tablecell right"},wi={key:1,class:"ms-1"},ki={key:2},xi=I({__name:"ConfigScheduled",props:{chargePoint:{}},setup(a){const e=Y(!1),t={daily:"Täglich",once:"Einmal",weekly:"Woche"},o=a,s=g(()=>{var u,d;return((d=(u=o.chargePoint)==null?void 0:u.chargeTemplate)==null?void 0:d.chargemode.scheduled_charging.plans)??[]});function r(u){return s.value[u].time}function h(u){return{color:s.value[u].active?"var(--color-switchGreen)":"var(--color-switchRed)"}}function p(u){o.chargePoint.chargeTemplate.chargemode.scheduled_charging.plans[u].active=!s.value[u].active,oe(o.chargePoint.id)}return(u,d)=>(l(),f(j,null,[d[3]||(d[3]=n("p",{class:"heading ms-1 pt-2"},"Pläne für Zielladen:",-1)),s.value.length>0?(l(),f("table",pi,[d[2]||(d[2]=n("thead",null,[n("tr",null,[n("th",{class:"tableheader left"}),n("th",{class:"tableheader left"},"Plan"),n("th",{class:"tableheader"},"Zeit"),n("th",{class:"tableheader"},"Ziel"),n("th",{class:"tableheader"},"Wiederh."),n("th",{class:"tableheader right"})])],-1)),n("tbody",null,[(l(!0),f(j,null,Z(s.value,(c,k)=>{var P;return l(),f("tr",{key:k,class:R(c.active?"text-bold":"text-normal")},[n("td",gi,[((P=o.chargePoint.chargeTemplate)==null?void 0:P.id)!=null?(l(),f("a",{key:0,onClick:A=>p(k)},[n("span",{class:R([c.active?"fa-toggle-on":"fa-toggle-off","fa"]),style:K(h(k)),type:"button"},null,6)],8,mi)):w("",!0)]),n("td",fi,x(c.name),1),n("td",vi,x(r(k)),1),n("td",bi,x(c.limit.selected=="soc"?c.limit.soc_scheduled+"%":i(He)(c.limit.amount,0)),1),n("td",yi,x(t[c.frequency.selected]),1),n("td",_i,[n("i",{class:"me-1 fa-solid fa-sm fa-circle-info",onClick:d[0]||(d[0]=A=>e.value=!e.value)})])],2)}),128))])])):(l(),f("p",wi," Pläne für das Zielladen können in den Einstellungen des Ladeprofils angelegt werden . ")),e.value?(l(),f("div",ki,[(l(!0),f(j,null,Z(s.value,c=>(l(),$(hi,{key:c.id,plan:c,onClose:d[1]||(d[1]=k=>e.value=!1)},null,8,["plan"]))),128))])):w("",!0)],64))}}),Si=F(xi,[["__scopeId","data-v-08df44d8"]]),$i={class:"plandetails d-flex flex-cloumn"},Mi={class:"heading"},Pi=I({__name:"TimePlanDetails",props:{plan:{}},emits:["close"],setup(a){const e=a,t=g(()=>`Lade von ${e.plan.time[0]} bis ${e.plan.time[1]} mit ${e.plan.current}A`),o=g(()=>e.plan.limit.selected=="soc"?`Lade bis maximal ${e.plan.limit.soc}%`:e.plan.limit.selected=="amount"?`Lade maximal ${He(e.plan.limit.amount)}`:"Keine Begrenzung"),s=g(()=>{let h="Wiederholung ";switch(e.plan.frequency.selected){case"daily":h+="täglich";break;case"once":h+=`einmal (${e.plan.frequency.once})`;break;case"weekly":h+="wöchentlich "+r.value;break;default:h+="unbekannt"}return h}),r=g(()=>{const h=["Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag"];let p="(";return e.plan.frequency.weekly.forEach((u,d)=>{u&&(p+=`${h[d]} `)}),p=p.trim(),p+=")",p});return(h,p)=>(l(),f("div",$i,[p[1]||(p[1]=n("hr",null,null,-1)),n("span",Mi,"Details für "+x(e.plan.name)+":",1),n("ul",null,[n("li",null,x(t.value),1),n("li",null,x(o.value),1),n("li",null,x(s.value),1)]),n("button",{class:"btn btn-outline-secondary btn-sm",onClick:p[0]||(p[0]=u=>h.$emit("close"))}," Ok ")]))}}),Ci=F(Pi,[["__scopeId","data-v-eaa44cb2"]]),Ii={class:"table table-borderless"},Bi={class:"tablecell left"},Vi=["onClick"],Li={class:"tablecell"},Ti={class:"tablecell"},Oi={class:"tablecell"},Ai={class:"tablecell"},Ei={class:"tablecell right"},zi={key:0},Di=I({__name:"ConfigTimed",props:{chargePoint:{}},setup(a){const e=a,t=Y(!1),o=e.chargePoint,s={daily:"Täglich",once:"Einmal",weekly:"Woche"},r=g(()=>{var u,d;return((d=(u=e.chargePoint)==null?void 0:u.chargeTemplate)==null?void 0:d.time_charging.plans)??[]});function h(u){return{color:r.value[u].active?"var(--color-switchGreen)":"var(--color-switchRed)"}}function p(u){e.chargePoint.chargeTemplate.time_charging.plans[u].active=!r.value[u].active,oe(e.chargePoint.id)}return(u,d)=>(l(),f(j,null,[v(U,{title:"Zeitplan aktiv",icon:"fa-clock",fullwidth:!0},{"inline-item":_(()=>[v(ie,{modelValue:i(o).timedCharging,"onUpdate:modelValue":d[0]||(d[0]=c=>i(o).timedCharging=c)},null,8,["modelValue"])]),_:1}),d[4]||(d[4]=n("p",{class:"heading ms-1 pt-2"},"Zeitpläne:",-1)),n("table",Ii,[d[3]||(d[3]=n("thead",null,[n("tr",null,[n("th",{class:"tableheader left"}),n("th",{class:"tableheader"},"Von"),n("th",{class:"tableheader"},"Bis"),n("th",{class:"tableheader"},"Strom"),n("th",{class:"tableheader"},"Wiederh."),n("th",{class:"tableheader right"})])],-1)),n("tbody",null,[(l(!0),f(j,null,Z(r.value,(c,k)=>{var P;return l(),f("tr",{key:k,class:R(c.active?"text-bold":"text-normal")},[n("td",Bi,[((P=e.chargePoint.chargeTemplate)==null?void 0:P.id)!=null?(l(),f("span",{key:0,onClick:A=>p(k)},[n("span",{class:R([c.active?"fa-toggle-on":"fa-toggle-off","fa"]),style:K(h(k)),type:"button"},null,6)],8,Vi)):w("",!0)]),n("td",Li,x(c.time[0]),1),n("td",Ti,x(c.time[1]),1),n("td",Oi,x(c.current)+" A",1),n("td",Ai,x(s[c.frequency.selected]),1),n("td",Ei,[n("i",{class:"me-1 fa-solid fa-sm fa-circle-info",onClick:d[1]||(d[1]=A=>t.value=!t.value)})])],2)}),128))])]),t.value?(l(),f("div",zi,[(l(!0),f(j,null,Z(r.value,c=>(l(),$(Ci,{key:c.id,plan:c,onClose:d[2]||(d[2]=k=>t.value=!1)},null,8,["plan"]))),128))])):w("",!0)],64))}}),Wi=F(Di,[["__scopeId","data-v-543e8ca2"]]),Gi={class:"providername ms-1"},Ui={class:"container"},ji={id:"pricechart",class:"p-0 m-0"},Fi={viewBox:"0 0 400 300"},Ni=["id","origin","transform"],Hi={key:0,class:"p-3"},Ri={key:1,class:"d-flex justify-content-end"},Ji=["disabled"],nt=400,va=250,ba=12,qi=I({__name:"PriceChart",props:{chargepoint:{},globalview:{type:Boolean}},setup(a){const e=a;let t=e.chargepoint?Y(e.chargepoint.etMaxPrice):Y(0);const o=Y(!1),s=Y(e.chargepoint),r=g({get(){return t.value},set(W){t.value=W,o.value=!0}});function h(){s.value&&(O[s.value.id].etMaxPrice=r.value),o.value=!1}const p=Y(!1),u={top:0,bottom:15,left:20,right:5},d=g(()=>{let W=[];return re.etPriceList.size>0&&re.etPriceList.forEach((X,Oe)=>{W.push([Oe,X])}),W}),c=g(()=>d.value.length>1?(nt-u.left-u.right)/d.value.length-1:0),k=g(()=>o.value?{background:"var(--color-charging)"}:{background:"var(--color-menu)"}),P=g(()=>{let W=Le(d.value,X=>X[0]);return W[1]&&(W[1]=new Date(W[1]),W[1].setTime(W[1].getTime()+36e5)),tt().range([u.left,nt-u.right]).domain(W)}),A=g(()=>{let W=[0,0];return d.value.length>0?(W=Le(d.value,X=>X[1]),W[0]=Math.floor(W[0]-1),W[1]=Math.floor(W[1]+1)):W=[0,0],W}),G=g(()=>Re().range([va-u.bottom,0]).domain(A.value)),E=g(()=>{const W=Ne(),X=[[u.left,G.value(r.value)],[nt-u.right,G.value(r.value)]];return W(X)}),T=g(()=>{const W=Ne(),X=[[u.left,G.value(m.lowerPriceBound)],[nt-u.right,G.value(m.lowerPriceBound)]];return W(X)}),M=g(()=>{const W=Ne(),X=[[u.left,G.value(m.upperPriceBound)],[nt-u.right,G.value(m.upperPriceBound)]];return W(X)}),V=g(()=>{const W=Ne(),X=[[u.left,G.value(0)],[nt-u.right,G.value(0)]];return W(X)}),S=g(()=>ht(P.value).ticks(6).tickSize(5).tickFormat(it("%H:%M"))),C=g(()=>gt(G.value).ticks(A.value[1]-A.value[0]).tickSizeInner(-375).tickFormat(W=>W%5!=0?"":W.toString())),D=g(()=>{p.value==!0;const W=le("g#"+z.value);W.selectAll("*").remove(),W.selectAll("bar").data(d.value).enter().append("g").append("rect").attr("class","bar").attr("x",Ue=>P.value(Ue[0])).attr("y",Ue=>G.value(Ue[1])).attr("width",c.value).attr("height",Ue=>G.value(A.value[0])-G.value(Ue[1])).attr("fill",Ue=>Ue[1]<=r.value?"var(--color-charging)":"var(--color-axis)");const Oe=W.append("g").attr("class","axis").call(S.value);Oe.attr("transform","translate(0,"+(va-u.bottom)+")"),Oe.selectAll(".tick").attr("font-size",ba).attr("color","var(--color-bg)"),Oe.selectAll(".tick line").attr("stroke","var(--color-fg)").attr("stroke-width","0.5"),Oe.select(".domain").attr("stroke","var(--color-bg");const yt=W.append("g").attr("class","axis").call(C.value);return yt.attr("transform","translate("+u.left+",0)"),yt.selectAll(".tick").attr("font-size",ba).attr("color","var(--color-bg)"),yt.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",Ue=>Ue%5==0?"2":"0.5"),yt.select(".domain").attr("stroke","var(--color-bg)"),A.value[0]<0&&W.append("path").attr("d",V.value).attr("stroke","var(--color-fg)"),W.append("path").attr("d",T.value).attr("stroke","green"),W.append("path").attr("d",M.value).attr("stroke","red"),W.append("path").attr("d",E.value).attr("stroke","yellow"),"PriceChart.vue"}),z=g(()=>e.chargepoint?"priceChartCanvas"+e.chargepoint.id:"priceChartCanvasGlobal"),B=g(()=>{let W=[];return re.etPriceList.forEach(X=>{W.push(X)}),W.sort((X,Oe)=>X-Oe)});function ne(){let W=B.value[0];for(let X of B.value){if(X>=r.value)break;W=X}r.value=W}function Se(){let W=B.value[0];for(let X of B.value)if(X>r.value){W=X;break}else W=X;r.value=W}return Te(()=>{p.value=!p.value}),(W,X)=>(l(),f(j,null,[n("p",Gi,"Anbieter: "+x(i(re).etProvider),1),X[3]||(X[3]=n("hr",null,null,-1)),n("div",Ui,[n("figure",ji,[(l(),f("svg",Fi,[n("g",{id:z.value,origin:D.value,transform:"translate("+u.top+","+u.right+")"},null,8,Ni)]))])]),W.chargepoint!=null?(l(),f("div",Hi,[v(ye,{id:"pricechart_local",modelValue:r.value,"onUpdate:modelValue":X[0]||(X[0]=Oe=>r.value=Oe),min:Math.floor(B.value[0]-1),max:Math.ceil(B.value[B.value.length-1]+1),step:.1,decimals:2,"show-subrange":!0,"subrange-min":B.value[0],"subrange-max":B.value[B.value.length-1],unit:"ct"},null,8,["modelValue","min","max","subrange-min","subrange-max"])])):w("",!0),n("div",{class:"d-flex justify-content-between px-3 pb-2 pt-0 mt-0"},[n("button",{type:"button",class:"btn btn-sm jumpbutton",onClick:ne},X[1]||(X[1]=[n("i",{class:"fa fa-sm fa-arrow-left"},null,-1)])),n("button",{type:"button",class:"btn btn-sm jumpbutton",onClick:Se},X[2]||(X[2]=[n("i",{class:"fa fa-sm fa-arrow-right"},null,-1)]))]),W.chargepoint!=null?(l(),f("div",Ri,[n("span",{class:"me-3 pt-0",onClick:h},[n("button",{type:"button",class:"btn btn-secondary confirmButton",style:K(k.value),disabled:!o.value}," Bestätigen ",12,Ji)])])):w("",!0)],64))}}),Aa=F(qi,[["__scopeId","data-v-28b81885"]]),Yi={class:"pt-2 d-flex flex-column"},Qi={class:"subconfigstack grid-col-12"},Zi={class:"subconfig subgrid"},Xi=I({__name:"ConfigEco",props:{chargepoint:{}},setup(a){const t=Y(a.chargepoint),o=g({get(){return t.value.ecoMaxEnergy/1e3},set(s){t.value.ecoMaxEnergy=s*1e3}});return(s,r)=>(l(),f("div",Yi,[r[6]||(r[6]=n("div",{class:"heading ms-1"},"Eco-Laden:",-1)),i(re).active?(l(),$(Aa,{key:0,chargepoint:t.value},null,8,["chargepoint"])):w("",!0),i(re).active?(l(),$(U,{key:1,title:"Minimaler Ladestrom unter der Preisgrenze:",icon:"fa-bolt",fullwidth:!0},{default:_(()=>[n("div",Qi,[n("div",Zi,[r[5]||(r[5]=n("span",{class:"subconfigtitle grid-col-1"},"Stärke:",-1)),v(ye,{id:"minCurrent",modelValue:t.value.ecoMinCurrent,"onUpdate:modelValue":r[0]||(r[0]=h=>t.value.ecoMinCurrent=h),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])])])]),_:1})):w("",!0),v(U,{title:"Anzahl Phasen",icon:"fa-plug",fullwidth:!0},{default:_(()=>[v(ke,{modelValue:t.value.ecoTargetPhases,"onUpdate:modelValue":r[1]||(r[1]=h=>t.value.ecoTargetPhases=h),options:[["1",1],["Maximum",3],["Auto",0]]},null,8,["modelValue"])]),_:1}),v(U,{title:"Begrenzung",icon:"fa-hand",fullwidth:!0},{default:_(()=>[v(ke,{modelValue:t.value.ecoChargeLimitMode,"onUpdate:modelValue":r[2]||(r[2]=h=>t.value.ecoChargeLimitMode=h),options:i(qt).map(h=>[h.name,h.id])},null,8,["modelValue","options"])]),_:1}),t.value.ecoChargeLimitMode=="soc"?(l(),$(U,{key:2,title:"Maximaler Ladestand",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(ye,{id:"maxSoc",modelValue:t.value.ecoTargetSoc,"onUpdate:modelValue":r[3]||(r[3]=h=>t.value.ecoTargetSoc=h),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),t.value.ecoChargeLimitMode=="amount"?(l(),$(U,{key:3,title:"Zu ladende Energie",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(ye,{id:"maxEnergy",modelValue:o.value,"onUpdate:modelValue":r[4]||(r[4]=h=>o.value=h),min:0,max:100,step:1,unit:"kWh"},null,8,["modelValue"])]),_:1})):w("",!0)]))}}),Ki=F(Xi,[["__scopeId","data-v-106a9fca"]]),el={class:"settingsheader mt-2 ms-1"},tl=I({__name:"ConfigGeneral",props:{chargepoint:{}},emits:["closeConfig"],setup(a){const t=a.chargepoint;return(o,s)=>(l(),f(j,null,[n("p",el," Ladeeinstellungen für "+x(i(t).vehicleName)+": ",1),v(U,{title:"Lademodus",icon:"fa-charging-station",infotext:i(Je).chargemode,fullwidth:!0},{default:_(()=>[v(ke,{modelValue:i(t).chargeMode,"onUpdate:modelValue":s[0]||(s[0]=r=>i(t).chargeMode=r),columns:3,options:Object.keys(i(ve)).map(r=>[i(ve)[r].name,r,i(ve)[r].color,i(ve)[r].icon])},null,8,["modelValue","options"])]),_:1},8,["infotext"]),Object.values(i(Q)).filter(r=>r.visible).length>1?(l(),$(U,{key:0,title:"Fahrzeug wechseln",icon:"fa-car",infotext:i(Je).vehicle,fullwidth:!0},{default:_(()=>[v(ke,{modelValue:i(t).connectedVehicle,"onUpdate:modelValue":s[1]||(s[1]=r=>i(t).connectedVehicle=r),modelModifiers:{number:!0},options:Object.values(i(Q)).filter(r=>r.visible).map(r=>[r.name,r.id])},null,8,["modelValue","options"])]),_:1},8,["infotext"])):w("",!0),v(U,{title:"Sperren",icon:"fa-lock",infotext:i(Je).locked,fullwidth:!0},{"inline-item":_(()=>[v(ie,{modelValue:i(t).isLocked,"onUpdate:modelValue":s[2]||(s[2]=r=>i(t).isLocked=r)},null,8,["modelValue"])]),_:1},8,["infotext"]),v(U,{title:"Priorität",icon:"fa-star",infotext:i(Je).priority,fullwidth:!0},{"inline-item":_(()=>[v(ie,{modelValue:i(t).hasPriority,"onUpdate:modelValue":s[3]||(s[3]=r=>i(t).hasPriority=r)},null,8,["modelValue"])]),_:1},8,["infotext"]),v(U,{title:"Zeitplan",icon:"fa-clock",infotext:i(Je).timeplan,fullwidth:!0},{"inline-item":_(()=>[v(ie,{modelValue:i(t).timedCharging,"onUpdate:modelValue":s[4]||(s[4]=r=>i(t).timedCharging=r)},null,8,["modelValue"])]),_:1},8,["infotext"]),i(de).isBatteryConfigured?(l(),$(U,{key:1,title:"PV-Priorität",icon:"fa-car-battery",infotext:i(Je).pvpriority,fullwidth:!0},{default:_(()=>[v(ke,{modelValue:i(de).pvBatteryPriority,"onUpdate:modelValue":s[5]||(s[5]=r=>i(de).pvBatteryPriority=r),options:i(cn)},null,8,["modelValue","options"])]),_:1},8,["infotext"])):w("",!0)],64))}}),al=F(tl,[["__scopeId","data-v-e6ae9e07"]]),nl={class:"status-string"},rl={style:{color:"red"}},ol={class:"m-0 mt-4 p-0 grid-col-12 tabarea"},sl={class:"nav nav-tabs nav-justified mx-1 mt-1",role:"tablist"},il=["data-bs-target"],ll=["data-bs-target"],cl=["data-bs-target"],ul=["data-bs-target"],dl=["data-bs-target"],hl=["data-bs-target"],pl={id:"settingsPanes",class:"tab-content mx-1 p-1 pb-3"},gl=["id"],ml=["id"],fl=["id"],vl=["id"],bl=["id"],yl=["id"],_l=I({__name:"ChargeConfigPanel",props:{chargepoint:{}},emits:["closeConfig"],setup(a){const t=a.chargepoint,o=g(()=>{var r;return((r=t.chargeTemplate)==null?void 0:r.id)??0}),s=g(()=>t.id);return Te(()=>{}),(r,h)=>(l(),f(j,null,[v(U,{title:"Status",icon:"fa-info-circle",fullwidth:!0,class:"item"},{default:_(()=>[n("span",nl,x(i(t).stateStr),1)]),_:1}),i(t).faultState!=0?(l(),$(U,{key:0,title:"Fehler",class:"grid-col-12",icon:"fa-triangle-exclamation"},{default:_(()=>[n("span",rl,x(i(t).faultStr),1)]),_:1})):w("",!0),n("div",ol,[n("nav",sl,[n("a",{class:"nav-link active","data-bs-toggle":"tab","data-bs-target":"#chargeSettings"+s.value},h[0]||(h[0]=[n("i",{class:"fa-solid fa-charging-station"},null,-1)]),8,il),n("a",{class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#instantSettings"+s.value},h[1]||(h[1]=[n("i",{class:"fa-solid fa-lg fa-bolt"},null,-1)]),8,ll),n("a",{class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#pvSettings"+s.value},h[2]||(h[2]=[n("i",{class:"fa-solid fa-solar-panel me-1"},null,-1)]),8,cl),n("a",{class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#scheduledSettings"+s.value},h[3]||(h[3]=[n("i",{class:"fa-solid fa-bullseye me-1"},null,-1)]),8,ul),n("a",{class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#ecoSettings"+s.value},h[4]||(h[4]=[n("i",{class:"fa-solid fa-coins"},null,-1)]),8,dl),n("a",{class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#timedSettings"+s.value},h[5]||(h[5]=[n("i",{class:"fa-solid fa-clock"},null,-1)]),8,hl)]),n("div",pl,[n("div",{id:"chargeSettings"+s.value,class:"tab-pane active",role:"tabpanel","aria-labelledby":"instant-tab"},[v(al,{chargepoint:r.chargepoint},null,8,["chargepoint"])],8,gl),n("div",{id:"instantSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"instant-tab"},[v(Zs,{chargepoint:i(t),vehicles:i(Q),"charge-templates":i(Ft)},null,8,["chargepoint","vehicles","charge-templates"])],8,ml),n("div",{id:"pvSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"pv-tab"},[v(ii,{chargepoint:i(t),vehicles:i(Q),"charge-templates":i(Ft)},null,8,["chargepoint","vehicles","charge-templates"])],8,fl),n("div",{id:"scheduledSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"scheduled-tab"},[o.value!=null?(l(),$(Si,{key:0,"charge-point":i(t)},null,8,["charge-point"])):w("",!0)],8,vl),n("div",{id:"ecoSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"eco-tab"},[o.value!=null?(l(),$(Ki,{key:0,chargepoint:i(t)},null,8,["chargepoint"])):w("",!0)],8,bl),n("div",{id:"timedSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"scheduled-tab"},[o.value!=null?(l(),$(Wi,{key:0,"charge-point":i(t)},null,8,["charge-point"])):w("",!0)],8,yl)])])],64))}}),Ht=F(_l,[["__scopeId","data-v-cd92fe69"]]),We=I({__name:"FormatWattH",props:{wattH:{}},setup(a){const e=a,t=g(()=>He(e.wattH,m.decimalPlaces));return(o,s)=>(l(),f("span",null,x(t.value),1))}}),wl={class:"wb-widget p-0 m-0 shadow widgetWidth"},kl={class:"py-4 px-3 d-flex justify-content-between align-items-center titlerow"},xl={class:"d-flex align-items-center widgetname p-0 m-0"},Sl={class:"buttonrea d-flex float-right justify-content-end align-items-center"},$l={class:"grid12 pb-3 px-3"},Ml=I({__name:"WbWidgetFlex",props:{variableWidth:{type:Boolean},fullWidth:{type:Boolean}},setup(a){const e=a,t=g(()=>e.fullWidth?"col-12":e.variableWidth&&m.preferWideBoxes?"col-lg-6":"col-lg-4");return(o,s)=>(l(),f("div",{class:R(["p-2 m-0",t.value])},[n("div",wl,[n("div",kl,[n("div",xl,[ue(o.$slots,"title",{},()=>[s[0]||(s[0]=n("div",{class:"p-0"},"(title goes here)",-1))],!0),ue(o.$slots,"subtitle",{},void 0,!0)]),n("div",Sl,[ue(o.$slots,"buttons",{},void 0,!0)])]),n("div",$l,[ue(o.$slots,"default",{},void 0,!0)])])],2))}}),Ge=F(Ml,[["__scopeId","data-v-fb6ac7a4"]]),Pl={class:"d-flex justify-content-center align-items-center"},Cl=I({__name:"BatterySymbol",props:{soc:{},color:{}},setup(a){const e=a,t=g(()=>e.soc<=12?"fa-battery-empty":e.soc<38?"fa-battery-quarter":e.soc<62?"fa-battery-half":e.soc<87?"fa-battery-three-quarters":"fa-battery-full"),o=g(()=>({color:e.color??"var(--color-menu)"}));return(s,r)=>(l(),f("span",Pl,[n("i",{class:R(["fa me-1",t.value]),style:K(o.value)},null,6),J(" "+x(Math.round(s.soc)+"%"),1)]))}}),Ct=F(Cl,[["__scopeId","data-v-a68c844a"]]),Il=I({__name:"WbBadge",props:{color:{},bgcolor:{}},setup(a){const e=a,t=g(()=>({color:e.color??"var(--color-bg)","background-color":e.bgcolor??"var(--color-menu)"}));return(o,s)=>(l(),f("span",{class:"pillWbBadge rounded-pill ms-2 px-2",style:K(t.value)},[ue(o.$slots,"default",{},void 0,!0)],4))}}),Ce=F(Il,[["__scopeId","data-v-36112fa3"]]),Bl={style:{color:"var(--color-charging)"}},Vl={style:{color:"var(--color-charging)"}},Ll={style:{color:"var(--color-charging)"}},Tl={class:"targetCurrent"},Ol=I({__name:"ChargingState",props:{chargepoint:{},fullWidth:{type:Boolean}},setup(a){const e=a,t=g(()=>(Math.round(e.chargepoint.current*10)/10).toLocaleString(void 0)+" A"),o=g(()=>(Math.round(e.chargepoint.realCurrent*10)/10).toLocaleString(void 0)+" A");return(s,r)=>(l(),f(j,null,[e.chargepoint.power>0?(l(),$(ee,{key:0,heading:"Leistung:",class:"grid-col-3 grid-left mb-3"},{default:_(()=>[n("span",Bl,[v(vt,{watt:e.chargepoint.power},null,8,["watt"])])]),_:1})):w("",!0),e.chargepoint.power>0?(l(),$(ee,{key:1,heading:"Strom:",class:"grid-col-3"},{default:_(()=>[n("span",Vl,x(o.value),1)]),_:1})):w("",!0),e.chargepoint.power>0?(l(),$(ee,{key:2,heading:"Phasen:",class:"grid-col-3"},{default:_(()=>[n("span",Ll,x(e.chargepoint.phasesInUse),1)]),_:1})):w("",!0),e.chargepoint.power>0?(l(),$(ee,{key:3,heading:"Sollstrom:",class:"grid-col-3 grid-right"},{default:_(()=>[n("span",Tl,x(t.value),1)]),_:1})):w("",!0)],64))}}),Al=F(Ol,[["__scopeId","data-v-2cc82367"]]),El={class:"carTitleLine d-flex justify-content-between align-items-center"},zl={key:1,class:"me-1 fa-solid fa-xs fa-star ps-1"},Dl={key:2,class:"me-0 fa-solid fa-xs fa-clock ps-1"},Wl={key:0,class:"carSelector p-4 m-2"},Gl={class:"grid12"},Ul={key:2,class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12 grid-left"},jl={class:"d-flex justify-content-stretch align-items-center"},Fl={key:0,class:"fa-solid fa-sm fas fa-edit ms-2"},Nl=["id"],Hl=I({__name:"VehicleData",props:{chargepoint:{},fullWidth:{type:Boolean}},setup(a){const e=a,t=e.chargepoint,o=Y(!1),s=Y(!1),r=Y(!1),h=g({get(){return t.chargeMode},set(M){t.chargeMode=M}}),p=g(()=>{const M=e.chargepoint.rangeCharged,V=e.chargepoint.chargedSincePlugged,S=e.chargepoint.dailyYield;return V>0?Math.round(M/V*S).toString()+" "+e.chargepoint.rangeUnit:"0 km"}),u=g(()=>e.chargepoint.soc),d=g({get(){return e.chargepoint.soc},set(M){O[e.chargepoint.id].soc=M}}),c=g(()=>{const[M]=re.etPriceList.values();return(Math.round(M*10)/10).toFixed(1)}),k=g(()=>e.chargepoint.etMaxPrice>=+c.value?{color:"var(--color-charging)"}:{color:"var(--color-menu)"}),P=g(()=>Object.values(Q).filter(M=>M.visible)),A=g(()=>e.chargepoint.soc<20?"var(--color-evu)":e.chargepoint.soc>=80?"var(--color-pv)":"var(--color-battery)"),G=g(()=>{switch(e.chargepoint.chargeMode){case"stop":return{color:"var(--fg)"};default:return{color:ve[e.chargepoint.chargeMode].color}}});function E(){be("socUpdate",1,e.chargepoint.connectedVehicle),O[e.chargepoint.id].waitingForSoc=!0}function T(){be("setSoc",d.value,e.chargepoint.connectedVehicle),o.value=!1}return(M,V)=>(l(),f(j,null,[n("div",El,[n("h3",{onClick:V[0]||(V[0]=S=>r.value=!r.value)},[V[8]||(V[8]=n("i",{class:"fa-solid fa-sm fa-car me-2"},null,-1)),J(" "+x(M.chargepoint.vehicleName)+" ",1),P.value.length>1?(l(),f("span",{key:0,class:R(["fa-solid fa-xs me-2",r.value?"fa-caret-up":"fa-caret-down"])},null,2)):w("",!0),M.chargepoint.hasPriority?(l(),f("span",zl)):w("",!0),M.chargepoint.timedCharging?(l(),f("span",Dl)):w("",!0)]),M.chargepoint.isSocConfigured?(l(),$(Ce,{key:0,bgcolor:A.value},{default:_(()=>[v(Ct,{soc:u.value??0,color:"var(--color-bg)",class:"me-2"},null,8,["soc"]),M.chargepoint.isSocManual?(l(),f("i",{key:0,class:"fa-solid fa-sm fas fa-edit",style:{color:"var(--color-bg)"},onClick:V[1]||(V[1]=S=>o.value=!o.value)})):w("",!0),M.chargepoint.isSocManual?w("",!0):(l(),f("i",{key:1,type:"button",class:R(["fa-solid fa-sm",M.chargepoint.waitingForSoc?"fa-spinner fa-spin":"fa-sync"]),onClick:E},null,2))]),_:1},8,["bgcolor"])):w("",!0)]),r.value?(l(),f("div",Wl,[V[9]||(V[9]=n("span",{class:"changeCarTitle mb-2"},"Fahrzeug wechseln:",-1)),v(ke,{modelValue:i(t).connectedVehicle,"onUpdate:modelValue":[V[2]||(V[2]=S=>i(t).connectedVehicle=S),V[3]||(V[3]=S=>r.value=!1)],modelModifiers:{number:!0},options:P.value.map(S=>[S.name,S.id])},null,8,["modelValue","options"])])):w("",!0),n("div",Gl,[v(Ta,{id:"chargemode-"+M.chargepoint.name,modelValue:h.value,"onUpdate:modelValue":V[4]||(V[4]=S=>h.value=S),class:"chargemodes mt-3 mb-3",options:Object.keys(i(ve)).map(S=>({text:i(ve)[S].name,value:S,color:i(ve)[S].color,icon:i(ve)[S].icon,active:i(ve)[S].mode==M.chargepoint.chargeMode}))},null,8,["id","modelValue","options"]),M.chargepoint.power>0?(l(),$(Al,{key:0,chargepoint:M.chargepoint,"full-width":e.fullWidth},null,8,["chargepoint","full-width"])):w("",!0),v(ee,{heading:"letzte Ladung:",class:"grid-col-4 grid-left"},{default:_(()=>[v(We,{"watt-h":Math.max(M.chargepoint.chargedSincePlugged,0)},null,8,["watt-h"])]),_:1}),v(ee,{heading:"gel. Reichw.:",class:"grid-col-4"},{default:_(()=>[J(x(p.value),1)]),_:1}),M.chargepoint.isSocConfigured?(l(),$(ee,{key:1,heading:"Reichweite:",class:"grid-col-4 grid-right"},{default:_(()=>[J(x(i(Q)[e.chargepoint.connectedVehicle]?Math.round(i(Q)[e.chargepoint.connectedVehicle].range):0)+" km ",1)]),_:1})):w("",!0),o.value?(l(),f("div",Ul,[V[10]||(V[10]=n("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),n("span",jl,[n("span",null,[v(ye,{id:"manualSoc",modelValue:d.value,"onUpdate:modelValue":V[5]||(V[5]=S=>d.value=S),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),n("span",{type:"button",class:"fa-solid d-flex fa-lg me-2 mb-3 align-self-end fa-circle-check",onClick:T})])):w("",!0),V[12]||(V[12]=n("hr",{class:"divider grid-col-12"},null,-1)),i(re).active?(l(),$(ee,{key:3,heading:"Strompreis:",class:"grid-col-4 grid-left"},{default:_(()=>[n("span",{style:K(k.value)},x(c.value)+" ct ",5)]),_:1})):w("",!0),i(t).etActive?(l(),$(ee,{key:4,heading:"max. Preis:",class:"grid-col-4"},{default:_(()=>[n("span",{type:"button",onClick:V[6]||(V[6]=S=>s.value=!s.value)},[J(x(e.chargepoint.etActive?(Math.round(e.chargepoint.etMaxPrice*10)/10).toFixed(1)+" ct":"-")+" ",1),e.chargepoint.etActive?(l(),f("i",Fl)):w("",!0)])]),_:1})):w("",!0),s.value?(l(),f("div",{key:5,id:"priceChartInline"+e.chargepoint.id,class:"d-flex flex-column rounded priceEditor grid-col-12"},[i(Q)[e.chargepoint.connectedVehicle]!=null?(l(),$(Aa,{key:0,chargepoint:e.chargepoint},null,8,["chargepoint"])):w("",!0),n("span",{class:"d-flex ms-2 my-4 pe-3 pt-1 d-flex align-self-end",style:K(G.value),onClick:V[7]||(V[7]=S=>s.value=!1)},V[11]||(V[11]=[n("span",{type:"button",class:"d-flex fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]),4)],8,Nl)):w("",!0)])],64))}}),Rl=F(Hl,[["__scopeId","data-v-e3fcbd86"]]),Jl={class:"d-flex justify-content-center align-items-center"},ql={key:0,class:"WbBadge rounded-pill errorWbBadge ms-3"},Yl={key:0},Ql={key:1,class:"row m-0 mt-0 p-0"},Zl={class:"col m-0 p-0"},Xl=I({__name:"CPChargePoint",props:{chargepoint:{},fullWidth:{type:Boolean}},setup(a){const e=a,t=Y(e.chargepoint),o=Y(!1),s=g(()=>e.chargepoint.isLocked?"Gesperrt":e.chargepoint.isCharging?"Lädt":e.chargepoint.isPluggedIn?"Bereit":"Frei"),r=g(()=>e.chargepoint.isLocked?"var(--color-evu)":e.chargepoint.isCharging?"var(--color-charging)":e.chargepoint.isPluggedIn?"var(--color-battery)":"var(--color-axis)"),h=g(()=>{let d="";return e.chargepoint.isLocked?d="fa-lock":e.chargepoint.isCharging?d=" fa-bolt":e.chargepoint.isPluggedIn&&(d="fa-plug"),"fa "+d}),p=g(()=>{switch(e.chargepoint.chargeMode){case"stop":return{color:"var(--fg)"};default:return{color:ve[e.chargepoint.chargeMode].color}}}),u=g(()=>({color:e.chargepoint.color}));return(d,c)=>o.value?(l(),$(Ge,{key:1,"full-width":e.fullWidth},{title:_(()=>[n("span",{style:K(u.value),onClick:c[3]||(c[3]=k=>o.value=!o.value)},[c[8]||(c[8]=n("span",{class:"fas fa-gear"}," ",-1)),J(" Einstellungen "+x(e.chargepoint.name),1)],4)]),buttons:_(()=>[n("span",{class:"ms-2 pt-1",style:K(p.value),onClick:c[4]||(c[4]=k=>o.value=!o.value)},c[9]||(c[9]=[n("span",{class:"fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]),4)]),default:_(()=>[d.chargepoint!=null?(l(),$(Ht,{key:0,chargepoint:d.chargepoint},null,8,["chargepoint"])):w("",!0),n("button",{type:"button",class:"close-config-button btn ms-2 pt-1",onClick:c[5]||(c[5]=k=>o.value=!o.value)}," OK ")]),_:1},8,["full-width"])):(l(),$(bt,{key:0,"variable-width":!0,"full-width":e.fullWidth},{title:_(()=>[n("span",Jl,[n("span",{style:K(u.value),onClick:c[0]||(c[0]=k=>o.value=!o.value)},[c[6]||(c[6]=n("span",{class:"fa-solid fa-charging-station"}," ",-1)),J(" "+x(e.chargepoint.name),1)],4),t.value.faultState==2?(l(),f("span",ql,"Fehler")):w("",!0)])]),buttons:_(()=>[n("span",{type:"button",class:"ms-2 ps-1 pt-1",style:K(p.value),onClick:c[1]||(c[1]=k=>o.value=!o.value)},c[7]||(c[7]=[n("span",{class:"fa-solid fa-lg ps-1 fa-ellipsis-vertical"},null,-1)]),4)]),footer:_(()=>[o.value?w("",!0):(l(),$(Rl,{key:0,chargepoint:e.chargepoint,"full-width":e.fullWidth},null,8,["chargepoint","full-width"]))]),default:_(()=>[o.value?w("",!0):(l(),f("div",Yl,[n("div",{class:"grid12",onClick:c[2]||(c[2]=k=>o.value=!o.value)},[v(ee,{heading:"Status:",class:"grid-col-4 grid-left"},{default:_(()=>[n("span",{style:K({color:r.value})},[n("i",{class:R(h.value)},null,2),J(" "+x(s.value),1)],4)]),_:1}),v(ee,{heading:"Geladen:",class:"grid-col-4 grid-left"},{default:_(()=>[v(We,{"watt-h":d.chargepoint.dailyYield},null,8,["watt-h"])]),_:1})])])),o.value?(l(),f("div",Ql,[n("div",Zl,[d.chargepoint!=null?(l(),$(Ht,{key:0,chargepoint:d.chargepoint},null,8,["chargepoint"])):w("",!0)])])):w("",!0)]),_:1},8,["full-width"]))}}),Kl=F(Xl,[["__scopeId","data-v-95a68b6c"]]),ec=["id"],tc={class:"modal-dialog modal-lg modal-fullscreen-lg-down"},ac={class:"modal-content"},nc={class:"modal-header"},rc={class:"modal-title"},oc={class:"modal-body",style:{"background-color":"var(--color-bg)"}},sc=I({__name:"ModalComponent",props:{modalId:{}},setup(a){const e=a;return Te(()=>{}),(t,o)=>(l(),f("div",{id:e.modalId,class:"modal fade"},[n("div",tc,[n("div",ac,[n("div",nc,[n("h3",rc,[ue(t.$slots,"title",{},void 0,!0)]),o[0]||(o[0]=n("button",{type:"button",class:"btn-close buttonTextSize d-flex justify-content-center pt-3 pb-0","data-bs-dismiss":"modal"},[n("i",{class:"fa-solid fa-lg fa-rectangle-xmark m-0 p-0"})],-1))]),n("div",oc,[ue(t.$slots,"default",{},void 0,!0),o[1]||(o[1]=n("button",{class:"btn btn-secondary float-end mt-3 ms-1","data-bs-dismiss":"modal"}," Schließen ",-1))])])])],8,ec))}}),Ea=F(sc,[["__scopeId","data-v-eaefae30"]]),ic={class:"d-flex align-items-center"},lc={class:"cpname"},cc={class:"d-flex float-right justify-content-end align-items-center"},uc=["data-bs-target"],dc=["data-bs-target"],hc={class:"subgrid"},pc={key:0,class:"d-flex justify-content-center align-items-center vehiclestatus"},gc={class:"d-flex flex-column align-items-center px-0"},mc={class:"d-flex justify-content-center flex-wrap"},fc={class:"d-flex align-items-center"},vc={class:"badge phasesInUse rounded-pill"},bc={class:"d-flex flex-wrap justify-content-center chargeinfo"},yc={class:"me-1"},_c={key:0,class:"subgrid socEditRow m-0 p-0"},wc={class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12"},kc={class:"d-flex justify-content-stretch align-items-center"},xc=I({__name:"CpsListItem2",props:{chargepoint:{}},setup(a){const e=a,t=Y(!1),o=g(()=>ve[e.chargepoint.chargeMode].icon),s=g(()=>{let M="";return e.chargepoint.isLocked?M="fa-lock":e.chargepoint.isCharging?M=" fa-bolt":e.chargepoint.isPluggedIn&&(M="fa-plug"),"fa "+M}),r=g(()=>{let M="var(--color-axis)";return e.chargepoint.isLocked?M="var(--color-evu)":e.chargepoint.isCharging?M="var(--color-charging)":e.chargepoint.isPluggedIn&&(M="var(--color-battery)"),{color:M,border:`0.5px solid ${M} `}}),h=g(()=>{switch(e.chargepoint.chargeMode){case"stop":return{"background-color":"var(--color-input)"};default:return{"background-color":ve[e.chargepoint.chargeMode].color}}}),p=g(()=>Pe(e.chargepoint.power,m.decimalPlaces)),u=g(()=>e.chargepoint.current+" A"),d=g(()=>e.chargepoint.phasesInUse),c=g(()=>e.chargepoint.dailyYield>0?He(e.chargepoint.dailyYield,m.decimalPlaces):"0 Wh"),k=g(()=>"("+Math.round(e.chargepoint.rangeCharged).toString()+" "+e.chargepoint.rangeUnit+")"),P=g(()=>ve[e.chargepoint.chargeMode].name);function A(){be("socUpdate",1,e.chargepoint.connectedVehicle),O[e.chargepoint.id].waitingForSoc=!0}function G(){be("setSoc",E.value,e.chargepoint.connectedVehicle),t.value=!1}const E=g({get(){return e.chargepoint.soc},set(M){O[e.chargepoint.id].soc=M}}),T=g(()=>e.chargepoint.isLocked?"Gesperrt":e.chargepoint.isCharging?"Lädt":e.chargepoint.isPluggedIn?"Bereit":"Frei");return(M,V)=>(l(),f(j,null,[v(at,{titlecolor:M.chargepoint.color,fullwidth:!0,small:!0},{title:_(()=>[n("div",ic,[n("span",lc,x(M.chargepoint.name),1),n("span",{class:"badge rounded-pill statusbadge mx-2",style:K(r.value)},[n("i",{class:R([s.value,"me-1"])},null,2),J(" "+x(T.value),1)],4)])]),buttons:_(()=>[n("div",cc,[n("span",{class:"badge rounded-pill modebadge mx-2",type:"button",style:K(h.value),"data-bs-toggle":"modal","data-bs-target":"#cpsconfig-"+M.chargepoint.id},[n("i",{class:R(["fa me-1",o.value])},null,2),J(" "+x(P.value),1)],12,uc),n("span",{class:"fa-solid ms-2 fa-lg fa-edit ps-1",type:"button","data-bs-toggle":"modal","data-bs-target":"#cpsconfig-"+M.chargepoint.id},null,8,dc)])]),default:_(()=>[n("div",hc,[v(ee,{heading:M.chargepoint.vehicleName,small:!0,class:"grid-left grid-col-4"},{default:_(()=>[M.chargepoint.isSocConfigured?(l(),f("span",pc,[M.chargepoint.soc?(l(),$(Ct,{key:0,class:"me-1",soc:M.chargepoint.soc},null,8,["soc"])):w("",!0),M.chargepoint.isSocConfigured&&M.chargepoint.isSocManual?(l(),f("i",{key:1,type:"button",class:"fa-solid fa-sm fas fa-edit",style:{color:"var(--color-menu)"},onClick:V[0]||(V[0]=S=>t.value=!t.value)})):w("",!0),M.chargepoint.isSocConfigured&&!M.chargepoint.isSocManual?(l(),f("i",{key:2,type:"button",class:R(["fa-solid fa-sm me-2",M.chargepoint.waitingForSoc?"fa-spinner fa-spin":"fa-sync"]),style:{color:"var(--color-menu)"},onClick:A},null,2)):w("",!0)])):w("",!0)]),_:1},8,["heading"]),v(ee,{heading:"Parameter:",small:!0,class:"grid-col-4"},{default:_(()=>[n("div",gc,[n("span",mc,[n("span",null,x(p.value),1),n("span",fc,[n("span",vc,x(d.value),1),n("span",null,x(u.value),1)])])])]),_:1}),v(ee,{heading:"Geladen:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[n("div",bc,[n("span",yc,x(c.value),1),n("span",null,x(k.value),1)])]),_:1})]),t.value?(l(),f("div",_c,[n("div",wc,[V[2]||(V[2]=n("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),n("span",kc,[n("span",null,[v(ye,{id:"manualSoc",modelValue:E.value,"onUpdate:modelValue":V[1]||(V[1]=S=>E.value=S),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),n("span",{type:"button",class:"fa-solid d-flex fa-lg me-2 mb-3 align-self-end fa-circle-check",onClick:G})])])):w("",!0)]),_:1},8,["titlecolor"]),(l(),$(Xa,{to:"body"},[(l(),$(Ea,{key:M.chargepoint.id,"modal-id":"cpsconfig-"+M.chargepoint.id},{title:_(()=>[J(" Konfiguration: "+x(M.chargepoint.name),1)]),default:_(()=>[M.chargepoint!=null?(l(),$(Ht,{key:0,chargepoint:M.chargepoint},null,8,["chargepoint"])):w("",!0)]),_:1},8,["modal-id"]))]))],64))}}),Sc=F(xc,[["__scopeId","data-v-b01feba6"]]),$c=I({__name:"CpSimpleList2",setup(a){const e=g(()=>Object.values(O));return(t,o)=>(l(),$(Ge,{"variable-width":!0},{title:_(()=>o[0]||(o[0]=[n("span",{class:"fa-solid fa-charging-station"}," ",-1),J(" Ladepunkte ")])),buttons:_(()=>[i(re).active?(l(),$(Ce,{key:0,bgcolor:"var(--color-menu)"},{default:_(()=>[J("Strompreis: "+x(i(re).etCurrentPriceString),1)]),_:1})):w("",!0)]),default:_(()=>[(l(!0),f(j,null,Z(e.value,(s,r)=>(l(),f("div",{key:r,class:"subgrid pb-2"},[v(Sc,{chargepoint:s},null,8,["chargepoint"])]))),128))]),_:1}))}}),Mc=F($c,[["__scopeId","data-v-b8c6b557"]]),Ot=I({__name:"ChargePointList",props:{id:{},compact:{type:Boolean}},setup(a){let e,t;const o=a,s=g(()=>{let d=Object.values(O);return u(),d}),r=g(()=>h.value+" "+p.value),h=g(()=>{switch(Object.values(O).length){case 0:return m.preferWideBoxes?"col-lg-6":"col-lg-4";case 1:return m.preferWideBoxes?"col-lg-6":"col-lg-4";case 2:return m.preferWideBoxes?"col-lg-12":"col-lg-8 ";default:return"col-lg-12"}}),p=g(()=>"swiper-chargepoints-"+o.id);function u(){let d=document.querySelector("."+p.value);if(d&&(t=d,e=t.swiper),e){let c="1";if(De.value)switch(Object.values(O).length){case 0:case 1:c="1";break;case 2:c="2";break;default:c="3"}t.setAttribute("slides-per-view",c),e.update()}}return Te(()=>{let d=document.querySelector("."+p.value);d&&(t=d,e=t.swiper),window.addEventListener("resize",u),window.document.addEventListener("visibilitychange",u)}),(d,c)=>(l(),f(j,null,[o.compact?w("",!0):(l(),f("swiper-container",{key:0,"space-between":0,"slides-per-view":1,pagination:{clickable:!0},class:R(["cplist m-0 p-0 d-flex align-items-stretch",r.value])},[(l(!0),f(j,null,Z(s.value,k=>(l(),f("swiper-slide",{key:k.id},[n("div",{class:R([i(De)?"mb-0":"mb-5","d-flex align-items-stretch flex-fill"])},[v(Kl,{chargepoint:k,"full-width":!0},null,8,["chargepoint"])],2)]))),128))],2)),o.compact?(l(),$(Mc,{key:1})):w("",!0)],64))}}),Pc={class:"container-fluid p-0 m-0"},Cc={class:"row p-0 m-0"},Ic={class:"d-grid gap-2"},Bc=["onClick"],Vc={class:"col-md-4 p-1"},Lc={class:"d-grid gap-2"},Tc={key:0},Oc={class:"row justify-content-center m-1 p-0"},Ac={class:"col-lg-4 p-1 m-0"},Ec={class:"d-grid gap-2"},zc={class:"col-lg-4 p-1 m-0"},Dc={class:"d-grid gap-2"},Wc={class:"col-lg-4 p-1 m-0"},Gc={class:"d-grid gap-2"},Uc=I({__name:"BBSelect",props:{cpId:{}},setup(a){const e=a,t=[{mode:"instant_charging",name:"Sofort",color:"var(--color-charging)"},{mode:"pv_charging",name:"PV",color:"var(--color-pv)"},{mode:"scheduled_charging",name:"Zielladen",color:"var(--color-battery)"},{mode:"eco_charging",name:"Eco",color:"var(--color-devices)"},{mode:"stop",name:"Stop",color:"var(--color-axis)"}],o=g(()=>O[e.cpId]);function s(d){return d==o.value.chargeMode?"btn btn-success buttonTextSize":"btn btn-secondary buttonTextSize"}function r(d){return de.pvBatteryPriority==d?"btn-success":"btn-secondary"}function h(d){o.value.chargeMode=d}function p(d){o.value.isLocked=d}function u(d){de.pvBatteryPriority=d}return(d,c)=>(l(),f("div",Pc,[n("div",Cc,[(l(),f(j,null,Z(t,(k,P)=>n("div",{key:P,class:"col-md-4 p-1"},[n("div",Ic,[n("button",{type:"button",class:R(s(k.mode)),style:{},onClick:A=>h(k.mode)},x(k.name),11,Bc)])])),64)),n("div",Vc,[n("div",Lc,[o.value.isLocked?(l(),f("button",{key:0,type:"button",class:"btn btn-outline-success buttonTextSize","data-bs-dismiss":"modal",onClick:c[0]||(c[0]=k=>p(!1))}," Entsperren ")):w("",!0),o.value.isLocked?w("",!0):(l(),f("button",{key:1,type:"button",class:"btn btn-outline-danger buttonTextSize","data-bs-dismiss":"modal",onClick:c[1]||(c[1]=k=>p(!0))}," Sperren "))])])]),i(de).isBatteryConfigured?(l(),f("div",Tc,[c[8]||(c[8]=n("hr",null,null,-1)),c[9]||(c[9]=n("div",{class:"row"},[n("div",{class:"col text-center"},"Vorrang im Lademodus PV-Laden:")],-1)),n("div",Oc,[n("div",Ac,[n("div",Ec,[n("button",{id:"evPriorityBtn",type:"button",class:R(["priorityModeBtn btn btn-secondary buttonTextSize",r("ev_mode")]),"data-dismiss":"modal",priority:"1",onClick:c[2]||(c[2]=k=>u("ev_mode"))},c[5]||(c[5]=[J(" EV "),n("span",{class:"fas fa-car ms-2"}," ",-1)]),2)])]),n("div",zc,[n("div",Dc,[n("button",{id:"batteryPriorityBtn",type:"button",class:R(["priorityModeBtn btn btn-secondary buttonTextSize",r("bat_mode")]),"data-dismiss":"modal",priority:"0",onClick:c[3]||(c[3]=k=>u("bat_mode"))},c[6]||(c[6]=[J(" Speicher "),n("span",{class:"fas fa-car-battery ms-2"}," ",-1)]),2)])]),n("div",Wc,[n("div",Gc,[n("button",{id:"minsocPriorityBtn",type:"button",class:R(["priorityModeBtn btn btn-secondary buttonTextSize",r("min_soc_bat_mode")]),"data-dismiss":"modal",priority:"0",onClick:c[4]||(c[4]=k=>u("min_soc_bat_mode"))},c[7]||(c[7]=[J(" MinSoc "),n("span",{class:"fas fa-battery-half"}," ",-1)]),2)])])])])):w("",!0)]))}}),jc={class:"col-lg-4 p-0 m-0 mt-1"},Fc={class:"d-grid gap-2"},Nc=["data-bs-target"],Hc={class:"m-0 p-0 d-flex justify-content-between align-items-center"},Rc={class:"mx-1 badge rounded-pill smallTextSize plugIndicator"},Jc={key:0,class:"ms-2"},qc={class:"m-0 p-0"},Yc={key:0,class:"ps-1"},Qc=I({__name:"BbChargeButton",props:{chargepoint:{}},setup(a){const e=a,t="chargeSelectModal"+e.chargepoint.id,o=g(()=>ve[e.chargepoint.chargeMode].name),s=g(()=>{let c={background:"var(--color-menu)"};return e.chargepoint.isLocked?c.background="var(--color-evu)":e.chargepoint.isCharging?c.background="var(--color-charging)":e.chargepoint.isPluggedIn&&(c.background="var(--color-battery)"),c}),r=g(()=>{{let c={background:ve[e.chargepoint.chargeMode].color,color:"white"};switch(e.chargepoint.chargeMode){case $e.instant_charging:e.chargepoint.isCharging&&!e.chargepoint.isLocked&&(c=d(c));break;case $e.stop:c.background="darkgrey",c.color="black";break;case $e.scheduled_charging:e.chargepoint.isPluggedIn&&!e.chargepoint.isCharging&&!e.chargepoint.isLocked&&(c=d(c));break}return c}}),h=g(()=>ve[e.chargepoint.chargeMode].icon),p=g(()=>{switch(de.pvBatteryPriority){case"ev_mode":return"fa-car";case"bat_mode":return"fa-car-battery";case"min_soc_bat_mode":return"fa-battery-half";default:return console.log("default"),""}}),u=g(()=>{let c="fa-ellipsis";return e.chargepoint.isLocked?c="fa-lock":e.chargepoint.isCharging?c=" fa-bolt":e.chargepoint.isPluggedIn&&(c="fa-plug"),"fa "+c});function d(c){let k=c.color;return c.color=c.background,c.background=k,c}return(c,k)=>(l(),f("div",jc,[n("div",Fc,[n("button",{type:"button",class:"btn mx-1 mb-0 p-1 mediumTextSize chargeButton shadow",style:K(s.value),"data-bs-toggle":"modal","data-bs-target":"#"+t},[n("div",Hc,[n("span",Rc,[n("i",{class:R(u.value)},null,2),c.chargepoint.isCharging?(l(),f("span",Jc,x(i(Pe)(c.chargepoint.power)),1)):w("",!0)]),n("span",qc,x(c.chargepoint.name),1),n("span",{class:"mx-2 m-0 badge rounded-pill smallTextSize modeIndicator",style:K(r.value)},[n("i",{class:R(["fa me-1",h.value])},null,2),J(" "+x(o.value)+" ",1),c.chargepoint.chargeMode==i($e).pv_charging&&i(de).isBatteryConfigured?(l(),f("span",Yc,[k[0]||(k[0]=J(" ( ")),n("i",{class:R(["fa m-0",p.value])},null,2),k[1]||(k[1]=J(") "))])):w("",!0)],4)])],12,Nc)]),v(Ea,{"modal-id":t},{title:_(()=>[J(" Lademodus für "+x(c.chargepoint.vehicleName),1)]),default:_(()=>[v(Uc,{"cp-id":c.chargepoint.id},null,8,["cp-id"])]),_:1})]))}}),Zc=F(Qc,[["__scopeId","data-v-71bb7e5f"]]),Xc={class:"row p-0 mt-0 mb-1 m-0"},Kc={class:"col p-0 m-0"},eu={class:"container-fluid p-0 m-0"},tu={class:"row p-0 m-0 d-flex justify-content-center align-items-center"},au={key:0,class:"col time-display"},nu=I({__name:"ButtonBar",setup(a){return(e,t)=>(l(),f("div",Xc,[n("div",Kc,[n("div",eu,[n("div",tu,[i(m).showClock=="buttonbar"?(l(),f("span",au,x(i(La)(i(Nt))),1)):w("",!0),(l(!0),f(j,null,Z(i(O),(o,s)=>(l(),$(Zc,{key:s,chargepoint:o,"charge-point-count":Object.values(i(O)).length},null,8,["chargepoint","charge-point-count"]))),128))])])])]))}}),ru=F(nu,[["__scopeId","data-v-791e4be0"]]),ou={class:"battery-title"},su={class:"subgrid pt-1"},iu=I({__name:"BLBattery",props:{bat:{}},setup(a){const e=a,t=g(()=>e.bat.power<0?`Liefert (${Pe(-e.bat.power)})`:e.bat.power>0?`Lädt (${Pe(e.bat.power)})`:"Bereit"),o=g(()=>e.bat.power<0?"var(--color-pv)":e.bat.power>0?"var(--color-battery)":"var(--color-menu)");return(s,r)=>(l(),$(at,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",ou,x(s.bat.name),1)]),buttons:_(()=>[v(Ce,{bgcolor:o.value},{default:_(()=>[J(x(t.value),1)]),_:1},8,["bgcolor"])]),default:_(()=>[n("div",su,[v(ee,{heading:"Ladestand:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[v(Ct,{soc:e.bat.soc},null,8,["soc"])]),_:1}),v(ee,{heading:"Geladen:",small:!0,class:"grid-col-4"},{default:_(()=>[v(We,{"watt-h":e.bat.dailyYieldImport},null,8,["watt-h"])]),_:1}),v(ee,{heading:"Geliefert:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[v(We,{"watt-h":e.bat.dailyYieldExport},null,8,["watt-h"])]),_:1})])]),_:1}))}}),lu=F(iu,[["__scopeId","data-v-f7f825f7"]]),cu={class:"subgrid grid-12"},uu=I({__name:"BatteryList",setup(a){const e=g(()=>q.batOut.power>0?`Liefert (${Pe(q.batOut.power)})`:H.batIn.power>0?`Lädt (${Pe(H.batIn.power)})`:"Bereit:"),t=g(()=>q.batOut.power>0?"var(--color-pv)":H.batIn.power>0?"var(--color-battery)":"var(--color-menu)"),o=g(()=>{let s=0;return pe.value.forEach(r=>{s+=r.dailyYieldImport}),s});return(s,r)=>i(de).isBatteryConfigured?(l(),$(Ge,{key:0,"variable-width":!0,"full-width":!1},{title:_(()=>r[0]||(r[0]=[n("span",{class:"fas fa-car-battery me-2",style:{color:"var(--color-battery)"}}," ",-1),n("span",null,"Speicher",-1)])),buttons:_(()=>[v(Ce,{bgcolor:t.value},{default:_(()=>[J(x(e.value),1)]),_:1},8,["bgcolor"])]),default:_(()=>[n("div",cu,[v(ee,{heading:"Ladestand:",class:"grid-left grid-col-4"},{default:_(()=>[v(Ct,{color:"var(--color-battery)",soc:i(de).batterySoc},null,8,["soc"])]),_:1}),v(ee,{heading:"Geladen:",class:"grid-col-4"},{default:_(()=>[n("span",null,x(i(He)(o.value)),1)]),_:1}),v(ee,{heading:"Geliefert",class:"grid-right grid-col-4"},{default:_(()=>[n("span",null,x(i(He)(i(q).batOut.energy)),1)]),_:1})]),(l(!0),f(j,null,Z(i(pe),([h,p])=>(l(),$(lu,{key:h,bat:p,class:"px-0"},null,8,["bat"]))),128))]),_:1})):w("",!0)}}),At=F(uu,[["__scopeId","data-v-325bd635"]]),du={class:"devicename"},hu={class:"subgrid"},pu=I({__name:"SHListItem",props:{device:{}},setup(a){const e=a,t=g(()=>e.device.status=="on"?"fa-toggle-on fa-xl":e.device.status=="waiting"?"fa-spinner fa-spin":"fa-toggle-off fa-xl"),o=g(()=>{let p="var(--color-switchRed)";switch(e.device.status){case"on":p="var(--color-switchGreen)";break;case"detection":p="var(--color-switchBlue)";break;case"timeout":p="var(--color-switchWhite)";break;case"waiting":p="var(--color-menu)";break;default:p="var(--color-switchRed)"}return{color:p}});function s(){e.device.isAutomatic||(e.device.status=="on"?be("shSwitchOn",0,e.device.id):be("shSwitchOn",1,e.device.id),te.get(e.device.id).status="waiting")}function r(){e.device.isAutomatic?be("shSetManual",1,e.device.id):be("shSetManual",0,e.device.id)}const h=g(()=>e.device.isAutomatic?"Auto":"Man");return(p,u)=>(l(),$(at,{titlecolor:p.device.color,fullwidth:!0},{title:_(()=>[n("span",du,x(p.device.name),1)]),buttons:_(()=>[(l(!0),f(j,null,Z(p.device.temp,(d,c)=>(l(),f("span",{key:c},[d<300?(l(),$(Ce,{key:0,bgcolor:"var(--color-battery)"},{default:_(()=>[n("span",null,x(i(Nn)(d)),1)]),_:2},1024)):w("",!0)]))),128)),e.device.canSwitch?(l(),f("span",{key:0,class:R([t.value,"fa-solid statusbutton mr-2 ms-2"]),style:K(o.value),onClick:s},null,6)):w("",!0),e.device.canSwitch?(l(),$(Ce,{key:1,type:"button",onClick:r},{default:_(()=>[J(x(h.value),1)]),_:1})):w("",!0)]),default:_(()=>[n("div",hu,[v(ee,{heading:"Leistung:",small:!0,class:"grid-col-4 grid-left"},{default:_(()=>[v(vt,{watt:p.device.power},null,8,["watt"])]),_:1}),v(ee,{heading:"Energie:",small:!0,class:"grid-col-4"},{default:_(()=>[v(We,{"watt-h":p.device.energy},null,8,["watt-h"])]),_:1}),v(ee,{heading:"Laufzeit:",small:!0,class:"grid-col-4 grid-right"},{default:_(()=>[J(x(i(jn)(p.device.runningTime)),1)]),_:1})])]),_:1},8,["titlecolor"]))}}),gu=F(pu,[["__scopeId","data-v-20651ac6"]]),mu={class:"sh-title py-4"},fu=["id","onUpdate:modelValue","value"],vu=["for"],bu=3,yu=I({__name:"SmartHomeList",setup(a){const e=g(()=>De.value?t.value.reduce((h,p)=>{const u=h;let d=h[h.length-1];return d.length>=bu?h.push([p]):d.push(p),u},[[]]):[t.value]),t=g(()=>[...te.values()].filter(h=>h.configured));function o(h){return"Geräte"+(De.value&&e.value.length>1?"("+(h+1)+")":"")}function s(){r.value=!r.value}const r=Y(!1);return(h,p)=>(l(),f(j,null,[(l(!0),f(j,null,Z(e.value,(u,d)=>(l(),$(Ge,{key:d,"variable-width":!0},{title:_(()=>[n("span",{onClick:s},[p[0]||(p[0]=n("span",{class:"fas fa-plug me-2",style:{color:"var(--color-devices)"}}," ",-1)),n("span",mu,x(o(d)),1)])]),buttons:_(()=>[n("span",{class:"ms-2 pt-1",onClick:s},p[1]||(p[1]=[n("span",{class:"fa-solid fa-lg ps-1 fa-ellipsis-vertical"},null,-1)]))]),default:_(()=>[(l(!0),f(j,null,Z(u,c=>(l(),$(gu,{key:c.id,device:c,class:"subgrid pb-2"},null,8,["device"]))),128))]),_:2},1024))),128)),r.value?(l(),$(Ge,{key:0},{title:_(()=>[n("span",{class:"smarthome",onClick:s},p[2]||(p[2]=[n("span",{class:"fas fa-gear"}," ",-1),J(" Einstellungen")]))]),buttons:_(()=>[n("span",{class:"ms-2 pt-1",onClick:s},p[3]||(p[3]=[n("span",{class:"fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]))]),default:_(()=>[v(U,{title:"Im Energie-Graph anzeigen:",icon:"fa-chart-column",fullwidth:!0},{default:_(()=>[(l(!0),f(j,null,Z(t.value,(u,d)=>(l(),f("div",{key:d},[mt(n("input",{id:"check"+d,"onUpdate:modelValue":c=>u.showInGraph=c,class:"form-check-input",type:"checkbox",value:u},null,8,fu),[[Sa,u.showInGraph]]),n("label",{class:"form-check-label px-2",for:"check"+d},x(u.name),9,vu)]))),128))]),_:1}),n("div",{class:"row p-0 m-0",onClick:s},p[4]||(p[4]=[n("div",{class:"col-12 mb-3 pe-3 mt-0"},[n("button",{class:"btn btn-sm btn-secondary float-end"},"Schließen")],-1)]))]),_:1})):w("",!0)],64))}}),Et=F(yu,[["__scopeId","data-v-5b5cf6b3"]]),_u={class:"countername"},wu={class:"subgrid pt-1"},ku=I({__name:"ClCounter",props:{counter:{}},setup(a){const e=a,t=g(()=>e.counter.power>0?"Bezug":"Export"),o=g(()=>e.counter.power>0?"var(--color-evu)":"var(--color-pv)");return(s,r)=>(l(),$(at,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",_u,x(s.counter.name),1)]),buttons:_(()=>[e.counter.power!=0?(l(),$(Ce,{key:0,bgcolor:o.value},{default:_(()=>[J(x(t.value),1)]),_:1},8,["bgcolor"])):w("",!0),v(Ce,{color:"var(--color-bg)"},{default:_(()=>[J(" ID: "+x(e.counter.id),1)]),_:1})]),default:_(()=>[n("div",wu,[v(ee,{heading:"Leistung:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[v(vt,{watt:Math.abs(e.counter.power)},null,8,["watt"])]),_:1}),v(ee,{heading:"Bezogen:",small:!0,class:"grid-col-4"},{default:_(()=>[v(We,{"watt-h":e.counter.energy_imported},null,8,["watt-h"])]),_:1}),v(ee,{heading:"Exportiert:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[v(We,{"watt-h":e.counter.energy_exported},null,8,["watt-h"])]),_:1})])]),_:1}))}}),xu=F(ku,[["__scopeId","data-v-01dd8c4d"]]);class Su{constructor(e){b(this,"id");b(this,"name","Zähler");b(this,"power",0);b(this,"energy_imported",0);b(this,"energy_exported",0);b(this,"grid",!1);b(this,"type","counter");b(this,"color","var(--color-evu)");b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"icon","");this.id=e}}const xe=he({});function $u(a,e){if(a in xe)console.info("Duplicate counter message: "+a);else switch(xe[a]=new Su(a),xe[a].type=e,e){case"counter":xe[a].color="var(--color-evu)";break;case"inverter":xe[a].color="var(--color-pv)";break;case"cp":xe[a].color="var(--color-charging)";break;case"bat":xe[a].color="var(--color-bat)";break}}const Mu=I({__name:"CounterList",setup(a){return(e,t)=>(l(),$(Ge,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[n("span",{class:"fas fa-bolt me-2",style:{color:"var(--color-evu)"}}," ",-1),n("span",null,"Zähler",-1)])),default:_(()=>[(l(!0),f(j,null,Z(i(xe),(o,s)=>(l(),f("div",{key:s,class:"subgrid pb-2"},[v(xu,{counter:o},null,8,["counter"])]))),128))]),_:1}))}}),zt=F(Mu,[["__scopeId","data-v-5f059284"]]),Pu={class:"vehiclename"},Cu={class:"subgrid"},Iu=I({__name:"VlVehicle",props:{vehicle:{}},setup(a){const e=a,t=g(()=>{let s="Unterwegs",r=e.vehicle.chargepoint;return r!=null&&(r.isCharging?s="Lädt ("+r.name+")":r.isPluggedIn&&(s="Bereit ("+r.name+")")),s}),o=g(()=>{let s=e.vehicle.chargepoint;return s!=null?s.isLocked?"var(--color-evu)":s.isCharging?"var(--color-charging)":s.isPluggedIn?"var(--color-battery)":"var(--color-axis)":"var(--color-axis)"});return(s,r)=>(l(),$(at,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",Pu,x(e.vehicle.name),1)]),default:_(()=>[n("div",Cu,[v(ee,{heading:"Status:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[n("span",{style:K({color:o.value}),class:"d-flex justify-content-center align-items-center status-string"},x(t.value),5)]),_:1}),v(ee,{heading:"Ladestand:",small:!0,class:"grid-col-4"},{default:_(()=>[J(x(Math.round(e.vehicle.soc))+" % ",1)]),_:1}),v(ee,{heading:"Reichweite:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[J(x(Math.round(e.vehicle.range))+" km ",1)]),_:1})])]),_:1}))}}),Bu=F(Iu,[["__scopeId","data-v-9e2cb63e"]]),Vu=I({__name:"VehicleList",setup(a){return(e,t)=>(l(),$(Ge,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[n("span",{class:"fas fa-car me-2",style:{color:"var(--color-charging)"}}," ",-1),n("span",null,"Fahrzeuge",-1)])),default:_(()=>[(l(!0),f(j,null,Z(Object.values(i(Q)).filter(o=>o.visible),(o,s)=>(l(),f("div",{key:s,class:"subgrid px-4"},[v(Bu,{vehicle:o},null,8,["vehicle"])]))),128))]),_:1}))}}),Dt=F(Vu,[["__scopeId","data-v-716be083"]]),Lu={class:"grapharea"},Tu={id:"pricechart",class:"p-1 m-0 pricefigure"},Ou={viewBox:"0 0 400 280"},Au=["id","origin","transform"],ut=380,ya=250,Wt=12,Eu=I({__name:"GlobalPriceChart",props:{id:{}},setup(a){const e=a,t=Y(!1),o={top:0,bottom:15,left:20,right:0},s=g(()=>{let T=[];return re.etPriceList.size>0&&re.etPriceList.forEach((M,V)=>{T.push([V,M])}),T}),r=g(()=>s.value.length>1?(ut-o.left-o.right)/s.value.length:0),h=g(()=>{let T=Le(s.value,M=>M[0]);return T[1]&&(T[1]=new Date(T[1]),T[1].setTime(T[1].getTime()+36e5)),tt().range([o.left,ut-o.right]).domain(T)}),p=g(()=>{let T=[0,0];return s.value.length>0&&(T=Le(s.value,M=>M[1]),T[0]=Math.floor(T[0])-1,T[1]=Math.floor(T[1])+1),T}),u=g(()=>Re().range([ya-o.bottom,0]).domain(p.value)),d=g(()=>{const T=Ne(),M=[[o.left,u.value(m.lowerPriceBound)],[ut-o.right,u.value(m.lowerPriceBound)]];return T(M)}),c=g(()=>{const T=Ne(),M=[[o.left,u.value(m.upperPriceBound)],[ut-o.right,u.value(m.upperPriceBound)]];return T(M)}),k=g(()=>{const T=Ne(),M=[[o.left,u.value(0)],[ut-o.right,u.value(0)]];return T(M)}),P=g(()=>ht(h.value).ticks(s.value.length).tickSize(5).tickSizeInner(-250).tickFormat(T=>T.getHours()%6==0?it("%H:%M")(T):"")),A=g(()=>gt(u.value).ticks(p.value[1]-p.value[0]).tickSize(0).tickSizeInner(-360).tickFormat(T=>T%5!=0?"":T.toString())),G=g(()=>{t.value==!0;const T=le("g#"+E.value);T.selectAll("*").remove(),T.selectAll("bar").data(s.value).enter().append("g").append("rect").attr("class","bar").attr("x",B=>h.value(B[0])).attr("y",B=>u.value(B[1])).attr("width",r.value).attr("height",B=>u.value(p.value[0])-u.value(B[1])).attr("fill","var(--color-charging)");const V=T.append("g").attr("class","axis").call(P.value);V.attr("transform","translate(0,"+(ya-o.bottom)+")"),V.selectAll(".tick").attr("font-size",Wt).attr("color","var(--color-bg)"),V.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",B=>B.getHours()%6==0?"2":"0.5"),V.select(".domain").attr("stroke","var(--color-bg");const S=T.append("g").attr("class","axis").call(A.value);S.attr("transform","translate("+o.left+",0)"),S.selectAll(".tick").attr("font-size",Wt).attr("color","var(--color-bg)"),S.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",B=>B%5==0?"2":"0.5"),S.select(".domain").attr("stroke","var(--color-bg)"),p.value[0]<0&&T.append("path").attr("d",k.value).attr("stroke","var(--color-fg)"),T.append("path").attr("d",d.value).attr("stroke","green"),T.append("path").attr("d",c.value).attr("stroke","red");const C=T.selectAll("ttip").data(s.value).enter().append("g").attr("class","ttarea");C.append("rect").attr("x",B=>h.value(B[0])).attr("y",B=>u.value(B[1])).attr("height",B=>u.value(p.value[0])-u.value(B[1])).attr("class","ttrect").attr("width",r.value).attr("opacity","1%").attr("fill","var(--color-charging)");const D=C.append("g").attr("class","ttmessage").attr("transform",B=>"translate("+(h.value(B[0])-30+r.value/2)+","+(u.value(B[1])-16)+")");D.append("rect").attr("rx",5).attr("width","60").attr("height","30").attr("fill","var(--color-menu)");const z=D.append("text").attr("text-anchor","middle").attr("x",30).attr("y",12).attr("font-size",Wt).attr("fill","var(--color-bg)");return z.append("tspan").attr("x",30).attr("dy","0em").text(B=>it("%H:%M")(B[0])),z.append("tspan").attr("x",30).attr("dy","1.1em").text(B=>Math.round(B[1]*10)/10+" ct"),"PriceChart.vue"}),E=g(()=>"priceChartCanvas"+e.id);return Te(()=>{t.value=!t.value}),(T,M)=>(l(),$(Ge,{"variable-width":!0},{title:_(()=>M[0]||(M[0]=[n("span",{class:"fas fa-coins me-2",style:{color:"var(--color-battery)"}}," ",-1),n("span",null,"Strompreis",-1)])),buttons:_(()=>[i(re).active?(l(),$(Ce,{key:0,bgcolor:"var(--color-charging)"},{default:_(()=>[J(x(i(re).etCurrentPriceString),1)]),_:1})):w("",!0),i(re).active?(l(),$(Ce,{key:1,bgcolor:"var(--color-menu)"},{default:_(()=>[J(x(i(re).etProvider),1)]),_:1})):w("",!0)]),default:_(()=>[n("div",Lu,[n("figure",Tu,[(l(),f("svg",Ou,[n("g",{id:E.value,origin:G.value,transform:"translate("+o.top+","+o.left+") "},null,8,Au)]))])])]),_:1}))}}),Gt=F(Eu,[["__scopeId","data-v-578b98b5"]]),zu={class:"subgrid pt-1"},Du=I({__name:"IlInverter",props:{inverter:{}},setup(a){const e=a,t=g(()=>({color:e.inverter.color}));return(o,s)=>(l(),$(at,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",{class:"invertername",style:K(t.value)},x(o.inverter.name),5)]),buttons:_(()=>[e.inverter.power<0?(l(),$(Ce,{key:0,bgcolor:"var(--color-pv)"},{default:_(()=>[J(x(i(Pe)(-e.inverter.power)),1)]),_:1})):w("",!0)]),default:_(()=>[n("div",zu,[v(ee,{heading:"Heute:",small:!0,class:"grid-col-4 grid-left"},{default:_(()=>[v(We,{"watt-h":e.inverter.energy},null,8,["watt-h"])]),_:1}),v(ee,{heading:"Monat:",small:!0,class:"grid-col-4"},{default:_(()=>[v(We,{"watt-h":e.inverter.energy_month},null,8,["watt-h"])]),_:1}),v(ee,{heading:"Jahr:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[v(We,{"watt-h":e.inverter.energy_year},null,8,["watt-h"])]),_:1})])]),_:1}))}}),Wu=F(Du,[["__scopeId","data-v-258d8f17"]]),Gu=I({__name:"InverterList",setup(a){return(e,t)=>(l(),$(Ge,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[n("span",{class:"fas fa-solar-panel me-2",style:{color:"var(--color-pv)"}}," ",-1),n("span",null,"Wechselrichter",-1)])),buttons:_(()=>[i(q).pv.power>0?(l(),$(Ce,{key:0,bgcolor:"var(--color-pv)"},{default:_(()=>[J(x(i(Pe)(i(q).pv.power)),1)]),_:1})):w("",!0)]),default:_(()=>[(l(!0),f(j,null,Z(i(we),([o,s])=>(l(),f("div",{key:o,class:"subgrid pb-2"},[v(Wu,{inverter:s},null,8,["inverter"])]))),128))]),_:1}))}}),Ut=F(Gu,[["__scopeId","data-v-b7a71f81"]]),Uu={class:"row py-0 px-0 m-0"},ju=["breakpoints"],Fu=I({__name:"CarouselFix",setup(a){let e,t;const o=Y(!1),s=g(()=>o.value?{992:{slidesPerView:1,spaceBetween:0}}:{992:{slidesPerView:3,spaceBetween:0}});return Ka(()=>m.zoomGraph,r=>{if(e){let h=r?"1":"3";t.setAttribute("slides-per-view",h),e.activeIndex=m.zoomedWidget,e.update()}}),Te(()=>{let r=document.querySelector(".swiper-carousel");r&&(t=r,e=t.swiper)}),(r,h)=>(l(),f("div",Uu,[n("swiper-container",{"space-between":0,pagination:{clickable:!0},"slides-per-view":"1",class:"p-0 m-0 swiper-carousel",breakpoints:s.value},[n("swiper-slide",null,[n("div",{class:R([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[ue(r.$slots,"item1",{},void 0,!0)],2)]),n("swiper-slide",null,[n("div",{class:R([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[ue(r.$slots,"item2",{},void 0,!0)],2)]),n("swiper-slide",null,[n("div",{class:R([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[ue(r.$slots,"item3",{},void 0,!0)],2)])],8,ju)]))}}),Nu=F(Fu,[["__scopeId","data-v-17424929"]]);function Hu(a,e){a=="openWB/graph/boolDisplayLiveGraph"?de.displayLiveGraph=+e==1:a.match(/^openwb\/graph\/alllivevaluesJson[1-9][0-9]*$/i)?Ru(a,e):a=="openWB/graph/lastlivevaluesJson"?Ju(a,e):a=="openWB/graph/config/duration"&&(ge.duration=JSON.parse(e))}function Ru(a,e){if(!ge.initialized){let t=[];const o=e.toString().split(` +`);o.length>1?t=o.map(h=>JSON.parse(h)):t=[];const s=a.match(/(\d+)$/g),r=s?s[0]:"";r!=""&&typeof ge.rawDataPacks[+r-1]>"u"&&(ge.rawDataPacks[+r-1]=t,ge.initCounter++)}if(ge.initCounter==16){const t=[];ge.unsubscribeRefresh(),ge.initialized=!0,ge.rawDataPacks.forEach(o=>{o.forEach(s=>{const r=za(s);t.push(r)})}),ft(t),ge.subscribeUpdates()}}function Ju(a,e){const t=JSON.parse(e),o=za(t);ge.graphRefreshCounter++,ft(y.data.concat(o)),ge.graphRefreshCounter>60&&ge.activate()}function za(a){const e=Object.values(O).length>0?Object.values(O)[0].connectedVehicle:0,t=Object.values(O).length>1?Object.values(O)[1].connectedVehicle:1,o="ev"+e+"-soc",s="ev"+t+"-soc",r={};r.date=+a.timestamp*1e3,+a.grid>0?(r.evuIn=+a.grid,r.evuOut=0):+a.grid<=0?(r.evuIn=0,r.evuOut=-a.grid):(r.evuIn=0,r.evuOut=0),+a["pv-all"]>=0?(r.pv=+a["pv-all"],r.inverter=0):(r.pv=0,r.inverter=-a["pv-all"]),r.house=+a["house-power"],+a["bat-all-power"]>0?(r.batOut=0,r.batIn=+a["bat-all-power"]):+a["bat-all-power"]<0?(r.batOut=-a["bat-all-power"],r.batIn=0):(r.batOut=0,r.batIn=0),a["bat-all-soc"]?r.batSoc=+a["bat-all-soc"]:r.batSoc=0,a[o]&&(r["soc"+e]=+a[o]),a[s]&&(r["soc"+t]=+a[s]),r.charging=+a["charging-all"];for(let h=0;h<10;h++){const p="cp"+h;r[p]=+(a[p+"-power"]??0)}return r.selfUsage=r.pv-r.evuOut,r.selfUsage<0&&(r.selfUsage=0),r.devices=0,r}const qu=["evuIn","pv","batOut","evuOut","charging","house"];let $t=[];function Yu(a,e){const{entries:t,names:o,totals:s}=JSON.parse(e);Fe.value=new Map(Object.entries(o)),ta(),$t=[],Qt.forEach(h=>{L.setEnergyPv(h,0),L.setEnergyBat(h,0)});const r=Qu(t);ft(r),Zt(s,$t),m.debug&&Xu(t,s,r),y.graphMode=="today"&&setTimeout(()=>ce.activate(),3e5)}function Qu(a){const e=[];let t={};return a.forEach(o=>{t=Zu(o);const s=t;e.push(s)}),e}function Zu(a){const e={};e.date=a.timestamp*1e3,e.evuOut=0,e.evuIn=0,Object.entries(a.counter).forEach(([s,r])=>{r.grid&&(e.evuOut+=r.power_exported,e.evuIn+=r.power_imported,$t.includes(s)||$t.push(s))}),e.evuOut==0&&e.evuIn==0&&Object.entries(a.counter).forEach(s=>{e.evuOut+=s[1].power_exported,e.evuIn+=s[1].power_imported}),Object.entries(a.pv).forEach(([s,r])=>{s!="all"?e[s]=r.power_exported:e.pv=r.power_exported}),Object.entries(a.bat).length>0?(e.batIn=a.bat.all.power_imported,e.batOut=a.bat.all.power_exported,e.batSoc=a.bat.all.soc??0):(e.batIn=0,e.batOut=0,e.batSoc=0),Object.entries(a.cp).forEach(([s,r])=>{s!="all"?(e[s]=r.power_imported,L.keys().includes(s)||L.addItem(s)):e.charging=r.power_imported}),Object.entries(a.ev).forEach(([s,r])=>{s!="all"&&(e["soc"+s.substring(2)]=r.soc)}),e.devices=0;let t=0;return Object.entries(a.sh).forEach(([s,r])=>{var h;s!="all"&&(e[s]=r.power_imported??0,L.keys().includes(s)||(L.addItem(s),L.items[s].showInGraph=te.get(+s.slice(2)).showInGraph),(h=te.get(+s.slice(2)))!=null&&h.countAsHouse?t+=e[s]:e.devices+=r.power_imported??0)}),e.selfUsage=Math.max(0,e.pv-e.evuOut),a.hc&&a.hc.all?e.house=a.hc.all.power_imported-t:e.house=e.evuIn+e.batOut+e.pv-e.evuOut-e.charging-e.devices-e.batOut,e.evuIn+e.batOut+e.pv>0?L.keys().filter(s=>!qu.includes(s)&&s!="charging").forEach(s=>{$n(s,e)}):Object.keys(e).forEach(s=>{e[s+"Pv"]=0,e[s+"Bat"]=0}),e}function Xu(a,e,t){console.debug("---------------------------------------- Graph Data -"),console.debug(["--- Incoming graph data:",a]),console.debug(["--- Incoming energy data:",e]),console.debug(["--- Data to be displayed:",t]),console.debug("-----------------------------------------------------")}let _t={};const na=["charging","house","batIn","devices"],Ku=["evuIn","pv","batOut","batIn","evuOut","devices","sh1","sh2","sh3","sh4","sh5","sh6","sh7","sh8","sh9"];let et=[];function ed(a,e){const{entries:t,names:o,totals:s}=JSON.parse(e);Fe.value=new Map(Object.entries(o)),ta(),et=[],na.forEach(r=>{L.items[r].energyPv=0,L.items[r].energyBat=0}),t.length>0&&ft(Da(t)),Zt(s,et)}function td(a,e){const{entries:t,names:o,totals:s}=JSON.parse(e);Fe.value=new Map(Object.entries(o)),ta(),et=[],na.forEach(r=>{L.items[r].energyPv=0,L.items[r].energyBat=0}),t.length>0&&ft(Da(t)),Zt(s,et)}function Da(a){const e=[];let t={};return _t={},a.forEach(o=>{t=ad(o),e.push(t),Object.keys(t).forEach(s=>{s!="date"&&(t[s]<0&&(console.warn(`Negative energy value for ${s} in row ${t.date}. Ignoring the value.`),t[s]=0),_t[s]?_t[s]+=t[s]:_t[s]=t[s])})}),e}function ad(a){const e={},t=en("%Y%m%d")(a.date);t&&(e.date=y.graphMode=="month"?t.getDate():t.getMonth()+1),e.evuOut=0,e.evuIn=0;let o=0,s=0;return Object.entries(a.counter).forEach(([h,p])=>{o+=p.energy_exported,s+=p.energy_imported,p.grid&&(e.evuOut+=p.energy_exported,e.evuIn+=p.energy_imported,et.includes(h)||et.push(h))}),et.length==0&&(e.evuOut=o,e.evuIn=s),e.pv=a.pv.all.energy_exported,Object.entries(a.bat).length>0?(a.bat.all.energy_imported>=0?e.batIn=a.bat.all.energy_imported:(console.warn("ignoring negative value for batIn on day "+e.date),e.batIn=0),a.bat.all.energy_exported>=0?e.batOut=a.bat.all.energy_exported:(console.warn("ignoring negative value for batOut on day "+e.date),e.batOut=0)):(e.batIn=0,e.batOut=0),Object.entries(a.cp).forEach(([h,p])=>{h!="all"?(L.keys().includes(h)||L.addItem(h),e[h]=p.energy_imported):e.charging=p.energy_imported}),Object.entries(a.ev).forEach(([h,p])=>{h!="all"&&(e["soc-"+h]=p.soc)}),e.devices=Object.entries(a.sh).reduce((h,p)=>(L.keys().includes(p[0])||L.addItem(p[0]),p[1].energy_imported>=0?h+=p[1].energy_imported:console.warn(`Negative energy value for device ${p[0]} in row ${e.date}. Ignoring this value`),h),0),a.hc&&a.hc.all?e.house=a.hc.all.energy_imported:e.house=e.pv+e.evuIn+e.batOut-e.evuOut-e.batIn-e.charging,e.selfUsage=e.pv-e.evuOut,e.evuIn+e.batOut+e.pv>0?L.keys().filter(h=>!Ku.includes(h)).forEach(h=>{Mn(h,e)}):na.map(h=>{e[h+"Pv"]=0,e[h+"Bat"]=0}),e}function nd(a,e){const t=rd(a);if(t&&!pe.value.has(t)){console.warn("Invalid battery index: ",t);return}a=="openWB/bat/config/configured"?de.isBatteryConfigured=e=="true":a=="openWB/bat/get/power"?+e>0?(H.batIn.power=+e,q.batOut.power=0):(H.batIn.power=0,q.batOut.power=-e):a=="openWB/bat/get/soc"?de.batterySoc=+e:a=="openWB/bat/get/daily_exported"?q.batOut.energy=+e:a=="openWB/bat/get/daily_imported"?H.batIn.energy=+e:t&&pe.value.has(t)&&(a.match(/^openwb\/bat\/[0-9]+\/get\/daily_exported$/i)?pe.value.get(t).dailyYieldExport=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/daily_imported$/i)?pe.value.get(t).dailyYieldImport=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/exported$/i)?pe.value.get(t).exported=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/fault_state$/i)?pe.value.get(t).faultState=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/fault_str$/i)?pe.value.get(t).faultStr=e:a.match(/^openwb\/bat\/[0-9]+\/get\/imported$/i)?pe.value.get(t).imported=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/power$/i)?pe.value.get(t).power=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/soc$/i)&&(pe.value.get(t).soc=+e))}function rd(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}function od(a,e){if(a=="openWB/optional/et/provider")JSON.parse(e).type==null?re.active=!1:(re.active=!0,re.etProvider=JSON.parse(e).name);else if(a=="openWB/optional/et/get/prices"){const t=JSON.parse(e);re.etPriceList=new Map,Object.keys(t).forEach(o=>{re.etPriceList.set(new Date(+o*1e3),t[o]*1e5)})}}function sd(a,e){const t=Wa(a);if(t&&!(t in O)){console.warn("Invalid chargepoint id received: "+t);return}if(a=="openWB/chargepoint/get/power"?H.charging.power=+e:a=="openWB/chargepoint/get/daily_imported"&&(H.charging.energy=+e),a=="openWB/chargepoint/get/daily_exported")de.cpDailyExported=+e;else if(t)if(a.match(/^openwb\/chargepoint\/[0-9]+\/config$/i))if(O[t]){const o=JSON.parse(e);O[t].name=o.name,O[t].icon=o.name,se["cp"+t]?(se["cp"+t].name=o.name,se["cp"+t].icon=o.name):se["cp"+t]={name:o.name,icon:o.name,color:"var(--color-charging)"}}else console.warn("invalid chargepoint index: "+t);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/state_str$/i))O[t].stateStr=JSON.parse(e);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_str$/i))O[t].faultStr=JSON.parse(e);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_state$/i))O[t].faultState=+e;else if(a.match(/^openWB\/chargepoint\/[0-9]+\/get\/power$/i))O[t].power=+e;else if(a.match(/^openWB\/chargepoint\/[0-9]+\/get\/daily_imported$/i))O[t].dailyYield=+e;else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/plug_state$/i))O[t].isPluggedIn=e=="true";else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/charge_state$/i))O[t].isCharging=e=="true";else if(a.match(/^openwb\/chargepoint\/[0-9]+\/set\/manual_lock$/i))O[t].updateIsLocked(e=="true");else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/enabled$/i))O[t].isEnabled=e=="1";else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/phases_in_use/i))O[t].phasesInUse=+e;else if(a.match(/^openwb\/chargepoint\/[0-9]+\/set\/current/i))O[t].current=+e;else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/currents/i))O[t].currents=JSON.parse(e);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/set\/log/i)){const o=JSON.parse(e);O[t].chargedSincePlugged=o.imported_since_plugged}else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/soc$/i)){const o=JSON.parse(e);O[t].soc=o.soc,O[t].waitingForSoc=!1,O[t].rangeCharged=o.range_charged,O[t].rangeUnit=o.range_unit}else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/info$/i)){const o=JSON.parse(e);O[t].vehicleName=String(o.name),O[t].updateConnectedVehicle(+o.id)}else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/config$/i)){const o=JSON.parse(e);O[t].averageConsumption=o.average_consumption}else a.match(/^openwb\/chargepoint\/[0-9]+\/set\/charge_template$/i)&&(O[t].chargeTemplate=JSON.parse(e))}function id(a,e){const t=Wa(a);if(t!=null){if(!(t in Q)){const o=new bn(t);Q[t]=o}if(a.match(/^openwb\/vehicle\/[0-9]+\/name$/i))Object.values(O).forEach(o=>{o.connectedVehicle==t&&(o.vehicleName=JSON.parse(e))}),Q[t].name=JSON.parse(e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/get\/soc$/i))Q[t].soc=JSON.parse(e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/get\/range$/i))isNaN(+e)?Q[t].range=0:Q[t].range=+e;else if(a.match(/^openwb\/vehicle\/[0-9]+\/charge_template$/i))Q[t].updateChargeTemplateId(+e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/ev_template$/i))Q[t].updateEvTemplateId(+e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/soc_module\/config$/i)){const o=JSON.parse(e);Object.values(O).forEach(s=>{s.connectedVehicle==t&&(s.isSocConfigured=o.type!==null,s.isSocManual=o.type=="manual")}),Q[t].isSocConfigured=o.type!==null,Q[t].isSocManual=o.type=="manual"}}}function ld(a,e){if(a.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+$/i)){const t=a.match(/[0-9]+$/i);if(t){const o=+t[0];Ft[o]=JSON.parse(e)}}else if(a.match(/^openwb\/vehicle\/template\/ev_template\/[0-9]+$/i)){const t=a.match(/[0-9]+$/i);if(t){const o=+t[0],s=JSON.parse(e);yn[o]=s}}}function Wa(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}function cd(a,e){a.match(/^openWB\/LegacySmarthome\/config\//i)?ud(a,e):a.match(/^openWB\/LegacySmarthome\/Devices\//i)&&dd(a,e)}function ud(a,e){const t=Ga(a);if(t==null)return;te.has(t)||Rt(t);const o=te.get(t);a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_configured$/i)?o.configured=e!="0":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_name$/i)?(o.name=e.toString(),o.icon=e.toString(),se["sh"+t].name=e.toString(),se["sh"+t].icon=e.toString()):a.match(/^openWB\/LegacySmarthome\/config\/set\/Devices\/[0-9]+\/mode$/i)?o.isAutomatic=e=="0":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_canSwitch$/i)?o.canSwitch=e=="1":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_homeConsumtion$/i)?o.countAsHouse=e=="1":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_temperatur_configured$/i)&&(o.tempConfigured=+e)}function dd(a,e){const t=Ga(a);if(t==null){console.warn("Smarthome: Missing index in "+a);return}te.has(t)||Rt(t);const o=te.get(t);if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Watt$/i))o.power=+e,hd("power");else if(!a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Wh$/i)){if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/RunningTimeToday$/i))o.runningTime=+e;else if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor0$/i))o.temp[0]=+e;else if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor1$/i))o.temp[1]=+e;else if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor2$/i))o.temp[2]=+e;else if(a.match(/^openWB\/LegacySmartHome\/Devices\/[0-9]+\/Status$/i))switch(+e){case 10:o.status="off";break;case 11:o.status="on";break;case 20:o.status="detection";break;case 30:o.status="timeout";break;default:o.status="off"}}}function hd(a){switch(a){case"power":H.devices.power=[...te.values()].filter(e=>e.configured&&!e.countAsHouse).reduce((e,t)=>e+t.power,0);break;case"energy":H.devices.energy=[...te.values()].filter(e=>e.configured&&!e.countAsHouse).reduce((e,t)=>e+t.energy,0);break;default:console.error("Unknown category")}}function Ga(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}const Mt=he([]);class ra{constructor(e,t,o,s){b(this,"name");b(this,"children");b(this,"count");b(this,"lastValue");this.name=e,this.children=t,this.count=o,this.lastValue=s}insert(e,t){if(e.length){const o=e.splice(1);if(e[0]==this.name)if(o.length){let s=!1;if(this.children.forEach(r=>{r.name==o[0]&&(r.insert(o,t),s=!0)}),!s){const r=new ra(o[0],[],0,"");r.insert(o,t),this.children.push(r)}}else this.count=this.count+1,this.lastValue=t}}}function pd(a,e){const t=a.split("/");if(t.length){let o=!1;if(Mt.forEach(s=>{s.name==t[0]&&(s.insert(t,e),o=!0)}),!o){const s=new ra(t[0],[],0,"");Mt.push(s),s.insert(t,e)}}}const gd=["openWB/counter/#","openWB/bat/#","openWB/pv/#","openWB/chargepoint/#","openWB/vehicle/#","openWB/general/chargemode_config/pv_charging/#","openWB/optional/et/#","openWB/system/#","openWB/LegacySmartHome/#","openWB/command/"+Jt()+"/#"];function md(){mn(fd),gd.forEach(a=>{Ke(a)}),fe()}function fd(a,e){pd(a,e.toString());const t=e.toString();a.match(/^openwb\/counter\/[0-9]+\//i)?vd(a,t):a.match(/^openwb\/counter\//i)?bd(a,t):a.match(/^openwb\/bat\//i)?nd(a,t):a.match(/^openwb\/pv\//i)?yd(a,t):a.match(/^openwb\/chargepoint\//i)?sd(a,t):a.match(/^openwb\/vehicle\/template\//i)?ld(a,t):a.match(/^openwb\/vehicle\//i)?id(a,t):a.match(/^openwb\/general\/chargemode_config\/pv_charging\//i)?_d(a,t):a.match(/^openwb\/graph\//i)?Hu(a,t):a.match(/^openwb\/log\/daily\//i)?Yu(a,t):a.match(/^openwb\/log\/monthly\//i)?ed(a,t):a.match(/^openwb\/log\/yearly\//i)?td(a,t):a.match(/^openwb\/optional\/et\//i)?od(a,t):a.match(/^openwb\/system\//i)?kd(a,t):a.match(/^openwb\/LegacySmartHome\//i)?cd(a,t):a.match(/^openwb\/command\//i)&&xd(a,t)}function vd(a,e){const t=a.split("/"),o=+t[2];if(o==de.evuId?wd(a,e):t[3]=="config",t[3]=="get"&&o in xe)switch(t[4]){case"power":xe[o].power=+e;break;case"config":break;case"fault_str":break;case"fault_state":break;case"power_factors":break;case"imported":break;case"exported":break;case"frequency":break;case"daily_imported":xe[o].energy_imported=+e;break;case"daily_exported":xe[o].energy_exported=+e;break}}function bd(a,e){if(a.match(/^openwb\/counter\/get\/hierarchy$/i)){const t=JSON.parse(e);if(t.length){wn(),is();for(const o of t)o.type=="counter"&&(de.evuId=o.id);Ua(t[0])}}else a.match(/^openwb\/counter\/set\/home_consumption$/i)?H.house.power=+e:a.match(/^openwb\/counter\/set\/daily_yield_home_consumption$/i)&&(H.house.energy=+e)}function Ua(a){switch(a.type){case"counter":$u(a.id,a.type);break;case"cp":_n(a.id);break;case"bat":Oa(a.id);break}a.children.forEach(e=>Ua(e))}function yd(a,e){const t=Sd(a);t&&!we.value.has(t)&&zn(t),a=="openWB/pv/get/power"?q.pv.power=-e:a=="openWB/pv/get/daily_exported"?q.pv.energy=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/power$/i)?we.value.get(t).power=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/daily_exported$/i)?we.value.get(t).energy=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/monthly_exported$/i)?we.value.get(t).energy_month=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/yearly_exported$/i)?we.value.get(t).energy_year=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/exported$/i)&&(we.value.get(t).energy_total=+e)}function _d(a,e){const t=a.split("/");if(t.length>0)switch(t[4]){case"bat_mode":de.updatePvBatteryPriority(JSON.parse(e));break}}function wd(a,e){switch(a.split("/")[4]){case"power":+e>0?(q.evuIn.power=+e,H.evuOut.power=0):(q.evuIn.power=0,H.evuOut.power=-e);break;case"daily_imported":q.evuIn.energy=+e;break;case"daily_exported":H.evuOut.energy=+e;break}}function kd(a,e){if(a.match(/^openWB\/system\/device\/[0-9]+\/component\/[0-9]+\/config$/i)){const t=JSON.parse(e);switch(t.type){case"counter":case"consumption_counter":xe[t.id]&&(xe[t.id].name=t.name);break;case"inverter":case"inverter_secondary":we.value.has(t.id)||we.value.set(t.id,new $a(t.id)),we.value.get(t.id).name=t.name;break;case"bat":pe.value.has(t.id)||Oa(t.id),pe.value.get(t.id).name=t.name}}}function xd(a,e){const t=a.split("/");if(a.match(/^openWB\/command\/[a-z]+\/error$/i)&&t[2]==Jt()){const o=JSON.parse(e);console.error(`Error message from openWB: +Command: ${o.command} +Data: JSON.stringify(err.data) +Error: + ${o.error}`)}}function Sd(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}const $d={key:0,class:"fas fa-caret-down"},Md={key:1,class:"fas fa-caret-right"},Pd={key:0,class:"content p-2 m-2"},Cd={key:1,class:"sublist col-md-9 m-0 p-0 ps-2"},Id=I({__name:"MqttNode",props:{node:{},level:{},hide:{type:Boolean},expandAll:{type:Boolean}},setup(a){const e=a;let t=Y(!e.hide),o=Y(!1);const s=g(()=>e.node.name),r=g(()=>[...e.node.children].sort((c,k)=>c.namee.node.count>0?"("+e.node.count+")":""),p=g(()=>e.node.children.length),u=g(()=>e.node.lastValue!=""?{"font-style":"italic","grid-column-start":e.level,"grid-column-end":-1}:{"grid-column-start":e.level,"grid-column-end":-1});function d(){p.value>0&&(t.value=!t.value),e.node.lastValue!=""&&(o.value=!o.value)}return(c,k)=>{const P=tn("MqttNode",!0);return l(),f(j,null,[n("div",{class:"name py-2 px-2 m-0",style:K(u.value),onClick:d},[(i(t)||e.expandAll)&&p.value>0||i(o)?(l(),f("span",$d)):(l(),f("span",Md)),J(" "+x(s.value)+x(h.value),1)],4),i(o)?(l(),f("div",Pd,[n("code",null,x(e.node.lastValue),1)])):w("",!0),(i(t)||e.expandAll)&&p.value>0?(l(),f("div",Cd,[(l(!0),f(j,null,Z(r.value,(A,G)=>(l(),$(P,{key:G,level:e.level+1,node:A,hide:!0,"expand-all":e.expandAll},null,8,["level","node","expand-all"]))),128))])):w("",!0)],64)}}}),Bd=F(Id,[["__scopeId","data-v-df7e578a"]]),Vd={class:"mqviewer"},Ld={class:"row pt-2"},Td={class:"col"},Od={key:0,class:"topiclist"},Ad=I({__name:"MQTTViewer",setup(a){Te(()=>{});const e=Y(!1);function t(){e.value=!e.value}const o=g(()=>e.value?"active":"");return(s,r)=>(l(),f("div",Vd,[n("div",Ld,[n("div",Td,[r[0]||(r[0]=n("h3",{class:"mqtitle ps-2"},"MQTT Message Viewer",-1)),r[1]||(r[1]=n("hr",null,null,-1)),n("button",{class:R(["btn btn-small btn-outline-primary ms-2",o.value]),onClick:t}," Expand All ",2),r[2]||(r[2]=n("hr",null,null,-1))])]),i(Mt)[0]?(l(),f("div",Od,[(l(!0),f(j,null,Z(i(Mt)[0].children.sort((h,p)=>h.name(l(),$(Bd,{key:p,node:h,level:1,hide:!0,"expand-all":e.value},null,8,["node","expand-all"]))),128))])):w("",!0)]))}}),Ed=F(Ad,[["__scopeId","data-v-a349646d"]]),zd=["value"],Dd=I({__name:"SelectInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,o=e,s=g({get(){return t.modelValue},set(r){o("update:modelValue",r)}});return(r,h)=>mt((l(),f("select",{id:"selectme","onUpdate:modelValue":h[0]||(h[0]=p=>s.value=p),class:"form-select"},[(l(!0),f(j,null,Z(r.options,(p,u)=>(l(),f("option",{key:u,value:p[1]},x(p[0]),9,zd))),128))],512)),[[an,s.value]])}}),Wd=F(Dd,[["__scopeId","data-v-5e33ce1f"]]),Gd={class:"subgrid m-0 p-0"},Ud={class:"settingscolumn"},jd={class:"settingscolumn"},Fd={class:"settingscolumn"},Nd=I({__name:"ThemeSettings",emits:["reset-arcs"],setup(a,{emit:e}){const t=e,o=[["Dunkel","dark"],["Hell","light"],["Blau","blue"]],s=[["3 kW","0"],["3,1 kW","1"],["3,14 kW","2"],["3,141 kW","3"],["3141 W","4"]],r=[["Orange","normal"],["Grün/Violett","standard"],["Bunt","advanced"]],h=[["Aus","off"],["Menü","navbar"],["Buttonleiste","buttonbar"]],p=[["Aus","no"],['"Alles"-Reiter',"infoview"],["Immer","always"]];return(u,d)=>(l(),$(Ge,{"full-width":!0},{title:_(()=>d[23]||(d[23]=[J(" Look & Feel ")])),buttons:_(()=>d[24]||(d[24]=[n("span",{type:"button",class:"float-end mt-0 ms-1","data-bs-toggle":"collapse","data-bs-target":"#themesettings"},[n("span",null,[n("i",{class:"fa-solid fa-circle-check"})])],-1)])),default:_(()=>[n("div",Gd,[n("div",Ud,[v(U,{fullwidth:!0,title:"Farbschema",icon:"fa-adjust",infotext:"Hintergrundfarbe"},{default:_(()=>[v(ke,{modelValue:i(m).displayMode,"onUpdate:modelValue":d[0]||(d[0]=c=>i(m).displayMode=c),options:o},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Farbschema Smart-Home-Geräte",icon:"fa-palette",infotext:"Für die Smart-Home-Geräte stehen mehrere Schemata zur Verfügung."},{default:_(()=>[v(ke,{modelValue:i(m).smartHomeColors,"onUpdate:modelValue":d[1]||(d[1]=c=>i(m).smartHomeColors=c),options:r},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Grafik: Raster",icon:"fa-th",infotext:"Verwende ein Hintergrundraster in den Grafiken"},{"inline-item":_(()=>[v(ie,{modelValue:i(m).showGrid,"onUpdate:modelValue":d[2]||(d[2]=c=>i(m).showGrid=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Variable Bogenlänge",icon:"fa-chart-area",infotext:"Im Graph 'Aktuelle Leistung' können die Bögen immer die volle Länge haben, oder entsprechend des aktuellen Gesamtleistung verkürzt dargestellt werden."},{"inline-item":_(()=>[v(ie,{modelValue:i(m).showRelativeArcs,"onUpdate:modelValue":d[3]||(d[3]=c=>i(m).showRelativeArcs=c)},null,8,["modelValue"])]),_:1}),i(m).showRelativeArcs?(l(),$(U,{key:0,fullwidth:!0,title:"Bögen zurücksetzen",icon:"fa-undo",infotext:"Durch Click auf den Button wird die Maximallänge der Bögen auf den aktuellen Wert gesetzt."},{default:_(()=>[i(m).showRelativeArcs?(l(),f("button",{key:0,class:"btn btn-secondary",onClick:d[4]||(d[4]=c=>t("reset-arcs"))}," Reset ")):w("",!0)]),_:1})):w("",!0),v(U,{fullwidth:!0,title:"Anzahl Dezimalstellen",icon:"fa-sliders-h",infotext:"Alle kW- und kWh-Werte werden mit der gewählten Anzahl an Stellen angezeigt."},{default:_(()=>[v(Wd,{modelValue:i(m).decimalPlaces,"onUpdate:modelValue":d[5]||(d[5]=c=>i(m).decimalPlaces=c),options:s},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Uhrzeit anzeigen",icon:"fa-clock",infotext:"Zeige die aktuelle Uhrzeit an. In der Menüleiste oder neben den Lade-Buttons."},{default:_(()=>[v(ke,{modelValue:i(m).showClock,"onUpdate:modelValue":d[6]||(d[6]=c=>i(m).showClock=c),options:h},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Kompakte Ladepunktliste",icon:"fa-list",infotext:"Zeige eine einzelne Ladepunktliste statt separater Element pro Ladepunkt."},{default:_(()=>[v(ke,{modelValue:i(m).shortCpList,"onUpdate:modelValue":d[7]||(d[7]=c=>i(m).shortCpList=c),options:p},null,8,["modelValue"])]),_:1})]),n("div",jd,[v(U,{fullwidth:!0,title:"Buttonleiste für Ladepunkte",icon:"fa-window-maximize",infotext:"Informationen zu Ladepunkten über den Diagrammen anzeigen."},{"inline-item":_(()=>[v(ie,{modelValue:i(m).showButtonBar,"onUpdate:modelValue":d[8]||(d[8]=c=>i(m).showButtonBar=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Filter-Buttons",icon:"fa-filter",infotext:"Hauptseite mit Buttons zur Auswahl der Kategorie."},{"inline-item":_(()=>[v(ie,{modelValue:i(m).showQuickAccess,"onUpdate:modelValue":d[9]||(d[9]=c=>i(m).showQuickAccess=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Breite Widgets",icon:"fa-desktop",infotext:"Widgets immer breit machen"},{"inline-item":_(()=>[v(ie,{modelValue:i(m).preferWideBoxes,"onUpdate:modelValue":d[10]||(d[10]=c=>i(m).preferWideBoxes=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Stufenlose Displaybreite",icon:"fa-maximize",infotext:"Die Breite des Displays wird immer voll ausgenutzt. Dies kann in einigen Fällen zu inkorrekter Darstellung führen."},{"inline-item":_(()=>[v(ie,{modelValue:i(m).fluidDisplay,"onUpdate:modelValue":d[11]||(d[11]=c=>i(m).fluidDisplay=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Animationen",icon:"fa-film",infotext:"Animationen anzeigen"},{"inline-item":_(()=>[v(ie,{modelValue:i(m).showAnimations,"onUpdate:modelValue":d[12]||(d[12]=c=>i(m).showAnimations=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Zähler anzeigen",icon:"fa-chart-bar",infotext:"Zeige die Werte zusätzlich angelegter Zähler"},{"inline-item":_(()=>[v(ie,{modelValue:i(m).showCounters,"onUpdate:modelValue":d[13]||(d[13]=c=>i(m).showCounters=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Fahrzeuge anzeigen",icon:"fa-car",infotext:"Zeige alle Fahrzeuge mit Ladestand und Reichweite"},{"inline-item":_(()=>[v(ie,{modelValue:i(m).showVehicles,"onUpdate:modelValue":d[14]||(d[14]=c=>i(m).showVehicles=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Standardfahrzeug anzeigen",icon:"fa-car",infotext:"Zeige das Standard-Fahrzeug in der Fahzeugliste"},{"inline-item":_(()=>[v(ie,{modelValue:i(m).showStandardVehicle,"onUpdate:modelValue":d[15]||(d[15]=c=>i(m).showStandardVehicle=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Wechselrichter-Details anzeigen",icon:"fa-solar-panel",infotext:"Zeige Details zu den einzelnen Wechselrichtern"},{"inline-item":_(()=>[v(ie,{modelValue:i(m).showInverters,"onUpdate:modelValue":d[16]||(d[16]=c=>i(m).showInverters=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Alternatives Energie-Widget",icon:"fa-chart-area",infotext:"Horizontale Darstellung der Energie-Werte"},{"inline-item":_(()=>[v(ie,{modelValue:i(m).alternativeEnergy,"onUpdate:modelValue":d[17]||(d[17]=c=>i(m).alternativeEnergy=c)},null,8,["modelValue"])]),_:1})]),n("div",Fd,[v(U,{fullwidth:!0,title:"Preistabelle anzeigen",icon:"fa-car",infotext:"Zeige die Strompreistabelle in einer separaten Box an"},{"inline-item":_(()=>[v(ie,{modelValue:i(m).showPrices,"onUpdate:modelValue":d[18]||(d[18]=c=>i(m).showPrices=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Untere Markierung in der Preistabelle",icon:"fa-car",infotext:"Position der unteren Markierung festlegen"},{default:_(()=>[v(ye,{id:"lowerPriceBound",modelValue:i(m).lowerPriceBound,"onUpdate:modelValue":d[19]||(d[19]=c=>i(m).lowerPriceBound=c),min:-25,max:95,step:.1,decimals:1,unit:"ct"},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Obere Markierung in der Preistabelle",icon:"fa-car",infotext:"Position der oberen Markierung festlegen"},{default:_(()=>[v(ye,{id:"upperPriceBound",modelValue:i(m).upperPriceBound,"onUpdate:modelValue":d[20]||(d[20]=c=>i(m).upperPriceBound=c),min:-25,max:95,step:.1,decimals:1,unit:"ct"},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"IFrame-Support für Einstellungen (Experimentell)",icon:"fa-gear",infotext:"Erlaubt das Lesen der Einstellungen, wenn das UI in andere Applikationen eingebettet ist (z.B. HomeAssistant). Erfordert eine mit SSL verschlüsselte Verbindung über HTTPS! Experimentelles Feature."},{"inline-item":_(()=>[v(ie,{modelValue:i(m).sslPrefs,"onUpdate:modelValue":d[21]||(d[21]=c=>i(m).sslPrefs=c)},null,8,["modelValue"])]),_:1}),d[25]||(d[25]=n("hr",null,null,-1)),v(U,{fullwidth:!0,title:"Debug-Modus",icon:"fa-bug-slash",infotext:"Kontrollausgaben in der Console sowie Anzeige von Bildschirmbreite und MQ-Viewer"},{"inline-item":_(()=>[v(ie,{modelValue:i(m).debug,"onUpdate:modelValue":d[22]||(d[22]=c=>i(m).debug=c)},null,8,["modelValue"])]),_:1}),d[26]||(d[26]=n("hr",null,null,-1))]),d[27]||(d[27]=n("div",{class:"grid-col-12 mb-3 me-3"},[n("button",{class:"btn btn-sm btn-secondary float-end","data-bs-toggle":"collapse","data-bs-target":"#themesettings"}," Schließen ")],-1))])]),_:1}))}}),Hd=F(Nd,[["__scopeId","data-v-785bc80b"]]),Rd={class:"container-fluid px-2 m-0 theme-colors"},Jd={id:"themesettings",class:"collapse"},qd={class:"row py-0 px-0 m-0"},Yd={key:1,class:"row py-0 m-0 d-flex justify-content-center"},Qd={key:2,class:"nav nav-tabs nav-justified mx-1 mt-2",role:"tablist"},Zd={key:0,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#pricecharttabbed"},Xd={key:1,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#vehiclelist"},Kd={key:2,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#batterylist"},eh={key:3,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#smarthomelist"},th={key:4,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#counterlist"},ah={key:5,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#inverterlist"},nh={key:3,id:"cpContent",class:"tab-content mx-0 pt-1"},rh={id:"showAll",class:"tab-pane active",role:"tabpanel","aria-labelledby":"showall-tab"},oh={class:"row py-0 m-0 d-flex justify-content-center"},sh={id:"chargepointlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"chargepoint-tab"},ih={class:"row py-0 m-0 d-flex justify-content-center"},lh={id:"vehiclelist",class:"tab-pane",role:"tabpanel","aria-labelledby":"vehicle-tab"},ch={key:0,class:"row py-0 m-0 d-flex justify-content-center"},uh={id:"batterylist",class:"tab-pane",role:"tabpanel","aria-labelledby":"battery-tab"},dh={class:"row py-0 m-0 d-flex justify-content-center"},hh={id:"smarthomelist",class:"tab-pane",role:"tabpanel","aria-labelledby":"smarthome-tab"},ph={key:0,class:"row py-0 m-0 d-flex justify-content-center"},gh={id:"counterlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"counter-tab"},mh={key:0,class:"row py-0 m-0 d-flex justify-content-center"},fh={id:"inverterlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"inverter-tab"},vh={key:0,class:"row py-0 m-0 d-flex justify-content-center"},bh={id:"pricecharttabbed",class:"tab-pane",role:"tabpanel","aria-labelledby":"price-tab"},yh={key:0,class:"row py-0 m-0 d-flex justify-content-center"},_h={key:0,class:"row p-2 mt-5"},wh={class:"col p-2"},kh={class:"d-flex justify-content-between"},xh={class:"mx-4"},Sh={key:0},$h=I({__name:"ColorsTheme",setup(a){const e=Y(!1),t=g(()=>[...te.values()].filter(h=>h.configured).length>0);function o(){Ba()}function s(){e.value=!e.value}Te(()=>{o(),window.addEventListener("resize",Vn),window.addEventListener("focus",r),md()});function r(){document.hasFocus()&&fe(!0)}return(h,p)=>(l(),f(j,null,[n("div",Rd,[n("div",Jd,[v(Hd,{onResetArcs:i(On)},null,8,["onResetArcs"])]),i(m).showButtonBar?(l(),$(ru,{key:0})):w("",!0),n("div",qd,[v(Nu,null,nn({item1:_(()=>[v(hr)]),item2:_(()=>[v(yo)]),_:2},[i(m).alternativeEnergy?{name:"item3",fn:_(()=>[v(vs)]),key:"0"}:{name:"item3",fn:_(()=>[v(No)]),key:"1"}]),1024)]),i(m).showQuickAccess?w("",!0):(l(),f("div",Yd,[v(Ot,{id:"1",compact:i(m).shortCpList=="always"},null,8,["compact"]),i(m).showPrices?(l(),$(Gt,{key:0,id:"NoTabs"})):w("",!0),i(m).showVehicles?(l(),$(Dt,{key:1})):w("",!0),v(At),t.value?(l(),$(Et,{key:2})):w("",!0),i(m).showCounters?(l(),$(zt,{key:3})):w("",!0),i(m).showInverters?(l(),$(Ut,{key:4})):w("",!0)])),i(m).showQuickAccess?(l(),f("nav",Qd,[p[6]||(p[6]=rn('AllesLadepunkte',2)),i(m).showPrices?(l(),f("a",Zd,p[0]||(p[0]=[n("i",{class:"fa-solid fa-lg fa-coins"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Strompreis",-1)]))):w("",!0),i(m).showVehicles?(l(),f("a",Xd,p[1]||(p[1]=[n("i",{class:"fa-solid fa-lg fa-car"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Fahrzeuge",-1)]))):w("",!0),i(de).isBatteryConfigured?(l(),f("a",Kd,p[2]||(p[2]=[n("i",{class:"fa-solid fa-lg fa-car-battery"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Speicher",-1)]))):w("",!0),t.value?(l(),f("a",eh,p[3]||(p[3]=[n("i",{class:"fa-solid fa-lg fa-plug"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Smart Home",-1)]))):w("",!0),i(m).showCounters?(l(),f("a",th,p[4]||(p[4]=[n("i",{class:"fa-solid fa-lg fa-bolt"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Zähler",-1)]))):w("",!0),i(m).showInverters?(l(),f("a",ah,p[5]||(p[5]=[n("i",{class:"fa-solid fa-lg fa-solar-panel"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Wechselrichter",-1)]))):w("",!0)])):w("",!0),i(m).showQuickAccess?(l(),f("div",nh,[n("div",rh,[n("div",oh,[v(Ot,{id:"2",compact:i(m).shortCpList!="no"},null,8,["compact"]),i(m).showPrices?(l(),$(Gt,{key:0,id:"Overview"})):w("",!0),i(m).showVehicles?(l(),$(Dt,{key:1})):w("",!0),v(At),t.value?(l(),$(Et,{key:2})):w("",!0),i(m).showCounters?(l(),$(zt,{key:3})):w("",!0),i(m).showInverters?(l(),$(Ut,{key:4})):w("",!0)])]),n("div",sh,[n("div",ih,[v(Ot,{id:"3",compact:i(m).shortCpList=="always"},null,8,["compact"])])]),n("div",lh,[i(m).showVehicles?(l(),f("div",ch,[v(Dt)])):w("",!0)]),n("div",uh,[n("div",dh,[v(At)])]),n("div",hh,[t.value?(l(),f("div",ph,[v(Et)])):w("",!0)]),n("div",gh,[i(m).showCounters?(l(),f("div",mh,[v(zt)])):w("",!0)]),n("div",fh,[i(m).showInverters?(l(),f("div",vh,[v(Ut)])):w("",!0)]),n("div",bh,[i(m).showPrices?(l(),f("div",yh,[v(Gt,{id:"Tabbed"})])):w("",!0)])])):w("",!0)]),i(m).debug?(l(),f("div",_h,[n("div",wh,[p[7]||(p[7]=n("hr",null,null,-1)),n("div",kh,[n("p",xh,"Screen Width: "+x(i(St).x),1),n("button",{class:"btn btn-sm btn-secondary mx-4",onClick:s}," MQ Viewer ")]),e.value?(l(),f("hr",Sh)):w("",!0),e.value?(l(),$(Ed,{key:1})):w("",!0)])])):w("",!0)],64))}}),Mh=F($h,[["__scopeId","data-v-0542a138"]]),Ph={class:"navbar navbar-expand-lg px-0 mb-0"},Ch={key:0,class:"position-absolute-50 navbar-text ms-4 navbar-time",style:{color:"var(--color-menu)"}},Ih=I({__name:"NavigationBar",setup(a){let e;const t=g(()=>m.fluidDisplay?"container-fluid":"container-lg");return Te(()=>{e=setInterval(()=>{Nt.value=new Date},1e3)}),on(()=>{clearInterval(e)}),(o,s)=>(l(),f(j,null,[n("nav",Ph,[n("div",{class:R(t.value)},[s[0]||(s[0]=n("a",{href:"/",class:"navbar-brand"},[n("span",null,"openWB")],-1)),i(m).showClock=="navbar"?(l(),f("span",Ch,x(i(La)(i(Nt))),1)):w("",!0),s[1]||(s[1]=n("button",{class:"navbar-toggler togglebutton ps-5",type:"button","data-bs-toggle":"collapse","data-bs-target":"#mainNavbar","aria-controls":"mainNavbar","aria-expanded":"false","aria-label":"Toggle navigation"},[n("span",{class:"fa-solid fa-ellipsis-vertical"})],-1)),s[2]||(s[2]=n("div",{id:"mainNavbar",class:"collapse navbar-collapse justify-content-end"},[n("div",{class:"nav navbar-nav"},[n("a",{id:"navStatus",class:"nav-link",href:"../../settings/#/Status"},"Status"),n("div",{class:"nav-item dropdown"},[n("a",{id:"loggingDropdown",class:"nav-link",href:"#",role:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[J("Auswertungen "),n("i",{class:"fa-solid fa-caret-down"})]),n("div",{class:"dropdown-menu","aria-labelledby":"loggingDropdown"},[n("a",{href:"../../settings/#/Logging/ChargeLog",class:"dropdown-item"},"Ladeprotokoll"),n("a",{href:"../../settings/#/Logging/Chart",class:"dropdown-item"},"Diagramme")])]),n("div",{class:"nav-item dropdown"},[n("a",{id:"settingsDropdown",class:"nav-link",href:"#",role:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[J("Einstellungen "),n("span",{class:"fa-solid fa-caret-down"})]),n("div",{class:"dropdown-menu","aria-labelledby":"settingsDropdown"},[n("a",{id:"navSettings",class:"nav-link",href:"../../settings/index.html"},"openWB"),n("a",{class:"nav-link","data-bs-toggle":"collapse","data-bs-target":"#themesettings","aria-expanded":"false","aria-controls":"themeSettings"},[n("span",null,[J("Look&Feel"),n("span",{class:"fa-solid fa-caret-down"})])])])])])],-1))],2)]),n("div",{class:R(t.value)},s[3]||(s[3]=[n("hr",{class:"m-0 p-0 mb-2"},null,-1)]),2)],64))}}),Bh=F(Ih,[["__scopeId","data-v-ed619966"]]),Vh={id:"app",class:"m-0 p-0"},Lh={class:"row p-0 m-0"},Th={class:"col-12 p-0 m-0"},Oh=I({__name:"App",setup(a){const e=g(()=>m.fluidDisplay?"container-fluid":"container-lg");return(t,o)=>(l(),f("div",Vh,[v(Bh),n("div",{class:R(["p-0",e.value])},[n("div",Lh,[n("div",Th,[v(Mh)])])],2)]))}}),Ah=sn(Oh);ln();Ah.mount("#app"); diff --git a/packages/modules/web_themes/colors/web/assets/index-CkWKKaPO.js b/packages/modules/web_themes/colors/web/assets/index-CkWKKaPO.js deleted file mode 100644 index 915deaba73..0000000000 --- a/packages/modules/web_themes/colors/web/assets/index-CkWKKaPO.js +++ /dev/null @@ -1,6 +0,0 @@ -var ja=Object.defineProperty;var Fa=(a,e,t)=>e in a?ja(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var b=(a,e,t)=>Fa(a,typeof e!="symbol"?e+"":e,t);import{r as ge,m as Na,c as p,a as Z,i as Ha,e as Le,u as jt,t as tt,b as wt,s as ce,d as L,p as _a,f as wa,w as Ra,o as l,g as f,h as x,j as n,n as R,k as M,l as w,q as de,v as _,x as J,y as i,z as v,F as N,A as K,B as ka,C as Re,D as pt,E as rt,G as ot,H as dt,I as ht,J as it,K as Ja,L as Ne,M as ae,N as qa,O as Te,P as mt,Q as Ya,R as Qa,S as xa,T as Za,U as Sa,V as Xa,W as Ka,X as en,Y as tn,Z as an,_ as nn,$ as rn,a0 as on,a1 as sn,a2 as ln}from"./vendor-CmSLe-Fc.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))o(s);new MutationObserver(s=>{for(const r of s)if(r.type==="childList")for(const d of r.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&o(d)}).observe(document,{childList:!0,subtree:!0});function t(s){const r={};return s.integrity&&(r.integrity=s.integrity),s.referrerPolicy&&(r.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?r.credentials="include":s.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function o(s){if(s.ep)return;s.ep=!0;const r=t(s);fetch(s.href,r)}})();var $e=(a=>(a.instant_charging="instant_charging",a.pv_charging="pv_charging",a.scheduled_charging="scheduled_charging",a.eco_charging="eco_charging",a.stop="stop",a))($e||{});class $a{constructor(e){b(this,"id");b(this,"name","Wechselrichter");b(this,"color","var(--color-pv)");b(this,"power",0);b(this,"energy",0);b(this,"energy_month",0);b(this,"energy_year",0);b(this,"energy_total",0);this.id=e}}const cn=[["EV","ev_mode"],["Speicher","bat_mode"],["MinSoc","min_soc_bat_mode"]];class un{constructor(e){b(this,"id");b(this,"name","Gerät");b(this,"power",0);b(this,"status","off");b(this,"energy",0);b(this,"runningTime",0);b(this,"configured",!1);b(this,"_showInGraph",!0);b(this,"color","white");b(this,"canSwitch",!1);b(this,"countAsHouse",!1);b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"tempConfigured",0);b(this,"temp",[300,300,300]);b(this,"on",!1);b(this,"isAutomatic",!0);b(this,"icon","");this.id=e}get showInGraph(){return this._showInGraph}set showInGraph(e){this._showInGraph=e,T.items["sh"+this.id].showInGraph=e,re()}setShowInGraph(e){this._showInGraph=e}}const ne=ge(new Map);function Rt(a){ne.has(a)?console.info("Duplicate sh device message: "+a):(ne.set(a,new un(a)),ne.get(a).color="var(--color-sh"+ne.size+")")}const dn=0,Ma={host:location.hostname,port:location.protocol=="https:"?443:80,endpoint:"/ws",protocol:location.protocol=="https:"?"wss":"ws",connectTimeout:4e3,reconnectPeriod:4e3,clean:!1,clientId:Math.random().toString(36).replace(/[^a-z]+/g,"").substring(0,6)},kt={topic:"",qos:dn};let Be;const{host:hn,port:gn,endpoint:pn,...Pa}=Ma,oa=`${Pa.protocol}://${hn}:${gn}${pn}`;try{console.debug("connectURL",oa),Be=Na.connect(oa,Pa),Be.on("connect",()=>{console.info("MQTT connection successful")}),Be.on("disconnect",()=>{console.info("MQTT disconnected")}),Be.on("error",a=>{console.error("MQTT connection failed: ",a)})}catch(a){console.error("MQTT connect error: ",a)}function mn(a){Be?Be.on("message",a):console.error("MqttRegister: MQTT client not available")}function Ke(a){kt.topic=a;const{topic:e,qos:t}=kt;Be.subscribe(e,{qos:t},o=>{if(o){console.error("MQTT Subscription error: "+o);return}})}function st(a){kt.topic=a;const{topic:e}=kt;Be.unsubscribe(e,t=>{if(t){console.error("MQTT Unsubscribe from "+a+" failed: "+t);return}})}async function xt(a,e){let o=Be.connected,s=0;for(;!o&&s<20;)console.warn("MQTT publish: Not connected. Waiting 0.1 seconds"),await fn(100),o=Be.connected,s+=1;if(s<20)try{Be.publish(a,e,{qos:0},r=>{r&&console.warn("MQTT publish error: ",r),console.info("MQTT publish: Message sent: ["+a+"]("+e+")")})}catch(r){console.warn("MQTT publish: caught error: "+r)}else console.error("MQTT publish: Lost connection to MQTT server. Please reload the page")}function Jt(){return Ma.clientId}function fn(a){return new Promise(e=>setTimeout(e,a))}class vn{constructor(e){b(this,"id");b(this,"name","Ladepunkt");b(this,"icon","Ladepunkt");b(this,"type","");b(this,"ev",0);b(this,"template",0);b(this,"connectedPhases",0);b(this,"phase_1",0);b(this,"autoPhaseSwitchHw",!1);b(this,"controlPilotInterruptionHw",!1);b(this,"isEnabled",!0);b(this,"isPluggedIn",!1);b(this,"isCharging",!1);b(this,"_isLocked",!1);b(this,"_connectedVehicle",0);b(this,"chargeTemplate",null);b(this,"evTemplate",0);b(this,"_chargeMode",$e.pv_charging);b(this,"_hasPriority",!1);b(this,"currentPlan","");b(this,"averageConsumption",0);b(this,"vehicleName","");b(this,"rangeCharged",0);b(this,"rangeUnit","");b(this,"counter",0);b(this,"dailyYield",0);b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"faultState",0);b(this,"faultStr","");b(this,"phasesInUse",0);b(this,"power",0);b(this,"chargedSincePlugged",0);b(this,"stateStr","");b(this,"current",0);b(this,"currents",[0,0,0]);b(this,"phasesToUse",0);b(this,"isSocConfigured",!0);b(this,"isSocManual",!1);b(this,"waitingForSoc",!1);b(this,"color","white");b(this,"_timedCharging",!1);b(this,"_instantChargeLimitMode","");b(this,"_instantTargetCurrent",0);b(this,"_instantTargetSoc",0);b(this,"_instantMaxEnergy",0);b(this,"_instantTargetPhases",0);b(this,"_pvFeedInLimit",!1);b(this,"_pvMinCurrent",0);b(this,"_pvMaxSoc",0);b(this,"_pvMinSoc",0);b(this,"_pvMinSocCurrent",0);b(this,"_pvMinSocPhases",1);b(this,"_pvChargeLimitMode","");b(this,"_pvTargetSoc",0);b(this,"_pvMaxEnergy",0);b(this,"_pvTargetPhases",0);b(this,"_ecoMinCurrent",0);b(this,"_ecoTargetPhases",0);b(this,"_ecoChargeLimitMode","");b(this,"_ecoTargetSoc",0);b(this,"_ecoMaxEnergy",0);b(this,"_etActive",!1);b(this,"_etMaxPrice",20);this.id=e}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked=e,ye("cpLock",e,this.id)}updateIsLocked(e){this._isLocked=e}get connectedVehicle(){return this._connectedVehicle}set connectedVehicle(e){this._connectedVehicle=e,ye("cpVehicle",e,this.id)}updateConnectedVehicle(e){this._connectedVehicle=e}get soc(){return X[this.connectedVehicle]?X[this.connectedVehicle].soc:0}set soc(e){X[this.connectedVehicle]&&(X[this.connectedVehicle].soc=e)}get chargeMode(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.selected)??$e.stop}set chargeMode(e){console.log("set mode"),this.chargeTemplate&&(console.log("active"),this.chargeTemplate.chargemode.selected=e,se(this.id))}get hasPriority(){var e;return((e=this.chargeTemplate)==null?void 0:e.prio)??!1}set hasPriority(e){this.chargeTemplate&&(this.chargeTemplate.prio=e,ye("cpPriority",e,this.id))}get timedCharging(){return this.chargeTemplate?this.chargeTemplate.time_charging.active:!1}set timedCharging(e){this.chargeTemplate.time_charging.active=e,ye("cpTimedCharging",e,this.id)}get instantTargetCurrent(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.instant_charging.current)??0}set instantTargetCurrent(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.instant_charging.current=e,se(this.id))}get instantChargeLimitMode(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.instant_charging.limit.selected)??"none"}set instantChargeLimitMode(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.instant_charging.limit.selected=e,se(this.id))}get instantTargetSoc(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.instant_charging.limit.soc)??0}set instantTargetSoc(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.instant_charging.limit.soc=e,se(this.id))}get instantMaxEnergy(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.instant_charging.limit.amount)??0}set instantMaxEnergy(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.instant_charging.limit.amount=e,se(this.id))}get instantTargetPhases(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.instant_charging.phases_to_use)??0}set instantTargetPhases(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.instant_charging.phases_to_use=e,se(this.id))}get pvFeedInLimit(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.pv_charging.feed_in_limit)??!1}set pvFeedInLimit(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.pv_charging.feed_in_limit=e,se(this.id))}get pvMinCurrent(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.pv_charging.min_current)??0}set pvMinCurrent(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.pv_charging.min_current=e,se(this.id))}get pvMaxSoc(){return this._pvMaxSoc}set pvMaxSoc(e){this._pvMaxSoc=e,ye("cpPvMaxSoc",e,this.id)}updatePvMaxSoc(e){this._pvMaxSoc=e}get pvMinSoc(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.pv_charging.min_soc)??0}set pvMinSoc(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.pv_charging.min_soc=e,se(this.id))}get pvMinSocCurrent(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.pv_charging.min_soc_current)??0}set pvMinSocCurrent(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.pv_charging.min_soc_current=e,se(this.id))}set pvMinSocPhases(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.pv_charging.phases_to_use_min_soc=e,se(this.id))}get pvMinSocPhases(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.pv_charging.phases_to_use_min_soc)??0}get pvChargeLimitMode(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.pv_charging.limit.selected)??"none"}set pvChargeLimitMode(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.pv_charging.limit.selected=e,se(this.id))}get pvTargetSoc(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.pv_charging.limit.soc)??0}set pvTargetSoc(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.pv_charging.limit.soc=e,se(this.id))}get pvMaxEnergy(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.pv_charging.limit.amount)??0}set pvMaxEnergy(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.pv_charging.limit.amount=e,se(this.id))}get pvTargetPhases(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.pv_charging.phases_to_use)??0}set pvTargetPhases(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.pv_charging.phases_to_use=e,se(this.id))}get ecoMinCurrent(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.eco_charging.current)??0}set ecoMinCurrent(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.eco_charging.current=e,se(this.id))}get ecoTargetPhases(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.eco_charging.phases_to_use)??0}set ecoTargetPhases(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.eco_charging.phases_to_use=e,se(this.id))}get ecoChargeLimitMode(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.eco_charging.limit.selected)??"none"}set ecoChargeLimitMode(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.eco_charging.limit.selected=e,se(this.id))}get ecoTargetSoc(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.eco_charging.limit.soc)??0}set ecoTargetSoc(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.eco_charging.limit.soc=e,se(this.id))}get ecoMaxEnergy(){var e;return((e=this.chargeTemplate)==null?void 0:e.chargemode.eco_charging.limit.amount)??0}set ecoMaxEnergy(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.eco_charging.limit.amount=e,se(this.id))}get etMaxPrice(){var e;return(((e=this.chargeTemplate)==null?void 0:e.chargemode.eco_charging.max_price)??0)*1e5}set etMaxPrice(e){this.chargeTemplate&&(this.chargeTemplate.chargemode.eco_charging.max_price=Math.ceil(e*1e3)/1e8,se(this.id))}get etActive(){return this.chargeTemplate&&this.chargeTemplate.chargemode.selected==$e.eco_charging}get realCurrent(){switch(this.phasesInUse){case 0:return 0;case 1:return this.currents[0];case 2:return(this.currents[0]+this.currents[1])/2;case 3:return(this.currents[0]+this.currents[1]+this.currents[2])/3;default:return 0}}toPowerItem(){return{name:this.name,power:this.power,energy:this.dailyYield,energyPv:this.energyPv,energyBat:this.energyBat,pvPercentage:this.pvPercentage,color:this.color,icon:this.icon,showInGraph:!0}}}class bn{constructor(e){b(this,"id");b(this,"name","__invalid");b(this,"tags",[]);b(this,"config",{});b(this,"soc",0);b(this,"range",0);b(this,"_chargeTemplateId",0);b(this,"isSocConfigured",!1);b(this,"isSocManual",!1);b(this,"_evTemplateId",0);this.id=e}get chargeTemplateId(){return this._chargeTemplateId}set chargeTemplateId(e){this._chargeTemplateId=e,ye("vhChargeTemplateId",e,this.id)}updateChargeTemplateId(e){this._chargeTemplateId=e}get evTemplateId(){return this._evTemplateId}set evTemplateId(e){this._evTemplateId=e,ye("vhEvTemplateId",e,this.id)}updateEvTemplateId(e){this._evTemplateId=e}get chargepoint(){for(const e of Object.values(O))if(e.connectedVehicle==this.id)return e}get visible(){return this.name!="__invalid"&&(this.id!=0||m.showStandardVehicle)}}const O=ge({}),X=ge({}),Ft=ge({}),yn=ge({});function _n(a){if(!(a in O)){O[a]=new vn(a);const e="var(--color-cp"+(Object.values(O).length-1)+")";O[a].color=e;const t="cp"+a;ie[t]?ie["cp"+a].color=e:ie[t]={name:"Ladepunkt",color:e,icon:"Ladepunkt"}}}function wn(){Object.keys(O).forEach(a=>{delete O[parseInt(a)]})}const fe=p(()=>{const a=[],e=Object.values(O),t=Object.values(X).filter(r=>r.visible);let o=-1;switch(e.length){case 0:o=t[0]?t[0].id:-1;break;default:o=e[0].connectedVehicle}let s=-1;switch(e.length){case 0:case 1:s=t[0]?t[0].id:-1;break;default:s=e[1].connectedVehicle}return o==s&&(s=t[1]?t[1].id:-1),o!=-1&&a.push(o),s!=-1&&a.push(s),a}),qt=[{name:"keine",id:"none"},{name:"Ladestand",id:"soc"},{name:"Energie",id:"amount"}],Ca={cpLock:"openWB/set/chargepoint/%/set/manual_lock",chargeMode:"openWB/set/vehicle/template/charge_template/%/chargemode/selected",cpPriority:"openWB/set/vehicle/template/charge_template/%/prio",cpTimedCharging:"openWB/set/vehicle/template/charge_template/%/time_charging/active",pvBatteryPriority:"openWB/set/general/chargemode_config/pv_charging/bat_mode",cpVehicle:"openWB/set/chargepoint/%/config/ev",cpInstantChargeLimitMode:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/selected",cpInstantTargetCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/current",cpInstantTargetSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/soc",cpInstantMaxEnergy:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/amount",cpPvFeedInLimit:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/feed_in_limit",cpPvMinCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_current",cpPvMaxSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/max_soc",cpPvMinSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc",cpPvMinSocCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc_current",cpEtMaxPrice:"openWB/set/vehicle/template/charge_template/%/et/max_price",vhChargeTemplateId:"openWB/set/vehicle/%/charge_template",vhEvTemplateId:"openWB/set/vehicle/%/ev_template",shSetManual:"openWB/set/LegacySmartHome/config/set/Devices/%/mode",shSwitchOn:"openWB/set/LegacySmartHome/config/set/Devices/%/device_manual_control",socUpdate:"openWB/set/vehicle/%/get/force_soc_update",setSoc:"openWB/set/vehicle/%/soc_module/calculated_soc_state/manual_soc",priceCharging:"openWB/set/vehicle/template/charge_template/%/et/active",chargeTemplate:"openWB/set/chargepoint/%/set/charge_template"};function ye(a,e,t=0){if(isNaN(t)){console.warn("Invalid index");return}let o=Ca[a];if(!o){console.warn("No topic for update type "+a);return}switch(a){default:o=o.replace("%",String(t))}switch(typeof e){case"number":xt(o,JSON.stringify(+e));break;default:xt(o,JSON.stringify(e))}}function Yt(a){xt("openWB/set/command/"+Jt()+"/todo",JSON.stringify(a))}function se(a){xt(Ca.chargeTemplate.replace("%",String(a)),JSON.stringify(O[a].chargeTemplate))}const we=500,Me=500,j={top:15,right:20,bottom:10,left:25},Qt=["charging","house","batIn","devices"];class kn{constructor(){b(this,"data",[]);b(this,"_graphMode","");b(this,"waitForData",!0)}get graphMode(){return this._graphMode}set graphMode(e){this._graphMode=e}}const y=ge(new kn),Ia=Z(Ha),Qe=p(()=>[0,we-j.left-2*j.right].map(a=>Ia.value.applyX(a)));let gt=!0,lt=!0;function sa(){gt=!1}function ia(){gt=!0}function la(){lt=!1}function ca(){lt=!0}function xn(a){lt=a}function ft(a){y.data=a,y.waitForData=!1}const me=ge({refreshTopicPrefix:"openWB/graph/alllivevaluesJson",updateTopic:"openWB/graph/lastlivevaluesJson",configTopic:"openWB/graph/config/#",initialized:!1,initCounter:0,graphRefreshCounter:0,rawDataPacks:[],duration:0,activate(a){this.unsubscribeUpdates(),this.subscribeRefresh(),a&&(y.data=[]),y.waitForData=!0,Ke(this.configTopic),this.initialized=!1,this.initCounter=0,this.graphRefreshCounter=0,this.rawDataPacks=[],Cn(),ct.value=!0},deactivate(){this.unsubscribeRefresh(),this.unsubscribeUpdates(),st(this.configTopic)},subscribeRefresh(){for(let a=1;a<17;a++)Ke(this.refreshTopicPrefix+a)},unsubscribeRefresh(){for(let a=1;a<17;a++)st(this.refreshTopicPrefix+a)},subscribeUpdates(){Ke(this.updateTopic)},unsubscribeUpdates(){st(this.updateTopic)}}),ue=ge({topic:"openWB/log/daily/#",date:new Date,activate(a){if(y.graphMode=="day"||y.graphMode=="today"){y.graphMode=="today"&&(this.date=new Date);const e=this.date.getFullYear().toString()+(this.date.getMonth()+1).toString().padStart(2,"0")+this.date.getDate().toString().padStart(2,"0");this.topic="openWB/log/daily/"+e,Ke(this.topic),a&&(y.data=[]),y.waitForData=!0,Yt({command:"getDailyLog",data:{date:e}})}},deactivate(){st(this.topic)},back(){this.date=new Date(this.date.setTime(this.date.getTime()-864e5))},forward(){this.date=new Date(this.date.setTime(this.date.getTime()+864e5))},setDate(a){this.date=a},getDate(){return this.date}}),Ee=ge({topic:"openWB/log/monthly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(a){const e=this.year.toString()+this.month.toString().padStart(2,"0");y.data=[],Ke(this.topic),a&&(y.data=[]),y.waitForData=!0,Yt({command:"getMonthlyLog",data:{date:e}})},deactivate(){st(this.topic)},back(){this.month-=1,this.month<1&&(this.month=12,this.year-=1),this.activate()},forward(){const a=new Date;a.getFullYear()==this.year?this.month-112&&(this.month=1,this.year+=1)),this.activate()},getDate(){return new Date(this.year,this.month)}}),qe=ge({topic:"openWB/log/yearly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(a){const e=this.year.toString();Ke(this.topic),a&&(y.data=[]),y.waitForData=!0,Yt({command:"getYearlyLog",data:{date:e}})},deactivate(){st(this.topic)},back(){this.year-=1,this.activate()},forward(){this.year0&&(T.items[a].energyPv+=1e3/12*(e[a]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),T.items[a].energyBat+=1e3/12*(e[a]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}function Mn(a,e){e[a]>0&&(T.items[a].energyPv+=1e3*(e[a]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),T.items[a].energyBat+=1e3*(e[a]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}const Pn=["evuIn","pv","batOut","evuOut"],Ze=Z(!1);function Zt(a,e){Object.entries(a).length>0?(Ze.value=!1,Object.entries(a.counter).forEach(([t,o])=>{(e.length==0||e.includes(t))&&(T.items.evuIn.energy+=o.energy_imported,T.items.evuOut.energy+=o.energy_exported)}),T.items.pv.energy=a.pv.all.energy_exported,a.bat.all&&(T.items.batIn.energy=a.bat.all.energy_imported,T.items.batOut.energy=a.bat.all.energy_exported),Object.entries(a.cp).forEach(([t,o])=>{t=="all"?(T.setEnergy("charging",o.energy_imported),o.energy_imported_pv!=null&&(T.setEnergyPv("charging",o.energy_imported_pv),T.setEnergyBat("charging",o.energy_imported_bat))):T.setEnergy(t,o.energy_imported)}),T.setEnergy("devices",0),Object.entries(a.sh).forEach(([t,o])=>{T.setEnergy(t,o.energy_imported);const s=t.substring(2);ne.get(+s).countAsHouse||(T.items.devices.energy+=o.energy_imported)}),a.hc&&a.hc.all?(T.setEnergy("house",a.hc.all.energy_imported),a.hc.all.energy_imported_pv!=null&&(T.setEnergyPv("house",a.hc.all.energy_imported_pv),T.setEnergyBat("house",a.hc.all.energy_imported_bat))):T.calculateHouseEnergy(),T.keys().forEach(t=>{Pn.includes(t)||(T.setPvPercentage(t,Math.round((T.items[t].energyPv+T.items[t].energyBat)/T.items[t].energy*100)),Qt.includes(t)&&(F[t].energy=T.items[t].energy,F[t].energyPv=T.items[t].energyPv,F[t].energyBat=T.items[t].energyBat,F[t].pvPercentage=T.items[t].pvPercentage))}),y.graphMode=="today"&&(Object.values(O).forEach(t=>{const o=T.items["cp"+t.id];o&&(t.energyPv=o.energyPv,t.energyBat=o.energyBat,t.pvPercentage=o.pvPercentage)}),ne.forEach(t=>{const o=T.items["sh"+t.id];o&&(t.energy=o.energy,t.energyPv=o.energyPv,t.energyBat=o.energyBat,t.pvPercentage=o.pvPercentage)}))):Ze.value=!0,ct.value=!0}const Ve=p(()=>{const a=Le(y.data,e=>new Date(e.date));return a[0]&&a[1]?jt().domain(a).range([0,we-j.left-2*j.right]):tt().range([0,0])});function Cn(){T.keys().forEach(a=>{Qt.includes(a)&&(F[a].energy=T.items[a].energy,F[a].energyPv=0,F[a].energyBat=0,F[a].pvPercentage=0)}),Object.values(O).forEach(a=>{a.energyPv=0,a.energyBat=0,a.pvPercentage=0}),ne.forEach(a=>{a.energyPv=0,a.energyBat=0,a.pvPercentage=0})}const Ye=p(()=>{const a=Le(y.data,e=>e.date);return a[1]?wt().domain(Array.from({length:a[1]},(e,t)=>t+1)).paddingInner(.4).range([0,we-j.left-2]):wt().range([0,0])});function Pt(){switch(y.graphMode){case"live":y.graphMode="today",m.showRightButton=!0,ve();break;case"today":y.graphMode="day",ue.deactivate(),ue.back(),ue.activate(),ve();break;case"day":ue.back(),ve();break;case"month":Ee.back();break;case"year":qe.back();break}}function Xt(){const a=new Date;switch(y.graphMode){case"live":break;case"today":y.graphMode="live",m.showRightButton=!1,ve();break;case"day":ue.forward(),ue.date.getDate()==a.getDate()&&ue.date.getMonth()==a.getMonth()&&ue.date.getFullYear()==a.getFullYear()&&(y.graphMode="today"),ve();break;case"month":Ee.forward();break;case"year":qe.forward();break}}function Kt(){switch(y.graphMode){case"live":Pt();break;case"day":case"today":y.graphMode="month",ve();break;case"month":y.graphMode="year",ve();break}}function ea(){switch(y.graphMode){case"year":y.graphMode="month",ve();break;case"month":y.graphMode="today",ve();break;case"today":case"day":y.graphMode="live",ve();break}}function ua(a){if(y.graphMode=="day"||y.graphMode=="today"){ue.setDate(a);const e=new Date;ue.date.getDate()==e.getDate()&&ue.date.getMonth()==e.getMonth()&&ue.date.getFullYear()==e.getFullYear()?y.graphMode="today":y.graphMode="day",ve()}}const Fe=Z(new Map);class In{constructor(){b(this,"_showRelativeArcs",!1);b(this,"showTodayGraph",!0);b(this,"_graphPreference","today");b(this,"_usageStackOrder",0);b(this,"_displayMode","dark");b(this,"_showGrid",!1);b(this,"_smartHomeColors","normal");b(this,"_decimalPlaces",1);b(this,"_showQuickAccess",!0);b(this,"_simpleCpList",!1);b(this,"_shortCpList","no");b(this,"_showAnimations",!0);b(this,"_preferWideBoxes",!1);b(this,"_maxPower",4e3);b(this,"_fluidDisplay",!1);b(this,"_showClock","no");b(this,"_showButtonBar",!0);b(this,"_showCounters",!1);b(this,"_showVehicles",!1);b(this,"_showStandardVehicle",!0);b(this,"_showPrices",!1);b(this,"_showInverters",!1);b(this,"_alternativeEnergy",!1);b(this,"_sslPrefs",!1);b(this,"_debug",!1);b(this,"_lowerPriceBound",0);b(this,"_upperPriceBound",0);b(this,"isEtEnabled",!1);b(this,"etPrice",20.5);b(this,"showRightButton",!0);b(this,"showLeftButton",!0);b(this,"animationDuration",300);b(this,"animationDelay",100);b(this,"zoomGraph",!1);b(this,"zoomedWidget",1)}get showRelativeArcs(){return this._showRelativeArcs}set showRelativeArcs(e){this._showRelativeArcs=e,re()}setShowRelativeArcs(e){this._showRelativeArcs=e}get graphPreference(){return this._graphPreference}set graphPreference(e){this._graphPreference=e,re()}setGraphPreference(e){this._graphPreference=e}get usageStackOrder(){return this._usageStackOrder}set usageStackOrder(e){this._usageStackOrder=e,re()}setUsageStackOrder(e){this._usageStackOrder=e}get displayMode(){return this._displayMode}set displayMode(e){this._displayMode=e,Tn(e)}setDisplayMode(e){this._displayMode=e}get showGrid(){return this._showGrid}set showGrid(e){this._showGrid=e,re()}setShowGrid(e){this._showGrid=e}get decimalPlaces(){return this._decimalPlaces}set decimalPlaces(e){this._decimalPlaces=e,re()}setDecimalPlaces(e){this._decimalPlaces=e}get smartHomeColors(){return this._smartHomeColors}set smartHomeColors(e){this._smartHomeColors=e,da(e),re()}setSmartHomeColors(e){this._smartHomeColors=e,da(e)}get showQuickAccess(){return this._showQuickAccess}set showQuickAccess(e){this._showQuickAccess=e,re()}setShowQuickAccess(e){this._showQuickAccess=e}get simpleCpList(){return this._simpleCpList}set simpleCpList(e){this._simpleCpList=e,re()}setSimpleCpList(e){this._simpleCpList=e}get shortCpList(){return this._shortCpList}set shortCpList(e){this._shortCpList=e,re()}setShortCpList(e){this._shortCpList=e}get showAnimations(){return this._showAnimations}set showAnimations(e){this._showAnimations=e,re()}setShowAnimations(e){this._showAnimations=e}get preferWideBoxes(){return this._preferWideBoxes}set preferWideBoxes(e){this._preferWideBoxes=e,re()}setPreferWideBoxes(e){this._preferWideBoxes=e}get maxPower(){return this._maxPower}set maxPower(e){this._maxPower=e,re()}setMaxPower(e){this._maxPower=e}get fluidDisplay(){return this._fluidDisplay}set fluidDisplay(e){this._fluidDisplay=e,re()}setFluidDisplay(e){this._fluidDisplay=e}get showClock(){return this._showClock}set showClock(e){this._showClock=e,re()}setShowClock(e){this._showClock=e}get sslPrefs(){return this._sslPrefs}set sslPrefs(e){this._sslPrefs=e,re()}setSslPrefs(e){this.sslPrefs=e}get debug(){return this._debug}set debug(e){this._debug=e,re()}setDebug(e){this._debug=e}get showButtonBar(){return this._showButtonBar}set showButtonBar(e){this._showButtonBar=e,re()}setShowButtonBar(e){this._showButtonBar=e}get showCounters(){return this._showCounters}set showCounters(e){this._showCounters=e,re()}setShowCounters(e){this._showCounters=e}get showVehicles(){return this._showVehicles}set showVehicles(e){this._showVehicles=e,re()}setShowVehicles(e){this._showVehicles=e}get showStandardVehicle(){return this._showStandardVehicle}set showStandardVehicle(e){this._showStandardVehicle=e,re()}setShowStandardVehicle(e){this._showStandardVehicle=e}get showPrices(){return this._showPrices}set showPrices(e){this._showPrices=e,re()}setShowPrices(e){this._showPrices=e}get showInverters(){return this._showInverters}set showInverters(e){this._showInverters=e,ia(),ca(),re()}setShowInverters(e){this._showInverters=e}get alternativeEnergy(){return this._alternativeEnergy}set alternativeEnergy(e){this._alternativeEnergy=e,ia(),ca(),re()}setAlternativeEnergy(e){this._alternativeEnergy=e}get lowerPriceBound(){return this._lowerPriceBound}set lowerPriceBound(e){this._lowerPriceBound=e,re()}setLowerPriceBound(e){this._lowerPriceBound=e}get upperPriceBound(){return this._upperPriceBound}set upperPriceBound(e){this._upperPriceBound=e,re()}setUpperPriceBound(e){this._upperPriceBound=e}}const m=ge(new In);function Ba(){En();const a=ce("html");a.classed("theme-dark",m.displayMode=="dark"),a.classed("theme-light",m.displayMode=="light"),a.classed("theme-blue",m.displayMode=="blue"),a.classed("shcolors-standard",m.smartHomeColors=="standard"),a.classed("shcolors-advanced",m.smartHomeColors=="advanced"),a.classed("shcolors-normal",m.smartHomeColors=="normal")}const Bn=992,St=ge({x:document.documentElement.clientWidth,y:document.documentElement.clientHeight});function Vn(){St.x=document.documentElement.clientWidth,St.y=document.documentElement.clientHeight,Ba()}const De=p(()=>St.x>=Bn),be={instant_charging:{mode:$e.instant_charging,name:"Sofort",color:"var(--color-charging)",icon:"fa-bolt"},pv_charging:{mode:$e.pv_charging,name:"PV",color:"var(--color-pv)",icon:"fa-solar-panel"},scheduled_charging:{mode:$e.scheduled_charging,name:"Zielladen",color:"var(--color-battery)",icon:"fa-bullseye"},eco_charging:{mode:$e.eco_charging,name:"Eco",color:"var(--color-devices)",icon:"fa-coins"},stop:{mode:$e.stop,name:"Stop",color:"var(--color-fg)",icon:"fa-power-off"}};class Ln{constructor(){b(this,"batterySoc",0);b(this,"isBatteryConfigured",!0);b(this,"chargeMode","0");b(this,"_pvBatteryPriority","ev_mode");b(this,"displayLiveGraph",!0);b(this,"isEtEnabled",!0);b(this,"etMaxPrice",0);b(this,"etCurrentPrice",0);b(this,"cpDailyExported",0);b(this,"evuId",0);b(this,"etProvider","")}get pvBatteryPriority(){return this._pvBatteryPriority}set pvBatteryPriority(e){this._pvBatteryPriority=e,ye("pvBatteryPriority",e)}updatePvBatteryPriority(e){this._pvBatteryPriority=e}}function re(){An()}function Tn(a){const e=ce("html");e.classed("theme-dark",a=="dark"),e.classed("theme-light",a=="light"),e.classed("theme-blue",a=="blue"),re()}function On(){m.maxPower=Q.evuIn.power+Q.pv.power+Q.batOut.power,re()}function da(a){const e=ce("html");e.classed("shcolors-normal",a=="normal"),e.classed("shcolors-standard",a=="standard"),e.classed("shcolors-advanced",a=="advanced")}const Je={chargemode:"Der Lademodus für das Fahrzeug an diesem Ladepunkt",vehicle:"Das Fahrzeug, das an diesem Ladepounkt geladen wird",locked:"Für das Laden sperren",priority:"Fahrzeuge mit Priorität werden bevorzugt mit mehr Leistung geladen, falls verfügbar",timeplan:"Das Laden nach Zeitplan für dieses Fahrzeug aktivieren",minsoc:"Immer mindestens bis zum eingestellten Ladestand laden. Wenn notwendig mit Netzstrom.",minpv:"Durchgehend mit mindestens dem eingestellten Strom laden. Wenn notwendig mit Netzstrom.",pricebased:"Laden bei dynamischem Stromtarif, wenn eingestellter Maximalpreis unterboten wird.",pvpriority:"Ladepriorität bei PV-Produktion. Bevorzung von Fahzeugen, Speicher, oder Fahrzeugen bis zum eingestellten Mindest-Ladestand. Die Einstellung ist für alle Ladepunkte gleich."};function An(){const a={};a.hideSH=[...ne.values()].filter(e=>!e.showInGraph).map(e=>e.id),a.showLG=m.graphPreference=="live",a.displayM=m.displayMode,a.stackO=m.usageStackOrder,a.showGr=m.showGrid,a.decimalP=m.decimalPlaces,a.smartHomeC=m.smartHomeColors,a.relPM=m.showRelativeArcs,a.maxPow=m.maxPower,a.showQA=m.showQuickAccess,a.simpleCP=m.simpleCpList,a.shortCP=m.shortCpList,a.animation=m.showAnimations,a.wideB=m.preferWideBoxes,a.fluidD=m.fluidDisplay,a.clock=m.showClock,a.showButtonBar=m.showButtonBar,a.showCounters=m.showCounters,a.showVehicles=m.showVehicles,a.showStandardV=m.showStandardVehicle,a.showPrices=m.showPrices,a.showInv=m.showInverters,a.altEngy=m.alternativeEnergy,a.lowerP=m.lowerPriceBound,a.upperP=m.upperPriceBound,a.sslPrefs=m.sslPrefs,a.debug=m.debug,document.cookie="openWBColorTheme="+JSON.stringify(a)+";max-age=16000000;"+(m.sslPrefs?"SameSite=None;Secure":"SameSite=Strict")}function En(){const e=document.cookie.split(";").filter(t=>t.split("=")[0]==="openWBColorTheme");if(e.length>0){const t=JSON.parse(e[0].split("=")[1]);t.decimalP!==void 0&&m.setDecimalPlaces(+t.decimalP),t.smartHomeC!==void 0&&m.setSmartHomeColors(t.smartHomeC),t.hideSH!==void 0&&t.hideSH.forEach(o=>{ne.get(o)==null&&Rt(o),ne.get(o).setShowInGraph(!1)}),t.showLG!==void 0&&m.setGraphPreference(t.showLG?"live":"today"),t.maxPow!==void 0&&m.setMaxPower(+t.maxPow),t.relPM!==void 0&&m.setShowRelativeArcs(t.relPM),t.displayM!==void 0&&m.setDisplayMode(t.displayM),t.stackO!==void 0&&m.setUsageStackOrder(t.stackO),t.showGr!==void 0&&m.setShowGrid(t.showGr),t.showQA!==void 0&&m.setShowQuickAccess(t.showQA),t.simpleCP!==void 0&&m.setSimpleCpList(t.simpleCP),t.shortCP!==void 0&&m.setShortCpList(t.shortCP),t.animation!=null&&m.setShowAnimations(t.animation),t.wideB!=null&&m.setPreferWideBoxes(t.wideB),t.fluidD!=null&&m.setFluidDisplay(t.fluidD),t.clock!=null&&m.setShowClock(t.clock),t.showButtonBar!==void 0&&m.setShowButtonBar(t.showButtonBar),t.showCounters!==void 0&&m.setShowCounters(t.showCounters),t.showVehicles!==void 0&&m.setShowVehicles(t.showVehicles),t.showStandardV!==void 0&&m.setShowStandardVehicle(t.showStandardV),t.showPrices!==void 0&&m.setShowPrices(t.showPrices),t.showInv!==void 0&&m.setShowInverters(t.showInv),t.altEngy!==void 0&&m.setAlternativeEnergy(t.altEngy),t.lowerP!==void 0&&m.setLowerPriceBound(t.lowerP),t.upperP!==void 0&&m.setUpperPriceBound(t.upperP),t.sslPrefs!==void 0&&m.setSslPrefs(t.sslPrefs),t.debug!==void 0&&m.setDebug(t.debug)}}const ie=ge({evuIn:{name:"Netz",color:"var(--color-evu)",icon:""},pv:{name:"PV",color:"var(--color-pv",icon:""},batOut:{name:"Bat >",color:"var(--color-battery)",icon:""},evuOut:{name:"Export",color:"var(--color-export)",icon:""},charging:{name:"Laden",color:"var(--color-charging)",icon:""},devices:{name:"Geräte",color:"var(--color-devices)",icon:""},batIn:{name:"> Bat",color:"var(--color-battery)",icon:""},house:{name:"Haus",color:"var(--color-house)",icon:""},cp1:{name:"Ladepunkt",color:"var(--color-cp1)",icon:"Ladepunkt"},cp2:{name:"Ladepunkt",color:"var(--color-cp2)",icon:"Ladepunkt"},cp3:{name:"Ladepunkt",color:"var(--color-cp3)",icon:"Ladepunkt"},cp4:{name:"Ladepunkt",color:"var(--color-cp4)",icon:"Ladepunkt"},cp5:{name:"Ladepunkt",color:"var(--color-cp5)",icon:"Ladepunkt"},cp6:{name:"Ladepunkt",color:"var(--color-cp6)",icon:"Ladepunkt"},cp7:{name:"Ladepunkt",color:"var(--color-cp7)",icon:"Ladepunkt"},cp8:{name:"Ladepunkt",color:"var(--color-cp8)",icon:"Ladepunkt"},sh1:{name:"Gerät",color:"var(--color-sh1)",icon:"Gerät"},sh2:{name:"Gerät",color:"var(--color-sh2)",icon:"Gerät"},sh3:{name:"Gerät",color:"var(--color-sh3)",icon:"Gerät"},sh4:{name:"Gerät",color:"var(--color-sh4)",icon:"Gerät"},sh5:{name:"Gerät",color:"var(--color-sh5)",icon:"Gerät"},sh6:{name:"Gerät",color:"var(--color-sh6)",icon:"Gerät"},sh7:{name:"Gerät",color:"var(--color-sh7)",icon:"Gerät"},sh8:{name:"Gerät",color:"var(--color-sh8)",icon:"Gerät"},sh9:{name:"Gerät",color:"var(--color-sh9)",icon:"Gerät"},pv1:{name:"PV",color:"var(--color-pv1)",icon:"Wechselrichter"},pv2:{name:"PV",color:"var(--color-pv2)",icon:"Wechselrichter"},pv3:{name:"PV",color:"var(--color-pv3)",icon:"Wechselrichter"},pv4:{name:"PV",color:"var(--color-pv4)",icon:"Wechselrichter"},pv5:{name:"PV",color:"var(--color-pv5)",icon:"Wechselrichter"},pv6:{name:"PV",color:"var(--color-pv6)",icon:"Wechselrichter"},pv7:{name:"PV",color:"var(--color-pv7)",icon:"Wechselrichter"},pv8:{name:"PV",color:"var(--color-pv8)",icon:"Wechselrichter"},pv9:{name:"PV",color:"var(--color-pv9)",icon:"Wechselrichter"},bat1:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat2:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat3:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat4:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat5:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat6:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat7:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat8:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat9:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"}});class Va{constructor(){b(this,"_items",{});this.addItem("evuIn"),this.addItem("pv"),this.addItem("batOut"),this.addItem("evuOut"),this.addItem("charging"),this.addItem("devices"),this.addItem("batIn"),this.addItem("house")}get items(){return this._items}keys(){return Object.keys(this._items)}values(){return Object.values(this._items)}addItem(e,t){this._items[e]=t?ze(e,t):ze(e)}setEnergy(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energy=t}setEnergyPv(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energyPv=t}setEnergyBat(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energyBat=t}setPvPercentage(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].pvPercentage=t<=100?t:100}calculateHouseEnergy(){this._items.house.energy=this._items.evuIn.energy+this._items.pv.energy+this._items.batOut.energy-this._items.evuOut.energy-this._items.batIn.energy-this._items.charging.energy-this._items.devices.energy}}let T=ge(new Va);function ta(){T=new Va}const Q=ge({evuIn:ze("evuIn"),pv:ze("pv"),batOut:ze("batOut")}),F=ge({evuOut:ze("evuOut"),charging:ze("charging"),devices:ze("devices"),batIn:ze("batIn"),house:ze("house")}),he=ge(new Ln);Z("");const ct=Z(!1);function ze(a,e){return{name:ie[a]?ie[a].name:"item",power:0,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:e||(ie[a]?ie[a].color:"var(--color-charging)"),icon:ie[a]?ie[a].icon:"",showInGraph:!0}}const Nt=Z(new Date),ke=Z(new Map),zn=a=>{ke.value.set(a,new $a(a)),ke.value.get(a).color=ie["pv"+ke.value.size].color},Dn=["origin"],Wn=L({__name:"PMSourceArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(a){const e=a,t=p(()=>{let o={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:"",showInGraph:!0},s=Q;s["zz-empty"]=o;const r=Object.values(Q).length-1,d=_a().value(h=>h.power).startAngle(-Math.PI/2+e.circleGapSize).endAngle(Math.PI/2-e.circleGapSize).sort(null),g=wa().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius).padAngle(0),u=ce("g#pmSourceArc");return u.selectAll("*").remove(),u.selectAll("sources").data(d(Object.values(s))).enter().append("path").attr("d",g).attr("fill",h=>h.data.color).attr("stroke",(h,c)=>c==r?h.data.power>0?"var(--color-scale)":"null":h.data.color),"pmSourceArc.vue"});return Ra(()=>{let o=Q.pv.power+Q.evuIn.power+Q.batOut.power;o>m.maxPower&&(m.maxPower=o)}),(o,s)=>(l(),f("g",{id:"pmSourceArc",origin:t.value},null,8,Dn))}}),Gn=["origin"],Un=L({__name:"PMUsageArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(a){const e=a,t=p(()=>{let o={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:"",showInGraph:!0};const s=[F.evuOut,F.charging].concat([...ne.values()].filter(h=>h.configured&&!h.countAsHouse).sort((h,c)=>c.power-h.power)).concat([F.batIn,F.house]).concat(o),r=s.length-1,d=_a().value(h=>h.power).startAngle(Math.PI*1.5-e.circleGapSize).endAngle(Math.PI/2+e.circleGapSize).sort(null),g=wa().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius),u=ce("g#pmUsageArc");return u.selectAll("*").remove(),u.selectAll("consumers").data(d(s)).enter().append("path").attr("d",g).attr("fill",h=>h.data.color).attr("stroke",(h,c)=>c==r?h.data.power>0?"var(--color-scale)":"null":h.data.color),"pmUsageArc.vue"});return(o,s)=>(l(),f("g",{id:"pmUsageArc",origin:t.value},null,8,Gn))}});function Pe(a,e=1){let t;if(a>=1e3&&e<4){switch(e){case 0:t=Math.round(a/1e3);break;case 1:t=Math.round(a/100)/10;break;case 2:t=Math.round(a/10)/100;break;case 3:t=Math.round(a)/1e3;break;default:t=Math.round(a/100)/10;break}return(t==null?void 0:t.toLocaleString(void 0,{minimumFractionDigits:e}))+" kW"}else return Math.round(a).toLocaleString()+" W"}function He(a,e=1,t=!1){let o;if(a>1e6&&(t=!0,a=a/1e3),a>=1e3&&e<4){switch(e){case 0:o=Math.round(a/1e3);break;case 1:o=Math.round(a/100)/10;break;case 2:o=Math.round(a/10)/100;break;case 3:o=Math.round(a)/1e3;break;default:o=Math.round(a/100)/10;break}return o.toLocaleString(void 0,{minimumFractionDigits:e})+(t?" MWh":" kWh")}else return Math.round(a).toLocaleString()+(t?" kWh":" Wh")}function jn(a){const e=Math.floor(a/3600),t=(a%3600/60).toFixed(0);return e>0?e+"h "+t+" min":t+" min"}function La(a){return a.toLocaleTimeString(["de-DE"],{hour:"2-digit",minute:"2-digit"})}function Fn(a,e){return["Jan","Feb","März","April","Mai","Juni","Juli","Aug","Sep","Okt","Nov","Dez"][a]+" "+e}function Nn(a){return a!=999?(Math.round(a*10)/10).toLocaleString(void 0,{minimumFractionDigits:1})+"°":"-"}const vt=L({__name:"FormatWatt",props:{watt:{}},setup(a){const e=a,t=p(()=>Pe(e.watt,m.decimalPlaces));return(o,s)=>x(t.value)}}),Hn={key:0,id:"pmLabel"},Rn=["x","y","fill","text-anchor"],Jn=22,Ae=L({__name:"PMLabel",props:{x:{},y:{},data:{},props:{},anchor:{},labeltext:{},labelicon:{},labelcolor:{}},setup(a){const e=a,t=p(()=>e.labeltext?e.labeltext:e.props?e.props.icon+" ":e.labelicon?e.labelicon+" ":""),o=p(()=>e.labelcolor?e.labelcolor:e.props?e.props.color:""),s=p(()=>!e.data||e.data.power>0),r=p(()=>e.labeltext?"":"fas");return(d,g)=>s.value?(l(),f("g",Hn,[n("text",{x:d.x,y:d.y,fill:o.value,"text-anchor":d.anchor,"font-size":Jn,class:"pmLabel"},[n("tspan",{class:R(r.value)},x(t.value),3),n("tspan",null,[d.data!==void 0?(l(),M(vt,{key:0,watt:d.data.power},null,8,["watt"])):w("",!0)])],8,Rn)])):w("",!0)}}),qn={class:"wb-widget p-0 m-0 shadow"},Yn={class:"d-flex justify-content-between"},Qn={class:"m-4 me-0 mb-0"},Zn={class:"p-4 pb-0 ps-0 m-0",style:{"text-align":"right"}},Xn={class:"px-4 pt-4 pb-2 wb-subwidget"},Kn={class:"row"},er={class:"col m-0 p-0"},tr={class:"container-fluid m-0 p-0"},ar={key:0},nr={class:"px-4 py-2 wb-subwidget"},rr={class:"row"},or={class:"col"},sr={class:"container-fluid m-0 p-0"},bt=L({__name:"WBWidget",props:{variableWidth:{type:Boolean},fullWidth:{type:Boolean}},setup(a){const e=a,t=p(()=>e.fullWidth?"col-12":e.variableWidth&&m.preferWideBoxes?"col-lg-6":"col-lg-4");return(o,s)=>(l(),f("div",{class:R(["p-2 m-0 d-flex",t.value])},[n("div",qn,[n("div",Yn,[n("h3",Qn,[de(o.$slots,"title",{},()=>[s[0]||(s[0]=n("div",{class:"p-0"},"(title goes here)",-1))]),de(o.$slots,"subtitle")]),n("div",Zn,[de(o.$slots,"buttons")])]),n("div",Xn,[n("div",Kn,[n("div",er,[n("div",tr,[de(o.$slots,"default")])])])]),o.$slots.footer!=null?(l(),f("div",ar,[s[1]||(s[1]=n("hr",null,null,-1)),n("div",nr,[n("div",rr,[n("div",or,[n("div",sr,[de(o.$slots,"footer")])])])])])):w("",!0)])],2))}});class ir{constructor(){b(this,"active",!1);b(this,"etPriceList",new Map);b(this,"etProvider","");b(this,"etMaxPrice",0)}get etCurrentPriceString(){const[e]=oe.etPriceList.values();return(Math.round(e*10)/10).toFixed(1)+" ct"}}const oe=ge(new ir),lr={id:"powermeter",class:"p-0 m-0"},cr=["viewBox"],ur=["transform"],dr=["x"],Xe=500,je=20,ha=1,hr=L({__name:"PowerMeter",setup(a){const e=Xe,t=Math.PI/40,o=[[4],[4,6],[1,4,6],[0,2,4,6],[0,2,3,5,6]],s=[{x:-85,y:e/2*1/5},{x:0,y:e/2*1/5},{x:85,y:e/2*1/5},{x:-85,y:e/2*2/5},{x:0,y:e/2*2/5},{x:85,y:e/2*2/5},{x:0,y:e/2*3/5}],r=p(()=>Xe/2-je),d=p(()=>{let z="",C=Object.values(Q).filter(B=>B.power>0);return C.length==1&&C[0].name=="PV"?z="Aktueller Verbrauch: ":z="Bezug/Verbrauch: ",z+Pe(F.house.power+F.charging.power+F.devices.power+F.batIn.power,m.decimalPlaces)}),g=p(()=>{let z=Q.pv.power+Q.evuIn.power+Q.batOut.power;return m.maxPower>z?Pe(m.maxPower,m.decimalPlaces):Pe(z,m.decimalPlaces)}),u=p(()=>Object.values(O)),h=p(()=>{let z=0;return m.showRelativeArcs&&(z=m.maxPower-(Q.pv.power+Q.evuIn.power+Q.batOut.power)),z<0?0:z}),c=p(()=>[F.evuOut,F.charging,F.devices,F.batIn,F.house].filter(z=>z.power>0)),k=p(()=>o[c.value.length-1]);function P(z){return s[k.value[z]]}function E(z){return z.length>12?z.slice(0,11)+".":z}const G=p(()=>{const[z]=oe.etPriceList.values();return Math.round(z*10)/10});return(z,C)=>(l(),M(bt,{"full-width":!0},{title:_(()=>C[0]||(C[0]=[J(" Aktuelle Leistung ")])),default:_(()=>[n("figure",lr,[(l(),f("svg",{viewBox:"0 0 "+Xe+" "+i(e)},[n("g",{transform:"translate("+Xe/2+","+i(e)/2+")"},[v(Wn,{radius:r.value,"corner-radius":ha,"circle-gap-size":t,"empty-power":h.value},null,8,["radius","empty-power"]),v(Un,{"sh-device":i(ne),radius:r.value,"corner-radius":ha,"circle-gap-size":t,"empty-power":h.value},null,8,["sh-device","radius","empty-power"]),v(Ae,{x:0,y:-i(e)/10*2,data:i(Q).pv,props:i(ie).pv,anchor:"middle",config:i(m)},null,8,["y","data","props","config"]),v(Ae,{x:0,y:-i(e)/10*3,data:i(Q).evuIn,props:i(ie).evuIn,anchor:"middle",config:i(m)},null,8,["y","data","props","config"]),v(Ae,{x:0,y:-i(e)/10,data:i(Q).batOut,props:i(ie).batOut,anchor:"middle",config:i(m)},null,8,["y","data","props","config"]),i(oe).active?(l(),M(Ae,{key:0,x:0,y:-i(e)/10,data:i(Q).batOut,props:i(ie).batOut,anchor:"middle",config:i(m)},null,8,["y","data","props","config"])):w("",!0),(l(!0),f(N,null,K(c.value,(B,q)=>(l(),M(Ae,{key:q,x:P(q).x,y:P(q).y,data:B,labelicon:B.icon,labelcolor:B.color,anchor:"middle",config:i(m)},null,8,["x","y","data","labelicon","labelcolor","config"]))),128)),i(fe)[0]!=null&&i(X)[i(fe)[0]]!=null?(l(),M(Ae,{key:1,x:-500/2-je/4+10,y:-i(e)/2+je+5,labeltext:E(i(X)[i(fe)[0]].name)+": "+Math.round(i(X)[i(fe)[0]].soc)+"%",labelcolor:u.value[0]?u.value[0].color:"var(--color-charging)",anchor:"start",config:i(m)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(fe)[1]!=null&&i(X)[i(fe)[1]]!=null?(l(),M(Ae,{key:2,x:Xe/2+je/4-10,y:-i(e)/2+je+5,labeltext:E(i(X)[i(fe)[1]].name)+": "+Math.round(i(X)[i(fe)[1]].soc)+"%",labelcolor:u.value[1]?u.value[1].color:"var(--color-charging)",anchor:"end",config:i(m)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(he).batterySoc>0?(l(),M(Ae,{key:3,x:-500/2-je/4+10,y:i(e)/2-je+15,labeltext:"Speicher: "+i(he).batterySoc+"%",labelcolor:i(F).batIn.color,anchor:"start",config:i(m)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(oe).active?(l(),M(Ae,{key:4,x:Xe/2+je/4-10,y:i(e)/2-je+15,value:G.value,labeltext:i(oe).etCurrentPriceString,labelcolor:"var(--color-charging)",anchor:"end",config:i(m)},null,8,["x","y","value","labeltext","config"])):w("",!0),v(Ae,{x:0,y:0,labeltext:d.value,labelcolor:"var(--color-fg)",anchor:"middle",config:i(m)},null,8,["labeltext","config"]),i(m).showRelativeArcs?(l(),f("text",{key:5,x:Xe/2-44,y:"2","text-anchor":"middle",fill:"var(--color-axis)","font-size":"12"}," Peak: "+x(g.value),9,dr)):w("",!0)],8,ur)],8,cr))])]),_:1}))}}),gr=["origin","origin2","transform"],pr=L({__name:"PgSourceGraph",props:{width:{},height:{},margin:{}},setup(a){const e=a,t={house:"var(--color-house)",batIn:"var(--color-battery)",inverter:"var(--color-pv)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",pv:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)"};var o,s;const r=m.showAnimations?m.animationDuration:0,d=m.showAnimations?m.animationDelay:0,g=p(()=>{const $=ce("g#pgSourceGraph");if(y.data.length>0){y.graphMode=="month"||y.graphMode=="year"?q($,Ye.value):B($,Ve.value),$.selectAll(".axis").remove();const D=$.append("g").attr("class","axis");D.call(G.value),D.selectAll(".tick").attr("font-size",12),D.selectAll(".tick line").attr("stroke",C.value).attr("stroke-width",z.value),D.select(".domain").attr("stroke","var(--color-bg)")}return"pgSourceGraph.vue"}),u=p(()=>ka().value(($,D)=>$[D]??0).keys(k.value)),h=p(()=>u.value(y.data)),c=p(()=>Re().range([e.height-10,0]).domain(y.graphMode=="year"?[0,Math.ceil(P.value[1]*10)/10]:[0,Math.ceil(P.value[1])])),k=p(()=>{let $=[];const D=["batOut","evuIn"];if(m.showInverters){const A=/pv\d+/;y.data.length>0&&($=Object.keys(y.data[0]).reduce((S,V)=>(V.match(A)&&S.push(V),S),[]))}switch(y.graphMode){case"live":return m.showInverters?["pv","batOut","evuIn"]:["selfUsage","evuOut","batOut","evuIn"];case"today":case"day":return $.forEach((A,S)=>{t[A]="var(--color-pv"+(S+1)+")"}),m.showInverters?[...$,...D]:["selfUsage","evuOut","batOut","evuIn"];default:return["evuIn","batOut","selfUsage","evuOut"]}}),P=p(()=>{let $=Le(y.data,D=>Math.max(D.pv+D.evuIn+D.batOut,D.selfUsage+D.evuOut));return $[0]!=null&&$[1]!=null?(y.graphMode=="year"&&($[0]=$[0]/1e3,$[1]=$[1]/1e3),$):[0,0]}),E=p(()=>y.graphMode=="month"||y.graphMode=="year"?-e.width-e.margin.right-22:-e.width),G=p(()=>pt(c.value).tickSizeInner(E.value).ticks(4).tickFormat($=>($==0?"":Math.round($*10)/10).toLocaleString(void 0))),z=p(()=>m.showGrid?"0.5":"1"),C=p(()=>m.showGrid?"var(--color-grid)":"var(--color-bg)");function B($,D){const A=rt().x((V,Y)=>D(y.data[Y].date)).y(c.value(0)).curve(ot),S=rt().x((V,Y)=>D(y.data[Y].date)).y0(V=>c.value(y.graphMode=="year"?V[0]/1e3:V[0])).y1(V=>c.value(y.graphMode=="year"?V[1]/1e3:V[1])).curve(ot);gt?($.selectAll("*").remove(),o=$.append("svg").attr("x",0).attr("width",e.width).selectAll(".sourceareas").data(h.value).enter().append("path").attr("fill",(Y,W)=>t[k.value[W]]).attr("d",Y=>A(Y)),o.transition().duration(r).delay(d).ease(dt).attr("d",Y=>S(Y)),sa()):o.data(h.value).transition().duration(0).ease(dt).attr("d",V=>S(V))}function q($,D){y.data.length>0&&(gt?($.selectAll("*").remove(),s=$.selectAll(".sourcebar").data(h.value).enter().append("g").attr("fill",(A,S)=>t[k.value[S]]).selectAll("rect").data(A=>A).enter().append("rect").attr("x",(A,S)=>D(y.data[S].date)??0).attr("y",()=>c.value(0)).attr("height",0).attr("width",D.bandwidth()),s.transition().duration(r).delay(d).ease(dt).attr("height",A=>y.graphMode=="year"?c.value(A[0]/1e3)-c.value(A[1]/1e3):c.value(A[0])-c.value(A[1])).attr("y",A=>y.graphMode=="year"?c.value(A[1]/1e3):c.value(A[1])),sa()):($.selectAll("*").remove(),s=$.selectAll(".sourcebar").data(h.value).enter().append("g").attr("fill",(A,S)=>t[k.value[S]]).selectAll("rect").data(A=>A).enter().append("rect").attr("x",(A,S)=>D(y.data[S].date)??0).attr("y",A=>y.graphMode=="year"?c.value(A[1]/1e3):c.value(A[1])).attr("width",D.bandwidth()).attr("height",A=>y.graphMode=="year"?c.value(A[0]/1e3)-c.value(A[1]/1e3):c.value(A[0])-c.value(A[1]))))}const I=p(()=>{const $=ce("g#pgSourceGraph");if(y.graphMode!="month"&&y.graphMode!="year"&&y.data.length>0){Ve.value.range(Qe.value);const D=rt().x((A,S)=>Ve.value(y.data[S].date)).y0(A=>c.value(A[0])).y1(A=>c.value(A[1])).curve(ot);$.selectAll("path").attr("d",A=>A?D(A):""),$.selectAll("g#sourceToolTips").select("rect").attr("x",A=>Ve.value(A.date)).attr("width",e.width/y.data.length)}return"zoomed"});return($,D)=>(l(),f("g",{id:"pgSourceGraph",origin:g.value,origin2:I.value,transform:"translate("+$.margin.left+","+$.margin.top+")"},null,8,gr))}}),mr=["origin","origin2","transform"],fr=L({__name:"PgUsageGraph",props:{width:{},height:{},margin:{},stackOrder:{}},setup(a){const e=a,t=p(()=>m.showInverters?[["house","charging","devices","batIn","evuOut"],["charging","devices","batIn","house","evuOut"],["devices","batIn","charging","house","evuOut"],["batIn","charging","house","devices","evuOut"]]:[["house","charging","devices","batIn"],["charging","devices","batIn","house"],["devices","batIn","charging","house"],["batIn","charging","house","devices"]]),o={house:"var(--color-house)",charging:"var(--color-charging)",batIn:"var(--color-battery)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)",cp0:"var(--color-cp0)",cp1:"var(--color-cp1)",cp2:"var(--color-cp2)",cp3:"var(--color-cp3)",sh1:"var(--color-sh1)",sh2:"var(--color-sh2)",sh3:"var(--color-sh3)",sh4:"var(--color-sh4)",devices:"var(--color-devices)"};var s,r;const d=m.showAnimations?m.animationDuration:0,g=m.showAnimations?m.animationDelay:0,u=p(()=>{const I=ce("g#pgUsageGraph");y.graphMode=="month"||y.graphMode=="year"?B(I):C(I),I.selectAll(".axis").remove();const $=I.append("g").attr("class","axis");return $.call(z.value),$.selectAll(".tick").attr("font-size",12).attr("color","var(--color-axis)"),m.showGrid?$.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):$.selectAll(".tick line").attr("stroke","var(--color-bg)"),$.select(".domain").attr("stroke","var(--color-bg)"),"pgUsageGraph.vue"}),h=p(()=>ka().value((I,$)=>I[$]??0).keys(P.value)),c=p(()=>h.value(y.data)),k=p(()=>Re().range([e.height+10,2*e.height]).domain(y.graphMode=="year"?[0,Math.ceil(E.value[1]*10)/10]:[0,Math.ceil(E.value[1])])),P=p(()=>{if(y.graphMode!="today"&&y.graphMode!="day"&&y.graphMode!="live")return t.value[e.stackOrder];{const I=t.value[e.stackOrder].slice(),$=I.indexOf("charging");I.splice($,1);const D=/cp\d+/;let A=[];return y.data.length>0&&(A=Object.keys(y.data[0]).reduce((S,V)=>(V.match(D)&&S.push(V),S),[])),A.forEach((S,V)=>{var Y;I.splice($+V,0,S),o[S]=((Y=O[+S.slice(2)])==null?void 0:Y.color)??"black"}),I}}),E=p(()=>{let I=Le(y.data,$=>$.house+$.charging+$.batIn+$.devices+$.evuOut);return I[0]!=null&&I[1]!=null?(y.graphMode=="year"&&(I[0]=I[0]/1e3,I[1]=I[1]/1e3),I):[0,0]}),G=p(()=>y.graphMode=="month"||y.graphMode=="year"?-e.width-e.margin.right-22:-e.width),z=p(()=>pt(k.value).tickSizeInner(G.value).ticks(4).tickFormat(I=>(I==0?"":Math.round(I*10)/10).toLocaleString(void 0)));function C(I){const $=rt().x((A,S)=>Ve.value(y.data[S].date)).y(k.value(0)).curve(ot),D=rt().x((A,S)=>Ve.value(y.data[S].date)).y0(A=>k.value(A[0])).y1(A=>k.value(A[1])).curve(ot);m.showAnimations?lt?(I.selectAll("*").remove(),s=I.append("svg").attr("x",0).attr("width",e.width).selectAll(".usageareas").data(c.value).enter().append("path").attr("d",S=>$(S)).attr("fill",(S,V)=>o[P.value[V]]),s.transition().duration(300).delay(100).ease(dt).attr("d",S=>D(S)),la()):(I.selectAll("*").remove(),I.append("svg").attr("x",0).attr("width",e.width).selectAll(".usageareas").data(c.value).enter().append("path").attr("d",S=>D(S)).attr("fill",(S,V)=>o[P.value[V]])):(I.selectAll("*").remove(),I.append("svg").attr("x",0).attr("width",e.width).selectAll(".usageareas").data(c.value).enter().append("path").attr("d",S=>D(S)).attr("fill",(S,V)=>o[P.value[V]]))}function B(I){lt?(I.selectAll("*").remove(),r=I.selectAll(".usagebar").data(c.value).enter().append("g").attr("fill",($,D)=>o[t.value[e.stackOrder][D]]).selectAll("rect").data($=>$).enter().append("rect").attr("x",($,D)=>Ye.value(y.data[D].date)??0).attr("y",()=>k.value(0)).attr("height",0).attr("width",Ye.value.bandwidth()),r.transition().duration(d).delay(g).ease(dt).attr("y",$=>y.graphMode=="year"?k.value($[0]/1e3):k.value($[0])).attr("height",$=>y.graphMode=="year"?k.value($[1]/1e3)-k.value($[0]/1e3):k.value($[1])-k.value($[0])),la()):(I.selectAll("*").remove(),r=I.selectAll(".usagebar").data(c.value).enter().append("g").attr("fill",($,D)=>o[t.value[e.stackOrder][D]]).selectAll("rect").data($=>$).enter().append("rect").attr("x",($,D)=>Ye.value(y.data[D].date)??0).attr("y",$=>y.graphMode=="year"?k.value($[0]/1e3):k.value($[0])).attr("height",$=>y.graphMode=="year"?k.value($[1]/1e3)-k.value($[0]/1e3):k.value($[1])-k.value($[0])).attr("width",Ye.value.bandwidth()))}const q=p(()=>{const I=ce("g#pgUsageGraph");if(y.graphMode!="month"&&y.graphMode!="year"){Ve.value.range(Qe.value);const $=rt().x((D,A)=>Ve.value(y.data[A].date)).y0(D=>k.value(D[0])).y1(D=>k.value(D[1])).curve(ot);I.selectAll("path").attr("d",D=>D?$(D):"")}return"zoomed"});return(I,$)=>(l(),f("g",{id:"pgUsageGraph",origin:u.value,origin2:q.value,transform:"translate("+I.margin.left+","+I.margin.top+")"},null,8,mr))}}),vr=["width"],br=["transform"],yr=["width"],_r=["transform"],wr=["origin","origin2","transform"],kr=["origin","transform"],xr={key:0},Sr=["width","height"],$r={key:1},Mr=["y","width","height"],It=12,Pr=L({__name:"PgXAxis",props:{width:{},height:{},margin:{}},setup(a){const e=a,t=p(()=>ht(Ve.value).ticks(6).tickSizeInner(d.value).tickFormat(it("%H:%M"))),o=p(()=>Ja(Ve.value).ticks(6).tickSizeInner(d.value+3).tickFormat(it(""))),s=p(()=>ht(Ye.value).ticks(4).tickSizeInner(d.value).tickFormat(c=>c.toString())),r=p(()=>ht(Ye.value).ticks(4).tickSizeInner(d.value).tickFormat(()=>"")),d=p(()=>y.graphMode!=="month"&&y.graphMode!=="year"?m.showGrid?-(e.height/2-7):-10:0),g=p(()=>{let c=ce("g#PGXAxis"),k=ce("g#PgUnit");return c.selectAll("*").remove(),k.selectAll("*").remove(),y.graphMode=="month"||y.graphMode=="year"?c.call(s.value):c.call(t.value),c.selectAll(".tick > text").attr("fill",(P,E)=>E>=0||y.graphMode=="month"||y.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",It),m.showGrid?c.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):c.selectAll(".tick line").attr("stroke","var(--color-bg)"),c.select(".domain").attr("stroke","var(--color-bg)"),k.append("text").attr("x",0).attr("y",12).attr("fill","var(--color-axis)").attr("font-size",It).text(y.graphMode=="year"?"MW":"kW").attr("text-anchor","start"),"PGXAxis.vue"}),u=p(()=>{let c=ce("g#PGXAxis2");return c.selectAll("*").remove(),y.graphMode=="month"||y.graphMode=="year"?c.call(r.value):c.call(o.value),c.selectAll(".tick > text").attr("fill",(k,P)=>P>=0||y.graphMode=="month"||y.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",It),m.showGrid?(c.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"),c.select(".domain").attr("stroke","var(--color-bg)")):c.selectAll(".tick line").attr("stroke","var(--color-bg)"),c.select(".domain").attr("stroke","var(--color-bg)"),"PGXAxis2.vue"}),h=p(()=>{if(y.graphMode!="month"&&y.graphMode!="year"){const c=ce("g#PGXAxis"),k=ce("g#PGXAxis2");y.graphMode=="month"||y.graphMode=="year"?(Ye.value.range(Qe.value),c.call(s.value),k.call(r.value)):(Ve.value.range(Qe.value),c.call(t.value),k.call(o.value))}return"zoomed"});return(c,k)=>(l(),f(N,null,[(l(),f("svg",{x:"0",width:e.width},[n("g",{id:"PgUnit",transform:"translate(0,"+(c.height/2+9)+")"},null,8,br)],8,vr)),(l(),f("svg",{x:0,width:e.width+10},[n("g",{transform:"translate("+c.margin.left+","+c.margin.top+")"},[n("g",{id:"PGXAxis",class:"axis",origin:g.value,origin2:h.value,transform:"translate(0,"+(c.height/2-6)+")"},null,8,wr),n("g",{id:"PGXAxis2",class:"axis",origin:u.value,transform:"translate(0,"+(c.height/2+-6)+")"},null,8,kr),i(m).showGrid?(l(),f("g",xr,[n("rect",{x:"0",y:"0",width:c.width,height:c.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,Sr)])):w("",!0),i(m).showGrid?(l(),f("g",$r,[n("rect",{x:"0",y:c.height/2+10,width:c.width,height:c.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,Mr)])):w("",!0)],8,_r)],8,yr))],64))}}),Cr=["width"],Ir=["id",".origin","d"],Br=["id","d","stroke"],Vr=["x","y","text-anchor"],Bt=L({__name:"PgSoc",props:{width:{},height:{},margin:{},order:{}},setup(a){const e=a,t=p(()=>{let P=Le(y.data,E=>E.date);return P[0]&&P[1]?tt().domain(P).range([0,e.width]):tt().range([0,0])}),o=p(()=>Re().range([e.height-10,0]).domain([0,100])),s=p(()=>{let E=Ne().x(G=>t.value(G.date)).y(G=>o.value(e.order==2?G.batSoc:e.order==0?G["soc"+fe.value[0]]:G["soc"+fe.value[1]])??o.value(0))(y.data);return E||""}),r=p(()=>e.order),d=p(()=>{switch(e.order){case 2:return"Speicher";case 1:return X[fe.value[1]]!=null?X[fe.value[1]].name:"???";default:return X[fe.value[0]]!=null?X[fe.value[0]].name:"???"}}),g=p(()=>{switch(e.order){case 0:return"var(--color-cp1)";case 1:return"var(--color-cp2)";case 2:return"var(--color-battery)";default:return"red"}}),u=p(()=>{switch(e.order){case 0:return 3;case 1:return e.width-3;case 2:return e.width/2;default:return 0}}),h=p(()=>{if(y.data.length>0){let P;switch(e.order){case 0:return P=0,o.value(y.data[P]["soc"+fe.value[0]]+2);case 1:return P=y.data.length-1,Math.max(12,o.value(y.data[P]["soc"+fe.value[1]]+2));case 2:return P=Math.round(y.data.length/2),o.value(y.data[P].batSoc+2);default:return 0}}else return 0}),c=p(()=>{switch(e.order){case 0:return"start";case 1:return"end";case 2:return"middle";default:return"middle"}}),k=p(()=>{if(y.graphMode!="month"&&y.graphMode!="year"){const P=ce("path#soc-"+r.value),E=ce("path#socdashes-"+r.value);t.value.range(Qe.value);const G=Ne().x(z=>t.value(z.date)).y(z=>o.value(e.order==2?z.batSoc:e.order==1?z["soc"+fe.value[0]]:z["soc"+fe.value[1]])??o.value(0));P.attr("d",G(y.data)),E.attr("d",G(y.data))}return"zoomed"});return(P,E)=>(l(),f("svg",{x:"0",width:e.width},[n("g",null,[n("path",{id:"soc-"+r.value,".origin":k.value,class:"soc-baseline",d:s.value,stroke:"var(--color-bg)","stroke-width":"1",fill:"none"},null,40,Ir),n("path",{id:"socdashes-"+r.value,class:"soc-dashes",d:s.value,stroke:g.value,"stroke-width":"1",style:{strokeDasharray:"3,3"},fill:"none"},null,8,Br),n("text",{class:"cpname",x:u.value,y:h.value,style:ae({fill:g.value,fontSize:10}),"text-anchor":c.value},x(d.value),13,Vr)])],8,Cr))}}),Lr=["transform"],Tr=L({__name:"PgSocAxis",props:{width:{},height:{},margin:{}},setup(a){const e=a,t=p(()=>Re().range([e.height-10,0]).domain([0,100])),o=p(()=>qa(t.value).ticks(5).tickFormat(r=>r.toString()+"%"));function s(){let r=ce("g#PGSocAxis");r.call(o.value),r.selectAll(".tick").attr("font-size",12),r.selectAll(".tick line").attr("stroke","var(--color-bg)"),r.select(".domain").attr("stroke","var(--color-bg)")}return Te(()=>{s()}),(r,d)=>(l(),f("g",{id:"PGSocAxis",class:"axis",transform:"translate("+(r.width-20)+",0)"},null,8,Lr))}}),Or={class:"d-flex align-self-top justify-content-center align-items-center"},Ar={class:"input-group input-group-xs"},Er={key:0,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},zr={class:"dropdown-menu"},Dr={class:"table optiontable"},Wr=["onClick"],Gr={key:1,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},Ur={class:"dropdown-menu"},jr={class:"table optiontable"},Fr=["onClick"],Nr={key:2,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},Hr={class:"dropdown-menu"},Rr={class:"table optiontable"},Jr=["onClick"],qr=L({__name:"DateInput",props:{modelValue:{type:Date,required:!0},mode:{type:String,default:"day"}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,o=new Date().getFullYear();let s=Array.from({length:10},(E,G)=>o-G);const r=Z(!0),d=e,g=[[0,1,2,3],[4,5,6,7],[8,9,10,11]],u=Z(t.modelValue.getDate()),h=Z(t.modelValue.getMonth()),c=Z(t.modelValue.getFullYear()),k=p(()=>{const G=new Date(c.value,h.value,1).getDay();let z=0;switch(h.value){case 1:case 3:case 5:case 7:case 8:case 10:case 12:z=31;break;case 4:case 6:case 9:case 11:z=30;break;case 2:Math.trunc(c.value/4)*4==c.value?z=29:z=28}let C=[],B=[0,0,0,0,0,0,0],q=G;for(let I=0;I(l(),f("span",Or,[n("div",Ar,[t.mode=="day"||t.mode=="today"?(l(),f("button",Er,x(u.value),1)):w("",!0),n("div",zr,[n("table",Dr,[(l(!0),f(N,null,K(k.value,(z,C)=>(l(),f("tr",{key:C,class:""},[(l(!0),f(N,null,K(z,(B,q)=>(l(),f("td",{key:q},[B!=0?(l(),f("span",{key:0,type:"button",class:"btn optionbutton",onClick:I=>u.value=B},x(B),9,Wr)):w("",!0)]))),128))]))),128))])]),t.mode!="year"&&t.mode!="live"?(l(),f("button",Gr,x(h.value+1),1)):w("",!0),n("div",Ur,[n("table",jr,[(l(),f(N,null,K(g,(z,C)=>n("tr",{key:C,class:""},[(l(!0),f(N,null,K(z,(B,q)=>(l(),f("td",{key:q,class:"p-0 m-0"},[n("span",{type:"button",class:"btn btn-sm optionbutton",onClick:I=>h.value=B},x(B+1),9,Fr)]))),128))])),64))])]),t.mode!="live"?(l(),f("button",Nr,x(c.value),1)):w("",!0),n("div",Hr,[n("table",Rr,[(l(!0),f(N,null,K(i(s),(z,C)=>(l(),f("tr",{key:C,class:""},[n("td",null,[n("span",{type:"button",class:"btn optionbutton",onClick:B=>c.value=z},x(z),9,Jr)])]))),128))])]),t.mode!="live"?(l(),f("button",{key:3,class:"button-outline-secondary",type:"button",onClick:P},G[0]||(G[0]=[n("span",{class:"fa-solid fa-circle-check"},null,-1)]))):w("",!0)])]))}}),H=(a,e)=>{const t=a.__vccOpts||a;for(const[o,s]of e)t[o]=s;return t},Yr=H(qr,[["__scopeId","data-v-98690e5d"]]),Qr={class:"btn-group m-0",role:"group","aria-label":"radiobar"},Zr=["id","value"],Xr=L({__name:"RadioBarInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,o=e,s=p({get(){return t.modelValue},set(g){o("update:modelValue",g)}});function r(g){let u=t.options[g].color?t.options[g].color:"var(--color-fg)";return t.options[g].active?{color:"var(--color-bg)",background:u}:{color:u}}function d(g){let u=g.target;for(;u&&!u.value&&u.parentElement;)u=u.parentElement;u.value&&(s.value=u.value)}return(g,u)=>(l(),f("div",null,[n("div",Qr,[(l(!0),f(N,null,K(g.options,(h,c)=>(l(),f("button",{id:"radio-"+h.value,key:c,class:R(["btn btn-outline-secondary btn-sm radiobutton mx-0 mb-0 px-2",h.value==s.value?"active":""]),value:h.value,style:ae(r(c)),onClick:d},[n("span",{style:ae(r(c))},[h.icon?(l(),f("i",{key:0,class:R(["fa-solid",h.icon])},null,2)):w("",!0),J(" "+x(h.text),1)],4)],14,Zr))),128))])]))}}),Ta=H(Xr,[["__scopeId","data-v-82ab6829"]]),Kr=L({__name:"PgSelector",props:{widgetid:{},showLeftButton:{type:Boolean},showRightButton:{type:Boolean},ignoreLive:{type:Boolean}},emits:["shiftLeft","shiftRight","shiftUp","shiftDown"],setup(a){const e=a,t=Z(0),o=p(()=>{if(y.waitForData)return"Lädt";switch(y.graphMode){case"live":return e.ignoreLive?"heute":`${me.duration} min`;case"today":return"heute";case"day":return ue.date.getDate()+"."+(ue.date.getMonth()+1)+".";case"month":return Fn(Ee.month-1,Ee.year);case"year":return qe.year.toString();default:return"???"}}),s=["live","today","day","month","year"],r=["Live","Heute","Tag","Monat","Jahr"],d=p({get(){return y.graphMode},set(q){switch(q){case"day":k();break;case"today":P();break;case"live":c();break;case"month":E();break;case"year":G()}}}),g=p(()=>{switch(y.graphMode){case"live":case"today":return ue.getDate();case"month":return Ee.getDate();default:return ue.getDate()}});function u(q){ua(q)}function h(){t.value+=1,t.value>2&&(t.value=0)}function c(){y.graphMode!="live"&&(y.graphMode="live",ve())}function k(){y.graphMode!="day"&&y.graphMode!="today"&&(y.graphMode="day",ve())}function P(){y.graphMode!="today"&&(y.graphMode="today",ua(new Date),ve())}function E(){y.graphMode!="month"&&(y.graphMode="month",ve())}function G(){y.graphMode!="year"&&(y.graphMode="year",ve())}const z=p(()=>t.value>0?{border:"1px solid var(--color-frame)"}:""),C=p(()=>t.value==1?"justify-content-between":"justify-content-end"),B=p(()=>t.value==1?"justify-content-between":"justify-content-center");return(q,I)=>(l(),f("div",{class:"d-flex flex-column justify-content-center pgselector rounded",style:ae(z.value)},[t.value==2?(l(),M(Ta,{key:0,id:"pgm2",modelValue:d.value,"onUpdate:modelValue":I[0]||(I[0]=$=>d.value=$),class:"m-2",options:s.map(($,D)=>({text:r[D],value:$,color:"var(--color-menu)",active:$==i(y).graphMode}))},null,8,["modelValue","options"])):w("",!0),t.value==1?(l(),f("span",{key:1,type:"button",class:R(["arrowButton d-flex align-self-center mb-3 mt-3",{disabled:!e.showLeftButton}]),onClick:I[1]||(I[1]=$=>q.$emit("shiftUp"))},I[6]||(I[6]=[n("i",{class:"fa-solid fa-xl fa-chevron-circle-up"},null,-1)]),2)):w("",!0),n("div",{class:R(["d-flex align-items-center",B.value])},[t.value==1?(l(),f("span",{key:0,type:"button",class:R(["p-1",{disabled:!e.showLeftButton}]),onClick:I[2]||(I[2]=$=>q.$emit("shiftLeft"))},I[7]||(I[7]=[n("span",{class:"fa-solid fa-xl fa-chevron-circle-left arrowButton"},null,-1)]),2)):w("",!0),t.value<2?(l(),f("span",{key:1,type:"button",class:"btn-outline-secondary p-2 px-3 badge rounded-pill datebadge",onClick:h},x(o.value),1)):w("",!0),t.value==2?(l(),M(Yr,{key:2,"model-value":g.value,mode:i(y).graphMode,"onUpdate:modelValue":u},null,8,["model-value","mode"])):w("",!0),t.value==1?(l(),f("span",{key:3,id:"graphRightButton",type:"button",class:R(["arrowButton fa-solid fa-xl fa-chevron-circle-right p-1",{disabled:!e.showRightButton}]),onClick:I[3]||(I[3]=$=>q.$emit("shiftRight"))},null,2)):w("",!0)],2),n("div",{class:R(["d-flex align-items-center",C.value])},[t.value==1?(l(),f("span",{key:0,type:"button",class:"p-1",onClick:h},I[8]||(I[8]=[n("span",{class:"fa-solid fa-xl fa-gear"},null,-1)]))):w("",!0),t.value==1?(l(),f("span",{key:1,id:"graphLeftButton",type:"button",class:R(["arrowButton fa-solid fa-xl fa-chevron-circle-down p-1",{disabled:!e.showLeftButton}]),onClick:I[4]||(I[4]=$=>q.$emit("shiftDown"))},null,2)):w("",!0),t.value>0?(l(),f("span",{key:2,type:"button",class:"p-1",onClick:I[5]||(I[5]=$=>t.value=0)},I[9]||(I[9]=[n("span",{class:"fa-solid fa-xl fa-circle-check"},null,-1)]))):w("",!0)],2)],4))}}),aa=H(Kr,[["__scopeId","data-v-d75ec1a4"]]),eo=["x","fill"],to=["x"],Ie=L({__name:"PgToolTipLine",props:{cat:{},name:{},indent:{},power:{},width:{}},setup(a){const e=a;return(t,o)=>(l(),f(N,null,[t.power>0?(l(),f("tspan",{key:0,x:t.indent,dy:"1.3em",class:R(t.name?"":"fas"),fill:i(ie)[t.cat].color},x(t.name?t.name:i(ie)[t.cat].icon)+"   ",11,eo)):w("",!0),n("tspan",{"text-anchor":"end",x:t.width-t.indent},[e.power>0?(l(),M(vt,{key:0,watt:t.power*1e3},null,8,["watt"])):w("",!0)],8,to)],64))}}),ao=["transform"],no=["width","height"],ro={"text-anchor":"start",x:"5",y:"20","font-size":"16",fill:"var(--color-fg)"},oo=["x"],so=L({__name:"PgToolTipItem",props:{entry:{},boxwidth:{},xScale:{type:[Function,Object]}},setup(a){const e=a,t=p(()=>Object.values(e.entry).filter(u=>u>0).length),o=p(()=>t.value*16),s=p(()=>Object.entries(e.entry).filter(([u,h])=>u.startsWith("pv")&&u.length>2&&h>0).map(([u,h])=>({power:h,name:Fe.value.get(u)?g(Fe.value.get(u)):"Wechselr.",id:u}))),r=p(()=>Object.entries(e.entry).filter(([u,h])=>u.startsWith("cp")&&u.length>2&&h>0).map(([u,h])=>({power:h,name:Fe.value.get(u)?g(Fe.value.get(u)):"Ladep.",id:u}))),d=p(()=>Object.entries(e.entry).filter(([u,h])=>u.startsWith("sh")&&u.length>2&&h>0).map(([u,h])=>({power:h,name:Fe.value.get(u)?g(Fe.value.get(u)):"Gerät",id:u})));function g(u){return u.length>6?u.slice(0,6)+"...":u}return(u,h)=>(l(),f("g",{class:"ttmessage",transform:"translate("+u.xScale(u.entry.date)+",0)"},[n("rect",{rx:"5",width:u.boxwidth,height:o.value,fill:"var(--color-bg)",opacity:"80%",stroke:"var(--color-menu)"},null,8,no),n("text",ro,[n("tspan",{"text-anchor":"middle",x:u.boxwidth/2,dy:"0em"},x(i(it)("%H:%M")(new Date(u.entry.date))),9,oo),h[0]||(h[0]=n("line",{y:"120",x1:"5",x2:"100",stroke:"var(--color-fg)","stroke-width":"1"},null,-1)),v(Ie,{cat:"evuIn",indent:5,power:u.entry.evuIn,width:u.boxwidth},null,8,["power","width"]),v(Ie,{cat:"batOut",indent:5,power:u.entry.batOut,width:u.boxwidth},null,8,["power","width"]),v(Ie,{cat:"pv",indent:5,power:u.entry.pv,width:u.boxwidth},null,8,["power","width"]),(l(!0),f(N,null,K(s.value,c=>(l(),M(Ie,{key:c.id,cat:"pv",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),v(Ie,{cat:"house",indent:5,power:u.entry.house,width:u.boxwidth},null,8,["power","width"]),v(Ie,{cat:"charging",indent:5,power:u.entry.charging,width:u.boxwidth},null,8,["power","width"]),(l(!0),f(N,null,K(r.value,c=>(l(),M(Ie,{key:c.id,cat:"charging",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),v(Ie,{cat:"devices",indent:5,power:u.entry.devices,width:u.boxwidth},null,8,["power","width"]),(l(!0),f(N,null,K(d.value,c=>(l(),M(Ie,{key:c.id,cat:"devices",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),v(Ie,{cat:"batIn",indent:5,power:u.entry.batIn,width:u.boxwidth},null,8,["power","width"]),v(Ie,{cat:"evuOut",indent:5,power:u.entry.evuOut,width:u.boxwidth},null,8,["power","width"])])],8,ao))}}),io=["origin","transform"],lo=["x","height","width"],ga=140,co=L({__name:"PgToolTips",props:{width:{},height:{},margin:{},data:{}},setup(a){const e=a,t=p(()=>{const r=Le(e.data,d=>new Date(d.date));return r[0]&&r[1]?jt().domain(r).range([0,e.width-e.margin.right]):tt().range([0,0])}),o=p(()=>{const r=Le(e.data,d=>new Date(d.date));return r[0]&&r[1]?jt().domain(r).range([0,e.width-e.margin.right-ga]):tt().range([0,0])}),s=p(()=>((y.graphMode=="day"||y.graphMode=="today")&&(t.value.range(Qe.value),ce("g#pgToolTips").selectAll("g.ttarea").select("rect").attr("x",(r,d)=>e.data.length>d?t.value(e.data[d].date):0).attr("width",e.data.length>0?(Qe.value[1]-Qe.value[0])/e.data.length:0)),"PgToolTips.vue:autozoom"));return(r,d)=>(l(),f("g",{id:"pgToolTips",origin:s.value,transform:"translate("+r.margin.left+","+r.margin.top+")"},[(l(!0),f(N,null,K(r.data,g=>(l(),f("g",{key:g.date,class:"ttarea"},[n("rect",{x:t.value(g.date),y:"0",height:r.height,class:"ttrect",width:i(y).data.length>0?r.width/i(y).data.length:0,opacity:"1%",fill:"var(--color-charging)"},null,8,lo),v(so,{entry:g,boxwidth:ga,"x-scale":o.value},null,8,["entry","x-scale"])]))),128))],8,io))}}),uo={class:"d-flex justify-content-end"},ho={id:"powergraphFigure",class:"p-0 m-0"},go=["viewBox"],po=["transform"],mo=["x","y"],fo=2,vo="Leistung / Ladestand ",bo=L({__name:"PowerGraph",setup(a){function e(){let d=m.usageStackOrder+1;d>fo&&(d=0),m.usageStackOrder=d,xn(!0)}function t(d){const g=[[0,j.top],[we,Me-j.top]];d.call(Qa().scaleExtent([1,8]).translateExtent([[0,0],[we,Me]]).extent(g).filter(s).on("zoom",o))}function o(d){Ia.value=d.transform}function s(d){return d.preventDefault(),(!d.ctrlKey||d.type==="wheel")&&!d.button}function r(){m.zoomedWidget=1,m.zoomGraph=!m.zoomGraph}return Te(()=>{const d=ce("svg#powergraph");t(d)}),(d,g)=>(l(),M(bt,{"full-width":!0},{title:_(()=>[J(x(vo))]),buttons:_(()=>[n("div",uo,[v(aa,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!1,onShiftLeft:i(Pt),onShiftRight:i(Xt),onShiftUp:i(Kt),onShiftDown:i(ea)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),f("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:r},g[0]||(g[0]=[n("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[mt(n("figure",ho,[(l(),f("svg",{id:"powergraph",class:"powergraphSvg",viewBox:"0 0 "+i(we)+" "+i(Me)},[v(pr,{width:i(we)-i(j).left-2*i(j).right,height:(i(Me)-i(j).top-i(j).bottom)/2,margin:i(j)},null,8,["width","height","margin"]),v(fr,{width:i(we)-i(j).left-2*i(j).right,height:(i(Me)-i(j).top-i(j).bottom)/2,margin:i(j),"stack-order":i(m).usageStackOrder},null,8,["width","height","margin","stack-order"]),v(Pr,{width:i(we)-i(j).left-i(j).right,height:i(Me)-i(j).top-i(j).bottom,margin:i(j)},null,8,["width","height","margin"]),n("g",{transform:"translate("+i(j).left+","+i(j).top+")"},[(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&Object.values(i(X)).filter(u=>u.visible).length>0?(l(),M(Bt,{key:0,width:i(we)-i(j).left-2*i(j).right,height:(i(Me)-i(j).top-i(j).bottom)/2,margin:i(j),order:0},null,8,["width","height","margin"])):w("",!0),(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&Object.values(i(X)).filter(u=>u.visible).length>1?(l(),M(Bt,{key:1,width:i(we)-i(j).left-2*i(j).right,height:(i(Me)-i(j).top-i(j).bottom)/2,margin:i(j),order:1},null,8,["width","height","margin"])):w("",!0),(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&i(he).isBatteryConfigured?(l(),M(Bt,{key:2,width:i(we)-i(j).left-2*i(j).right,height:(i(Me)-i(j).top-i(j).bottom)/2,margin:i(j),order:2},null,8,["width","height","margin"])):w("",!0),i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live"?(l(),M(Tr,{key:3,width:i(we)-i(j).left-i(j).right,height:(i(Me)-i(j).top-i(j).bottom)/2,margin:i(j)},null,8,["width","height","margin"])):w("",!0)],8,po),i(y).graphMode=="day"||i(y).graphMode=="today"?(l(),M(co,{key:0,width:i(we)-i(j).left-i(j).right,height:i(Me)-i(j).top-i(j).bottom,margin:i(j),data:i(y).data},null,8,["width","height","margin","data"])):w("",!0),n("g",{id:"button",type:"button",onClick:e},[n("text",{x:i(we)-10,y:i(Me)-10,color:"var(--color-menu)","text-anchor":"end"},g[1]||(g[1]=[n("tspan",{fill:"var(--color-menu)",class:"fas fa-lg"},x(""),-1)]),8,mo)])],8,go))],512),[[Ya,i(y).data.length>0]])]),_:1}))}}),yo=H(bo,[["__scopeId","data-v-47f3d429"]]),_o=["id"],wo=["x","width","height","fill"],ko=["x","width","height"],xo=["x","y","width","height"],So=L({__name:"EmBar",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(a){const e=a,t=p(()=>e.height-e.yScale(e.item.energy)-e.margin.top-e.margin.bottom),o=p(()=>{let r=0;return e.item.energyPv>0&&(r=e.height-e.yScale(e.item.energyPv)-e.margin.top-e.margin.bottom),r>t.value&&(r=t.value),r}),s=p(()=>{let r=0;return e.item.energyBat>0&&(r=e.height-e.yScale(e.item.energyBat)-e.margin.top-e.margin.bottom),r>t.value&&(r=t.value),r});return(r,d)=>(l(),f("g",{id:"bar-"+e.item.name,transform:"scale(1,-1) translate (0,-445)"},[n("rect",{class:"bar",x:e.xScale(r.item.name),y:"0",width:e.xScale.bandwidth(),height:t.value,fill:r.item.color},null,8,wo),n("rect",{class:"bar",x:e.xScale(r.item.name)+e.xScale.bandwidth()/6,y:"0",width:e.xScale.bandwidth()*2/3,height:o.value,fill:"var(--color-pv)","fill-opacity":"66%"},null,8,ko),n("rect",{class:"bar",x:e.xScale(r.item.name)+e.xScale.bandwidth()/6,y:o.value,width:e.xScale.bandwidth()*2/3,height:s.value,fill:"var(--color-battery)","fill-opacity":"66%"},null,8,xo)],8,_o))}}),$o={id:"emBargraph"},Mo=L({__name:"EMBarGraph",props:{plotdata:{},xScale:{},yScale:{},margin:{},height:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const r=y.graphMode=="live"||y.graphMode=="day"?Q:T.items,g=(y.graphMode=="live"||y.graphMode=="day"?F:T.items).evuOut.energy,u=r.pv.energy;return Math.round((u-g)/u*100)}else if(s.name=="Netz"){const r=y.graphMode=="live"||y.graphMode=="day"?Q:T.items,d=y.graphMode=="live"||y.graphMode=="day"?F:T.items,g=d.evuOut.energy,u=r.evuIn.energy,h=r.pv.energy,c=r.batOut.energy,k=d.batIn.energy;return Math.round((h+c-g-k)/(h+c+u-g-k)*100)}else return s.pvPercentage}function o(s){return s.name=="PV"?"Eigen":"Aut"}return(s,r)=>(l(),f("g",$o,[(l(!0),f(N,null,K(e.plotdata,(d,g)=>(l(),f("g",{key:g},[v(So,{item:d,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":o(d),autarchy:t(d)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128)),r[0]||(r[0]=n("animateTransform",{"attribute-name":"transform",type:"scale",from:"1 0",to:"1 1",begin:"0s",dur:"2s"},null,-1))]))}}),Po=["origin"],Co=L({__name:"EMYAxis",props:{yScale:{type:[Function,Object]},width:{},fontsize:{}},setup(a){const e=a,t=p(()=>pt(e.yScale).tickFormat(r=>s(r)).ticks(6).tickSizeInner(-e.width)),o=p(()=>{const r=ce("g#emYAxis");return r.attr("class","axis").call(t.value),r.append("text").attr("y",6).attr("dy","0.71em").attr("text-anchor","end").text("energy"),r.selectAll(".tick").attr("font-size",e.fontsize),m.showGrid?r.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):r.selectAll(".tick line").attr("stroke","var(--color-bg)"),r.select(".domain").attr("stroke","var(--color-bg)"),"emYAxis.vue"});function s(r){return r>0?y.graphMode=="year"?(r/1e6).toString():(r/1e3).toString():""}return(r,d)=>(l(),f("g",{id:"emYAxis",class:"axis",origin:o.value},null,8,Po))}}),Io=["id"],Bo=["x","y","font-size"],Vo=["x","y","font-size","fill"],Lo=["x","y","font-size","fill"],To=L({__name:"EmLabel",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(a){const e=a,t=p(()=>e.autarchy?e.yScale(e.item.energy)-25:e.yScale(e.item.energy)-10),o=p(()=>{let u=16,h=e.barcount;return h<=5?u=16:h==6?u=14:h>6&&h<=8?u=13:h==9?u=11:h==10?u=10:u=9,u}),s=p(()=>{let u=12,h=e.barcount;return h<=5?u=12:h==6?u=11:h>6&&h<=8||h==9?u=8:h==10?u=7:u=6,u});function r(u,h){return h.length>s.value?h.substring(0,s.value)+".":h}function d(){return e.autarchy?e.autText+": "+e.autarchy.toLocaleString(void 0)+" %":""}function g(){return"var(--color-pv)"}return(u,h)=>(l(),f("g",{id:"barlabel-"+e.item.name},[n("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:t.value,"font-size":o.value,"text-anchor":"middle",fill:"var(--color-menu)"},x(i(He)(u.item.energy,i(m).decimalPlaces,!1)),9,Bo),n("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:e.yScale(u.item.energy)-10,"font-size":o.value-2,"text-anchor":"middle",fill:g()},x(d()),9,Vo),n("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:e.height-e.margin.bottom-5,"font-size":o.value,"text-anchor":"middle",fill:u.item.color,class:R(u.item.icon.length<=2?"fas":"")},x(r(u.item.name,u.item.icon)),11,Lo)],8,Io))}}),Oo={id:"emBarLabels"},Ao=L({__name:"EMLabels",props:{plotdata:{},xScale:{},yScale:{},height:{},margin:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const r=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,g=(y.graphMode=="live"||y.graphMode=="today"?F:T.items).evuOut.energy,u=r.pv.energy;return Math.round((u-g)/u*100)}else if(s.name=="Netz"){const r=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,d=y.graphMode=="live"||y.graphMode=="today"?F:T.items,g=d.evuOut.energy,u=r.evuIn.energy,h=r.pv.energy,c=r.batOut.energy,k=d.batIn.energy;return h+c-g-k>0?Math.round((h+c-g-k)/(h+c+u-g-k)*100):0}else return s.pvPercentage}function o(s){return s.name=="PV"?"Eigen":"Aut"}return(s,r)=>(l(),f("g",Oo,[(l(!0),f(N,null,K(e.plotdata,(d,g)=>(l(),f("g",{key:g},[v(To,{item:d,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":o(d),autarchy:t(d)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128))]))}}),Eo={class:"d-flex justify-content-end"},zo={id:"energymeter",class:"p-0 m-0"},Do={viewBox:"0 0 500 500"},Wo=["transform"],Go=["x"],Uo={key:0},pa=500,Vt=500,ma=12,jo="Energie",Fo=L({__name:"EnergyMeter",setup(a){const e={top:25,bottom:30,left:25,right:0},t=p(()=>{let u=Object.values(Q),h=r.value;const c=T.items;let k=[];switch(m.debug&&d(),ct.value==!0&&(ct.value=!1),y.graphMode){default:case"live":case"today":k=u.concat(h);break;case"day":case"month":case"year":Object.values(c).length==0?Ze.value=!0:(Ze.value=!1,k=[c.evuIn,c.pv,c.evuOut,c.batOut,c.charging],Object.values(O).length>1&&Object.keys(O).forEach(P=>{c["cp"+P]&&k.push(c["cp"+P])}),k.push(c.devices),ne.forEach((P,E)=>{P.showInGraph&&c["sh"+E]&&k.push(c["sh"+E])}),k=k.concat([c.batIn,c.house]))}return k.filter(P=>P.energy&&P.energy>0)}),o=p(()=>wt().range([0,pa-e.left-e.right]).domain(t.value.map(u=>u.name)).padding(.4)),s=p(()=>Re().range([Vt-e.bottom-e.top,15]).domain([0,xa(t.value,u=>u.energy)])),r=p(()=>{const u=Object.values(O).length,h=[...ne.values()].filter(k=>k.configured).length;let c=F;return[...[c.evuOut,c.charging].concat(u>1?Object.values(O).map(k=>k.toPowerItem()):[]),...[c.devices].concat(h>1?[...ne.values()].filter(k=>k.configured&&k.showInGraph):[]).concat([F.batIn,F.house])]});function d(){console.debug(["source summary:",Q]),console.debug(["usage details:",r.value]),console.debug(["historic summary:",T])}function g(){m.zoomedWidget=2,m.zoomGraph=!m.zoomGraph}return(u,h)=>(l(),M(bt,{"full-width":!0},{title:_(()=>[J(x(jo))]),buttons:_(()=>[n("div",Eo,[v(aa,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!0,onShiftLeft:i(Pt),onShiftRight:i(Xt),onShiftUp:i(Kt),onShiftDown:i(ea)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),f("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:g},h[0]||(h[0]=[n("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[n("figure",zo,[(l(),f("svg",Do,[n("g",{transform:"translate("+e.left+","+e.top+")"},[v(Mo,{plotdata:t.value,"x-scale":o.value,"y-scale":s.value,height:Vt,margin:e},null,8,["plotdata","x-scale","y-scale"]),v(Co,{"y-scale":s.value,width:pa,fontsize:ma,config:i(m)},null,8,["y-scale","config"]),n("text",{x:-e.left,y:"-15",fill:"var(--color-axis)","font-size":ma},x(i(y).graphMode=="year"?"MWh":"kWh"),9,Go),v(Ao,{plotdata:t.value,"x-scale":o.value,"y-scale":s.value,height:Vt,margin:e,config:i(m)},null,8,["plotdata","x-scale","y-scale","config"])],8,Wo)]))]),i(Ze)?(l(),f("p",Uo,"No data")):w("",!0)]),_:1}))}}),No=H(Fo,[["__scopeId","data-v-32c82102"]]),Ho=["id"],Ro=["y","width","fill"],Jo=["y","width"],qo=["y","x","width"],Yo=L({__name:"EnergyBar",props:{id:{},item:{},yScale:{},xScale:{},itemHeight:{}},setup(a){const e=a,t=p(()=>e.xScale(e.item.energy)),o=p(()=>{let r=0;return e.item.energyPv>0&&(r=e.xScale(e.item.energyPv)),r>t.value&&(r=t.value),r}),s=p(()=>{let r=0;return e.item.energyBat>0&&(r=e.xScale(e.item.energyBat)),r>t.value&&(r=t.value),r});return(r,d)=>(l(),f("g",{id:`bar-${e.item.name}`},[n("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2-4,x:"0",rx:"6",ry:"6",height:"12",width:t.value,fill:r.item.color},null,8,Ro),n("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2+10,x:"0",rx:"3",ry:"3",height:"7",width:o.value,fill:"var(--color-pv)","fill-opacity":"100%"},null,8,Jo),n("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2+10,x:o.value,rx:"3",ry:"3",height:"7",width:s.value,fill:"var(--color-battery)","fill-opacity":"100%"},null,8,qo)],8,Ho))}}),Qo={id:"emBargraph"},Zo=L({__name:"BarGraph",props:{plotdata:{},yscale:{},xscale:{},itemHeight:{}},setup(a){const e=a;return(t,o)=>(l(),f("g",Qo,[(l(!0),f(N,null,K(e.plotdata,(s,r)=>(l(),f("g",{key:r},[v(Yo,{id:r.toString(),item:s,"x-scale":e.xscale,"y-scale":e.yscale,"item-height":t.itemHeight},null,8,["id","item","x-scale","y-scale","item-height"])]))),128))]))}}),Xo=["id"],Ko=["y","x","fill"],es=["y","x"],ts=["y","x","font-size"],Lt=24,as=L({__name:"EnergyLabel",props:{id:{},item:{},yscale:{},margin:{},width:{},itemHeight:{},autarchy:{},autText:{}},setup(a){const e=a,t=p(()=>e.yscale(e.id)+e.itemHeight/3);function o(){return e.autarchy?e.autText+": "+e.autarchy.toLocaleString(void 0)+" %":""}function s(r){return r.length>14?r.slice(0,13)+"...":r}return(r,d)=>(l(),f("g",{id:"barlabel-"+e.id},[n("text",{y:t.value,x:e.margin.left,"font-size":Lt,"text-anchor":"start",fill:r.item.color,class:R(r.item.icon.length<=2?"fas":"")},x(s(e.item.icon)),11,Ko),n("text",{y:t.value,x:e.width/2+e.margin.left,"font-size":Lt,"text-anchor":"middle",fill:"var(--color-menu)"},x(i(He)(r.item.energy,i(m).decimalPlaces,!1)),9,es),n("text",{y:t.value,x:e.width-e.margin.right,"font-size":Lt-2,"text-anchor":"end",fill:"var(--color-pv)"},x(o()),9,ts)],8,Xo))}}),ns={id:"emBarLabels"},rs=L({__name:"EnergyLabels",props:{plotdata:{},yscale:{},width:{},itemHeight:{},margin:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const r=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,g=(y.graphMode=="live"||y.graphMode=="today"?F:T.items).evuOut.energy,u=r.pv.energy;return Math.round((u-g)/u*100)}else if(s.name=="Netz"){const r=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,d=y.graphMode=="live"||y.graphMode=="today"?F:T.items,g=d.evuOut.energy,u=r.evuIn.energy,h=r.pv.energy,c=r.batOut.energy,k=d.batIn.energy;return h+c-g-k>0?Math.round((h+c-g-k)/(h+c+u-g-k)*100):0}else return s.pvPercentage}function o(s){return s.name=="PV"?"Eigen":"Aut"}return(s,r)=>(l(),f("g",ns,[(l(!0),f(N,null,K(e.plotdata,(d,g)=>(l(),f("g",{key:g},[v(as,{id:g.toString(),item:d,yscale:e.yscale,margin:e.margin,width:e.width,"item-height":s.itemHeight,"aut-text":o(d),autarchy:t(d)},null,8,["id","item","yscale","margin","width","item-height","aut-text","autarchy"])]))),128))]))}});class os{constructor(e){b(this,"id");b(this,"name","Speicher");b(this,"color","var(--color-battery)");b(this,"dailyYieldExport",0);b(this,"dailyYieldImport",0);b(this,"monthlyYieldExport",0);b(this,"monthlyYieldImport",0);b(this,"yearlyYieldExport",0);b(this,"yearlyYieldImport",0);b(this,"exported",0);b(this,"faultState",0);b(this,"faultStr","");b(this,"imported",0);b(this,"power",0);b(this,"soc",0);this.id=e}}class ss{constructor(){b(this,"dailyExport",0);b(this,"dailyImport",0);b(this,"exported",0);b(this,"imported",0);b(this,"power",0);b(this,"soc",0)}}ge(new ss);const pe=Z(new Map),Oa=a=>{pe.value.set(a,new os(a)),pe.value.get(a).color=ie["bat"+pe.value.size].color};function is(){pe.value=new Map}const ls={class:"d-flex justify-content-end"},cs={id:"energymeter",class:"p-0 m-0"},us=["viewBox"],ds=["transform"],hs=["x"],gs={key:0},fa=500,Tt=60,ps=12,ms="Energie",fs=L({__name:"EnergyMeter2",setup(a){const e={top:0,bottom:30,left:0,right:0},t=p(()=>o.value.length*Tt+e.top+e.bottom),o=p(()=>{let c=Object.values(Q),k=d.value;const P=T.items;let E=[];switch(m.debug&&u(),ct.value==!0&&(ct.value=!1),y.graphMode){default:case"live":case"today":E=g(c).concat(k);break;case"day":case"month":case"year":Object.values(P).length==0?Ze.value=!0:(Ze.value=!1,E=[P.evuIn,P.pv,P.evuOut,P.batOut,P.charging],Object.values(O).length>1&&Object.keys(O).forEach(G=>{P["cp"+G]&&E.push(P["cp"+G])}),E.push(P.devices),ne.forEach((G,z)=>{G.showInGraph&&P["sh"+z]&&E.push(P["sh"+z])}),E=E.concat([P.batIn,P.house]))}return E.filter(G=>G.energy&&G.energy>0)}),s=p(()=>Re().range([0,fa-e.left-e.right]).domain([0,xa(o.value,c=>c.energy)])),r=p(()=>wt().range([e.top,t.value-e.bottom]).domain(o.value.map((c,k)=>k.toString())).padding(.1)),d=p(()=>{const c=Object.values(O).length,k=[...ne.values()].filter(E=>E.configured).length;let P=F;return[...[P.evuOut,P.charging].concat(c>1?Object.values(O).map(E=>E.toPowerItem()):[]),...[P.devices].concat(k>1?[...ne.values()].filter(E=>E.configured&&E.showInGraph):[]).concat([F.batIn,F.house])]});function g(c){let k=0;return ke.value.size>1&&ke.value.forEach(P=>{c.splice(2+k++,0,{name:P.name,power:P.power,energy:P.energy,energyPv:0,energyBat:0,pvPercentage:0,color:P.color,icon:P.name,showInGraph:!0})}),pe.value.size>1&&pe.value.forEach(P=>{c.splice(3+k++,0,{name:P.name,power:P.power,energy:P.dailyYieldExport,energyPv:0,energyBat:0,pvPercentage:0,color:P.color,icon:P.name,showInGraph:!0})}),c}function u(){console.debug(["source summary:",Q]),console.debug(["usage details:",d.value]),console.debug(["historic summary:",T])}function h(){m.zoomedWidget=2,m.zoomGraph=!m.zoomGraph}return(c,k)=>(l(),M(bt,{"full-width":!0},{title:_(()=>[J(x(ms))]),buttons:_(()=>[n("div",ls,[v(aa,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!0,onShiftLeft:i(Pt),onShiftRight:i(Xt),onShiftUp:i(Kt),onShiftDown:i(ea)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),f("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:h},k[0]||(k[0]=[n("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[n("figure",cs,[(l(),f("svg",{viewBox:"0 0 500 "+t.value},[n("g",{transform:"translate("+e.left+","+e.top+")"},[v(Zo,{plotdata:o.value,xscale:s.value,yscale:r.value,"item-height":Tt},null,8,["plotdata","xscale","yscale"]),n("text",{x:-e.left,y:"-15",fill:"var(--color-axis)","font-size":ps},x(i(y).graphMode=="year"?"MWh":"kWh"),9,hs),v(rs,{plotdata:o.value,yscale:r.value,width:fa,"item-height":Tt,margin:e},null,8,["plotdata","yscale"])],8,ds)],8,us))]),i(Ze)?(l(),f("p",gs,"No data")):w("",!0)]),_:1}))}}),vs=H(fs,[["__scopeId","data-v-63a4748e"]]),bs={class:"d-flex flex-column align-items-center justify-content-start infoitem"},ys=L({__name:"InfoItem",props:{heading:{},small:{type:Boolean}},setup(a){const e=a,t=p(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-small)"}),o=p(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-normal)"}),s=p(()=>e.small?"mt-0":"mt-1");return(r,d)=>(l(),f("span",bs,[n("span",{class:R(["d-flex heading",s.value]),style:ae(t.value)},x(e.heading),7),n("span",{class:"d-flex my-0 me-0 align-items-center content",style:ae(o.value)},[de(r.$slots,"default",{},void 0,!0)],4)]))}}),te=H(ys,[["__scopeId","data-v-f6af00e8"]]),_s={class:"d-flex justify-content-between align-items-center titlerow"},ws={class:"buttonarea d-flex float-right justify-content-end align-items-center"},ks={class:"contentrow grid-col-12"},xs=L({__name:"WbSubwidget",props:{titlecolor:{},fullwidth:{type:Boolean},small:{type:Boolean}},setup(a){const e=a,t=p(()=>{let s={"font-weight":"bold",color:"var(--color-fg)","font-size":"var(--font-normal)"};return e.titlecolor&&(s.color=e.titlecolor),e.small&&(s["font-size"]="var(--font-verysmall)"),s}),o=p(()=>e.fullwidth?"grid-col-12":"grid-col-4");return(s,r)=>(l(),f("div",{class:R(["wb-subwidget-noborder px-0 pe-1 my-0 pb-2",o.value])},[n("div",_s,[n("div",{class:"d-flex widgetname p-0 m-0",style:ae(t.value)},[de(s.$slots,"title",{},void 0,!0)],4),n("div",ws,[de(s.$slots,"buttons",{},void 0,!0)])]),n("div",ks,[de(s.$slots,"default",{},void 0,!0)])],2))}}),at=H(xs,[["__scopeId","data-v-2aa2b95f"]]),Ss={class:"grid-col-12 mt-0 mb-0 px-0 py-0 configitem"},$s={class:"titlecolumn m-0 p-0 d-flex justify-content-between align-items-baseline"},Ms={class:"d-flex justify-content-end align-items-baseline"},Ps={class:"d-flex align-items-center"},Cs={class:"d-flex"},Is={class:"d-flex justify-content-end m-0 p-0"},Bs={class:"ms-1 mb-2 p-0 pt-2 d-flex justify-content-stretch align-items-center contentrow"},Vs=L({__name:"ConfigItem",props:{title:{},infotext:{},icon:{},fullwidth:{type:Boolean}},setup(a){const e=a,t=Z(!1);function o(){t.value=!t.value}const s=p(()=>{let r={color:"var(--color-charging)"};return t.value&&(r.color="var(--color-battery)"),r});return(r,d)=>(l(),M(at,{fullwidth:!!r.fullwidth},{default:_(()=>[n("div",Ss,[n("div",$s,[n("span",Ms,[n("span",{class:"d-flex align-items-baseline m-0 p-0",onClick:o},[e.icon?(l(),f("i",{key:0,class:R(["fa-solid fa-sm m-0 p-0 me-2 item-icon",e.icon])},null,2)):w("",!0),J(" "+x(r.title),1)])]),n("span",Ps,[n("span",Cs,[e.infotext?(l(),f("i",{key:0,class:"fa-solid fa-sm fa-circle-question ms-4 me-2",style:ae(s.value),onClick:o},null,4)):w("",!0)]),n("span",Is,[de(r.$slots,"inline-item",{},void 0,!0)])])]),t.value?(l(),f("p",{key:0,class:"infotext shadow m-0 ps-2 mb-1 p-1",onClick:o},[d[0]||(d[0]=n("i",{class:"me-1 fa-solid fa-sm fa-circle-info"},null,-1)),J(" "+x(r.infotext),1)])):w("",!0),n("div",Bs,[de(r.$slots,"default",{},void 0,!0)])])]),_:3},8,["fullwidth"]))}}),U=H(Vs,[["__scopeId","data-v-25ab3fbb"]]),Ls={class:"d-flex flex-column rangeinput"},Ts={class:"d-flex flex-fill justify-content-between align-items-center"},Os={class:"d-flex flex-fill flex-column justify-content-center m-0 p-0"},As={key:0,id:"rangeIndicator",class:"rangeIndicator"},Es={viewBox:"0 0 100 2"},zs=["width"],Ds=["x","width"],Ws=["x","width"],Gs=["id","min","max","step"],Us={class:"d-flex justify-content-between align-items-center"},js={class:"minlabel ps-4"},Fs={class:"valuelabel"},Ns={class:"maxlabel pe-4"},Hs=L({__name:"RangeInput",props:{id:{},min:{},max:{},step:{},unit:{},decimals:{},showSubrange:{type:Boolean},subrangeMin:{},subrangeMax:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,o=t.decimals??0,s=e,r=p({get(){return Math.round(t.modelValue*Math.pow(10,o))/Math.pow(10,o)},set(k){s("update:modelValue",k)}});function d(){r.value>t.min&&(r.value=Math.round((r.value-t.step)*Math.pow(10,o))/Math.pow(10,o))}function g(){r.valueRe().domain([t.min,t.max]).range([0,100])),h=p(()=>u.value(t.subrangeMin?t.subrangeMin:0)),c=p(()=>t.subrangeMin&&t.subrangeMax?u.value(t.subrangeMax)-u.value(t.subrangeMin):0);return(k,P)=>(l(),f("span",Ls,[n("span",Ts,[n("span",{type:"button",class:"minusButton",onClick:d},P[1]||(P[1]=[n("i",{class:"fa fa-xl fa-minus-square me-2"},null,-1)])),n("div",Os,[t.showSubrange?(l(),f("figure",As,[(l(),f("svg",Es,[n("g",null,[n("rect",{class:"below",x:0,y:"0",width:h.value,height:"2",rx:"1",ry:"1",fill:"var(--color-evu)"},null,8,zs),n("rect",{class:"bar",x:h.value,y:"0",width:c.value,height:"2",rx:"1",ry:"1",fill:"var(--color-charging)"},null,8,Ds),n("rect",{class:"above",x:h.value+c.value,y:"0",width:h.value,height:"2",rx:"1",ry:"1",fill:"var(--color-pv)"},null,8,Ws)])]))])):w("",!0),mt(n("input",{id:k.id,"onUpdate:modelValue":P[0]||(P[0]=E=>r.value=E),type:"range",class:"form-range flex-fill",min:k.min,max:k.max,step:k.step},null,8,Gs),[[Za,r.value,void 0,{number:!0}]])]),n("span",{type:"button",class:"plusButton",onClick:g},P[2]||(P[2]=[n("i",{class:"fa fa-xl fa-plus-square ms-2"},null,-1)]))]),n("span",Us,[n("span",js,x(k.min),1),n("span",Fs,x(r.value)+" "+x(k.unit),1),n("span",Ns,x(k.max),1)])]))}}),_e=H(Hs,[["__scopeId","data-v-af945965"]]),Rs=["id","value"],Js=L({__name:"RadioInput2",props:{options:{},modelValue:{},columns:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,o=e,s=p({get(){return t.modelValue},set(g){o("update:modelValue",g)}});function r(g){const u=t.options[g][2]||"var(--color-fg)",h="var(--color-bg)";return t.options[g][1]==s.value?{color:h,background:t.options[g][2]||"var(--color-menu)"}:{color:u,background:h}}function d(g){let u=g.target;for(;u&&!u.value&&u.parentElement;)u=u.parentElement;u.value&&(typeof t.options[0][1]=="number"?s.value=Number(u.value):s.value=u.value)}return(g,u)=>(l(),f("div",{class:"buttongrid",style:ae({"grid-template-columns":"repeat("+(t.columns||3)+", 1fr)"})},[(l(!0),f(N,null,K(t.options,(h,c)=>(l(),f("button",{id:"radio-"+h[1],key:c,class:R(["btn btn-outline-secondary radiobutton me-0 mb-0 px-2",h[1]==s.value?"active":""]),value:h[1],style:ae(r(c)),onClick:d},[n("span",{style:ae(r(c))},[h[3]?(l(),f("i",{key:0,class:R(["fa-solid",h[3]])},null,2)):w("",!0),J(" "+x(h[0]),1)],4)],14,Rs))),128))],4))}}),xe=H(Js,[["__scopeId","data-v-88c9ea7a"]]),qs={class:"mt-2"},Ys={key:0},Qs=L({__name:"CPConfigInstant",props:{chargepoint:{}},setup(a){const t=Z(a.chargepoint),o=p({get(){return t.value.instantMaxEnergy/1e3},set(s){t.value.instantMaxEnergy=s*1e3}});return(s,r)=>(l(),f("div",qs,[r[5]||(r[5]=n("p",{class:"heading ms-1"},"Sofortladen:",-1)),v(U,{title:"Stromstärke",icon:"fa-bolt",fullwidth:!0},{default:_(()=>[v(_e,{id:"targetCurrent",modelValue:t.value.instantTargetCurrent,"onUpdate:modelValue":r[0]||(r[0]=d=>t.value.instantTargetCurrent=d),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1}),v(U,{title:"Anzahl Phasen",icon:"fa-plug",fullwidth:!0},{default:_(()=>[v(xe,{modelValue:t.value.instantTargetPhases,"onUpdate:modelValue":r[1]||(r[1]=d=>t.value.instantTargetPhases=d),options:[["1",1],["Maximum",3],["Auto",0]]},null,8,["modelValue"])]),_:1}),t.value.instantChargeLimitMode!="none"?(l(),f("hr",Ys)):w("",!0),v(U,{title:"Begrenzung",icon:"fa-hand",fullwidth:!0},{default:_(()=>[v(xe,{modelValue:t.value.instantChargeLimitMode,"onUpdate:modelValue":r[2]||(r[2]=d=>t.value.instantChargeLimitMode=d),options:i(qt).map(d=>[d.name,d.id])},null,8,["modelValue","options"])]),_:1}),t.value.instantChargeLimitMode=="soc"?(l(),M(U,{key:1,title:"Maximaler Ladestand",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(_e,{id:"maxSoc",modelValue:t.value.instantTargetSoc,"onUpdate:modelValue":r[3]||(r[3]=d=>t.value.instantTargetSoc=d),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),t.value.instantChargeLimitMode=="amount"?(l(),M(U,{key:2,title:"Zu ladende Energie",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(_e,{id:"maxEnergy",modelValue:o.value,"onUpdate:modelValue":r[4]||(r[4]=d=>o.value=d),min:0,max:100,step:1,unit:"kWh"},null,8,["modelValue"])]),_:1})):w("",!0)]))}}),Zs=H(Qs,[["__scopeId","data-v-e1b28964"]]),Xs={class:"form-check form-switch"},le=L({__name:"SwitchInput",props:{modelValue:{type:Boolean},onColor:{},offColor:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,o=e,s=p({get(){return t.modelValue},set(d){o("update:modelValue",d)}}),r=p(()=>s.value?{"background-color":"green"}:{"background-color":"white"});return(d,g)=>(l(),f("div",Xs,[mt(n("input",{"onUpdate:modelValue":g[0]||(g[0]=u=>s.value=u),class:"form-check-input",type:"checkbox",role:"switch",style:ae(r.value)},null,4),[[Sa,s.value]])]))}}),Ks={class:"pt-2 d-flex flex-column"},ei={class:"subconfigstack grid-col-12"},ti={key:0,class:"subconfig subgrid"},ai={key:0,class:"subconfigstack"},ni={class:"subconfig subgrid"},ri={class:"subconfig subgrid"},oi={class:"subconfig subgrid"},si=L({__name:"CPConfigPv",props:{chargepoint:{}},setup(a){const t=Z(a.chargepoint),o=p({get(){return t.value.pvMaxEnergy/1e3},set(d){t.value.pvMaxEnergy=d*1e3}}),s=p({get(){return t.value.pvMinCurrent>5},set(d){d?t.value.pvMinCurrent=6:t.value.pvMinCurrent=0}}),r=p({get(){return t.value.pvMinSoc>0},set(d){d?t.value.pvMinSoc=50:t.value.pvMinSoc=0}});return(d,g)=>(l(),f("div",Ks,[g[16]||(g[16]=n("div",{class:"heading ms-1"},"PV-Laden:",-1)),v(U,{title:"Minimaler Ladestrom",icon:"fa-bolt",infotext:i(Je).minpv,fullwidth:!0},{"inline-item":_(()=>[v(le,{modelValue:s.value,"onUpdate:modelValue":g[0]||(g[0]=u=>s.value=u)},null,8,["modelValue"])]),default:_(()=>[n("div",ei,[s.value?(l(),f("div",ti,[g[11]||(g[11]=n("span",{class:"subconfigtitle grid-col-1"},"Stärke:",-1)),v(_e,{id:"minCurrent",modelValue:t.value.pvMinCurrent,"onUpdate:modelValue":g[1]||(g[1]=u=>t.value.pvMinCurrent=u),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])])):w("",!0)])]),_:1},8,["infotext"]),v(U,{title:"Anzahl Phasen",icon:"fa-plug",fullwidth:!0},{default:_(()=>[v(xe,{modelValue:t.value.pvTargetPhases,"onUpdate:modelValue":g[2]||(g[2]=u=>t.value.pvTargetPhases=u),options:[["1",1],["Maximum",3],["Auto",0]]},null,8,["modelValue"])]),_:1}),v(U,{title:"Mindest-Ladestand",icon:"fa-battery-half",infotext:i(Je).minsoc,fullwidth:!0},{"inline-item":_(()=>[v(le,{modelValue:r.value,"onUpdate:modelValue":g[3]||(g[3]=u=>r.value=u),class:"grid-col-3"},null,8,["modelValue"])]),default:_(()=>[r.value?(l(),f("div",ai,[n("div",ni,[g[12]||(g[12]=n("span",{class:"subconfigtitle grid-col-1"},"SoC:",-1)),v(_e,{id:"minSoc",modelValue:t.value.pvMinSoc,"onUpdate:modelValue":g[4]||(g[4]=u=>t.value.pvMinSoc=u),class:"grid-col-2",min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),n("div",ri,[g[13]||(g[13]=n("span",{class:"subconfigtitle grid-col-1"},"Ladestrom:",-1)),v(_e,{id:"minSocCurrent",modelValue:t.value.pvMinSocCurrent,"onUpdate:modelValue":g[5]||(g[5]=u=>t.value.pvMinSocCurrent=u),class:"grid-col-2",min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),n("div",oi,[g[14]||(g[14]=n("span",{class:"subconfigtitle grid-col-1"},"Phasen:",-1)),v(xe,{modelValue:t.value.pvMinSocPhases,"onUpdate:modelValue":g[6]||(g[6]=u=>t.value.pvMinSocPhases=u),class:"grid-col-1",columns:2,options:[["1",1],["Maximum",3]]},null,8,["modelValue"])]),g[15]||(g[15]=n("hr",{class:"grid-col-3"},null,-1))])):w("",!0)]),_:1},8,["infotext"]),v(U,{title:"Begrenzung",icon:"fa-hand",fullwidth:!0},{default:_(()=>[v(xe,{modelValue:t.value.pvChargeLimitMode,"onUpdate:modelValue":g[7]||(g[7]=u=>t.value.pvChargeLimitMode=u),options:i(qt).map(u=>[u.name,u.id])},null,8,["modelValue","options"])]),_:1}),t.value.pvChargeLimitMode=="soc"?(l(),M(U,{key:0,title:"Maximaler Ladestand",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(_e,{id:"maxSoc",modelValue:t.value.pvTargetSoc,"onUpdate:modelValue":g[8]||(g[8]=u=>t.value.pvTargetSoc=u),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),t.value.pvChargeLimitMode=="amount"?(l(),M(U,{key:1,title:"Zu ladende Energie",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(_e,{id:"maxEnergy",modelValue:o.value,"onUpdate:modelValue":g[9]||(g[9]=u=>o.value=u),min:0,max:100,step:1,unit:"kWh"},null,8,["modelValue"])]),_:1})):w("",!0),v(U,{title:"Einspeisegrenze beachten",icon:"fa-hand",fullwidth:!0},{"inline-item":_(()=>[v(le,{modelValue:t.value.pvFeedInLimit,"onUpdate:modelValue":g[10]||(g[10]=u=>t.value.pvFeedInLimit=u)},null,8,["modelValue"])]),_:1})]))}}),ii=H(si,[["__scopeId","data-v-2ce28649"]]),li={class:"plandetails d-flex flex-cloumn"},ci={class:"heading"},ui={key:0},di=L({__name:"ScheduleDetails",props:{plan:{}},emits:["close"],setup(a){const e=a,t=p(()=>e.plan.limit.selected=="soc"?`Lade bis ${e.plan.time} auf ${e.plan.limit.soc_scheduled}% (maximal ${e.plan.limit.soc_limit}% mit PV)`:e.plan.limit.selected=="amount"?`Energiemenge: ${He(e.plan.limit.amount)}`:"Keine Begrenzung"),o=p(()=>{let r="Wiederholung ";switch(e.plan.frequency.selected){case"daily":r+="täglich";break;case"once":r+=`einmal (${e.plan.frequency.once})`;break;case"weekly":r+="wöchentlich "+s.value;break;default:r+="unbekannt"}return r}),s=p(()=>{const r=["Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag"];let d="(";return e.plan.frequency.weekly.forEach((g,u)=>{g&&(d+=`${r[u]} `)}),d=d.trim(),d+=")",d});return(r,d)=>(l(),f("div",li,[d[1]||(d[1]=n("hr",null,null,-1)),n("span",ci,"Details für "+x(e.plan.name)+":",1),n("ul",null,[n("li",null,x(t.value),1),n("li",null,x(o.value),1),e.plan.et_active?(l(),f("li",ui,"Preisbasiert laden")):w("",!0)]),n("button",{class:"btn btn-outline-secondary btn-sm",onClick:d[0]||(d[0]=g=>r.$emit("close"))}," Ok ")]))}}),hi=H(di,[["__scopeId","data-v-2f5cb5c1"]]),gi={key:0,class:"table table-borderless"},pi={class:"tablecell left"},mi=["onClick"],fi={class:"tablecell left"},vi={class:"tablecell"},bi={class:"tablecell"},yi={class:"tablecell"},_i={class:"tablecell right"},wi={key:1,class:"ms-1"},ki={key:2},xi=L({__name:"CPConfigScheduled",props:{chargePoint:{}},setup(a){const e=Z(!1),t={daily:"Täglich",once:"Einmal",weekly:"Woche"},o=a,s=p(()=>{var u,h;return((h=(u=o.chargePoint)==null?void 0:u.chargeTemplate)==null?void 0:h.chargemode.scheduled_charging.plans)??[]});function r(u){return s.value[u].time}function d(u){return{color:s.value[u].active?"var(--color-switchGreen)":"var(--color-switchRed)"}}function g(u){o.chargePoint.chargeTemplate.chargemode.scheduled_charging.plans[u].active=!s.value[u].active,se(o.chargePoint.id)}return(u,h)=>(l(),f(N,null,[h[3]||(h[3]=n("p",{class:"heading ms-1 pt-2"},"Pläne für Zielladen:",-1)),s.value.length>0?(l(),f("table",gi,[h[2]||(h[2]=n("thead",null,[n("tr",null,[n("th",{class:"tableheader left"}),n("th",{class:"tableheader left"},"Plan"),n("th",{class:"tableheader"},"Zeit"),n("th",{class:"tableheader"},"Ziel"),n("th",{class:"tableheader"},"Wiederh."),n("th",{class:"tableheader right"})])],-1)),n("tbody",null,[(l(!0),f(N,null,K(s.value,(c,k)=>{var P;return l(),f("tr",{key:k,class:R(c.active?"text-bold":"text-normal")},[n("td",pi,[((P=o.chargePoint.chargeTemplate)==null?void 0:P.id)!=null?(l(),f("a",{key:0,onClick:E=>g(k)},[n("span",{class:R([c.active?"fa-toggle-on":"fa-toggle-off","fa"]),style:ae(d(k)),type:"button"},null,6)],8,mi)):w("",!0)]),n("td",fi,x(c.name),1),n("td",vi,x(r(k)),1),n("td",bi,x(c.limit.selected=="soc"?c.limit.soc_scheduled+"%":i(He)(c.limit.amount,0)),1),n("td",yi,x(t[c.frequency.selected]),1),n("td",_i,[n("i",{class:"me-1 fa-solid fa-sm fa-circle-info",onClick:h[0]||(h[0]=E=>e.value=!e.value)})])],2)}),128))])])):(l(),f("p",wi," Pläne für das Zielladen können in den Einstellungen des Ladeprofils angelegt werden . ")),e.value?(l(),f("div",ki,[(l(!0),f(N,null,K(s.value,c=>(l(),M(hi,{key:c.id,plan:c,onClose:h[1]||(h[1]=k=>e.value=!1)},null,8,["plan"]))),128))])):w("",!0)],64))}}),Si=H(xi,[["__scopeId","data-v-0ab816f2"]]),$i={class:"plandetails d-flex flex-cloumn"},Mi={class:"heading"},Pi=L({__name:"TimePlanDetails",props:{plan:{}},emits:["close"],setup(a){const e=a,t=p(()=>`Lade von ${e.plan.time[0]} bis ${e.plan.time[1]} mit ${e.plan.current}A`),o=p(()=>e.plan.limit.selected=="soc"?`Lade bis maximal ${e.plan.limit.soc}%`:e.plan.limit.selected=="amount"?`Lade maximal ${He(e.plan.limit.amount)}`:"Keine Begrenzung"),s=p(()=>{let d="Wiederholung ";switch(e.plan.frequency.selected){case"daily":d+="täglich";break;case"once":d+=`einmal (${e.plan.frequency.once})`;break;case"weekly":d+="wöchentlich "+r.value;break;default:d+="unbekannt"}return d}),r=p(()=>{const d=["Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag"];let g="(";return e.plan.frequency.weekly.forEach((u,h)=>{u&&(g+=`${d[h]} `)}),g=g.trim(),g+=")",g});return(d,g)=>(l(),f("div",$i,[g[1]||(g[1]=n("hr",null,null,-1)),n("span",Mi,"Details für "+x(e.plan.name)+":",1),n("ul",null,[n("li",null,x(t.value),1),n("li",null,x(o.value),1),n("li",null,x(s.value),1)]),n("button",{class:"btn btn-outline-secondary btn-sm",onClick:g[0]||(g[0]=u=>d.$emit("close"))}," Ok ")]))}}),Ci=H(Pi,[["__scopeId","data-v-eaa44cb2"]]),Ii={class:"table table-borderless"},Bi={class:"tablecell left"},Vi=["onClick"],Li={class:"tablecell"},Ti={class:"tablecell"},Oi={class:"tablecell"},Ai={class:"tablecell"},Ei={class:"tablecell right"},zi={key:0},Di=L({__name:"CPConfigTimed",props:{chargePoint:{}},setup(a){const e=a,t=Z(!1),o=e.chargePoint,s={daily:"Täglich",once:"Einmal",weekly:"Woche"},r=p(()=>{var u,h;return((h=(u=e.chargePoint)==null?void 0:u.chargeTemplate)==null?void 0:h.time_charging.plans)??[]});function d(u){return{color:r.value[u].active?"var(--color-switchGreen)":"var(--color-switchRed)"}}function g(u){e.chargePoint.chargeTemplate.time_charging.plans[u].active=!r.value[u].active,se(e.chargePoint.id)}return(u,h)=>(l(),f(N,null,[v(U,{title:"Zeitplan aktiv",icon:"fa-clock",fullwidth:!0},{"inline-item":_(()=>[v(le,{modelValue:i(o).timedCharging,"onUpdate:modelValue":h[0]||(h[0]=c=>i(o).timedCharging=c)},null,8,["modelValue"])]),_:1}),h[4]||(h[4]=n("p",{class:"heading ms-1 pt-2"},"Zeitpläne:",-1)),n("table",Ii,[h[3]||(h[3]=n("thead",null,[n("tr",null,[n("th",{class:"tableheader left"}),n("th",{class:"tableheader"},"Von"),n("th",{class:"tableheader"},"Bis"),n("th",{class:"tableheader"},"Strom"),n("th",{class:"tableheader"},"Wiederh."),n("th",{class:"tableheader right"})])],-1)),n("tbody",null,[(l(!0),f(N,null,K(r.value,(c,k)=>{var P;return l(),f("tr",{key:k,class:R(c.active?"text-bold":"text-normal")},[n("td",Bi,[((P=e.chargePoint.chargeTemplate)==null?void 0:P.id)!=null?(l(),f("span",{key:0,onClick:E=>g(k)},[n("span",{class:R([c.active?"fa-toggle-on":"fa-toggle-off","fa"]),style:ae(d(k)),type:"button"},null,6)],8,Vi)):w("",!0)]),n("td",Li,x(c.time[0]),1),n("td",Ti,x(c.time[1]),1),n("td",Oi,x(c.current)+" A",1),n("td",Ai,x(s[c.frequency.selected]),1),n("td",Ei,[n("i",{class:"me-1 fa-solid fa-sm fa-circle-info",onClick:h[1]||(h[1]=E=>t.value=!t.value)})])],2)}),128))])]),t.value?(l(),f("div",zi,[(l(!0),f(N,null,K(r.value,c=>(l(),M(Ci,{key:c.id,plan:c,onClose:h[2]||(h[2]=k=>t.value=!1)},null,8,["plan"]))),128))])):w("",!0)],64))}}),Wi=H(Di,[["__scopeId","data-v-c911e978"]]),Gi={class:"providername ms-1"},Ui={class:"container"},ji={id:"pricechart",class:"p-0 m-0"},Fi={viewBox:"0 0 400 300"},Ni=["id","origin","transform"],Hi={key:0,class:"p-3"},Ri={key:1,class:"d-flex justify-content-end"},Ji=["disabled"],nt=400,va=250,ba=12,qi=L({__name:"PriceChart",props:{chargepoint:{},globalview:{type:Boolean}},setup(a){const e=a;let t=e.chargepoint?Z(e.chargepoint.etMaxPrice):Z(0);const o=Z(!1),s=Z(e.chargepoint),r=p({get(){return t.value},set(W){t.value=W,o.value=!0}});function d(){s.value&&(O[s.value.id].etMaxPrice=r.value),o.value=!1}const g=Z(!1),u={top:0,bottom:15,left:20,right:5},h=p(()=>{let W=[];return oe.etPriceList.size>0&&oe.etPriceList.forEach((ee,Oe)=>{W.push([Oe,ee])}),W}),c=p(()=>h.value.length>1?(nt-u.left-u.right)/h.value.length-1:0),k=p(()=>o.value?{background:"var(--color-charging)"}:{background:"var(--color-menu)"}),P=p(()=>{let W=Le(h.value,ee=>ee[0]);return W[1]&&(W[1]=new Date(W[1]),W[1].setTime(W[1].getTime()+36e5)),tt().range([u.left,nt-u.right]).domain(W)}),E=p(()=>{let W=[0,0];return h.value.length>0?(W=Le(h.value,ee=>ee[1]),W[0]=Math.floor(W[0]-1),W[1]=Math.floor(W[1]+1)):W=[0,0],W}),G=p(()=>Re().range([va-u.bottom,0]).domain(E.value)),z=p(()=>{const W=Ne(),ee=[[u.left,G.value(r.value)],[nt-u.right,G.value(r.value)]];return W(ee)}),C=p(()=>{const W=Ne(),ee=[[u.left,G.value(m.lowerPriceBound)],[nt-u.right,G.value(m.lowerPriceBound)]];return W(ee)}),B=p(()=>{const W=Ne(),ee=[[u.left,G.value(m.upperPriceBound)],[nt-u.right,G.value(m.upperPriceBound)]];return W(ee)}),q=p(()=>{const W=Ne(),ee=[[u.left,G.value(0)],[nt-u.right,G.value(0)]];return W(ee)}),I=p(()=>ht(P.value).ticks(6).tickSize(5).tickFormat(it("%H:%M"))),$=p(()=>pt(G.value).ticks(E.value[1]-E.value[0]).tickSizeInner(-375).tickFormat(W=>W%5!=0?"":W.toString())),D=p(()=>{g.value==!0;const W=ce("g#"+A.value);W.selectAll("*").remove(),W.selectAll("bar").data(h.value).enter().append("g").append("rect").attr("class","bar").attr("x",Ue=>P.value(Ue[0])).attr("y",Ue=>G.value(Ue[1])).attr("width",c.value).attr("height",Ue=>G.value(E.value[0])-G.value(Ue[1])).attr("fill",Ue=>Ue[1]<=r.value?"var(--color-charging)":"var(--color-axis)");const Oe=W.append("g").attr("class","axis").call(I.value);Oe.attr("transform","translate(0,"+(va-u.bottom)+")"),Oe.selectAll(".tick").attr("font-size",ba).attr("color","var(--color-bg)"),Oe.selectAll(".tick line").attr("stroke","var(--color-fg)").attr("stroke-width","0.5"),Oe.select(".domain").attr("stroke","var(--color-bg");const yt=W.append("g").attr("class","axis").call($.value);return yt.attr("transform","translate("+u.left+",0)"),yt.selectAll(".tick").attr("font-size",ba).attr("color","var(--color-bg)"),yt.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",Ue=>Ue%5==0?"2":"0.5"),yt.select(".domain").attr("stroke","var(--color-bg)"),E.value[0]<0&&W.append("path").attr("d",q.value).attr("stroke","var(--color-fg)"),W.append("path").attr("d",C.value).attr("stroke","green"),W.append("path").attr("d",B.value).attr("stroke","red"),W.append("path").attr("d",z.value).attr("stroke","yellow"),"PriceChart.vue"}),A=p(()=>e.chargepoint?"priceChartCanvas"+e.chargepoint.id:"priceChartCanvasGlobal"),S=p(()=>{let W=[];return oe.etPriceList.forEach(ee=>{W.push(ee)}),W.sort((ee,Oe)=>ee-Oe)});function V(){let W=S.value[0];for(let ee of S.value){if(ee>=r.value)break;W=ee}r.value=W}function Y(){let W=S.value[0];for(let ee of S.value)if(ee>r.value){W=ee;break}else W=ee;r.value=W}return Te(()=>{g.value=!g.value}),(W,ee)=>(l(),f(N,null,[n("p",Gi,"Anbieter: "+x(i(oe).etProvider),1),ee[3]||(ee[3]=n("hr",null,null,-1)),n("div",Ui,[n("figure",ji,[(l(),f("svg",Fi,[n("g",{id:A.value,origin:D.value,transform:"translate("+u.top+","+u.right+")"},null,8,Ni)]))])]),W.chargepoint!=null?(l(),f("div",Hi,[v(_e,{id:"pricechart_local",modelValue:r.value,"onUpdate:modelValue":ee[0]||(ee[0]=Oe=>r.value=Oe),min:Math.floor(S.value[0]-1),max:Math.ceil(S.value[S.value.length-1]+1),step:.1,decimals:2,"show-subrange":!0,"subrange-min":S.value[0],"subrange-max":S.value[S.value.length-1],unit:"ct"},null,8,["modelValue","min","max","subrange-min","subrange-max"])])):w("",!0),n("div",{class:"d-flex justify-content-between px-3 pb-2 pt-0 mt-0"},[n("button",{type:"button",class:"btn btn-sm jumpbutton",onClick:V},ee[1]||(ee[1]=[n("i",{class:"fa fa-sm fa-arrow-left"},null,-1)])),n("button",{type:"button",class:"btn btn-sm jumpbutton",onClick:Y},ee[2]||(ee[2]=[n("i",{class:"fa fa-sm fa-arrow-right"},null,-1)]))]),W.chargepoint!=null?(l(),f("div",Ri,[n("span",{class:"me-3 pt-0",onClick:d},[n("button",{type:"button",class:"btn btn-secondary confirmButton",style:ae(k.value),disabled:!o.value}," Bestätigen ",12,Ji)])])):w("",!0)],64))}}),Aa=H(qi,[["__scopeId","data-v-28b81885"]]),Yi={class:"pt-2 d-flex flex-column"},Qi={class:"subconfigstack grid-col-12"},Zi={class:"subconfig subgrid"},Xi=L({__name:"CPConfigEco",props:{chargepoint:{}},setup(a){const t=Z(a.chargepoint),o=p({get(){return t.value.ecoMaxEnergy/1e3},set(s){t.value.ecoMaxEnergy=s*1e3}});return(s,r)=>(l(),f("div",Yi,[r[6]||(r[6]=n("div",{class:"heading ms-1"},"Eco-Laden:",-1)),i(oe).active?(l(),M(Aa,{key:0,chargepoint:t.value},null,8,["chargepoint"])):w("",!0),i(oe).active?(l(),M(U,{key:1,title:"Minimaler Ladestrom unter der Preisgrenze:",icon:"fa-bolt",fullwidth:!0},{default:_(()=>[n("div",Qi,[n("div",Zi,[r[5]||(r[5]=n("span",{class:"subconfigtitle grid-col-1"},"Stärke:",-1)),v(_e,{id:"minCurrent",modelValue:t.value.ecoMinCurrent,"onUpdate:modelValue":r[0]||(r[0]=d=>t.value.ecoMinCurrent=d),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])])])]),_:1})):w("",!0),v(U,{title:"Anzahl Phasen",icon:"fa-plug",fullwidth:!0},{default:_(()=>[v(xe,{modelValue:t.value.ecoTargetPhases,"onUpdate:modelValue":r[1]||(r[1]=d=>t.value.ecoTargetPhases=d),options:[["1",1],["Maximum",3],["Auto",0]]},null,8,["modelValue"])]),_:1}),v(U,{title:"Begrenzung",icon:"fa-hand",fullwidth:!0},{default:_(()=>[v(xe,{modelValue:t.value.ecoChargeLimitMode,"onUpdate:modelValue":r[2]||(r[2]=d=>t.value.ecoChargeLimitMode=d),options:i(qt).map(d=>[d.name,d.id])},null,8,["modelValue","options"])]),_:1}),t.value.ecoChargeLimitMode=="soc"?(l(),M(U,{key:2,title:"Maximaler Ladestand",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(_e,{id:"maxSoc",modelValue:t.value.ecoTargetSoc,"onUpdate:modelValue":r[3]||(r[3]=d=>t.value.ecoTargetSoc=d),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),t.value.ecoChargeLimitMode=="amount"?(l(),M(U,{key:3,title:"Zu ladende Energie",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[v(_e,{id:"maxEnergy",modelValue:o.value,"onUpdate:modelValue":r[4]||(r[4]=d=>o.value=d),min:0,max:100,step:1,unit:"kWh"},null,8,["modelValue"])]),_:1})):w("",!0)]))}}),Ki=H(Xi,[["__scopeId","data-v-3ad56f95"]]),el={class:"settingsheader mt-2 ms-1"},tl=L({__name:"CPChargeConfig",props:{chargepoint:{}},emits:["closeConfig"],setup(a){const t=a.chargepoint;return(o,s)=>(l(),f(N,null,[n("p",el," Ladeeinstellungen für "+x(i(t).vehicleName)+": ",1),v(U,{title:"Lademodus",icon:"fa-charging-station",infotext:i(Je).chargemode,fullwidth:!0},{default:_(()=>[v(xe,{modelValue:i(t).chargeMode,"onUpdate:modelValue":s[0]||(s[0]=r=>i(t).chargeMode=r),columns:3,options:Object.keys(i(be)).map(r=>[i(be)[r].name,r,i(be)[r].color,i(be)[r].icon])},null,8,["modelValue","options"])]),_:1},8,["infotext"]),Object.values(i(X)).filter(r=>r.visible).length>1?(l(),M(U,{key:0,title:"Fahrzeug wechseln",icon:"fa-car",infotext:i(Je).vehicle,fullwidth:!0},{default:_(()=>[v(xe,{modelValue:i(t).connectedVehicle,"onUpdate:modelValue":s[1]||(s[1]=r=>i(t).connectedVehicle=r),modelModifiers:{number:!0},options:Object.values(i(X)).filter(r=>r.visible).map(r=>[r.name,r.id])},null,8,["modelValue","options"])]),_:1},8,["infotext"])):w("",!0),v(U,{title:"Sperren",icon:"fa-lock",infotext:i(Je).locked,fullwidth:!0},{"inline-item":_(()=>[v(le,{modelValue:i(t).isLocked,"onUpdate:modelValue":s[2]||(s[2]=r=>i(t).isLocked=r)},null,8,["modelValue"])]),_:1},8,["infotext"]),v(U,{title:"Priorität",icon:"fa-star",infotext:i(Je).priority,fullwidth:!0},{"inline-item":_(()=>[v(le,{modelValue:i(t).hasPriority,"onUpdate:modelValue":s[3]||(s[3]=r=>i(t).hasPriority=r)},null,8,["modelValue"])]),_:1},8,["infotext"]),v(U,{title:"Zeitplan",icon:"fa-clock",infotext:i(Je).timeplan,fullwidth:!0},{"inline-item":_(()=>[v(le,{modelValue:i(t).timedCharging,"onUpdate:modelValue":s[4]||(s[4]=r=>i(t).timedCharging=r)},null,8,["modelValue"])]),_:1},8,["infotext"]),i(he).isBatteryConfigured?(l(),M(U,{key:1,title:"PV-Priorität",icon:"fa-car-battery",infotext:i(Je).pvpriority,fullwidth:!0},{default:_(()=>[v(xe,{modelValue:i(he).pvBatteryPriority,"onUpdate:modelValue":s[5]||(s[5]=r=>i(he).pvBatteryPriority=r),options:i(cn)},null,8,["modelValue","options"])]),_:1},8,["infotext"])):w("",!0)],64))}}),al=H(tl,[["__scopeId","data-v-bf66e6b3"]]),nl={class:"status-string"},rl={style:{color:"red"}},ol={class:"m-0 mt-4 p-0 grid-col-12 tabarea"},sl={class:"nav nav-tabs nav-justified mx-1 mt-1",role:"tablist"},il=["data-bs-target"],ll=["data-bs-target"],cl=["data-bs-target"],ul=["data-bs-target"],dl=["data-bs-target"],hl=["data-bs-target"],gl={id:"settingsPanes",class:"tab-content mx-1 p-1 pb-3"},pl=["id"],ml=["id"],fl=["id"],vl=["id"],bl=["id"],yl=["id"],_l=L({__name:"CPChargeConfigPanel",props:{chargepoint:{}},emits:["closeConfig"],setup(a){const t=a.chargepoint,o=p(()=>{var r;return((r=t.chargeTemplate)==null?void 0:r.id)??0}),s=p(()=>t.id);return Te(()=>{}),(r,d)=>(l(),f(N,null,[v(U,{title:"Status",icon:"fa-info-circle",fullwidth:!0,class:"item"},{default:_(()=>[n("span",nl,x(i(t).stateStr),1)]),_:1}),i(t).faultState!=0?(l(),M(U,{key:0,title:"Fehler",class:"grid-col-12",icon:"fa-triangle-exclamation"},{default:_(()=>[n("span",rl,x(i(t).faultStr),1)]),_:1})):w("",!0),n("div",ol,[n("nav",sl,[n("a",{class:"nav-link active","data-bs-toggle":"tab","data-bs-target":"#chargeSettings"+s.value},d[0]||(d[0]=[n("i",{class:"fa-solid fa-charging-station"},null,-1)]),8,il),n("a",{class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#instantSettings"+s.value},d[1]||(d[1]=[n("i",{class:"fa-solid fa-lg fa-bolt"},null,-1)]),8,ll),n("a",{class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#pvSettings"+s.value},d[2]||(d[2]=[n("i",{class:"fa-solid fa-solar-panel me-1"},null,-1)]),8,cl),n("a",{class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#scheduledSettings"+s.value},d[3]||(d[3]=[n("i",{class:"fa-solid fa-bullseye me-1"},null,-1)]),8,ul),n("a",{class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#ecoSettings"+s.value},d[4]||(d[4]=[n("i",{class:"fa-solid fa-coins"},null,-1)]),8,dl),n("a",{class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#timedSettings"+s.value},d[5]||(d[5]=[n("i",{class:"fa-solid fa-clock"},null,-1)]),8,hl)]),n("div",gl,[n("div",{id:"chargeSettings"+s.value,class:"tab-pane active",role:"tabpanel","aria-labelledby":"instant-tab"},[v(al,{chargepoint:r.chargepoint},null,8,["chargepoint"])],8,pl),n("div",{id:"instantSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"instant-tab"},[v(Zs,{chargepoint:i(t),vehicles:i(X),"charge-templates":i(Ft)},null,8,["chargepoint","vehicles","charge-templates"])],8,ml),n("div",{id:"pvSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"pv-tab"},[v(ii,{chargepoint:i(t),vehicles:i(X),"charge-templates":i(Ft)},null,8,["chargepoint","vehicles","charge-templates"])],8,fl),n("div",{id:"scheduledSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"scheduled-tab"},[o.value!=null?(l(),M(Si,{key:0,"charge-point":i(t)},null,8,["charge-point"])):w("",!0)],8,vl),n("div",{id:"ecoSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"eco-tab"},[o.value!=null?(l(),M(Ki,{key:0,chargepoint:i(t)},null,8,["chargepoint"])):w("",!0)],8,bl),n("div",{id:"timedSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"scheduled-tab"},[o.value!=null?(l(),M(Wi,{key:0,"charge-point":i(t)},null,8,["charge-point"])):w("",!0)],8,yl)])])],64))}}),Ht=H(_l,[["__scopeId","data-v-6ffc2337"]]),wl={class:"d-flex justify-content-center align-items-center"},kl=L({__name:"BatterySymbol",props:{soc:{},color:{}},setup(a){const e=a,t=p(()=>e.soc<=12?"fa-battery-empty":e.soc<38?"fa-battery-quarter":e.soc<62?"fa-battery-half":e.soc<87?"fa-battery-three-quarters":"fa-battery-full"),o=p(()=>({color:e.color??"var(--color-menu)"}));return(s,r)=>(l(),f("span",wl,[n("i",{class:R(["fa me-1",t.value]),style:ae(o.value)},null,6),J(" "+x(Math.round(s.soc)+"%"),1)]))}}),Ct=H(kl,[["__scopeId","data-v-a68c844a"]]),We=L({__name:"FormatWattH",props:{wattH:{}},setup(a){const e=a,t=p(()=>He(e.wattH,m.decimalPlaces));return(o,s)=>(l(),f("span",null,x(t.value),1))}}),xl={class:"wb-widget p-0 m-0 shadow widgetWidth"},Sl={class:"py-4 px-3 d-flex justify-content-between align-items-center titlerow"},$l={class:"d-flex align-items-center widgetname p-0 m-0"},Ml={class:"buttonrea d-flex float-right justify-content-end align-items-center"},Pl={class:"grid12 pb-3 px-3"},Cl=L({__name:"WbWidgetFlex",props:{variableWidth:{type:Boolean},fullWidth:{type:Boolean}},setup(a){const e=a,t=p(()=>e.fullWidth?"col-12":e.variableWidth&&m.preferWideBoxes?"col-lg-6":"col-lg-4");return(o,s)=>(l(),f("div",{class:R(["p-2 m-0",t.value])},[n("div",xl,[n("div",Sl,[n("div",$l,[de(o.$slots,"title",{},()=>[s[0]||(s[0]=n("div",{class:"p-0"},"(title goes here)",-1))],!0),de(o.$slots,"subtitle",{},void 0,!0)]),n("div",Ml,[de(o.$slots,"buttons",{},void 0,!0)])]),n("div",Pl,[de(o.$slots,"default",{},void 0,!0)])])],2))}}),Ge=H(Cl,[["__scopeId","data-v-fb6ac7a4"]]),Il=L({__name:"WbBadge",props:{color:{},bgcolor:{}},setup(a){const e=a,t=p(()=>({color:e.color??"var(--color-bg)","background-color":e.bgcolor??"var(--color-menu)"}));return(o,s)=>(l(),f("span",{class:"pillWbBadge rounded-pill ms-2 px-2",style:ae(t.value)},[de(o.$slots,"default",{},void 0,!0)],4))}}),Ce=H(Il,[["__scopeId","data-v-36112fa3"]]),Bl={class:"d-flex justify-content-center align-items-center"},Vl={key:0,class:"WbBadge rounded-pill errorWbBadge ms-3"},Ll={key:0},Tl={key:1,class:"row m-0 mt-0 p-0"},Ol={class:"col m-0 p-0"},Al={key:0},El={class:"row"},zl={class:"col"},Dl={class:"carTitleLine d-flex justify-content-between align-items-center"},Wl={key:0,class:"me-1 fa-solid fa-xs fa-star ps-1"},Gl={key:1,class:"me-0 fa-solid fa-xs fa-clock ps-1"},Ul={key:0,class:"carSelector p-4 m-2"},jl={class:"grid12"},Fl={style:{color:"var(--color-charging)"}},Nl={style:{color:"var(--color-charging)"}},Hl={style:{color:"var(--color-charging)"}},Rl={class:"targetCurrent"},Jl={key:5,class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12 grid-left"},ql={class:"d-flex justify-content-stretch align-items-center"},Yl={key:0,class:"fa-solid fa-sm fas fa-edit ms-2"},Ql=["id"],Zl=L({__name:"CPChargePoint",props:{chargepoint:{},fullWidth:{type:Boolean}},setup(a){const e=a,t=Z(e.chargepoint),o=Z(!1),s=p({get(){return e.chargepoint.chargeMode},set(S){console.log("set mode"),O[e.chargepoint.id].chargeMode=S}}),r=p(()=>(Math.round(e.chargepoint.current*10)/10).toLocaleString(void 0)+" A"),d=p(()=>(Math.round(e.chargepoint.realCurrent*10)/10).toLocaleString(void 0)+" A"),g=p(()=>{const S=e.chargepoint.rangeCharged,V=e.chargepoint.chargedSincePlugged,Y=e.chargepoint.dailyYield;return V>0?Math.round(S/V*Y).toString()+" "+e.chargepoint.rangeUnit:"0 km"}),u=p(()=>e.chargepoint.isLocked?"Gesperrt":e.chargepoint.isCharging?"Lädt":e.chargepoint.isPluggedIn?"Bereit":"Frei"),h=p(()=>e.chargepoint.isLocked?"var(--color-evu)":e.chargepoint.isCharging?"var(--color-charging)":e.chargepoint.isPluggedIn?"var(--color-battery)":"var(--color-axis)"),c=p(()=>{let S="";return e.chargepoint.isLocked?S="fa-lock":e.chargepoint.isCharging?S=" fa-bolt":e.chargepoint.isPluggedIn&&(S="fa-plug"),"fa "+S}),k=p(()=>{switch(e.chargepoint.chargeMode){case"stop":return{color:"var(--fg)"};default:return{color:be[e.chargepoint.chargeMode].color}}}),P=p(()=>e.chargepoint.soc),E=p(()=>({color:e.chargepoint.color})),G=p(()=>e.chargepoint.etMaxPrice>=+D.value?{color:"var(--color-charging)"}:{color:"var(--color-menu)"}),z=p(()=>e.chargepoint.soc<20?"var(--color-evu)":e.chargepoint.soc>=80?"var(--color-pv)":"var(--color-battery)"),C=Z(!1),B=Z(!1);function q(){ye("socUpdate",1,e.chargepoint.connectedVehicle),O[e.chargepoint.id].waitingForSoc=!0}function I(){ye("setSoc",$.value,e.chargepoint.connectedVehicle),B.value=!1}const $=p({get(){return e.chargepoint.soc},set(S){O[e.chargepoint.id].soc=S}}),D=p(()=>{const[S]=oe.etPriceList.values();return(Math.round(S*10)/10).toFixed(1)}),A=Z(!1);return(S,V)=>C.value?(l(),M(Ge,{key:1,"full-width":e.fullWidth},{title:_(()=>[n("span",{style:ae(E.value),onClick:V[11]||(V[11]=Y=>C.value=!C.value)},[V[21]||(V[21]=n("span",{class:"fas fa-gear"}," ",-1)),J(" Einstellungen "+x(e.chargepoint.name),1)],4)]),buttons:_(()=>[n("span",{class:"ms-2 pt-1",style:ae(k.value),onClick:V[12]||(V[12]=Y=>C.value=!C.value)},V[22]||(V[22]=[n("span",{class:"fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]),4)]),default:_(()=>[S.chargepoint!=null?(l(),M(Ht,{key:0,chargepoint:S.chargepoint},null,8,["chargepoint"])):w("",!0),n("button",{type:"button",class:"close-config-button btn ms-2 pt-1",onClick:V[13]||(V[13]=Y=>C.value=!C.value)}," OK ")]),_:1},8,["full-width"])):(l(),M(bt,{key:0,"variable-width":!0,"full-width":e.fullWidth},{title:_(()=>[n("span",Bl,[n("span",{style:ae(E.value),onClick:V[0]||(V[0]=Y=>C.value=!C.value)},[V[14]||(V[14]=n("span",{class:"fa-solid fa-charging-station"}," ",-1)),J(" "+x(e.chargepoint.name),1)],4),t.value.faultState==2?(l(),f("span",Vl,"Fehler")):w("",!0)])]),buttons:_(()=>[n("span",{type:"button",class:"ms-2 ps-1 pt-1",style:ae(k.value),onClick:V[1]||(V[1]=Y=>C.value=!C.value)},V[15]||(V[15]=[n("span",{class:"fa-solid fa-lg ps-1 fa-ellipsis-vertical"},null,-1)]),4)]),footer:_(()=>[C.value?w("",!0):(l(),f("div",Al,[n("div",El,[n("div",zl,[n("div",Dl,[n("h3",{onClick:V[3]||(V[3]=Y=>o.value=!o.value)},[V[16]||(V[16]=n("i",{class:"fa-solid fa-sm fa-car me-2"},null,-1)),J(" "+x(S.chargepoint.vehicleName)+" ",1),n("span",{class:R(["fa-solid fa-xs me-2",o.value?"fa-caret-up":"fa-caret-down"])},null,2),S.chargepoint.hasPriority?(l(),f("span",Wl)):w("",!0),S.chargepoint.timedCharging?(l(),f("span",Gl)):w("",!0)]),S.chargepoint.isSocConfigured?(l(),M(Ce,{key:0,bgcolor:z.value},{default:_(()=>[v(Ct,{soc:P.value??0,color:"var(--color-bg)",class:"me-2"},null,8,["soc"]),S.chargepoint.isSocManual?(l(),f("i",{key:0,class:"fa-solid fa-sm fas fa-edit",style:{color:"var(--color-bg)"},onClick:V[4]||(V[4]=Y=>B.value=!B.value)})):w("",!0),S.chargepoint.isSocManual?w("",!0):(l(),f("i",{key:1,type:"button",class:R(["fa-solid fa-sm",S.chargepoint.waitingForSoc?"fa-spinner fa-spin":"fa-sync"]),onClick:q},null,2))]),_:1},8,["bgcolor"])):w("",!0)]),o.value?(l(),f("div",Ul,[V[17]||(V[17]=n("span",{class:"changeCarTitle mb-2"},"Fahrzeug wechseln:",-1)),v(xe,{modelValue:t.value.connectedVehicle,"onUpdate:modelValue":[V[5]||(V[5]=Y=>t.value.connectedVehicle=Y),V[6]||(V[6]=Y=>o.value=!1)],modelModifiers:{number:!0},options:Object.values(i(X)).filter(Y=>Y.visible).map(Y=>[Y.name,Y.id])},null,8,["modelValue","options"])])):w("",!0)])]),n("div",jl,[v(Ta,{id:"chargemode-"+S.chargepoint.name,modelValue:s.value,"onUpdate:modelValue":V[7]||(V[7]=Y=>s.value=Y),class:"chargemodes mt-3 mb-3",options:Object.keys(i(be)).map(Y=>({text:i(be)[Y].name,value:Y,color:i(be)[Y].color,icon:i(be)[Y].icon,active:i(be)[Y].mode==S.chargepoint.chargeMode}))},null,8,["id","modelValue","options"]),e.chargepoint.power>0?(l(),M(te,{key:0,heading:"Leistung:",class:"grid-col-3 grid-left mb-3"},{default:_(()=>[n("span",Fl,[v(vt,{watt:e.chargepoint.power},null,8,["watt"])])]),_:1})):w("",!0),e.chargepoint.power>0?(l(),M(te,{key:1,heading:"Strom:",class:"grid-col-3"},{default:_(()=>[n("span",Nl,x(d.value),1)]),_:1})):w("",!0),e.chargepoint.power>0?(l(),M(te,{key:2,heading:"Phasen:",class:"grid-col-3"},{default:_(()=>[n("span",Hl,x(e.chargepoint.phasesInUse),1)]),_:1})):w("",!0),e.chargepoint.power>0?(l(),M(te,{key:3,heading:"Sollstrom:",class:"grid-col-3 grid-right"},{default:_(()=>[n("span",Rl,x(r.value),1)]),_:1})):w("",!0),v(te,{heading:"letzte Ladung:",class:"grid-col-4 grid-left"},{default:_(()=>[v(We,{"watt-h":Math.max(S.chargepoint.chargedSincePlugged,0)},null,8,["watt-h"])]),_:1}),v(te,{heading:"gel. Reichw.:",class:"grid-col-4"},{default:_(()=>[J(x(g.value),1)]),_:1}),S.chargepoint.isSocConfigured?(l(),M(te,{key:4,heading:"Reichweite:",class:"grid-col-4 grid-right"},{default:_(()=>[J(x(i(X)[e.chargepoint.connectedVehicle]?Math.round(i(X)[e.chargepoint.connectedVehicle].range):0)+" km ",1)]),_:1})):w("",!0),B.value?(l(),f("div",Jl,[V[18]||(V[18]=n("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),n("span",ql,[n("span",null,[v(_e,{id:"manualSoc",modelValue:$.value,"onUpdate:modelValue":V[8]||(V[8]=Y=>$.value=Y),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),n("span",{type:"button",class:"fa-solid d-flex fa-lg me-2 mb-3 align-self-end fa-circle-check",onClick:I})])):w("",!0),V[20]||(V[20]=n("hr",{class:"divider grid-col-12"},null,-1)),i(oe).active?(l(),M(te,{key:6,heading:"Strompreis:",class:"grid-col-4 grid-left"},{default:_(()=>[n("span",{style:ae(G.value)},x(D.value)+" ct ",5)]),_:1})):w("",!0),t.value.etActive?(l(),M(te,{key:7,heading:"max. Preis:",class:"grid-col-4"},{default:_(()=>[n("span",{type:"button",onClick:V[9]||(V[9]=Y=>A.value=!A.value)},[J(x(e.chargepoint.etActive?(Math.round(e.chargepoint.etMaxPrice*10)/10).toFixed(1)+" ct":"-")+" ",1),e.chargepoint.etActive?(l(),f("i",Yl)):w("",!0)])]),_:1})):w("",!0),A.value?(l(),f("div",{key:8,id:"priceChartInline"+e.chargepoint.id,class:"d-flex flex-column rounded priceEditor grid-col-12"},[i(X)[e.chargepoint.connectedVehicle]!=null?(l(),M(Aa,{key:0,chargepoint:e.chargepoint},null,8,["chargepoint"])):w("",!0),n("span",{class:"d-flex ms-2 my-4 pe-3 pt-1 d-flex align-self-end",style:ae(k.value),onClick:V[10]||(V[10]=Y=>A.value=!1)},V[19]||(V[19]=[n("span",{type:"button",class:"d-flex fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]),4)],8,Ql)):w("",!0)])]))]),default:_(()=>[C.value?w("",!0):(l(),f("div",Ll,[n("div",{class:"grid12",onClick:V[2]||(V[2]=Y=>C.value=!C.value)},[v(te,{heading:"Status:",class:"grid-col-4 grid-left"},{default:_(()=>[n("span",{style:ae({color:h.value})},[n("i",{class:R(c.value)},null,2),J(" "+x(u.value),1)],4)]),_:1}),v(te,{heading:"Geladen:",class:"grid-col-4 grid-left"},{default:_(()=>[v(We,{"watt-h":S.chargepoint.dailyYield},null,8,["watt-h"])]),_:1})])])),C.value?(l(),f("div",Tl,[n("div",Ol,[S.chargepoint!=null?(l(),M(Ht,{key:0,chargepoint:S.chargepoint},null,8,["chargepoint"])):w("",!0)])])):w("",!0)]),_:1},8,["full-width"]))}}),Xl=H(Zl,[["__scopeId","data-v-8a217eeb"]]),Kl=["id"],ec={class:"modal-dialog modal-lg modal-fullscreen-lg-down"},tc={class:"modal-content"},ac={class:"modal-header"},nc={class:"modal-title"},rc={class:"modal-body",style:{"background-color":"var(--color-bg)"}},oc=L({__name:"ModalComponent",props:{modalId:{}},setup(a){const e=a;return Te(()=>{}),(t,o)=>(l(),f("div",{id:e.modalId,class:"modal fade"},[n("div",ec,[n("div",tc,[n("div",ac,[n("h3",nc,[de(t.$slots,"title",{},void 0,!0)]),o[0]||(o[0]=n("button",{type:"button",class:"btn-close buttonTextSize d-flex justify-content-center pt-3 pb-0","data-bs-dismiss":"modal"},[n("i",{class:"fa-solid fa-lg fa-rectangle-xmark m-0 p-0"})],-1))]),n("div",rc,[de(t.$slots,"default",{},void 0,!0),o[1]||(o[1]=n("button",{class:"btn btn-secondary float-end mt-3 ms-1","data-bs-dismiss":"modal"}," Schließen ",-1))])])])],8,Kl))}}),Ea=H(oc,[["__scopeId","data-v-eaefae30"]]),sc={class:"d-flex align-items-center"},ic={class:"cpname"},lc={class:"d-flex float-right justify-content-end align-items-center"},cc=["data-bs-target"],uc=["data-bs-target"],dc={class:"subgrid"},hc={key:0,class:"d-flex justify-content-center align-items-center vehiclestatus"},gc={class:"d-flex flex-column align-items-center px-0"},pc={class:"d-flex justify-content-center flex-wrap"},mc={class:"d-flex align-items-center"},fc={class:"badge phasesInUse rounded-pill"},vc={class:"d-flex flex-wrap justify-content-center chargeinfo"},bc={class:"me-1"},yc={key:0,class:"subgrid socEditRow m-0 p-0"},_c={class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12"},wc={class:"d-flex justify-content-stretch align-items-center"},kc=L({__name:"CpsListItem2",props:{chargepoint:{}},setup(a){const e=a,t=Z(!1),o=p(()=>be[e.chargepoint.chargeMode].icon),s=p(()=>{let B="";return e.chargepoint.isLocked?B="fa-lock":e.chargepoint.isCharging?B=" fa-bolt":e.chargepoint.isPluggedIn&&(B="fa-plug"),"fa "+B}),r=p(()=>{let B="var(--color-axis)";return e.chargepoint.isLocked?B="var(--color-evu)":e.chargepoint.isCharging?B="var(--color-charging)":e.chargepoint.isPluggedIn&&(B="var(--color-battery)"),{color:B,border:`0.5px solid ${B} `}}),d=p(()=>{switch(e.chargepoint.chargeMode){case"stop":return{"background-color":"var(--color-input)"};default:return{"background-color":be[e.chargepoint.chargeMode].color}}}),g=p(()=>Pe(e.chargepoint.power,m.decimalPlaces)),u=p(()=>e.chargepoint.current+" A"),h=p(()=>e.chargepoint.phasesInUse),c=p(()=>e.chargepoint.dailyYield>0?He(e.chargepoint.dailyYield,m.decimalPlaces):"0 Wh"),k=p(()=>"("+Math.round(e.chargepoint.rangeCharged).toString()+" "+e.chargepoint.rangeUnit+")"),P=p(()=>be[e.chargepoint.chargeMode].name);function E(){ye("socUpdate",1,e.chargepoint.connectedVehicle),O[e.chargepoint.id].waitingForSoc=!0}function G(){ye("setSoc",z.value,e.chargepoint.connectedVehicle),t.value=!1}const z=p({get(){return e.chargepoint.soc},set(B){O[e.chargepoint.id].soc=B}}),C=p(()=>e.chargepoint.isLocked?"Gesperrt":e.chargepoint.isCharging?"Lädt":e.chargepoint.isPluggedIn?"Bereit":"Frei");return(B,q)=>(l(),f(N,null,[v(at,{titlecolor:B.chargepoint.color,fullwidth:!0,small:!0},{title:_(()=>[n("div",sc,[n("span",ic,x(B.chargepoint.name),1),n("span",{class:"badge rounded-pill statusbadge mx-2",style:ae(r.value)},[n("i",{class:R([s.value,"me-1"])},null,2),J(" "+x(C.value),1)],4)])]),buttons:_(()=>[n("div",lc,[n("span",{class:"badge rounded-pill modebadge mx-2",type:"button",style:ae(d.value),"data-bs-toggle":"modal","data-bs-target":"#cpsconfig-"+B.chargepoint.id},[n("i",{class:R(["fa me-1",o.value])},null,2),J(" "+x(P.value),1)],12,cc),n("span",{class:"fa-solid ms-2 fa-lg fa-edit ps-1",type:"button","data-bs-toggle":"modal","data-bs-target":"#cpsconfig-"+B.chargepoint.id},null,8,uc)])]),default:_(()=>[n("div",dc,[v(te,{heading:B.chargepoint.vehicleName,small:!0,class:"grid-left grid-col-4"},{default:_(()=>[B.chargepoint.isSocConfigured?(l(),f("span",hc,[B.chargepoint.soc?(l(),M(Ct,{key:0,class:"me-1",soc:B.chargepoint.soc},null,8,["soc"])):w("",!0),B.chargepoint.isSocConfigured&&B.chargepoint.isSocManual?(l(),f("i",{key:1,type:"button",class:"fa-solid fa-sm fas fa-edit",style:{color:"var(--color-menu)"},onClick:q[0]||(q[0]=I=>t.value=!t.value)})):w("",!0),B.chargepoint.isSocConfigured&&!B.chargepoint.isSocManual?(l(),f("i",{key:2,type:"button",class:R(["fa-solid fa-sm me-2",B.chargepoint.waitingForSoc?"fa-spinner fa-spin":"fa-sync"]),style:{color:"var(--color-menu)"},onClick:E},null,2)):w("",!0)])):w("",!0)]),_:1},8,["heading"]),v(te,{heading:"Parameter:",small:!0,class:"grid-col-4"},{default:_(()=>[n("div",gc,[n("span",pc,[n("span",null,x(g.value),1),n("span",mc,[n("span",fc,x(h.value),1),n("span",null,x(u.value),1)])])])]),_:1}),v(te,{heading:"Geladen:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[n("div",vc,[n("span",bc,x(c.value),1),n("span",null,x(k.value),1)])]),_:1})]),t.value?(l(),f("div",yc,[n("div",_c,[q[2]||(q[2]=n("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),n("span",wc,[n("span",null,[v(_e,{id:"manualSoc",modelValue:z.value,"onUpdate:modelValue":q[1]||(q[1]=I=>z.value=I),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),n("span",{type:"button",class:"fa-solid d-flex fa-lg me-2 mb-3 align-self-end fa-circle-check",onClick:G})])])):w("",!0)]),_:1},8,["titlecolor"]),(l(),M(Xa,{to:"body"},[(l(),M(Ea,{key:B.chargepoint.id,"modal-id":"cpsconfig-"+B.chargepoint.id},{title:_(()=>[J(" Konfiguration: "+x(B.chargepoint.name),1)]),default:_(()=>[B.chargepoint!=null?(l(),M(Ht,{key:0,chargepoint:B.chargepoint},null,8,["chargepoint"])):w("",!0)]),_:1},8,["modal-id"]))]))],64))}}),xc=H(kc,[["__scopeId","data-v-ba15dbc4"]]),Sc=L({__name:"CpSimpleList2",setup(a){const e=p(()=>Object.values(O));return(t,o)=>(l(),M(Ge,{"variable-width":!0},{title:_(()=>o[0]||(o[0]=[n("span",{class:"fa-solid fa-charging-station"}," ",-1),J(" Ladepunkte ")])),buttons:_(()=>[i(oe).active?(l(),M(Ce,{key:0,bgcolor:"var(--color-menu)"},{default:_(()=>[J("Strompreis: "+x(i(oe).etCurrentPriceString),1)]),_:1})):w("",!0)]),default:_(()=>[(l(!0),f(N,null,K(e.value,(s,r)=>(l(),f("div",{key:r,class:"subgrid pb-2"},[v(xc,{chargepoint:s},null,8,["chargepoint"])]))),128))]),_:1}))}}),$c=H(Sc,[["__scopeId","data-v-b8c6b557"]]),Ot=L({__name:"ChargePointList",props:{id:{},compact:{type:Boolean}},setup(a){let e,t;const o=a,s=p(()=>{let h=Object.values(O);return u(),h}),r=p(()=>d.value+" "+g.value),d=p(()=>{switch(Object.values(O).length){case 0:return m.preferWideBoxes?"col-lg-6":"col-lg-4";case 1:return m.preferWideBoxes?"col-lg-6":"col-lg-4";case 2:return m.preferWideBoxes?"col-lg-12":"col-lg-8 ";default:return"col-lg-12"}}),g=p(()=>"swiper-chargepoints-"+o.id);function u(){let h=document.querySelector("."+g.value);if(h&&(t=h,e=t.swiper),e){let c="1";if(De.value)switch(Object.values(O).length){case 0:case 1:c="1";break;case 2:c="2";break;default:c="3"}t.setAttribute("slides-per-view",c),e.update()}}return Te(()=>{let h=document.querySelector("."+g.value);h&&(t=h,e=t.swiper),window.addEventListener("resize",u),window.document.addEventListener("visibilitychange",u)}),(h,c)=>(l(),f(N,null,[o.compact?w("",!0):(l(),f("swiper-container",{key:0,"space-between":0,"slides-per-view":1,pagination:{clickable:!0},class:R(["cplist m-0 p-0 d-flex align-items-stretch",r.value])},[(l(!0),f(N,null,K(s.value,k=>(l(),f("swiper-slide",{key:k.id},[n("div",{class:R([i(De)?"mb-0":"mb-5","d-flex align-items-stretch flex-fill"])},[v(Xl,{chargepoint:k,"full-width":!0},null,8,["chargepoint"])],2)]))),128))],2)),o.compact?(l(),M($c,{key:1})):w("",!0)],64))}}),Mc={class:"container-fluid p-0 m-0"},Pc={class:"row p-0 m-0"},Cc={class:"d-grid gap-2"},Ic=["onClick"],Bc={class:"col-md-4 p-1"},Vc={class:"d-grid gap-2"},Lc={key:0},Tc={class:"row justify-content-center m-1 p-0"},Oc={class:"col-lg-4 p-1 m-0"},Ac={class:"d-grid gap-2"},Ec={class:"col-lg-4 p-1 m-0"},zc={class:"d-grid gap-2"},Dc={class:"col-lg-4 p-1 m-0"},Wc={class:"d-grid gap-2"},Gc=L({__name:"BBSelect",props:{cpId:{}},setup(a){const e=a,t=[{mode:"instant_charging",name:"Sofort",color:"var(--color-charging)"},{mode:"pv_charging",name:"PV",color:"var(--color-pv)"},{mode:"scheduled_charging",name:"Zielladen",color:"var(--color-battery)"},{mode:"eco_charging",name:"Eco",color:"var(--color-devices)"},{mode:"stop",name:"Stop",color:"var(--color-axis)"}],o=p(()=>O[e.cpId]);function s(h){return h==o.value.chargeMode?"btn btn-success buttonTextSize":"btn btn-secondary buttonTextSize"}function r(h){return he.pvBatteryPriority==h?"btn-success":"btn-secondary"}function d(h){o.value.chargeMode=h}function g(h){o.value.isLocked=h}function u(h){he.pvBatteryPriority=h}return(h,c)=>(l(),f("div",Mc,[n("div",Pc,[(l(),f(N,null,K(t,(k,P)=>n("div",{key:P,class:"col-md-4 p-1"},[n("div",Cc,[n("button",{type:"button",class:R(s(k.mode)),style:{},onClick:E=>d(k.mode)},x(k.name),11,Ic)])])),64)),n("div",Bc,[n("div",Vc,[o.value.isLocked?(l(),f("button",{key:0,type:"button",class:"btn btn-outline-success buttonTextSize","data-bs-dismiss":"modal",onClick:c[0]||(c[0]=k=>g(!1))}," Entsperren ")):w("",!0),o.value.isLocked?w("",!0):(l(),f("button",{key:1,type:"button",class:"btn btn-outline-danger buttonTextSize","data-bs-dismiss":"modal",onClick:c[1]||(c[1]=k=>g(!0))}," Sperren "))])])]),i(he).isBatteryConfigured?(l(),f("div",Lc,[c[8]||(c[8]=n("hr",null,null,-1)),c[9]||(c[9]=n("div",{class:"row"},[n("div",{class:"col text-center"},"Vorrang im Lademodus PV-Laden:")],-1)),n("div",Tc,[n("div",Oc,[n("div",Ac,[n("button",{id:"evPriorityBtn",type:"button",class:R(["priorityModeBtn btn btn-secondary buttonTextSize",r("ev_mode")]),"data-dismiss":"modal",priority:"1",onClick:c[2]||(c[2]=k=>u("ev_mode"))},c[5]||(c[5]=[J(" EV "),n("span",{class:"fas fa-car ms-2"}," ",-1)]),2)])]),n("div",Ec,[n("div",zc,[n("button",{id:"batteryPriorityBtn",type:"button",class:R(["priorityModeBtn btn btn-secondary buttonTextSize",r("bat_mode")]),"data-dismiss":"modal",priority:"0",onClick:c[3]||(c[3]=k=>u("bat_mode"))},c[6]||(c[6]=[J(" Speicher "),n("span",{class:"fas fa-car-battery ms-2"}," ",-1)]),2)])]),n("div",Dc,[n("div",Wc,[n("button",{id:"minsocPriorityBtn",type:"button",class:R(["priorityModeBtn btn btn-secondary buttonTextSize",r("min_soc_bat_mode")]),"data-dismiss":"modal",priority:"0",onClick:c[4]||(c[4]=k=>u("min_soc_bat_mode"))},c[7]||(c[7]=[J(" MinSoc "),n("span",{class:"fas fa-battery-half"}," ",-1)]),2)])])])])):w("",!0)]))}}),Uc={class:"col-lg-4 p-0 m-0 mt-1"},jc={class:"d-grid gap-2"},Fc=["data-bs-target"],Nc={class:"m-0 p-0 d-flex justify-content-between align-items-center"},Hc={class:"mx-1 badge rounded-pill smallTextSize plugIndicator"},Rc={key:0,class:"ms-2"},Jc={class:"m-0 p-0"},qc={key:0,class:"ps-1"},Yc=L({__name:"BbChargeButton",props:{chargepoint:{}},setup(a){const e=a,t="chargeSelectModal"+e.chargepoint.id,o=p(()=>be[e.chargepoint.chargeMode].name),s=p(()=>{let c={background:"var(--color-menu)"};return e.chargepoint.isLocked?c.background="var(--color-evu)":e.chargepoint.isCharging?c.background="var(--color-charging)":e.chargepoint.isPluggedIn&&(c.background="var(--color-battery)"),c}),r=p(()=>{{let c={background:be[e.chargepoint.chargeMode].color,color:"white"};switch(e.chargepoint.chargeMode){case $e.instant_charging:e.chargepoint.isCharging&&!e.chargepoint.isLocked&&(c=h(c));break;case $e.stop:c.background="darkgrey",c.color="black";break;case $e.scheduled_charging:e.chargepoint.isPluggedIn&&!e.chargepoint.isCharging&&!e.chargepoint.isLocked&&(c=h(c));break}return c}}),d=p(()=>be[e.chargepoint.chargeMode].icon),g=p(()=>{switch(he.pvBatteryPriority){case"ev_mode":return"fa-car";case"bat_mode":return"fa-car-battery";case"min_soc_bat_mode":return"fa-battery-half";default:return console.log("default"),""}}),u=p(()=>{let c="fa-ellipsis";return e.chargepoint.isLocked?c="fa-lock":e.chargepoint.isCharging?c=" fa-bolt":e.chargepoint.isPluggedIn&&(c="fa-plug"),"fa "+c});function h(c){let k=c.color;return c.color=c.background,c.background=k,c}return(c,k)=>(l(),f("div",Uc,[n("div",jc,[n("button",{type:"button",class:"btn mx-1 mb-0 p-1 mediumTextSize chargeButton shadow",style:ae(s.value),"data-bs-toggle":"modal","data-bs-target":"#"+t},[n("div",Nc,[n("span",Hc,[n("i",{class:R(u.value)},null,2),c.chargepoint.isCharging?(l(),f("span",Rc,x(i(Pe)(c.chargepoint.power)),1)):w("",!0)]),n("span",Jc,x(c.chargepoint.name),1),n("span",{class:"mx-2 m-0 badge rounded-pill smallTextSize modeIndicator",style:ae(r.value)},[n("i",{class:R(["fa me-1",d.value])},null,2),J(" "+x(o.value)+" ",1),c.chargepoint.chargeMode==i($e).pv_charging&&i(he).isBatteryConfigured?(l(),f("span",qc,[k[0]||(k[0]=J(" ( ")),n("i",{class:R(["fa m-0",g.value])},null,2),k[1]||(k[1]=J(") "))])):w("",!0)],4)])],12,Fc)]),v(Ea,{"modal-id":t},{title:_(()=>[J(" Lademodus für "+x(c.chargepoint.vehicleName),1)]),default:_(()=>[v(Gc,{"cp-id":c.chargepoint.id},null,8,["cp-id"])]),_:1})]))}}),Qc=H(Yc,[["__scopeId","data-v-71bb7e5f"]]),Zc={class:"row p-0 mt-0 mb-1 m-0"},Xc={class:"col p-0 m-0"},Kc={class:"container-fluid p-0 m-0"},eu={class:"row p-0 m-0 d-flex justify-content-center align-items-center"},tu={key:0,class:"col time-display"},au=L({__name:"ButtonBar",setup(a){return(e,t)=>(l(),f("div",Zc,[n("div",Xc,[n("div",Kc,[n("div",eu,[i(m).showClock=="buttonbar"?(l(),f("span",tu,x(i(La)(i(Nt))),1)):w("",!0),(l(!0),f(N,null,K(i(O),(o,s)=>(l(),M(Qc,{key:s,chargepoint:o,"charge-point-count":Object.values(i(O)).length},null,8,["chargepoint","charge-point-count"]))),128))])])])]))}}),nu=H(au,[["__scopeId","data-v-791e4be0"]]),ru={class:"battery-title"},ou={class:"subgrid pt-1"},su=L({__name:"BLBattery",props:{bat:{}},setup(a){const e=a,t=p(()=>e.bat.power<0?`Liefert (${Pe(-e.bat.power)})`:e.bat.power>0?`Lädt (${Pe(e.bat.power)})`:"Bereit"),o=p(()=>e.bat.power<0?"var(--color-pv)":e.bat.power>0?"var(--color-battery)":"var(--color-menu)");return(s,r)=>(l(),M(at,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",ru,x(s.bat.name),1)]),buttons:_(()=>[v(Ce,{bgcolor:o.value},{default:_(()=>[J(x(t.value),1)]),_:1},8,["bgcolor"])]),default:_(()=>[n("div",ou,[v(te,{heading:"Ladestand:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[v(Ct,{soc:e.bat.soc},null,8,["soc"])]),_:1}),v(te,{heading:"Geladen:",small:!0,class:"grid-col-4"},{default:_(()=>[v(We,{"watt-h":e.bat.dailyYieldImport},null,8,["watt-h"])]),_:1}),v(te,{heading:"Geliefert:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[v(We,{"watt-h":e.bat.dailyYieldExport},null,8,["watt-h"])]),_:1})])]),_:1}))}}),iu=H(su,[["__scopeId","data-v-f7f825f7"]]),lu={class:"subgrid grid-12"},cu=L({__name:"BatteryList",setup(a){const e=p(()=>Q.batOut.power>0?`Liefert (${Pe(Q.batOut.power)})`:F.batIn.power>0?`Lädt (${Pe(F.batIn.power)})`:"Bereit:"),t=p(()=>Q.batOut.power>0?"var(--color-pv)":F.batIn.power>0?"var(--color-battery)":"var(--color-menu)"),o=p(()=>{let s=0;return pe.value.forEach(r=>{s+=r.dailyYieldImport}),s});return(s,r)=>i(he).isBatteryConfigured?(l(),M(Ge,{key:0,"variable-width":!0,"full-width":!1},{title:_(()=>r[0]||(r[0]=[n("span",{class:"fas fa-car-battery me-2",style:{color:"var(--color-battery)"}}," ",-1),n("span",null,"Speicher",-1)])),buttons:_(()=>[v(Ce,{bgcolor:t.value},{default:_(()=>[J(x(e.value),1)]),_:1},8,["bgcolor"])]),default:_(()=>[n("div",lu,[v(te,{heading:"Ladestand:",class:"grid-left grid-col-4"},{default:_(()=>[v(Ct,{color:"var(--color-battery)",soc:i(he).batterySoc},null,8,["soc"])]),_:1}),v(te,{heading:"Geladen:",class:"grid-col-4"},{default:_(()=>[n("span",null,x(i(He)(o.value)),1)]),_:1}),v(te,{heading:"Geliefert",class:"grid-right grid-col-4"},{default:_(()=>[n("span",null,x(i(He)(i(Q).batOut.energy)),1)]),_:1})]),(l(!0),f(N,null,K(i(pe),([d,g])=>(l(),M(iu,{key:d,bat:g,class:"px-0"},null,8,["bat"]))),128))]),_:1})):w("",!0)}}),At=H(cu,[["__scopeId","data-v-325bd635"]]),uu={class:"devicename"},du={class:"subgrid"},hu=L({__name:"SHListItem",props:{device:{}},setup(a){const e=a,t=p(()=>e.device.status=="on"?"fa-toggle-on fa-xl":e.device.status=="waiting"?"fa-spinner fa-spin":"fa-toggle-off fa-xl"),o=p(()=>{let g="var(--color-switchRed)";switch(e.device.status){case"on":g="var(--color-switchGreen)";break;case"detection":g="var(--color-switchBlue)";break;case"timeout":g="var(--color-switchWhite)";break;case"waiting":g="var(--color-menu)";break;default:g="var(--color-switchRed)"}return{color:g}});function s(){e.device.isAutomatic||(e.device.status=="on"?ye("shSwitchOn",0,e.device.id):ye("shSwitchOn",1,e.device.id),ne.get(e.device.id).status="waiting")}function r(){e.device.isAutomatic?ye("shSetManual",1,e.device.id):ye("shSetManual",0,e.device.id)}const d=p(()=>e.device.isAutomatic?"Auto":"Man");return(g,u)=>(l(),M(at,{titlecolor:g.device.color,fullwidth:!0},{title:_(()=>[n("span",uu,x(g.device.name),1)]),buttons:_(()=>[(l(!0),f(N,null,K(g.device.temp,(h,c)=>(l(),f("span",{key:c},[h<300?(l(),M(Ce,{key:0,bgcolor:"var(--color-battery)"},{default:_(()=>[n("span",null,x(i(Nn)(h)),1)]),_:2},1024)):w("",!0)]))),128)),e.device.canSwitch?(l(),f("span",{key:0,class:R([t.value,"fa-solid statusbutton mr-2 ms-2"]),style:ae(o.value),onClick:s},null,6)):w("",!0),e.device.canSwitch?(l(),M(Ce,{key:1,type:"button",onClick:r},{default:_(()=>[J(x(d.value),1)]),_:1})):w("",!0)]),default:_(()=>[n("div",du,[v(te,{heading:"Leistung:",small:!0,class:"grid-col-4 grid-left"},{default:_(()=>[v(vt,{watt:g.device.power},null,8,["watt"])]),_:1}),v(te,{heading:"Energie:",small:!0,class:"grid-col-4"},{default:_(()=>[v(We,{"watt-h":g.device.energy},null,8,["watt-h"])]),_:1}),v(te,{heading:"Laufzeit:",small:!0,class:"grid-col-4 grid-right"},{default:_(()=>[J(x(i(jn)(g.device.runningTime)),1)]),_:1})])]),_:1},8,["titlecolor"]))}}),gu=H(hu,[["__scopeId","data-v-20651ac6"]]),pu={class:"sh-title py-4"},mu=["id","onUpdate:modelValue","value"],fu=["for"],vu=3,bu=L({__name:"SmartHomeList",setup(a){const e=p(()=>De.value?t.value.reduce((d,g)=>{const u=d;let h=d[d.length-1];return h.length>=vu?d.push([g]):h.push(g),u},[[]]):[t.value]),t=p(()=>[...ne.values()].filter(d=>d.configured));function o(d){return"Geräte"+(De.value&&e.value.length>1?"("+(d+1)+")":"")}function s(){r.value=!r.value}const r=Z(!1);return(d,g)=>(l(),f(N,null,[(l(!0),f(N,null,K(e.value,(u,h)=>(l(),M(Ge,{key:h,"variable-width":!0},{title:_(()=>[n("span",{onClick:s},[g[0]||(g[0]=n("span",{class:"fas fa-plug me-2",style:{color:"var(--color-devices)"}}," ",-1)),n("span",pu,x(o(h)),1)])]),buttons:_(()=>[n("span",{class:"ms-2 pt-1",onClick:s},g[1]||(g[1]=[n("span",{class:"fa-solid fa-lg ps-1 fa-ellipsis-vertical"},null,-1)]))]),default:_(()=>[(l(!0),f(N,null,K(u,c=>(l(),M(gu,{key:c.id,device:c,class:"subgrid pb-2"},null,8,["device"]))),128))]),_:2},1024))),128)),r.value?(l(),M(Ge,{key:0},{title:_(()=>[n("span",{class:"smarthome",onClick:s},g[2]||(g[2]=[n("span",{class:"fas fa-gear"}," ",-1),J(" Einstellungen")]))]),buttons:_(()=>[n("span",{class:"ms-2 pt-1",onClick:s},g[3]||(g[3]=[n("span",{class:"fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]))]),default:_(()=>[v(U,{title:"Im Energie-Graph anzeigen:",icon:"fa-chart-column",fullwidth:!0},{default:_(()=>[(l(!0),f(N,null,K(t.value,(u,h)=>(l(),f("div",{key:h},[mt(n("input",{id:"check"+h,"onUpdate:modelValue":c=>u.showInGraph=c,class:"form-check-input",type:"checkbox",value:u},null,8,mu),[[Sa,u.showInGraph]]),n("label",{class:"form-check-label px-2",for:"check"+h},x(u.name),9,fu)]))),128))]),_:1}),n("div",{class:"row p-0 m-0",onClick:s},g[4]||(g[4]=[n("div",{class:"col-12 mb-3 pe-3 mt-0"},[n("button",{class:"btn btn-sm btn-secondary float-end"},"Schließen")],-1)]))]),_:1})):w("",!0)],64))}}),Et=H(bu,[["__scopeId","data-v-5b5cf6b3"]]),yu={class:"countername"},_u={class:"subgrid pt-1"},wu=L({__name:"ClCounter",props:{counter:{}},setup(a){const e=a,t=p(()=>e.counter.power>0?"Bezug":"Export"),o=p(()=>e.counter.power>0?"var(--color-evu)":"var(--color-pv)");return(s,r)=>(l(),M(at,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",yu,x(s.counter.name),1)]),buttons:_(()=>[e.counter.power!=0?(l(),M(Ce,{key:0,bgcolor:o.value},{default:_(()=>[J(x(t.value),1)]),_:1},8,["bgcolor"])):w("",!0),v(Ce,{color:"var(--color-bg)"},{default:_(()=>[J(" ID: "+x(e.counter.id),1)]),_:1})]),default:_(()=>[n("div",_u,[v(te,{heading:"Leistung:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[v(vt,{watt:Math.abs(e.counter.power)},null,8,["watt"])]),_:1}),v(te,{heading:"Bezogen:",small:!0,class:"grid-col-4"},{default:_(()=>[v(We,{"watt-h":e.counter.energy_imported},null,8,["watt-h"])]),_:1}),v(te,{heading:"Exportiert:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[v(We,{"watt-h":e.counter.energy_exported},null,8,["watt-h"])]),_:1})])]),_:1}))}}),ku=H(wu,[["__scopeId","data-v-01dd8c4d"]]);class xu{constructor(e){b(this,"id");b(this,"name","Zähler");b(this,"power",0);b(this,"energy_imported",0);b(this,"energy_exported",0);b(this,"grid",!1);b(this,"type","counter");b(this,"color","var(--color-evu)");b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"icon","");this.id=e}}const Se=ge({});function Su(a,e){if(a in Se)console.info("Duplicate counter message: "+a);else switch(Se[a]=new xu(a),Se[a].type=e,e){case"counter":Se[a].color="var(--color-evu)";break;case"inverter":Se[a].color="var(--color-pv)";break;case"cp":Se[a].color="var(--color-charging)";break;case"bat":Se[a].color="var(--color-bat)";break}}const $u=L({__name:"CounterList",setup(a){return(e,t)=>(l(),M(Ge,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[n("span",{class:"fas fa-bolt me-2",style:{color:"var(--color-evu)"}}," ",-1),n("span",null,"Zähler",-1)])),default:_(()=>[(l(!0),f(N,null,K(i(Se),(o,s)=>(l(),f("div",{key:s,class:"subgrid pb-2"},[v(ku,{counter:o},null,8,["counter"])]))),128))]),_:1}))}}),zt=H($u,[["__scopeId","data-v-5f059284"]]),Mu={class:"vehiclename"},Pu={class:"subgrid"},Cu=L({__name:"VlVehicle",props:{vehicle:{}},setup(a){const e=a,t=p(()=>{let s="Unterwegs",r=e.vehicle.chargepoint;return r!=null&&(r.isCharging?s="Lädt ("+r.name+")":r.isPluggedIn&&(s="Bereit ("+r.name+")")),s}),o=p(()=>{let s=e.vehicle.chargepoint;return s!=null?s.isLocked?"var(--color-evu)":s.isCharging?"var(--color-charging)":s.isPluggedIn?"var(--color-battery)":"var(--color-axis)":"var(--color-axis)"});return(s,r)=>(l(),M(at,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",Mu,x(e.vehicle.name),1)]),default:_(()=>[n("div",Pu,[v(te,{heading:"Status:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[n("span",{style:ae({color:o.value}),class:"d-flex justify-content-center align-items-center status-string"},x(t.value),5)]),_:1}),v(te,{heading:"Ladestand:",small:!0,class:"grid-col-4"},{default:_(()=>[J(x(Math.round(e.vehicle.soc))+" % ",1)]),_:1}),v(te,{heading:"Reichweite:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[J(x(Math.round(e.vehicle.range))+" km ",1)]),_:1})])]),_:1}))}}),Iu=H(Cu,[["__scopeId","data-v-9e2cb63e"]]),Bu=L({__name:"VehicleList",setup(a){return(e,t)=>(l(),M(Ge,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[n("span",{class:"fas fa-car me-2",style:{color:"var(--color-charging)"}}," ",-1),n("span",null,"Fahrzeuge",-1)])),default:_(()=>[(l(!0),f(N,null,K(Object.values(i(X)).filter(o=>o.visible),(o,s)=>(l(),f("div",{key:s,class:"subgrid px-4"},[v(Iu,{vehicle:o},null,8,["vehicle"])]))),128))]),_:1}))}}),Dt=H(Bu,[["__scopeId","data-v-716be083"]]),Vu={class:"grapharea"},Lu={id:"pricechart",class:"p-1 m-0 pricefigure"},Tu={viewBox:"0 0 400 280"},Ou=["id","origin","transform"],ut=380,ya=250,Wt=12,Au=L({__name:"GlobalPriceChart",props:{id:{}},setup(a){const e=a,t=Z(!1),o={top:0,bottom:15,left:20,right:0},s=p(()=>{let C=[];return oe.etPriceList.size>0&&oe.etPriceList.forEach((B,q)=>{C.push([q,B])}),C}),r=p(()=>s.value.length>1?(ut-o.left-o.right)/s.value.length:0),d=p(()=>{let C=Le(s.value,B=>B[0]);return C[1]&&(C[1]=new Date(C[1]),C[1].setTime(C[1].getTime()+36e5)),tt().range([o.left,ut-o.right]).domain(C)}),g=p(()=>{let C=[0,0];return s.value.length>0&&(C=Le(s.value,B=>B[1]),C[0]=Math.floor(C[0])-1,C[1]=Math.floor(C[1])+1),C}),u=p(()=>Re().range([ya-o.bottom,0]).domain(g.value)),h=p(()=>{const C=Ne(),B=[[o.left,u.value(m.lowerPriceBound)],[ut-o.right,u.value(m.lowerPriceBound)]];return C(B)}),c=p(()=>{const C=Ne(),B=[[o.left,u.value(m.upperPriceBound)],[ut-o.right,u.value(m.upperPriceBound)]];return C(B)}),k=p(()=>{const C=Ne(),B=[[o.left,u.value(0)],[ut-o.right,u.value(0)]];return C(B)}),P=p(()=>ht(d.value).ticks(s.value.length).tickSize(5).tickSizeInner(-250).tickFormat(C=>C.getHours()%6==0?it("%H:%M")(C):"")),E=p(()=>pt(u.value).ticks(g.value[1]-g.value[0]).tickSize(0).tickSizeInner(-360).tickFormat(C=>C%5!=0?"":C.toString())),G=p(()=>{t.value==!0;const C=ce("g#"+z.value);C.selectAll("*").remove(),C.selectAll("bar").data(s.value).enter().append("g").append("rect").attr("class","bar").attr("x",S=>d.value(S[0])).attr("y",S=>u.value(S[1])).attr("width",r.value).attr("height",S=>u.value(g.value[0])-u.value(S[1])).attr("fill","var(--color-charging)");const q=C.append("g").attr("class","axis").call(P.value);q.attr("transform","translate(0,"+(ya-o.bottom)+")"),q.selectAll(".tick").attr("font-size",Wt).attr("color","var(--color-bg)"),q.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",S=>S.getHours()%6==0?"2":"0.5"),q.select(".domain").attr("stroke","var(--color-bg");const I=C.append("g").attr("class","axis").call(E.value);I.attr("transform","translate("+o.left+",0)"),I.selectAll(".tick").attr("font-size",Wt).attr("color","var(--color-bg)"),I.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",S=>S%5==0?"2":"0.5"),I.select(".domain").attr("stroke","var(--color-bg)"),g.value[0]<0&&C.append("path").attr("d",k.value).attr("stroke","var(--color-fg)"),C.append("path").attr("d",h.value).attr("stroke","green"),C.append("path").attr("d",c.value).attr("stroke","red");const $=C.selectAll("ttip").data(s.value).enter().append("g").attr("class","ttarea");$.append("rect").attr("x",S=>d.value(S[0])).attr("y",S=>u.value(S[1])).attr("height",S=>u.value(g.value[0])-u.value(S[1])).attr("class","ttrect").attr("width",r.value).attr("opacity","1%").attr("fill","var(--color-charging)");const D=$.append("g").attr("class","ttmessage").attr("transform",S=>"translate("+(d.value(S[0])-30+r.value/2)+","+(u.value(S[1])-16)+")");D.append("rect").attr("rx",5).attr("width","60").attr("height","30").attr("fill","var(--color-menu)");const A=D.append("text").attr("text-anchor","middle").attr("x",30).attr("y",12).attr("font-size",Wt).attr("fill","var(--color-bg)");return A.append("tspan").attr("x",30).attr("dy","0em").text(S=>it("%H:%M")(S[0])),A.append("tspan").attr("x",30).attr("dy","1.1em").text(S=>Math.round(S[1]*10)/10+" ct"),"PriceChart.vue"}),z=p(()=>"priceChartCanvas"+e.id);return Te(()=>{t.value=!t.value}),(C,B)=>(l(),M(Ge,{"variable-width":!0},{title:_(()=>B[0]||(B[0]=[n("span",{class:"fas fa-coins me-2",style:{color:"var(--color-battery)"}}," ",-1),n("span",null,"Strompreis",-1)])),buttons:_(()=>[i(oe).active?(l(),M(Ce,{key:0,bgcolor:"var(--color-charging)"},{default:_(()=>[J(x(i(oe).etCurrentPriceString),1)]),_:1})):w("",!0),i(oe).active?(l(),M(Ce,{key:1,bgcolor:"var(--color-menu)"},{default:_(()=>[J(x(i(oe).etProvider),1)]),_:1})):w("",!0)]),default:_(()=>[n("div",Vu,[n("figure",Lu,[(l(),f("svg",Tu,[n("g",{id:z.value,origin:G.value,transform:"translate("+o.top+","+o.left+") "},null,8,Ou)]))])])]),_:1}))}}),Gt=H(Au,[["__scopeId","data-v-578b98b5"]]),Eu={class:"subgrid pt-1"},zu=L({__name:"IlInverter",props:{inverter:{}},setup(a){const e=a,t=p(()=>({color:e.inverter.color}));return(o,s)=>(l(),M(at,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[n("span",{class:"invertername",style:ae(t.value)},x(o.inverter.name),5)]),buttons:_(()=>[e.inverter.power<0?(l(),M(Ce,{key:0,bgcolor:"var(--color-pv)"},{default:_(()=>[J(x(i(Pe)(-e.inverter.power)),1)]),_:1})):w("",!0)]),default:_(()=>[n("div",Eu,[v(te,{heading:"Heute:",small:!0,class:"grid-col-4 grid-left"},{default:_(()=>[v(We,{"watt-h":e.inverter.energy},null,8,["watt-h"])]),_:1}),v(te,{heading:"Monat:",small:!0,class:"grid-col-4"},{default:_(()=>[v(We,{"watt-h":e.inverter.energy_month},null,8,["watt-h"])]),_:1}),v(te,{heading:"Jahr:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[v(We,{"watt-h":e.inverter.energy_year},null,8,["watt-h"])]),_:1})])]),_:1}))}}),Du=H(zu,[["__scopeId","data-v-258d8f17"]]),Wu=L({__name:"InverterList",setup(a){return(e,t)=>(l(),M(Ge,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[n("span",{class:"fas fa-solar-panel me-2",style:{color:"var(--color-pv)"}}," ",-1),n("span",null,"Wechselrichter",-1)])),buttons:_(()=>[i(Q).pv.power>0?(l(),M(Ce,{key:0,bgcolor:"var(--color-pv)"},{default:_(()=>[J(x(i(Pe)(i(Q).pv.power)),1)]),_:1})):w("",!0)]),default:_(()=>[(l(!0),f(N,null,K(i(ke),([o,s])=>(l(),f("div",{key:o,class:"subgrid pb-2"},[v(Du,{inverter:s},null,8,["inverter"])]))),128))]),_:1}))}}),Ut=H(Wu,[["__scopeId","data-v-b7a71f81"]]),Gu={class:"row py-0 px-0 m-0"},Uu=["breakpoints"],ju=L({__name:"CarouselFix",setup(a){let e,t;const o=Z(!1),s=p(()=>o.value?{992:{slidesPerView:1,spaceBetween:0}}:{992:{slidesPerView:3,spaceBetween:0}});return Ka(()=>m.zoomGraph,r=>{if(e){let d=r?"1":"3";t.setAttribute("slides-per-view",d),e.activeIndex=m.zoomedWidget,e.update()}}),Te(()=>{let r=document.querySelector(".swiper-carousel");r&&(t=r,e=t.swiper)}),(r,d)=>(l(),f("div",Gu,[n("swiper-container",{"space-between":0,pagination:{clickable:!0},"slides-per-view":"1",class:"p-0 m-0 swiper-carousel",breakpoints:s.value},[n("swiper-slide",null,[n("div",{class:R([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[de(r.$slots,"item1",{},void 0,!0)],2)]),n("swiper-slide",null,[n("div",{class:R([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[de(r.$slots,"item2",{},void 0,!0)],2)]),n("swiper-slide",null,[n("div",{class:R([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[de(r.$slots,"item3",{},void 0,!0)],2)])],8,Uu)]))}}),Fu=H(ju,[["__scopeId","data-v-17424929"]]);function Nu(a,e){a=="openWB/graph/boolDisplayLiveGraph"?he.displayLiveGraph=+e==1:a.match(/^openwb\/graph\/alllivevaluesJson[1-9][0-9]*$/i)?Hu(a,e):a=="openWB/graph/lastlivevaluesJson"?Ru(a,e):a=="openWB/graph/config/duration"&&(me.duration=JSON.parse(e))}function Hu(a,e){if(!me.initialized){let t=[];const o=e.toString().split(` -`);o.length>1?t=o.map(d=>JSON.parse(d)):t=[];const s=a.match(/(\d+)$/g),r=s?s[0]:"";r!=""&&typeof me.rawDataPacks[+r-1]>"u"&&(me.rawDataPacks[+r-1]=t,me.initCounter++)}if(me.initCounter==16){const t=[];me.unsubscribeRefresh(),me.initialized=!0,me.rawDataPacks.forEach(o=>{o.forEach(s=>{const r=za(s);t.push(r)})}),ft(t),me.subscribeUpdates()}}function Ru(a,e){const t=JSON.parse(e),o=za(t);me.graphRefreshCounter++,ft(y.data.concat(o)),me.graphRefreshCounter>60&&me.activate()}function za(a){const e=Object.values(O).length>0?Object.values(O)[0].connectedVehicle:0,t=Object.values(O).length>1?Object.values(O)[1].connectedVehicle:1,o="ev"+e+"-soc",s="ev"+t+"-soc",r={};r.date=+a.timestamp*1e3,+a.grid>0?(r.evuIn=+a.grid,r.evuOut=0):+a.grid<=0?(r.evuIn=0,r.evuOut=-a.grid):(r.evuIn=0,r.evuOut=0),+a["pv-all"]>=0?(r.pv=+a["pv-all"],r.inverter=0):(r.pv=0,r.inverter=-a["pv-all"]),r.house=+a["house-power"],+a["bat-all-power"]>0?(r.batOut=0,r.batIn=+a["bat-all-power"]):+a["bat-all-power"]<0?(r.batOut=-a["bat-all-power"],r.batIn=0):(r.batOut=0,r.batIn=0),a["bat-all-soc"]?r.batSoc=+a["bat-all-soc"]:r.batSoc=0,a[o]&&(r["soc"+e]=+a[o]),a[s]&&(r["soc"+t]=+a[s]),r.charging=+a["charging-all"];for(let d=0;d<10;d++){const g="cp"+d;r[g]=+(a[g+"-power"]??0)}return r.selfUsage=r.pv-r.evuOut,r.selfUsage<0&&(r.selfUsage=0),r.devices=0,r}const Ju=["evuIn","pv","batOut","evuOut","charging","house"];let $t=[];function qu(a,e){const{entries:t,names:o,totals:s}=JSON.parse(e);Fe.value=new Map(Object.entries(o)),ta(),$t=[],Qt.forEach(d=>{T.setEnergyPv(d,0),T.setEnergyBat(d,0)});const r=Yu(t);ft(r),Zt(s,$t),m.debug&&Zu(t,s,r),y.graphMode=="today"&&setTimeout(()=>ue.activate(),3e5)}function Yu(a){const e=[];let t={};return a.forEach(o=>{t=Qu(o);const s=t;e.push(s)}),e}function Qu(a){const e={};e.date=a.timestamp*1e3,e.evuOut=0,e.evuIn=0,Object.entries(a.counter).forEach(([s,r])=>{r.grid&&(e.evuOut+=r.power_exported,e.evuIn+=r.power_imported,$t.includes(s)||$t.push(s))}),e.evuOut==0&&e.evuIn==0&&Object.entries(a.counter).forEach(s=>{e.evuOut+=s[1].power_exported,e.evuIn+=s[1].power_imported}),Object.entries(a.pv).forEach(([s,r])=>{s!="all"?e[s]=r.power_exported:e.pv=r.power_exported}),Object.entries(a.bat).length>0?(e.batIn=a.bat.all.power_imported,e.batOut=a.bat.all.power_exported,e.batSoc=a.bat.all.soc??0):(e.batIn=0,e.batOut=0,e.batSoc=0),Object.entries(a.cp).forEach(([s,r])=>{s!="all"?(e[s]=r.power_imported,T.keys().includes(s)||T.addItem(s)):e.charging=r.power_imported}),Object.entries(a.ev).forEach(([s,r])=>{s!="all"&&(e["soc"+s.substring(2)]=r.soc)}),e.devices=0;let t=0;return Object.entries(a.sh).forEach(([s,r])=>{var d;s!="all"&&(e[s]=r.power_imported??0,T.keys().includes(s)||(T.addItem(s),T.items[s].showInGraph=ne.get(+s.slice(2)).showInGraph),(d=ne.get(+s.slice(2)))!=null&&d.countAsHouse?t+=e[s]:e.devices+=r.power_imported??0)}),e.selfUsage=Math.max(0,e.pv-e.evuOut),a.hc&&a.hc.all?e.house=a.hc.all.power_imported-t:e.house=e.evuIn+e.batOut+e.pv-e.evuOut-e.charging-e.devices-e.batOut,e.evuIn+e.batOut+e.pv>0?T.keys().filter(s=>!Ju.includes(s)&&s!="charging").forEach(s=>{$n(s,e)}):Object.keys(e).forEach(s=>{e[s+"Pv"]=0,e[s+"Bat"]=0}),e}function Zu(a,e,t){console.debug("---------------------------------------- Graph Data -"),console.debug(["--- Incoming graph data:",a]),console.debug(["--- Incoming energy data:",e]),console.debug(["--- Data to be displayed:",t]),console.debug("-----------------------------------------------------")}let _t={};const na=["charging","house","batIn","devices"],Xu=["evuIn","pv","batOut","batIn","evuOut","devices","sh1","sh2","sh3","sh4","sh5","sh6","sh7","sh8","sh9"];let et=[];function Ku(a,e){const{entries:t,names:o,totals:s}=JSON.parse(e);Fe.value=new Map(Object.entries(o)),ta(),et=[],na.forEach(r=>{T.items[r].energyPv=0,T.items[r].energyBat=0}),t.length>0&&ft(Da(t)),Zt(s,et)}function ed(a,e){const{entries:t,names:o,totals:s}=JSON.parse(e);Fe.value=new Map(Object.entries(o)),ta(),et=[],na.forEach(r=>{T.items[r].energyPv=0,T.items[r].energyBat=0}),t.length>0&&ft(Da(t)),Zt(s,et)}function Da(a){const e=[];let t={};return _t={},a.forEach(o=>{t=td(o),e.push(t),Object.keys(t).forEach(s=>{s!="date"&&(t[s]<0&&(console.warn(`Negative energy value for ${s} in row ${t.date}. Ignoring the value.`),t[s]=0),_t[s]?_t[s]+=t[s]:_t[s]=t[s])})}),e}function td(a){const e={},t=en("%Y%m%d")(a.date);t&&(e.date=y.graphMode=="month"?t.getDate():t.getMonth()+1),e.evuOut=0,e.evuIn=0;let o=0,s=0;return Object.entries(a.counter).forEach(([d,g])=>{o+=g.energy_exported,s+=g.energy_imported,g.grid&&(e.evuOut+=g.energy_exported,e.evuIn+=g.energy_imported,et.includes(d)||et.push(d))}),et.length==0&&(e.evuOut=o,e.evuIn=s),e.pv=a.pv.all.energy_exported,Object.entries(a.bat).length>0?(a.bat.all.energy_imported>=0?e.batIn=a.bat.all.energy_imported:(console.warn("ignoring negative value for batIn on day "+e.date),e.batIn=0),a.bat.all.energy_exported>=0?e.batOut=a.bat.all.energy_exported:(console.warn("ignoring negative value for batOut on day "+e.date),e.batOut=0)):(e.batIn=0,e.batOut=0),Object.entries(a.cp).forEach(([d,g])=>{d!="all"?(T.keys().includes(d)||T.addItem(d),e[d]=g.energy_imported):e.charging=g.energy_imported}),Object.entries(a.ev).forEach(([d,g])=>{d!="all"&&(e["soc-"+d]=g.soc)}),e.devices=Object.entries(a.sh).reduce((d,g)=>(T.keys().includes(g[0])||T.addItem(g[0]),g[1].energy_imported>=0?d+=g[1].energy_imported:console.warn(`Negative energy value for device ${g[0]} in row ${e.date}. Ignoring this value`),d),0),a.hc&&a.hc.all?e.house=a.hc.all.energy_imported:e.house=e.pv+e.evuIn+e.batOut-e.evuOut-e.batIn-e.charging,e.selfUsage=e.pv-e.evuOut,e.evuIn+e.batOut+e.pv>0?T.keys().filter(d=>!Xu.includes(d)).forEach(d=>{Mn(d,e)}):na.map(d=>{e[d+"Pv"]=0,e[d+"Bat"]=0}),e}function ad(a,e){const t=nd(a);if(t&&!pe.value.has(t)){console.warn("Invalid battery index: ",t);return}a=="openWB/bat/config/configured"?he.isBatteryConfigured=e=="true":a=="openWB/bat/get/power"?+e>0?(F.batIn.power=+e,Q.batOut.power=0):(F.batIn.power=0,Q.batOut.power=-e):a=="openWB/bat/get/soc"?he.batterySoc=+e:a=="openWB/bat/get/daily_exported"?Q.batOut.energy=+e:a=="openWB/bat/get/daily_imported"?F.batIn.energy=+e:t&&pe.value.has(t)&&(a.match(/^openwb\/bat\/[0-9]+\/get\/daily_exported$/i)?pe.value.get(t).dailyYieldExport=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/daily_imported$/i)?pe.value.get(t).dailyYieldImport=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/exported$/i)?pe.value.get(t).exported=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/fault_state$/i)?pe.value.get(t).faultState=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/fault_str$/i)?pe.value.get(t).faultStr=e:a.match(/^openwb\/bat\/[0-9]+\/get\/imported$/i)?pe.value.get(t).imported=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/power$/i)?pe.value.get(t).power=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/soc$/i)&&(pe.value.get(t).soc=+e))}function nd(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}function rd(a,e){if(a=="openWB/optional/et/provider")JSON.parse(e).type==null?oe.active=!1:(oe.active=!0,oe.etProvider=JSON.parse(e).name);else if(a=="openWB/optional/et/get/prices"){const t=JSON.parse(e);oe.etPriceList=new Map,Object.keys(t).forEach(o=>{oe.etPriceList.set(new Date(+o*1e3),t[o]*1e5)})}}function od(a,e){const t=Wa(a);if(t&&!(t in O)){console.warn("Invalid chargepoint id received: "+t);return}if(a=="openWB/chargepoint/get/power"?F.charging.power=+e:a=="openWB/chargepoint/get/daily_imported"&&(F.charging.energy=+e),a=="openWB/chargepoint/get/daily_exported")he.cpDailyExported=+e;else if(t)if(a.match(/^openwb\/chargepoint\/[0-9]+\/config$/i))if(O[t]){const o=JSON.parse(e);O[t].name=o.name,O[t].icon=o.name,ie["cp"+t]?(ie["cp"+t].name=o.name,ie["cp"+t].icon=o.name):ie["cp"+t]={name:o.name,icon:o.name,color:"var(--color-charging)"}}else console.warn("invalid chargepoint index: "+t);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/state_str$/i))O[t].stateStr=JSON.parse(e);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_str$/i))O[t].faultStr=JSON.parse(e);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_state$/i))O[t].faultState=+e;else if(a.match(/^openWB\/chargepoint\/[0-9]+\/get\/power$/i))O[t].power=+e;else if(a.match(/^openWB\/chargepoint\/[0-9]+\/get\/daily_imported$/i))O[t].dailyYield=+e;else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/plug_state$/i))O[t].isPluggedIn=e=="true";else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/charge_state$/i))O[t].isCharging=e=="true";else if(a.match(/^openwb\/chargepoint\/[0-9]+\/set\/manual_lock$/i))O[t].updateIsLocked(e=="true");else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/enabled$/i))O[t].isEnabled=e=="1";else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/phases_in_use/i))O[t].phasesInUse=+e;else if(a.match(/^openwb\/chargepoint\/[0-9]+\/set\/current/i))O[t].current=+e;else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/currents/i))O[t].currents=JSON.parse(e);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/set\/log/i)){const o=JSON.parse(e);O[t].chargedSincePlugged=o.imported_since_plugged}else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/soc$/i)){const o=JSON.parse(e);O[t].soc=o.soc,O[t].waitingForSoc=!1,O[t].rangeCharged=o.range_charged,O[t].rangeUnit=o.range_unit}else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/info$/i)){const o=JSON.parse(e);O[t].vehicleName=String(o.name),O[t].updateConnectedVehicle(+o.id)}else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/config$/i)){const o=JSON.parse(e);O[t].averageConsumption=o.average_consumption}else a.match(/^openwb\/chargepoint\/[0-9]+\/set\/charge_template$/i)&&(O[t].chargeTemplate=JSON.parse(e))}function sd(a,e){const t=Wa(a);if(t!=null){if(!(t in X)){const o=new bn(t);X[t]=o}if(a.match(/^openwb\/vehicle\/[0-9]+\/name$/i))Object.values(O).forEach(o=>{o.connectedVehicle==t&&(o.vehicleName=JSON.parse(e))}),X[t].name=JSON.parse(e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/get\/soc$/i))X[t].soc=JSON.parse(e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/get\/range$/i))isNaN(+e)?X[t].range=0:X[t].range=+e;else if(a.match(/^openwb\/vehicle\/[0-9]+\/charge_template$/i))X[t].updateChargeTemplateId(+e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/ev_template$/i))X[t].updateEvTemplateId(+e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/soc_module\/config$/i)){const o=JSON.parse(e);Object.values(O).forEach(s=>{s.connectedVehicle==t&&(s.isSocConfigured=o.type!==null,s.isSocManual=o.type=="manual")}),X[t].isSocConfigured=o.type!==null,X[t].isSocManual=o.type=="manual"}}}function id(a,e){if(a.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+$/i)){const t=a.match(/[0-9]+$/i);if(t){const o=+t[0];Ft[o]=JSON.parse(e)}}else if(a.match(/^openwb\/vehicle\/template\/ev_template\/[0-9]+$/i)){const t=a.match(/[0-9]+$/i);if(t){const o=+t[0],s=JSON.parse(e);yn[o]=s}}}function Wa(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}function ld(a,e){a.match(/^openWB\/LegacySmarthome\/config\//i)?cd(a,e):a.match(/^openWB\/LegacySmarthome\/Devices\//i)&&ud(a,e)}function cd(a,e){const t=Ga(a);if(t==null)return;ne.has(t)||Rt(t);const o=ne.get(t);a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_configured$/i)?o.configured=e!="0":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_name$/i)?(o.name=e.toString(),o.icon=e.toString(),ie["sh"+t].name=e.toString(),ie["sh"+t].icon=e.toString()):a.match(/^openWB\/LegacySmarthome\/config\/set\/Devices\/[0-9]+\/mode$/i)?o.isAutomatic=e=="0":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_canSwitch$/i)?o.canSwitch=e=="1":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_homeConsumtion$/i)?o.countAsHouse=e=="1":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_temperatur_configured$/i)&&(o.tempConfigured=+e)}function ud(a,e){const t=Ga(a);if(t==null){console.warn("Smarthome: Missing index in "+a);return}ne.has(t)||Rt(t);const o=ne.get(t);if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Watt$/i))o.power=+e,dd("power");else if(!a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Wh$/i)){if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/RunningTimeToday$/i))o.runningTime=+e;else if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor0$/i))o.temp[0]=+e;else if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor1$/i))o.temp[1]=+e;else if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor2$/i))o.temp[2]=+e;else if(a.match(/^openWB\/LegacySmartHome\/Devices\/[0-9]+\/Status$/i))switch(+e){case 10:o.status="off";break;case 11:o.status="on";break;case 20:o.status="detection";break;case 30:o.status="timeout";break;default:o.status="off"}}}function dd(a){switch(a){case"power":F.devices.power=[...ne.values()].filter(e=>e.configured&&!e.countAsHouse).reduce((e,t)=>e+t.power,0);break;case"energy":F.devices.energy=[...ne.values()].filter(e=>e.configured&&!e.countAsHouse).reduce((e,t)=>e+t.energy,0);break;default:console.error("Unknown category")}}function Ga(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}const Mt=ge([]);class ra{constructor(e,t,o,s){b(this,"name");b(this,"children");b(this,"count");b(this,"lastValue");this.name=e,this.children=t,this.count=o,this.lastValue=s}insert(e,t){if(e.length){const o=e.splice(1);if(e[0]==this.name)if(o.length){let s=!1;if(this.children.forEach(r=>{r.name==o[0]&&(r.insert(o,t),s=!0)}),!s){const r=new ra(o[0],[],0,"");r.insert(o,t),this.children.push(r)}}else this.count=this.count+1,this.lastValue=t}}}function hd(a,e){const t=a.split("/");if(t.length){let o=!1;if(Mt.forEach(s=>{s.name==t[0]&&(s.insert(t,e),o=!0)}),!o){const s=new ra(t[0],[],0,"");Mt.push(s),s.insert(t,e)}}}const gd=["openWB/counter/#","openWB/bat/#","openWB/pv/#","openWB/chargepoint/#","openWB/vehicle/#","openWB/general/chargemode_config/pv_charging/#","openWB/optional/et/#","openWB/system/#","openWB/LegacySmartHome/#","openWB/command/"+Jt()+"/#"];function pd(){mn(md),gd.forEach(a=>{Ke(a)}),ve()}function md(a,e){hd(a,e.toString());const t=e.toString();a.match(/^openwb\/counter\/[0-9]+\//i)?fd(a,t):a.match(/^openwb\/counter\//i)?vd(a,t):a.match(/^openwb\/bat\//i)?ad(a,t):a.match(/^openwb\/pv\//i)?bd(a,t):a.match(/^openwb\/chargepoint\//i)?od(a,t):a.match(/^openwb\/vehicle\/template\//i)?id(a,t):a.match(/^openwb\/vehicle\//i)?sd(a,t):a.match(/^openwb\/general\/chargemode_config\/pv_charging\//i)?yd(a,t):a.match(/^openwb\/graph\//i)?Nu(a,t):a.match(/^openwb\/log\/daily\//i)?qu(a,t):a.match(/^openwb\/log\/monthly\//i)?Ku(a,t):a.match(/^openwb\/log\/yearly\//i)?ed(a,t):a.match(/^openwb\/optional\/et\//i)?rd(a,t):a.match(/^openwb\/system\//i)?wd(a,t):a.match(/^openwb\/LegacySmartHome\//i)?ld(a,t):a.match(/^openwb\/command\//i)&&kd(a,t)}function fd(a,e){const t=a.split("/"),o=+t[2];if(o==he.evuId?_d(a,e):t[3]=="config",t[3]=="get"&&o in Se)switch(t[4]){case"power":Se[o].power=+e;break;case"config":break;case"fault_str":break;case"fault_state":break;case"power_factors":break;case"imported":break;case"exported":break;case"frequency":break;case"daily_imported":Se[o].energy_imported=+e;break;case"daily_exported":Se[o].energy_exported=+e;break}}function vd(a,e){if(a.match(/^openwb\/counter\/get\/hierarchy$/i)){const t=JSON.parse(e);if(t.length){wn(),is();for(const o of t)o.type=="counter"&&(he.evuId=o.id);Ua(t[0])}}else a.match(/^openwb\/counter\/set\/home_consumption$/i)?F.house.power=+e:a.match(/^openwb\/counter\/set\/daily_yield_home_consumption$/i)&&(F.house.energy=+e)}function Ua(a){switch(a.type){case"counter":Su(a.id,a.type);break;case"cp":_n(a.id);break;case"bat":Oa(a.id);break}a.children.forEach(e=>Ua(e))}function bd(a,e){const t=xd(a);t&&!ke.value.has(t)&&zn(t),a=="openWB/pv/get/power"?Q.pv.power=-e:a=="openWB/pv/get/daily_exported"?Q.pv.energy=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/power$/i)?ke.value.get(t).power=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/daily_exported$/i)?ke.value.get(t).energy=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/monthly_exported$/i)?ke.value.get(t).energy_month=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/yearly_exported$/i)?ke.value.get(t).energy_year=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/exported$/i)&&(ke.value.get(t).energy_total=+e)}function yd(a,e){const t=a.split("/");if(t.length>0)switch(t[4]){case"bat_mode":he.updatePvBatteryPriority(JSON.parse(e));break}}function _d(a,e){switch(a.split("/")[4]){case"power":+e>0?(Q.evuIn.power=+e,F.evuOut.power=0):(Q.evuIn.power=0,F.evuOut.power=-e);break;case"daily_imported":Q.evuIn.energy=+e;break;case"daily_exported":F.evuOut.energy=+e;break}}function wd(a,e){if(a.match(/^openWB\/system\/device\/[0-9]+\/component\/[0-9]+\/config$/i)){const t=JSON.parse(e);switch(t.type){case"counter":case"consumption_counter":Se[t.id]&&(Se[t.id].name=t.name);break;case"inverter":case"inverter_secondary":ke.value.has(t.id)||ke.value.set(t.id,new $a(t.id)),ke.value.get(t.id).name=t.name;break;case"bat":pe.value.has(t.id)||Oa(t.id),pe.value.get(t.id).name=t.name}}}function kd(a,e){const t=a.split("/");if(a.match(/^openWB\/command\/[a-z]+\/error$/i)&&t[2]==Jt()){const o=JSON.parse(e);console.error(`Error message from openWB: -Command: ${o.command} -Data: JSON.stringify(err.data) -Error: - ${o.error}`)}}function xd(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}const Sd={key:0,class:"fas fa-caret-down"},$d={key:1,class:"fas fa-caret-right"},Md={key:0,class:"content p-2 m-2"},Pd={key:1,class:"sublist col-md-9 m-0 p-0 ps-2"},Cd=L({__name:"MqttNode",props:{node:{},level:{},hide:{type:Boolean},expandAll:{type:Boolean}},setup(a){const e=a;let t=Z(!e.hide),o=Z(!1);const s=p(()=>e.node.name),r=p(()=>[...e.node.children].sort((c,k)=>c.namee.node.count>0?"("+e.node.count+")":""),g=p(()=>e.node.children.length),u=p(()=>e.node.lastValue!=""?{"font-style":"italic","grid-column-start":e.level,"grid-column-end":-1}:{"grid-column-start":e.level,"grid-column-end":-1});function h(){g.value>0&&(t.value=!t.value),e.node.lastValue!=""&&(o.value=!o.value)}return(c,k)=>{const P=tn("MqttNode",!0);return l(),f(N,null,[n("div",{class:"name py-2 px-2 m-0",style:ae(u.value),onClick:h},[(i(t)||e.expandAll)&&g.value>0||i(o)?(l(),f("span",Sd)):(l(),f("span",$d)),J(" "+x(s.value)+x(d.value),1)],4),i(o)?(l(),f("div",Md,[n("code",null,x(e.node.lastValue),1)])):w("",!0),(i(t)||e.expandAll)&&g.value>0?(l(),f("div",Pd,[(l(!0),f(N,null,K(r.value,(E,G)=>(l(),M(P,{key:G,level:e.level+1,node:E,hide:!0,"expand-all":e.expandAll},null,8,["level","node","expand-all"]))),128))])):w("",!0)],64)}}}),Id=H(Cd,[["__scopeId","data-v-df7e578a"]]),Bd={class:"mqviewer"},Vd={class:"row pt-2"},Ld={class:"col"},Td={key:0,class:"topiclist"},Od=L({__name:"MQTTViewer",setup(a){Te(()=>{});const e=Z(!1);function t(){e.value=!e.value}const o=p(()=>e.value?"active":"");return(s,r)=>(l(),f("div",Bd,[n("div",Vd,[n("div",Ld,[r[0]||(r[0]=n("h3",{class:"mqtitle ps-2"},"MQTT Message Viewer",-1)),r[1]||(r[1]=n("hr",null,null,-1)),n("button",{class:R(["btn btn-small btn-outline-primary ms-2",o.value]),onClick:t}," Expand All ",2),r[2]||(r[2]=n("hr",null,null,-1))])]),i(Mt)[0]?(l(),f("div",Td,[(l(!0),f(N,null,K(i(Mt)[0].children.sort((d,g)=>d.name(l(),M(Id,{key:g,node:d,level:1,hide:!0,"expand-all":e.value},null,8,["node","expand-all"]))),128))])):w("",!0)]))}}),Ad=H(Od,[["__scopeId","data-v-a349646d"]]),Ed=["value"],zd=L({__name:"SelectInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,o=e,s=p({get(){return t.modelValue},set(r){o("update:modelValue",r)}});return(r,d)=>mt((l(),f("select",{id:"selectme","onUpdate:modelValue":d[0]||(d[0]=g=>s.value=g),class:"form-select"},[(l(!0),f(N,null,K(r.options,(g,u)=>(l(),f("option",{key:u,value:g[1]},x(g[0]),9,Ed))),128))],512)),[[an,s.value]])}}),Dd=H(zd,[["__scopeId","data-v-5e33ce1f"]]),Wd={class:"subgrid m-0 p-0"},Gd={class:"settingscolumn"},Ud={class:"settingscolumn"},jd={class:"settingscolumn"},Fd=L({__name:"ThemeSettings",emits:["reset-arcs"],setup(a,{emit:e}){const t=e,o=[["Dunkel","dark"],["Hell","light"],["Blau","blue"]],s=[["3 kW","0"],["3,1 kW","1"],["3,14 kW","2"],["3,141 kW","3"],["3141 W","4"]],r=[["Orange","normal"],["Grün/Violett","standard"],["Bunt","advanced"]],d=[["Aus","off"],["Menü","navbar"],["Buttonleiste","buttonbar"]],g=[["Aus","no"],['"Alles"-Reiter',"infoview"],["Immer","always"]];return(u,h)=>(l(),M(Ge,{"full-width":!0},{title:_(()=>h[23]||(h[23]=[J(" Look & Feel ")])),buttons:_(()=>h[24]||(h[24]=[n("span",{type:"button",class:"float-end mt-0 ms-1","data-bs-toggle":"collapse","data-bs-target":"#themesettings"},[n("span",null,[n("i",{class:"fa-solid fa-circle-check"})])],-1)])),default:_(()=>[n("div",Wd,[n("div",Gd,[v(U,{fullwidth:!0,title:"Farbschema",icon:"fa-adjust",infotext:"Hintergrundfarbe"},{default:_(()=>[v(xe,{modelValue:i(m).displayMode,"onUpdate:modelValue":h[0]||(h[0]=c=>i(m).displayMode=c),options:o},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Farbschema Smart-Home-Geräte",icon:"fa-palette",infotext:"Für die Smart-Home-Geräte stehen mehrere Schemata zur Verfügung."},{default:_(()=>[v(xe,{modelValue:i(m).smartHomeColors,"onUpdate:modelValue":h[1]||(h[1]=c=>i(m).smartHomeColors=c),options:r},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Grafik: Raster",icon:"fa-th",infotext:"Verwende ein Hintergrundraster in den Grafiken"},{"inline-item":_(()=>[v(le,{modelValue:i(m).showGrid,"onUpdate:modelValue":h[2]||(h[2]=c=>i(m).showGrid=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Variable Bogenlänge",icon:"fa-chart-area",infotext:"Im Graph 'Aktuelle Leistung' können die Bögen immer die volle Länge haben, oder entsprechend des aktuellen Gesamtleistung verkürzt dargestellt werden."},{"inline-item":_(()=>[v(le,{modelValue:i(m).showRelativeArcs,"onUpdate:modelValue":h[3]||(h[3]=c=>i(m).showRelativeArcs=c)},null,8,["modelValue"])]),_:1}),i(m).showRelativeArcs?(l(),M(U,{key:0,fullwidth:!0,title:"Bögen zurücksetzen",icon:"fa-undo",infotext:"Durch Click auf den Button wird die Maximallänge der Bögen auf den aktuellen Wert gesetzt."},{default:_(()=>[i(m).showRelativeArcs?(l(),f("button",{key:0,class:"btn btn-secondary",onClick:h[4]||(h[4]=c=>t("reset-arcs"))}," Reset ")):w("",!0)]),_:1})):w("",!0),v(U,{fullwidth:!0,title:"Anzahl Dezimalstellen",icon:"fa-sliders-h",infotext:"Alle kW- und kWh-Werte werden mit der gewählten Anzahl an Stellen angezeigt."},{default:_(()=>[v(Dd,{modelValue:i(m).decimalPlaces,"onUpdate:modelValue":h[5]||(h[5]=c=>i(m).decimalPlaces=c),options:s},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Uhrzeit anzeigen",icon:"fa-clock",infotext:"Zeige die aktuelle Uhrzeit an. In der Menüleiste oder neben den Lade-Buttons."},{default:_(()=>[v(xe,{modelValue:i(m).showClock,"onUpdate:modelValue":h[6]||(h[6]=c=>i(m).showClock=c),options:d},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Kompakte Ladepunktliste",icon:"fa-list",infotext:"Zeige eine einzelne Ladepunktliste statt separater Element pro Ladepunkt."},{default:_(()=>[v(xe,{modelValue:i(m).shortCpList,"onUpdate:modelValue":h[7]||(h[7]=c=>i(m).shortCpList=c),options:g},null,8,["modelValue"])]),_:1})]),n("div",Ud,[v(U,{fullwidth:!0,title:"Buttonleiste für Ladepunkte",icon:"fa-window-maximize",infotext:"Informationen zu Ladepunkten über den Diagrammen anzeigen."},{"inline-item":_(()=>[v(le,{modelValue:i(m).showButtonBar,"onUpdate:modelValue":h[8]||(h[8]=c=>i(m).showButtonBar=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Filter-Buttons",icon:"fa-filter",infotext:"Hauptseite mit Buttons zur Auswahl der Kategorie."},{"inline-item":_(()=>[v(le,{modelValue:i(m).showQuickAccess,"onUpdate:modelValue":h[9]||(h[9]=c=>i(m).showQuickAccess=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Breite Widgets",icon:"fa-desktop",infotext:"Widgets immer breit machen"},{"inline-item":_(()=>[v(le,{modelValue:i(m).preferWideBoxes,"onUpdate:modelValue":h[10]||(h[10]=c=>i(m).preferWideBoxes=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Stufenlose Displaybreite",icon:"fa-maximize",infotext:"Die Breite des Displays wird immer voll ausgenutzt. Dies kann in einigen Fällen zu inkorrekter Darstellung führen."},{"inline-item":_(()=>[v(le,{modelValue:i(m).fluidDisplay,"onUpdate:modelValue":h[11]||(h[11]=c=>i(m).fluidDisplay=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Animationen",icon:"fa-film",infotext:"Animationen anzeigen"},{"inline-item":_(()=>[v(le,{modelValue:i(m).showAnimations,"onUpdate:modelValue":h[12]||(h[12]=c=>i(m).showAnimations=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Zähler anzeigen",icon:"fa-chart-bar",infotext:"Zeige die Werte zusätzlich angelegter Zähler"},{"inline-item":_(()=>[v(le,{modelValue:i(m).showCounters,"onUpdate:modelValue":h[13]||(h[13]=c=>i(m).showCounters=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Fahrzeuge anzeigen",icon:"fa-car",infotext:"Zeige alle Fahrzeuge mit Ladestand und Reichweite"},{"inline-item":_(()=>[v(le,{modelValue:i(m).showVehicles,"onUpdate:modelValue":h[14]||(h[14]=c=>i(m).showVehicles=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Standardfahrzeug anzeigen",icon:"fa-car",infotext:"Zeige das Standard-Fahrzeug in der Fahzeugliste"},{"inline-item":_(()=>[v(le,{modelValue:i(m).showStandardVehicle,"onUpdate:modelValue":h[15]||(h[15]=c=>i(m).showStandardVehicle=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Wechselrichter-Details anzeigen",icon:"fa-solar-panel",infotext:"Zeige Details zu den einzelnen Wechselrichtern"},{"inline-item":_(()=>[v(le,{modelValue:i(m).showInverters,"onUpdate:modelValue":h[16]||(h[16]=c=>i(m).showInverters=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Alternatives Energie-Widget",icon:"fa-chart-area",infotext:"Horizontale Darstellung der Energie-Werte"},{"inline-item":_(()=>[v(le,{modelValue:i(m).alternativeEnergy,"onUpdate:modelValue":h[17]||(h[17]=c=>i(m).alternativeEnergy=c)},null,8,["modelValue"])]),_:1})]),n("div",jd,[v(U,{fullwidth:!0,title:"Preistabelle anzeigen",icon:"fa-car",infotext:"Zeige die Strompreistabelle in einer separaten Box an"},{"inline-item":_(()=>[v(le,{modelValue:i(m).showPrices,"onUpdate:modelValue":h[18]||(h[18]=c=>i(m).showPrices=c)},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Untere Markierung in der Preistabelle",icon:"fa-car",infotext:"Position der unteren Markierung festlegen"},{default:_(()=>[v(_e,{id:"lowerPriceBound",modelValue:i(m).lowerPriceBound,"onUpdate:modelValue":h[19]||(h[19]=c=>i(m).lowerPriceBound=c),min:-25,max:95,step:.1,decimals:1,unit:"ct"},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"Obere Markierung in der Preistabelle",icon:"fa-car",infotext:"Position der oberen Markierung festlegen"},{default:_(()=>[v(_e,{id:"upperPriceBound",modelValue:i(m).upperPriceBound,"onUpdate:modelValue":h[20]||(h[20]=c=>i(m).upperPriceBound=c),min:-25,max:95,step:.1,decimals:1,unit:"ct"},null,8,["modelValue"])]),_:1}),v(U,{fullwidth:!0,title:"IFrame-Support für Einstellungen (Experimentell)",icon:"fa-gear",infotext:"Erlaubt das Lesen der Einstellungen, wenn das UI in andere Applikationen eingebettet ist (z.B. HomeAssistant). Erfordert eine mit SSL verschlüsselte Verbindung über HTTPS! Experimentelles Feature."},{"inline-item":_(()=>[v(le,{modelValue:i(m).sslPrefs,"onUpdate:modelValue":h[21]||(h[21]=c=>i(m).sslPrefs=c)},null,8,["modelValue"])]),_:1}),h[25]||(h[25]=n("hr",null,null,-1)),v(U,{fullwidth:!0,title:"Debug-Modus",icon:"fa-bug-slash",infotext:"Kontrollausgaben in der Console sowie Anzeige von Bildschirmbreite und MQ-Viewer"},{"inline-item":_(()=>[v(le,{modelValue:i(m).debug,"onUpdate:modelValue":h[22]||(h[22]=c=>i(m).debug=c)},null,8,["modelValue"])]),_:1}),h[26]||(h[26]=n("hr",null,null,-1))]),h[27]||(h[27]=n("div",{class:"grid-col-12 mb-3 me-3"},[n("button",{class:"btn btn-sm btn-secondary float-end","data-bs-toggle":"collapse","data-bs-target":"#themesettings"}," Schließen ")],-1))])]),_:1}))}}),Nd=H(Fd,[["__scopeId","data-v-785bc80b"]]),Hd={class:"container-fluid px-2 m-0 theme-colors"},Rd={id:"themesettings",class:"collapse"},Jd={class:"row py-0 px-0 m-0"},qd={key:1,class:"row py-0 m-0 d-flex justify-content-center"},Yd={key:2,class:"nav nav-tabs nav-justified mx-1 mt-2",role:"tablist"},Qd={key:0,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#pricecharttabbed"},Zd={key:1,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#vehiclelist"},Xd={key:2,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#batterylist"},Kd={key:3,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#smarthomelist"},eh={key:4,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#counterlist"},th={key:5,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#inverterlist"},ah={key:3,id:"cpContent",class:"tab-content mx-0 pt-1"},nh={id:"showAll",class:"tab-pane active",role:"tabpanel","aria-labelledby":"showall-tab"},rh={class:"row py-0 m-0 d-flex justify-content-center"},oh={id:"chargepointlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"chargepoint-tab"},sh={class:"row py-0 m-0 d-flex justify-content-center"},ih={id:"vehiclelist",class:"tab-pane",role:"tabpanel","aria-labelledby":"vehicle-tab"},lh={key:0,class:"row py-0 m-0 d-flex justify-content-center"},ch={id:"batterylist",class:"tab-pane",role:"tabpanel","aria-labelledby":"battery-tab"},uh={class:"row py-0 m-0 d-flex justify-content-center"},dh={id:"smarthomelist",class:"tab-pane",role:"tabpanel","aria-labelledby":"smarthome-tab"},hh={key:0,class:"row py-0 m-0 d-flex justify-content-center"},gh={id:"counterlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"counter-tab"},ph={key:0,class:"row py-0 m-0 d-flex justify-content-center"},mh={id:"inverterlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"inverter-tab"},fh={key:0,class:"row py-0 m-0 d-flex justify-content-center"},vh={id:"pricecharttabbed",class:"tab-pane",role:"tabpanel","aria-labelledby":"price-tab"},bh={key:0,class:"row py-0 m-0 d-flex justify-content-center"},yh={key:0,class:"row p-2 mt-5"},_h={class:"col p-2"},wh={class:"d-flex justify-content-between"},kh={class:"mx-4"},xh={key:0},Sh=L({__name:"ColorsTheme",setup(a){const e=Z(!1),t=p(()=>[...ne.values()].filter(d=>d.configured).length>0);function o(){Ba()}function s(){e.value=!e.value}Te(()=>{o(),window.addEventListener("resize",Vn),window.addEventListener("focus",r),pd()});function r(){document.hasFocus()&&ve(!0)}return(d,g)=>(l(),f(N,null,[n("div",Hd,[n("div",Rd,[v(Nd,{onResetArcs:i(On)},null,8,["onResetArcs"])]),i(m).showButtonBar?(l(),M(nu,{key:0})):w("",!0),n("div",Jd,[v(Fu,null,nn({item1:_(()=>[v(hr)]),item2:_(()=>[v(yo)]),_:2},[i(m).alternativeEnergy?{name:"item3",fn:_(()=>[v(vs)]),key:"0"}:{name:"item3",fn:_(()=>[v(No)]),key:"1"}]),1024)]),i(m).showQuickAccess?w("",!0):(l(),f("div",qd,[v(Ot,{id:"1",compact:i(m).shortCpList=="always"},null,8,["compact"]),i(m).showPrices?(l(),M(Gt,{key:0,id:"NoTabs"})):w("",!0),i(m).showVehicles?(l(),M(Dt,{key:1})):w("",!0),v(At),t.value?(l(),M(Et,{key:2})):w("",!0),i(m).showCounters?(l(),M(zt,{key:3})):w("",!0),i(m).showInverters?(l(),M(Ut,{key:4})):w("",!0)])),i(m).showQuickAccess?(l(),f("nav",Yd,[g[6]||(g[6]=rn('AllesLadepunkte',2)),i(m).showPrices?(l(),f("a",Qd,g[0]||(g[0]=[n("i",{class:"fa-solid fa-lg fa-coins"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Strompreis",-1)]))):w("",!0),i(m).showVehicles?(l(),f("a",Zd,g[1]||(g[1]=[n("i",{class:"fa-solid fa-lg fa-car"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Fahrzeuge",-1)]))):w("",!0),i(he).isBatteryConfigured?(l(),f("a",Xd,g[2]||(g[2]=[n("i",{class:"fa-solid fa-lg fa-car-battery"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Speicher",-1)]))):w("",!0),t.value?(l(),f("a",Kd,g[3]||(g[3]=[n("i",{class:"fa-solid fa-lg fa-plug"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Smart Home",-1)]))):w("",!0),i(m).showCounters?(l(),f("a",eh,g[4]||(g[4]=[n("i",{class:"fa-solid fa-lg fa-bolt"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Zähler",-1)]))):w("",!0),i(m).showInverters?(l(),f("a",th,g[5]||(g[5]=[n("i",{class:"fa-solid fa-lg fa-solar-panel"},null,-1),n("span",{class:"d-none d-md-inline ms-2"},"Wechselrichter",-1)]))):w("",!0)])):w("",!0),i(m).showQuickAccess?(l(),f("div",ah,[n("div",nh,[n("div",rh,[v(Ot,{id:"2",compact:i(m).shortCpList!="no"},null,8,["compact"]),i(m).showPrices?(l(),M(Gt,{key:0,id:"Overview"})):w("",!0),i(m).showVehicles?(l(),M(Dt,{key:1})):w("",!0),v(At),t.value?(l(),M(Et,{key:2})):w("",!0),i(m).showCounters?(l(),M(zt,{key:3})):w("",!0),i(m).showInverters?(l(),M(Ut,{key:4})):w("",!0)])]),n("div",oh,[n("div",sh,[v(Ot,{id:"3",compact:i(m).shortCpList=="always"},null,8,["compact"])])]),n("div",ih,[i(m).showVehicles?(l(),f("div",lh,[v(Dt)])):w("",!0)]),n("div",ch,[n("div",uh,[v(At)])]),n("div",dh,[t.value?(l(),f("div",hh,[v(Et)])):w("",!0)]),n("div",gh,[i(m).showCounters?(l(),f("div",ph,[v(zt)])):w("",!0)]),n("div",mh,[i(m).showInverters?(l(),f("div",fh,[v(Ut)])):w("",!0)]),n("div",vh,[i(m).showPrices?(l(),f("div",bh,[v(Gt,{id:"Tabbed"})])):w("",!0)])])):w("",!0)]),i(m).debug?(l(),f("div",yh,[n("div",_h,[g[7]||(g[7]=n("hr",null,null,-1)),n("div",wh,[n("p",kh,"Screen Width: "+x(i(St).x),1),n("button",{class:"btn btn-sm btn-secondary mx-4",onClick:s}," MQ Viewer ")]),e.value?(l(),f("hr",xh)):w("",!0),e.value?(l(),M(Ad,{key:1})):w("",!0)])])):w("",!0)],64))}}),$h=H(Sh,[["__scopeId","data-v-0542a138"]]),Mh={class:"navbar navbar-expand-lg px-0 mb-0"},Ph={key:0,class:"position-absolute-50 navbar-text ms-4 navbar-time",style:{color:"var(--color-menu)"}},Ch=L({__name:"NavigationBar",setup(a){let e;const t=p(()=>m.fluidDisplay?"container-fluid":"container-lg");return Te(()=>{e=setInterval(()=>{Nt.value=new Date},1e3)}),on(()=>{clearInterval(e)}),(o,s)=>(l(),f(N,null,[n("nav",Mh,[n("div",{class:R(t.value)},[s[0]||(s[0]=n("a",{href:"/",class:"navbar-brand"},[n("span",null,"openWB")],-1)),i(m).showClock=="navbar"?(l(),f("span",Ph,x(i(La)(i(Nt))),1)):w("",!0),s[1]||(s[1]=n("button",{class:"navbar-toggler togglebutton ps-5",type:"button","data-bs-toggle":"collapse","data-bs-target":"#mainNavbar","aria-controls":"mainNavbar","aria-expanded":"false","aria-label":"Toggle navigation"},[n("span",{class:"fa-solid fa-ellipsis-vertical"})],-1)),s[2]||(s[2]=n("div",{id:"mainNavbar",class:"collapse navbar-collapse justify-content-end"},[n("div",{class:"nav navbar-nav"},[n("a",{id:"navStatus",class:"nav-link",href:"../../settings/#/Status"},"Status"),n("div",{class:"nav-item dropdown"},[n("a",{id:"loggingDropdown",class:"nav-link",href:"#",role:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[J("Auswertungen "),n("i",{class:"fa-solid fa-caret-down"})]),n("div",{class:"dropdown-menu","aria-labelledby":"loggingDropdown"},[n("a",{href:"../../settings/#/Logging/ChargeLog",class:"dropdown-item"},"Ladeprotokoll"),n("a",{href:"../../settings/#/Logging/Chart",class:"dropdown-item"},"Diagramme")])]),n("div",{class:"nav-item dropdown"},[n("a",{id:"settingsDropdown",class:"nav-link",href:"#",role:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[J("Einstellungen "),n("span",{class:"fa-solid fa-caret-down"})]),n("div",{class:"dropdown-menu","aria-labelledby":"settingsDropdown"},[n("a",{id:"navSettings",class:"nav-link",href:"../../settings/index.html"},"openWB"),n("a",{class:"nav-link","data-bs-toggle":"collapse","data-bs-target":"#themesettings","aria-expanded":"false","aria-controls":"themeSettings"},[n("span",null,[J("Look&Feel"),n("span",{class:"fa-solid fa-caret-down"})])])])])])],-1))],2)]),n("div",{class:R(t.value)},s[3]||(s[3]=[n("hr",{class:"m-0 p-0 mb-2"},null,-1)]),2)],64))}}),Ih=H(Ch,[["__scopeId","data-v-ed619966"]]),Bh={id:"app",class:"m-0 p-0"},Vh={class:"row p-0 m-0"},Lh={class:"col-12 p-0 m-0"},Th=L({__name:"App",setup(a){const e=p(()=>m.fluidDisplay?"container-fluid":"container-lg");return(t,o)=>(l(),f("div",Bh,[v(Ih),n("div",{class:R(["p-0",e.value])},[n("div",Vh,[n("div",Lh,[v($h)])])],2)]))}}),Oh=sn(Th);ln();Oh.mount("#app"); diff --git a/packages/modules/web_themes/colors/web/assets/index-sPhFg7OR.css b/packages/modules/web_themes/colors/web/assets/index-vM0txWLO.css similarity index 73% rename from packages/modules/web_themes/colors/web/assets/index-sPhFg7OR.css rename to packages/modules/web_themes/colors/web/assets/index-vM0txWLO.css index 2573c0e3af..3ace348083 100644 --- a/packages/modules/web_themes/colors/web/assets/index-sPhFg7OR.css +++ b/packages/modules/web_themes/colors/web/assets/index-vM0txWLO.css @@ -1,4 +1,4 @@ -@charset "UTF-8";.form-select[data-v-98690e5d]{background-color:var(--color-input);border:1;border-color:var(--color-bg);color:var(--color-bg);text-align:start;font-size:var(--font-small)}.commitbutton[data-v-98690e5d]{background-color:var(--color-bg);color:var(--color-input)}option[data-v-98690e5d]{color:green}.form-select[data-v-98690e5d]{font-size:var(--font-verysmall);background-color:var(--color-menu);color:var(--color-fg)}.optiontable[data-v-98690e5d]{background-color:var(--color-menu)}.optionbutton[data-v-98690e5d]{font-size:var(--font-small);color:#fff;background-color:var(--color-menu);font-size:var(--font-verysmall);text-align:center}.dropdown-menu[data-v-98690e5d]{background-color:var(--color-menu)}.dropdown-toggle[data-v-98690e5d]{background-color:var(--color-menu);color:#fff;border:1px solid var(--color-bg);font-size:var(--font-verysmall)}.radiobutton[data-v-82ab6829]{border:0px solid var(--color-menu);opacity:1}.btn-outline-secondary.active[data-v-82ab6829]{background-color:var(--color-bg);border:0px solid var(--color-fg);opacity:.8}.btn-group[data-v-82ab6829]{border:1px solid var(--color-menu)}.rounded-pill[data-v-d75ec1a4]{background-color:var(--color-menu)}.arrowButton[data-v-d75ec1a4]{border:0}.datebadge[data-v-d75ec1a4]{background-color:var(--color-bg);color:var(--color-menu);border:1px solid var(--color-menu);font-size:var(--font-small);font-weight:400}.arrowButton[data-v-d75ec1a4],.fa-magnifying-glass[data-v-47f3d429]{color:var(--color-menu)}.dateWbBadge[data-v-47f3d429]{background-color:var(--color-menu);color:var(--color-bg);font-size:var(--font-medium);font-weight:400}.waitsign[data-v-47f3d429]{text-align:center;font-size:var(--font-medium);color:var(--color-fg);border:1px solid var(--color-bg);padding:2em;margin:4em 2em 2em;background-color:var(--color-bg)}.fa-magnifying-glass[data-v-32c82102],.fa-magnifying-glass[data-v-63a4748e]{color:var(--color-menu)}.heading[data-v-f6af00e8]{color:var(--color-menu);font-weight:400;text-align:center}.content[data-v-f6af00e8]{color:var(--color-fg);font-weight:700}@supports (grid-template-columns: subgrid){.wb-subwidget[data-v-2aa2b95f]{border-top:.5px solid var(--color-scale);display:grid;grid-template-columns:subgrid;grid-column:1 / 13}.wb-subwidget-noborder[data-v-2aa2b95f]{margin-top:20px;display:grid;grid-template-columns:subgrid;grid-column:1 / 13;padding-top:10px}}@supports not (grid-template-columns: subgrid){.wb-subwidget[data-v-2aa2b95f]{border-top:.5px solid var(--color-scale);display:grid;grid-template-columns:repeat(12,auto);grid-column:1 / 13}.wb-subwidget-noborder[data-v-2aa2b95f]{margin-top:20px;display:grid;grid-template-columns:subgrid;grid-column:1 / 13}}.titlerow[data-v-2aa2b95f]{grid-column:1 / 13}@supports (grid-template-columns: subgrid){.contentrow[data-v-2aa2b95f]{display:grid;grid-template-columns:subgrid;grid-column:1 / 13;align-items:top}}@supports not (grid-template-columns: subgrid){.contentrow[data-v-2aa2b95f]{display:grid;align-items:top;grid-template-columns:repeat(12,auto)}}.widgetname[data-v-2aa2b95f]{font-weight:700;font-size:var(--font-large)}.infotext[data-v-25ab3fbb]{font-size:var(--font-settings);color:var(--color-battery)}.item-icon[data-v-25ab3fbb]{color:var(--color-menu);font-size:var(--font-settings)}.titlecolumn[data-v-25ab3fbb]{color:var(--color-fg);font-size:var(--font-settings);flex-grow:1}.selectors[data-v-25ab3fbb]{font-size:var(--font-settings)}.configitem[data-v-25ab3fbb]{font-size:var(--font-settings);display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;height:100%;width:100%}.contentrow[data-v-25ab3fbb]{display:flex;height:100%;width:100%}.minlabel[data-v-af945965],.maxlabel[data-v-af945965]{color:var(--color-menu)}.valuelabel[data-v-af945965]{color:var(--color-fg)}.minusButton[data-v-af945965],.plusButton[data-v-af945965]{color:var(--color-menu)}.rangeIndicator[data-v-af945965]{margin:0;padding:0;line-height:10px}.rangeinput[data-v-af945965]{width:100%}.radiobutton[data-v-88c9ea7a]{border:.2px solid var(--color-menu);opacity:1;font-size:var(--font-settings-button);border-radius:0}.btn-outline-secondary.active[data-v-88c9ea7a]{background-color:var(--color-fg);border:1px solid var(--color-menu);box-shadow:0 .5rem 1rem #00000026;opacity:1}.buttongrid[data-v-88c9ea7a]{display:grid;border:1px solid var(--color-menu);border-radius:.5rem;justify-items:stretch;justify-self:stretch;width:100%}.chargeConfigSelect[data-v-e1b28964]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-e1b28964]{color:var(--color-charging);font-size:var(--font-settings);font-weight:700}.chargeConfigSelect[data-v-2ce28649]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-2ce28649]{color:var(--color-pv);font-size:var(--font-settings);font-weight:700}.subconfigstack[data-v-2ce28649]{display:grid;grid-template-columns:repeat(2,auto);width:100%}.subconfig[data-v-2ce28649]{justify-content:end;align-items:baseline;margin-left:1em;width:100%}.subconfigtitle[data-v-2ce28649]{margin-right:5px}.heading[data-v-2f5cb5c1]{font-size:var(--font-settings);color:var(--color-charging);font-weight:700;margin-bottom:.5rem}.plandetails[data-v-2f5cb5c1]{display:flex;flex-direction:column}.tablecell[data-v-0ab816f2]{color:var(--color-fg);background-color:var(--color-bg);text-align:center;font-size:var(--font-settings)}.tableheader[data-v-0ab816f2]{color:var(--color-menu);background-color:var(--color-bg);text-align:center;font-style:normal}.heading[data-v-0ab816f2]{color:var(--color-battery);font-size:var(--font-settings);font-weight:700}.left[data-v-0ab816f2]{text-align:left}.text-bold[data-v-0ab816f2]{font-weight:700}.text-normal[data-v-0ab816f2]{font-weight:400}.fa-circle-info[data-v-0ab816f2]{color:var(--color-charging);cursor:pointer}.heading[data-v-eaa44cb2]{font-size:var(--font-settings);color:var(--color-charging);font-weight:700;margin-bottom:.5rem}.plandetails[data-v-eaa44cb2]{display:flex;flex-direction:column}.tablecell[data-v-c911e978]{color:var(--color-fg);background-color:var(--color-bg);text-align:center;font-size:var(--font-settings)}.tableheader[data-v-c911e978]{color:var(--color-menu);background-color:var(--color-bg);text-align:center;font-style:normal}.heading[data-v-c911e978]{color:var(--color-battery);font-size:var(--font-settings);font-weight:700}.left[data-v-c911e978]{text-align:left}.right[data-v-c911e978]{text-align:right}.text-bold[data-v-c911e978]{font-weight:700}.text-normal[data-v-c911e978]{font-weight:400}.fa-circle-info[data-v-c911e978]{color:var(--color-charging);cursor:pointer}.color-charging[data-v-28b81885]{color:var(--color-charging)}.fa-circle-check[data-v-28b81885]{color:var(--color-menu)}.settingsheader[data-v-28b81885]{color:var(--color-charging);font-size:16px;font-weight:700}.providername[data-v-28b81885]{color:var(--color-axis);font-size:16px}.jumpbutton[data-v-28b81885]{background-color:var(--color-menu);color:var(--color-bg);border:0;font-size:var(--font-settings-button)}.confirmButton[data-v-28b81885]{font-size:var(--font-settings-button)}.chargeConfigSelect[data-v-3ad56f95]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-3ad56f95]{color:var(--color-devices);font-size:var(--font-settings);font-weight:700}.subconfigstack[data-v-3ad56f95]{display:grid;grid-template-columns:repeat(2,auto);width:100%}.subconfig[data-v-3ad56f95]{justify-content:end;align-items:baseline;margin-left:1em;width:100%}.subconfigtitle[data-v-3ad56f95]{margin-right:5px}.status-string[data-v-bf66e6b3]{font-size:var(--font-normal);font-style:italic;color:var(--color-battery)}.chargeConfigSelect[data-v-bf66e6b3]{background:var(--color-bg);color:var(--color-fg)}.chargeModeOption[data-v-bf66e6b3]{background:green;color:#00f}.nav-tabs .nav-link[data-v-bf66e6b3]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-bf66e6b3]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-bf66e6b3]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:1px solid var(--color-menu);border-bottom:1px solid var(--color-menu)}.settingsheader[data-v-bf66e6b3]{color:var(--color-charging);font-size:16px;font-weight:700}hr[data-v-bf66e6b3]{color:var(--color-menu)}.status-string[data-v-6ffc2337]{font-size:var(--font-settings);font-style:italic;color:var(--color-battery)}.nav-tabs .nav-link[data-v-6ffc2337]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-6ffc2337]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-6ffc2337]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:1px solid var(--color-menu);border-bottom:0px solid var(--color-menu)}.heading[data-v-6ffc2337]{color:var(--color-menu)}.item[data-v-6ffc2337]{grid-column:span 12}.tabarea[data-v-6ffc2337]{justify-self:stretch}.batIcon[data-v-a68c844a]{color:var(--color-menu)}.wb-widget[data-v-fb6ac7a4]{width:100%;height:100%;border-radius:30px}.widgetname[data-v-fb6ac7a4]{font-weight:700;color:var(--color-fg);font-size:var(--font-large)}.pillWbBadge[data-v-36112fa3]{font-size:(var--font-small);font-weight:regular;display:flex;justify-content:center;align-items:center}.fa-star[data-v-8a217eeb]{color:var(--color-evu)}.fa-clock[data-v-8a217eeb]{color:var(--color-charging)}.fa-car[data-v-8a217eeb],.fa-ellipsis-vertical[data-v-8a217eeb],.fa-circle-check[data-v-8a217eeb]{color:var(--color-menu)}.socEditor[data-v-8a217eeb]{border:1px solid var(--color-menu);justify-self:stretch}.targetCurrent[data-v-8a217eeb]{color:var(--color-menu)}.priceEditor[data-v-8a217eeb]{border:1px solid var(--color-menu);justify-self:stretch}.chargemodes[data-v-8a217eeb]{grid-column:1 / 13;justify-self:center}.chargeinfo[data-v-8a217eeb]{display:grid;grid-template-columns:repeat(12,auto);justify-content:space-between}.errorWbBadge[data-v-8a217eeb]{color:var(--color-bg);background-color:var(--color-evu);font-size:var(--font-small)}.divider[data-v-8a217eeb]{color:var(--color-fg)}.blue[data-v-8a217eeb]{color:var(--color-charging)}.close-config-button[data-v-8a217eeb]{background:var(--color-menu);color:var(--color-bg);grid-column:11 / span 2;font-size:var(--font-settings-button)}.carSelector[data-v-8a217eeb]{border:1px solid var(--color-menu);font-size:var(--font-settings);border-radius:3px;display:flex;flex-direction:column}@font-face{font-family:swiper-icons;src:url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA);font-weight:400;font-style:normal}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.modal-footer[data-v-eaefae30],.modal-header[data-v-eaefae30],.modal-body[data-v-eaefae30]{background:var(--color-bg)}.btn-close[data-v-eaefae30]{color:var(--color-fg)}.modal-footer[data-v-eaefae30]{text-align:right}.modal-header .btn-close[data-v-eaefae30]{color:var(--color-fg);background:var(--color-bg);border:0px}.modal.fade .modal-dialog[data-v-eaefae30]{transition:transform 1s ease-out;transform:none;scale:.6}.modal.show .modal-dialog[data-v-eaefae30]{transition:transform .3s ease-in;transform:none;scale:1}.tablerow[data-v-ba15dbc4]{margin:14px;border-top:.1px solid var(--color-scale)}.tablecell[data-v-ba15dbc4]{color:var(--color-fg);background-color:var(--color-bg);text-align:center;padding-top:2px;padding-left:2px;padding-right:2px;vertical-align:baseline;line-height:1.4rem;font-size:var(--font-small)}.buttoncell[data-v-ba15dbc4]{background-color:var(--color-bg);padding:0;margin:0}.left[data-v-ba15dbc4]{text-align:left}.tablecell.right[data-v-ba15dbc4]{text-align:right}.tablecolum1[data-v-ba15dbc4]{color:var(--color-fg);text-align:left;margin:0;padding:0}.tableicon[data-v-ba15dbc4]{color:var(--color-menu)}.fa-star[data-v-ba15dbc4]{color:var(--color-evu)}.fa-clock[data-v-ba15dbc4]{color:var(--color-battery)}.socEditor[data-v-ba15dbc4]{border:1px solid var(--color-menu);background-color:var(--color-bg)}.socEditRow td[data-v-ba15dbc4]{background-color:var(--color-bg)}.fa-circle-check[data-v-ba15dbc4]{color:var(--color-menu)}.socEditTitle[data-v-ba15dbc4]{color:var(--color-fg)}.statusbadge[data-v-ba15dbc4]{background-color:var(--color-bg);font-weight:700;font-size:var(--font-verysmall)}.modebadge[data-v-ba15dbc4]{color:var(--color-bg)}.cpname[data-v-ba15dbc4]{font-size:var(--font-small)}.fa-edit[data-v-ba15dbc4]{color:var(--color-menu)}.infolist[data-v-ba15dbc4]{justify-content:center}.tableheader[data-v-b8c6b557]{margin:0;padding-left:0;background-color:var(--color-bg);color:var(--color-menu)}.alignleft[data-v-b8c6b557]{text-align:left}.aligncenter[data-v-b8c6b557]{text-align:center}.alignright[data-v-b8c6b557]{text-align:right}.table[data-v-b8c6b557]{border-spacing:1rem;background-color:var(--color-bg)}.priceWbBadge[data-v-b8c6b557]{background-color:var(--color-menu);font-weight:400}.fa-charging-station[data-v-b8c6b557]{color:var(--color-charging)}.plugIndicator[data-v-71bb7e5f]{color:#fff;border:1px solid white}.chargeButton[data-v-71bb7e5f]{color:#fff}.left[data-v-71bb7e5f]{float:left}.right[data-v-71bb7e5f]{float:right}.center[data-v-71bb7e5f]{margin:auto}.time-display[data-v-791e4be0]{font-weight:700;color:var(--color-menu);font-size:var(--font-normal)}.battery-title[data-v-f7f825f7]{color:var(--color-battery);font-size:var(--font-medium)}.battery-color[data-v-325bd635]{color:var(--color-battery)}.fg-color[data-v-325bd635]{color:var(--color-fg)}.menu-color[data-v-325bd635],.todaystring[data-v-325bd635]{color:var(--color-menu)}.devicename[data-v-20651ac6]{font-size:var(--font-medium)}.statusbutton[data-v-20651ac6]{font-size:var(--font-extralarge)}.sh-title[data-v-5b5cf6b3]{color:var(--color-title)}.tableheader[data-v-5b5cf6b3]{background-color:var(--color-bg);color:var(--color-menu)}.fa-ellipsis-vertical[data-v-5b5cf6b3],.fa-circle-check[data-v-5b5cf6b3]{color:var(--color-menu)}.smarthome[data-v-5b5cf6b3]{color:var(--color-devices)}.idWbBadge[data-v-01dd8c4d]{background-color:var(--color-menu);font-weight:400}.countername[data-v-01dd8c4d]{font-size:var(--font-medium)}.statusbutton[data-v-5f059284]{font-size:var(--font-large)}.modebutton[data-v-5f059284]{background-color:var(--color-menu);font-size:var(--font-verysmall);font-weight:400}.tempWbBadge[data-v-5f059284]{background-color:var(--color-battery);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.idWbBadge[data-v-9e2cb63e]{background-color:var(--color-menu);font-weight:400}.status-string[data-v-9e2cb63e]{text-align:center}.vehiclename[data-v-9e2cb63e]{font-size:var(--font-medium)}.statusbutton[data-v-716be083]{font-size:var(--font-large)}.modebutton[data-v-716be083]{background-color:var(--color-menu);font-size:var(--font-verysmall);font-weight:400}.tempWbBadge[data-v-716be083]{background-color:var(--color-battery);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.priceWbBadge[data-v-578b98b5]{background-color:var(--color-charging);font-weight:400}.providerWbBadge[data-v-578b98b5]{background-color:var(--color-menu);font-weight:400}.grapharea[data-v-578b98b5]{grid-column-start:1;grid-column-end:13;width:100%;object-fit:cover;max-height:100%;justify-items:stretch}.pricefigure[data-v-578b98b5]{justify-self:stretch}.modeWbBadge[data-v-258d8f17]{background-color:var(--color-pv);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.invertername[data-v-258d8f17]{font-size:var(--font-medium)}.powerWbBadge[data-v-b7a71f81]{background-color:var(--color-pv);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.button[data-v-17424929]{color:var(--color-fg)}.name[data-v-df7e578a]{font-size:1rem;color:#000;border:1px solid white}.content[data-v-df7e578a]{grid-column:1 / -1;border:solid 1px black;border-radius:10px}.sublist[data-v-df7e578a]{grid-column:1 / -1;display:grid;grid-template-columns:subgrid}.mqviewer[data-v-a349646d]{background-color:#fff;color:#000}.topiclist[data-v-a349646d]{display:grid;grid-template-columns:repeat(40,1fr)}.topnode[data-v-a349646d]{grid-column-start:1;grid-column-end:-1}.mqtitle[data-v-a349646d]{color:#000}.form-select[data-v-5e33ce1f]{background-color:var(--color-input);color:#000;border:1px solid var(--color-bg);font-size:var(--font-settings)}.fa-circle-check[data-v-785bc80b]{font-size:var(--font-large);background-color:var(--color-bg);color:var(--color-menu)}.closebutton[data-v-785bc80b]{justify-self:end}.settingscolumn[data-v-785bc80b]{padding:20px}.nav-tabs[data-v-0542a138]{border-bottom:.5px solid var(--color-menu);background-color:var(--color-bg)}.nav-tabs .nav-link[data-v-0542a138]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-0542a138]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-0542a138]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:.5px solid var(--color-menu);border-bottom:0px solid var(--color-menu);box-shadow:0 .5rem 1rem #00000026}.fa-circle-info[data-v-0542a138]{color:var(--color-fg)}.fa-charging-station[data-v-0542a138]{color:var(--color-charging)}.fa-car-battery[data-v-0542a138]{color:var(--color-battery)}.fa-plug[data-v-0542a138]{color:var(--color-devices)}.fa-bolt[data-v-0542a138]{color:var(--color-evu)}.fa-car[data-v-0542a138]{color:var(--color-charging)}.fa-coins[data-v-0542a138]{color:var(--color-battery)}.fa-solar-panel[data-v-0542a138]{color:var(--color-pv)}.navbar[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.dropdown-menu[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg)}.dropdown-item[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.btn[data-v-ed619966]{font-size:var(--font-medium);background-color:var(--color-bg);color:var(--color-fg)}.navbar-brand[data-v-ed619966]{font-weight:700;color:var(--color-fg);font-size:var(--font-normal)}.nav-link[data-v-ed619966]{color:var(--color-fg);border-color:red;font-size:var(--font-normal)}.navbar-toggler[data-v-ed619966]{color:var(--color-fg);border-color:var(--color-bg)}.navbar-time[data-v-ed619966]{font-weight:700;color:var(--color-menu);font-size:var(--font-normal)}.fa{font-family:var(--fa-style-family, "Font Awesome 6 Free");font-weight:var(--fa-style, 900)}.fa,.fa-brands,.fa-duotone,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display, inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin, 2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em) * -1);position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius, .1em);border:var(--fa-border-width, .08em) var(--fa-border-style, solid) var(--fa-border-color, #eee);padding:var(--fa-border-padding, .2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin, .3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin, .3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) )}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration, 2s);animation-duration:var(--fa-animation-duration, 2s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, steps(8));animation-timing-function:var(--fa-animation-timing, steps(8))}@media (prefers-reduced-motion: reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle, none));transform:rotate(var(--fa-rotate-angle, none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index, auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse, #fff)}.fa-0:before{content:"0"}.fa-1:before{content:"1"}.fa-2:before{content:"2"}.fa-3:before{content:"3"}.fa-4:before{content:"4"}.fa-5:before{content:"5"}.fa-6:before{content:"6"}.fa-7:before{content:"7"}.fa-8:before{content:"8"}.fa-9:before{content:"9"}.fa-a:before{content:"A"}.fa-address-book:before,.fa-contact-book:before{content:""}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:""}.fa-align-center:before{content:""}.fa-align-justify:before{content:""}.fa-align-left:before{content:""}.fa-align-right:before{content:""}.fa-anchor:before{content:""}.fa-angle-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-double-down:before,.fa-angles-down:before{content:""}.fa-angle-double-left:before,.fa-angles-left:before{content:""}.fa-angle-double-right:before,.fa-angles-right:before{content:""}.fa-angle-double-up:before,.fa-angles-up:before{content:""}.fa-ankh:before{content:""}.fa-apple-alt:before,.fa-apple-whole:before{content:""}.fa-archway:before{content:""}.fa-arrow-down:before{content:""}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:""}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:""}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:""}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:""}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:""}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:""}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:""}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:""}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:""}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:""}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:""}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:""}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:""}.fa-arrow-trend-down:before{content:""}.fa-arrow-trend-up:before{content:""}.fa-arrow-turn-down:before,.fa-level-down:before{content:""}.fa-arrow-turn-up:before,.fa-level-up:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:""}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:""}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:""}.fa-arrow-up-from-bracket:before{content:""}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:""}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:""}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:""}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:""}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:""}.fa-arrows-h:before,.fa-arrows-left-right:before{content:""}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:""}.fa-arrows-up-down:before,.fa-arrows-v:before{content:""}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:""}.fa-asterisk:before{content:"*"}.fa-at:before{content:"@"}.fa-atom:before{content:""}.fa-audio-description:before{content:""}.fa-austral-sign:before{content:""}.fa-award:before{content:""}.fa-b:before{content:"B"}.fa-baby:before{content:""}.fa-baby-carriage:before,.fa-carriage-baby:before{content:""}.fa-backward:before{content:""}.fa-backward-fast:before,.fa-fast-backward:before{content:""}.fa-backward-step:before,.fa-step-backward:before{content:""}.fa-bacon:before{content:""}.fa-bacteria:before{content:""}.fa-bacterium:before{content:""}.fa-bag-shopping:before,.fa-shopping-bag:before{content:""}.fa-bahai:before{content:""}.fa-baht-sign:before{content:""}.fa-ban:before,.fa-cancel:before{content:""}.fa-ban-smoking:before,.fa-smoking-ban:before{content:""}.fa-band-aid:before,.fa-bandage:before{content:""}.fa-barcode:before{content:""}.fa-bars:before,.fa-navicon:before{content:""}.fa-bars-progress:before,.fa-tasks-alt:before{content:""}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:""}.fa-baseball-ball:before,.fa-baseball:before{content:""}.fa-baseball-bat-ball:before{content:""}.fa-basket-shopping:before,.fa-shopping-basket:before{content:""}.fa-basketball-ball:before,.fa-basketball:before{content:""}.fa-bath:before,.fa-bathtub:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-half:before{content:""}.fa-battery-2:before,.fa-battery-quarter:before{content:""}.fa-battery-4:before,.fa-battery-three-quarters:before{content:""}.fa-bed:before{content:""}.fa-bed-pulse:before,.fa-procedures:before{content:""}.fa-beer-mug-empty:before,.fa-beer:before{content:""}.fa-bell:before{content:""}.fa-bell-concierge:before,.fa-concierge-bell:before{content:""}.fa-bell-slash:before{content:""}.fa-bezier-curve:before{content:""}.fa-bicycle:before{content:""}.fa-binoculars:before{content:""}.fa-biohazard:before{content:""}.fa-bitcoin-sign:before{content:""}.fa-blender:before{content:""}.fa-blender-phone:before{content:""}.fa-blog:before{content:""}.fa-bold:before{content:""}.fa-bolt:before,.fa-zap:before{content:""}.fa-bolt-lightning:before{content:""}.fa-bomb:before{content:""}.fa-bone:before{content:""}.fa-bong:before{content:""}.fa-book:before{content:""}.fa-atlas:before,.fa-book-atlas:before{content:""}.fa-bible:before,.fa-book-bible:before{content:""}.fa-book-journal-whills:before,.fa-journal-whills:before{content:""}.fa-book-medical:before{content:""}.fa-book-open:before{content:""}.fa-book-open-reader:before,.fa-book-reader:before{content:""}.fa-book-quran:before,.fa-quran:before{content:""}.fa-book-dead:before,.fa-book-skull:before{content:""}.fa-bookmark:before{content:""}.fa-border-all:before{content:""}.fa-border-none:before{content:""}.fa-border-style:before,.fa-border-top-left:before{content:""}.fa-bowling-ball:before{content:""}.fa-box:before{content:""}.fa-archive:before,.fa-box-archive:before{content:""}.fa-box-open:before{content:""}.fa-box-tissue:before{content:""}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:""}.fa-braille:before{content:""}.fa-brain:before{content:""}.fa-brazilian-real-sign:before{content:""}.fa-bread-slice:before{content:""}.fa-briefcase:before{content:""}.fa-briefcase-medical:before{content:""}.fa-broom:before{content:""}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:""}.fa-brush:before{content:""}.fa-bug:before{content:""}.fa-bug-slash:before{content:""}.fa-building:before{content:""}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:""}.fa-bullhorn:before{content:""}.fa-bullseye:before{content:""}.fa-burger:before,.fa-hamburger:before{content:""}.fa-bus:before{content:""}.fa-bus-alt:before,.fa-bus-simple:before{content:""}.fa-briefcase-clock:before,.fa-business-time:before{content:""}.fa-c:before{content:"C"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:""}.fa-calculator:before{content:""}.fa-calendar:before{content:""}.fa-calendar-check:before{content:""}.fa-calendar-day:before{content:""}.fa-calendar-alt:before,.fa-calendar-days:before{content:""}.fa-calendar-minus:before{content:""}.fa-calendar-plus:before{content:""}.fa-calendar-week:before{content:""}.fa-calendar-times:before,.fa-calendar-xmark:before{content:""}.fa-camera-alt:before,.fa-camera:before{content:""}.fa-camera-retro:before{content:""}.fa-camera-rotate:before{content:""}.fa-campground:before{content:""}.fa-candy-cane:before{content:""}.fa-cannabis:before{content:""}.fa-capsules:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-battery-car:before,.fa-car-battery:before{content:""}.fa-car-crash:before{content:""}.fa-car-alt:before,.fa-car-rear:before{content:""}.fa-car-side:before{content:""}.fa-caravan:before{content:""}.fa-caret-down:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-caret-up:before{content:""}.fa-carrot:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:""}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-shopping:before,.fa-shopping-cart:before{content:""}.fa-cash-register:before{content:""}.fa-cat:before{content:""}.fa-cedi-sign:before{content:""}.fa-cent-sign:before{content:""}.fa-certificate:before{content:""}.fa-chair:before{content:""}.fa-blackboard:before,.fa-chalkboard:before{content:""}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:""}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:""}.fa-charging-station:before{content:""}.fa-area-chart:before,.fa-chart-area:before{content:""}.fa-bar-chart:before,.fa-chart-bar:before{content:""}.fa-chart-column:before{content:""}.fa-chart-gantt:before{content:""}.fa-chart-line:before,.fa-line-chart:before{content:""}.fa-chart-pie:before,.fa-pie-chart:before{content:""}.fa-check:before{content:""}.fa-check-double:before{content:""}.fa-check-to-slot:before,.fa-vote-yea:before{content:""}.fa-cheese:before{content:""}.fa-chess:before{content:""}.fa-chess-bishop:before{content:""}.fa-chess-board:before{content:""}.fa-chess-king:before{content:""}.fa-chess-knight:before{content:""}.fa-chess-pawn:before{content:""}.fa-chess-queen:before{content:""}.fa-chess-rook:before{content:""}.fa-chevron-down:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-chevron-up:before{content:""}.fa-child:before{content:""}.fa-church:before{content:""}.fa-circle:before{content:""}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:""}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:""}.fa-check-circle:before,.fa-circle-check:before{content:""}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:""}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:""}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:""}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:""}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:""}.fa-circle-dot:before,.fa-dot-circle:before{content:""}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:""}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:""}.fa-circle-h:before,.fa-hospital-symbol:before{content:""}.fa-adjust:before,.fa-circle-half-stroke:before{content:""}.fa-circle-info:before,.fa-info-circle:before{content:""}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:""}.fa-circle-minus:before,.fa-minus-circle:before{content:""}.fa-circle-notch:before{content:""}.fa-circle-pause:before,.fa-pause-circle:before{content:""}.fa-circle-play:before,.fa-play-circle:before{content:""}.fa-circle-plus:before,.fa-plus-circle:before{content:""}.fa-circle-question:before,.fa-question-circle:before{content:""}.fa-circle-radiation:before,.fa-radiation-alt:before{content:""}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:""}.fa-circle-stop:before,.fa-stop-circle:before{content:""}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:""}.fa-circle-user:before,.fa-user-circle:before{content:""}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:""}.fa-city:before{content:""}.fa-clapperboard:before{content:""}.fa-clipboard:before{content:""}.fa-clipboard-check:before{content:""}.fa-clipboard-list:before{content:""}.fa-clock-four:before,.fa-clock:before{content:""}.fa-clock-rotate-left:before,.fa-history:before{content:""}.fa-clone:before{content:""}.fa-closed-captioning:before{content:""}.fa-cloud:before{content:""}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:""}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:""}.fa-cloud-meatball:before{content:""}.fa-cloud-moon:before{content:""}.fa-cloud-moon-rain:before{content:""}.fa-cloud-rain:before{content:""}.fa-cloud-showers-heavy:before{content:""}.fa-cloud-sun:before{content:""}.fa-cloud-sun-rain:before{content:""}.fa-clover:before{content:""}.fa-code:before{content:""}.fa-code-branch:before{content:""}.fa-code-commit:before{content:""}.fa-code-compare:before{content:""}.fa-code-fork:before{content:""}.fa-code-merge:before{content:""}.fa-code-pull-request:before{content:""}.fa-coins:before{content:""}.fa-colon-sign:before{content:""}.fa-comment:before{content:""}.fa-comment-dollar:before{content:""}.fa-comment-dots:before,.fa-commenting:before{content:""}.fa-comment-medical:before{content:""}.fa-comment-slash:before{content:""}.fa-comment-sms:before,.fa-sms:before{content:""}.fa-comments:before{content:""}.fa-comments-dollar:before{content:""}.fa-compact-disc:before{content:""}.fa-compass:before{content:""}.fa-compass-drafting:before,.fa-drafting-compass:before{content:""}.fa-compress:before{content:""}.fa-computer-mouse:before,.fa-mouse:before{content:""}.fa-cookie:before{content:""}.fa-cookie-bite:before{content:""}.fa-copy:before{content:""}.fa-copyright:before{content:""}.fa-couch:before{content:""}.fa-credit-card-alt:before,.fa-credit-card:before{content:""}.fa-crop:before{content:""}.fa-crop-alt:before,.fa-crop-simple:before{content:""}.fa-cross:before{content:""}.fa-crosshairs:before{content:""}.fa-crow:before{content:""}.fa-crown:before{content:""}.fa-crutch:before{content:""}.fa-cruzeiro-sign:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-d:before{content:"D"}.fa-database:before{content:""}.fa-backspace:before,.fa-delete-left:before{content:""}.fa-democrat:before{content:""}.fa-desktop-alt:before,.fa-desktop:before{content:""}.fa-dharmachakra:before{content:""}.fa-diagram-next:before{content:""}.fa-diagram-predecessor:before{content:""}.fa-diagram-project:before,.fa-project-diagram:before{content:""}.fa-diagram-successor:before{content:""}.fa-diamond:before{content:""}.fa-diamond-turn-right:before,.fa-directions:before{content:""}.fa-dice:before{content:""}.fa-dice-d20:before{content:""}.fa-dice-d6:before{content:""}.fa-dice-five:before{content:""}.fa-dice-four:before{content:""}.fa-dice-one:before{content:""}.fa-dice-six:before{content:""}.fa-dice-three:before{content:""}.fa-dice-two:before{content:""}.fa-disease:before{content:""}.fa-divide:before{content:""}.fa-dna:before{content:""}.fa-dog:before{content:""}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"$"}.fa-dolly-box:before,.fa-dolly:before{content:""}.fa-dong-sign:before{content:""}.fa-door-closed:before{content:""}.fa-door-open:before{content:""}.fa-dove:before{content:""}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:""}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:""}.fa-download:before{content:""}.fa-dragon:before{content:""}.fa-draw-polygon:before{content:""}.fa-droplet:before,.fa-tint:before{content:""}.fa-droplet-slash:before,.fa-tint-slash:before{content:""}.fa-drum:before{content:""}.fa-drum-steelpan:before{content:""}.fa-drumstick-bite:before{content:""}.fa-dumbbell:before{content:""}.fa-dumpster:before{content:""}.fa-dumpster-fire:before{content:""}.fa-dungeon:before{content:""}.fa-e:before{content:"E"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:""}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:""}.fa-earth-africa:before,.fa-globe-africa:before{content:""}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:""}.fa-earth-asia:before,.fa-globe-asia:before{content:""}.fa-earth-europe:before,.fa-globe-europe:before{content:""}.fa-earth-oceania:before,.fa-globe-oceania:before{content:""}.fa-egg:before{content:""}.fa-eject:before{content:""}.fa-elevator:before{content:""}.fa-ellipsis-h:before,.fa-ellipsis:before{content:""}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:""}.fa-envelope:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-text:before{content:""}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:""}.fa-equals:before{content:"="}.fa-eraser:before{content:""}.fa-ethernet:before{content:""}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:""}.fa-exclamation:before{content:"!"}.fa-expand:before{content:""}.fa-eye:before{content:""}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:""}.fa-eye-low-vision:before,.fa-low-vision:before{content:""}.fa-eye-slash:before{content:""}.fa-f:before{content:"F"}.fa-angry:before,.fa-face-angry:before{content:""}.fa-dizzy:before,.fa-face-dizzy:before{content:""}.fa-face-flushed:before,.fa-flushed:before{content:""}.fa-face-frown:before,.fa-frown:before{content:""}.fa-face-frown-open:before,.fa-frown-open:before{content:""}.fa-face-grimace:before,.fa-grimace:before{content:""}.fa-face-grin:before,.fa-grin:before{content:""}.fa-face-grin-beam:before,.fa-grin-beam:before{content:""}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:""}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:""}.fa-face-grin-squint:before,.fa-grin-squint:before{content:""}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:""}.fa-face-grin-stars:before,.fa-grin-stars:before{content:""}.fa-face-grin-tears:before,.fa-grin-tears:before{content:""}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:""}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:""}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:""}.fa-face-grin-wide:before,.fa-grin-alt:before{content:""}.fa-face-grin-wink:before,.fa-grin-wink:before{content:""}.fa-face-kiss:before,.fa-kiss:before{content:""}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:""}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:""}.fa-face-laugh:before,.fa-laugh:before{content:""}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:""}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:""}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:""}.fa-face-meh:before,.fa-meh:before{content:""}.fa-face-meh-blank:before,.fa-meh-blank:before{content:""}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:""}.fa-face-sad-cry:before,.fa-sad-cry:before{content:""}.fa-face-sad-tear:before,.fa-sad-tear:before{content:""}.fa-face-smile:before,.fa-smile:before{content:""}.fa-face-smile-beam:before,.fa-smile-beam:before{content:""}.fa-face-smile-wink:before,.fa-smile-wink:before{content:""}.fa-face-surprise:before,.fa-surprise:before{content:""}.fa-face-tired:before,.fa-tired:before{content:""}.fa-fan:before{content:""}.fa-faucet:before{content:""}.fa-fax:before{content:""}.fa-feather:before{content:""}.fa-feather-alt:before,.fa-feather-pointed:before{content:""}.fa-file:before{content:""}.fa-file-arrow-down:before,.fa-file-download:before{content:""}.fa-file-arrow-up:before,.fa-file-upload:before{content:""}.fa-file-audio:before{content:""}.fa-file-code:before{content:""}.fa-file-contract:before{content:""}.fa-file-csv:before{content:""}.fa-file-excel:before{content:""}.fa-arrow-right-from-file:before,.fa-file-export:before{content:""}.fa-file-image:before{content:""}.fa-arrow-right-to-file:before,.fa-file-import:before{content:""}.fa-file-invoice:before{content:""}.fa-file-invoice-dollar:before{content:""}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:""}.fa-file-medical:before{content:""}.fa-file-pdf:before{content:""}.fa-file-powerpoint:before{content:""}.fa-file-prescription:before{content:""}.fa-file-signature:before{content:""}.fa-file-video:before{content:""}.fa-file-medical-alt:before,.fa-file-waveform:before{content:""}.fa-file-word:before{content:""}.fa-file-archive:before,.fa-file-zipper:before{content:""}.fa-fill:before{content:""}.fa-fill-drip:before{content:""}.fa-film:before{content:""}.fa-filter:before{content:""}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:""}.fa-filter-circle-xmark:before{content:""}.fa-fingerprint:before{content:""}.fa-fire:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:""}.fa-burn:before,.fa-fire-flame-simple:before{content:""}.fa-fish:before{content:""}.fa-flag:before{content:""}.fa-flag-checkered:before{content:""}.fa-flag-usa:before{content:""}.fa-flask:before{content:""}.fa-floppy-disk:before,.fa-save:before{content:""}.fa-florin-sign:before{content:""}.fa-folder:before{content:""}.fa-folder-minus:before{content:""}.fa-folder-open:before{content:""}.fa-folder-plus:before{content:""}.fa-folder-tree:before{content:""}.fa-font:before{content:""}.fa-football-ball:before,.fa-football:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before,.fa-forward-fast:before{content:""}.fa-forward-step:before,.fa-step-forward:before{content:""}.fa-franc-sign:before{content:""}.fa-frog:before{content:""}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:""}.fa-g:before{content:"G"}.fa-gamepad:before{content:""}.fa-gas-pump:before{content:""}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:""}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:""}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:""}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-gem:before{content:""}.fa-genderless:before{content:""}.fa-ghost:before{content:""}.fa-gift:before{content:""}.fa-gifts:before{content:""}.fa-glasses:before{content:""}.fa-globe:before{content:""}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:""}.fa-gopuram:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-greater-than:before{content:">"}.fa-greater-than-equal:before{content:""}.fa-grip-horizontal:before,.fa-grip:before{content:""}.fa-grip-lines:before{content:""}.fa-grip-lines-vertical:before{content:""}.fa-grip-vertical:before{content:""}.fa-guarani-sign:before{content:""}.fa-guitar:before{content:""}.fa-gun:before{content:""}.fa-h:before{content:"H"}.fa-hammer:before{content:""}.fa-hamsa:before{content:""}.fa-hand-paper:before,.fa-hand:before{content:""}.fa-hand-back-fist:before,.fa-hand-rock:before{content:""}.fa-allergies:before,.fa-hand-dots:before{content:""}.fa-fist-raised:before,.fa-hand-fist:before{content:""}.fa-hand-holding:before{content:""}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:""}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:""}.fa-hand-holding-heart:before{content:""}.fa-hand-holding-medical:before{content:""}.fa-hand-lizard:before{content:""}.fa-hand-middle-finger:before{content:""}.fa-hand-peace:before{content:""}.fa-hand-point-down:before{content:""}.fa-hand-point-left:before{content:""}.fa-hand-point-right:before{content:""}.fa-hand-point-up:before{content:""}.fa-hand-pointer:before{content:""}.fa-hand-scissors:before{content:""}.fa-hand-sparkles:before{content:""}.fa-hand-spock:before{content:""}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:""}.fa-hands-bubbles:before,.fa-hands-wash:before{content:""}.fa-hands-clapping:before{content:""}.fa-hands-holding:before{content:""}.fa-hands-praying:before,.fa-praying-hands:before{content:""}.fa-handshake:before{content:""}.fa-hands-helping:before,.fa-handshake-angle:before{content:""}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:""}.fa-handshake-slash:before{content:""}.fa-hanukiah:before{content:""}.fa-hard-drive:before,.fa-hdd:before{content:""}.fa-hashtag:before{content:"#"}.fa-hat-cowboy:before{content:""}.fa-hat-cowboy-side:before{content:""}.fa-hat-wizard:before{content:""}.fa-head-side-cough:before{content:""}.fa-head-side-cough-slash:before{content:""}.fa-head-side-mask:before{content:""}.fa-head-side-virus:before{content:""}.fa-header:before,.fa-heading:before{content:""}.fa-headphones:before{content:""}.fa-headphones-alt:before,.fa-headphones-simple:before{content:""}.fa-headset:before{content:""}.fa-heart:before{content:""}.fa-heart-broken:before,.fa-heart-crack:before{content:""}.fa-heart-pulse:before,.fa-heartbeat:before{content:""}.fa-helicopter:before{content:""}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:""}.fa-highlighter:before{content:""}.fa-hippo:before{content:""}.fa-hockey-puck:before{content:""}.fa-holly-berry:before{content:""}.fa-horse:before{content:""}.fa-horse-head:before{content:""}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:""}.fa-hospital-user:before{content:""}.fa-hot-tub-person:before,.fa-hot-tub:before{content:""}.fa-hotdog:before{content:""}.fa-hotel:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before,.fa-hourglass:before{content:""}.fa-hourglass-empty:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:""}.fa-home-lg:before,.fa-house-chimney:before{content:""}.fa-house-chimney-crack:before,.fa-house-damage:before{content:""}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:""}.fa-house-chimney-user:before{content:""}.fa-house-chimney-window:before{content:""}.fa-house-crack:before{content:""}.fa-house-laptop:before,.fa-laptop-house:before{content:""}.fa-house-medical:before{content:""}.fa-home-user:before,.fa-house-user:before{content:""}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:""}.fa-i:before{content:"I"}.fa-i-cursor:before{content:""}.fa-ice-cream:before{content:""}.fa-icicles:before{content:""}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-id-card-alt:before,.fa-id-card-clip:before{content:""}.fa-igloo:before{content:""}.fa-image:before{content:""}.fa-image-portrait:before,.fa-portrait:before{content:""}.fa-images:before{content:""}.fa-inbox:before{content:""}.fa-indent:before{content:""}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:""}.fa-industry:before{content:""}.fa-infinity:before{content:""}.fa-info:before{content:""}.fa-italic:before{content:""}.fa-j:before{content:"J"}.fa-jedi:before{content:""}.fa-fighter-jet:before,.fa-jet-fighter:before{content:""}.fa-joint:before{content:""}.fa-k:before{content:"K"}.fa-kaaba:before{content:""}.fa-key:before{content:""}.fa-keyboard:before{content:""}.fa-khanda:before{content:""}.fa-kip-sign:before{content:""}.fa-first-aid:before,.fa-kit-medical:before{content:""}.fa-kiwi-bird:before{content:""}.fa-l:before{content:"L"}.fa-landmark:before{content:""}.fa-language:before{content:""}.fa-laptop:before{content:""}.fa-laptop-code:before{content:""}.fa-laptop-medical:before{content:""}.fa-lari-sign:before{content:""}.fa-layer-group:before{content:""}.fa-leaf:before{content:""}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:""}.fa-arrows-alt-h:before,.fa-left-right:before{content:""}.fa-lemon:before{content:""}.fa-less-than:before{content:"<"}.fa-less-than-equal:before{content:""}.fa-life-ring:before{content:""}.fa-lightbulb:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:""}.fa-lira-sign:before{content:""}.fa-list-squares:before,.fa-list:before{content:""}.fa-list-check:before,.fa-tasks:before{content:""}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:""}.fa-list-dots:before,.fa-list-ul:before{content:""}.fa-litecoin-sign:before{content:""}.fa-location-arrow:before{content:""}.fa-location-crosshairs:before,.fa-location:before{content:""}.fa-location-dot:before,.fa-map-marker-alt:before{content:""}.fa-location-pin:before,.fa-map-marker:before{content:""}.fa-lock:before{content:""}.fa-lock-open:before{content:""}.fa-lungs:before{content:""}.fa-lungs-virus:before{content:""}.fa-m:before{content:"M"}.fa-magnet:before{content:""}.fa-magnifying-glass:before,.fa-search:before{content:""}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:""}.fa-magnifying-glass-location:before,.fa-search-location:before{content:""}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:""}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:""}.fa-manat-sign:before{content:""}.fa-map:before{content:""}.fa-map-location:before,.fa-map-marked:before{content:""}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:""}.fa-map-pin:before{content:""}.fa-marker:before{content:""}.fa-mars:before{content:""}.fa-mars-and-venus:before{content:""}.fa-mars-double:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:""}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:""}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:""}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:""}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:""}.fa-mask:before{content:""}.fa-mask-face:before{content:""}.fa-masks-theater:before,.fa-theater-masks:before{content:""}.fa-expand-arrows-alt:before,.fa-maximize:before{content:""}.fa-medal:before{content:""}.fa-memory:before{content:""}.fa-menorah:before{content:""}.fa-mercury:before{content:""}.fa-comment-alt:before,.fa-message:before{content:""}.fa-meteor:before{content:""}.fa-microchip:before{content:""}.fa-microphone:before{content:""}.fa-microphone-alt:before,.fa-microphone-lines:before{content:""}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:""}.fa-microphone-slash:before{content:""}.fa-microscope:before{content:""}.fa-mill-sign:before{content:""}.fa-compress-arrows-alt:before,.fa-minimize:before{content:""}.fa-minus:before,.fa-subtract:before{content:""}.fa-mitten:before{content:""}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-mobile-button:before{content:""}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:""}.fa-money-bill:before{content:""}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:""}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:""}.fa-money-bill-wave:before{content:""}.fa-money-check:before{content:""}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:""}.fa-monument:before{content:""}.fa-moon:before{content:""}.fa-mortar-pestle:before{content:""}.fa-mosque:before{content:""}.fa-motorcycle:before{content:""}.fa-mountain:before{content:""}.fa-mug-hot:before{content:""}.fa-coffee:before,.fa-mug-saucer:before{content:""}.fa-music:before{content:""}.fa-n:before{content:"N"}.fa-naira-sign:before{content:""}.fa-network-wired:before{content:""}.fa-neuter:before{content:""}.fa-newspaper:before{content:""}.fa-not-equal:before{content:""}.fa-note-sticky:before,.fa-sticky-note:before{content:""}.fa-notes-medical:before{content:""}.fa-o:before{content:"O"}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-oil-can:before{content:""}.fa-om:before{content:""}.fa-otter:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-p:before{content:"P"}.fa-pager:before{content:""}.fa-paint-roller:before{content:""}.fa-paint-brush:before,.fa-paintbrush:before{content:""}.fa-palette:before{content:""}.fa-pallet:before{content:""}.fa-panorama:before{content:""}.fa-paper-plane:before{content:""}.fa-paperclip:before{content:""}.fa-parachute-box:before{content:""}.fa-paragraph:before{content:""}.fa-passport:before{content:""}.fa-file-clipboard:before,.fa-paste:before{content:""}.fa-pause:before{content:""}.fa-paw:before{content:""}.fa-peace:before{content:""}.fa-pen:before{content:""}.fa-pen-alt:before,.fa-pen-clip:before{content:""}.fa-pen-fancy:before{content:""}.fa-pen-nib:before{content:""}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:""}.fa-edit:before,.fa-pen-to-square:before{content:""}.fa-pencil-alt:before,.fa-pencil:before{content:""}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:""}.fa-people-carry-box:before,.fa-people-carry:before{content:""}.fa-pepper-hot:before{content:""}.fa-percent:before,.fa-percentage:before{content:"%"}.fa-male:before,.fa-person:before{content:""}.fa-biking:before,.fa-person-biking:before{content:""}.fa-person-booth:before{content:""}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:""}.fa-female:before,.fa-person-dress:before{content:""}.fa-hiking:before,.fa-person-hiking:before{content:""}.fa-person-praying:before,.fa-pray:before{content:""}.fa-person-running:before,.fa-running:before{content:""}.fa-person-skating:before,.fa-skating:before{content:""}.fa-person-skiing:before,.fa-skiing:before{content:""}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:""}.fa-person-snowboarding:before,.fa-snowboarding:before{content:""}.fa-person-swimming:before,.fa-swimmer:before{content:""}.fa-person-walking:before,.fa-walking:before{content:""}.fa-blind:before,.fa-person-walking-with-cane:before{content:""}.fa-peseta-sign:before{content:""}.fa-peso-sign:before{content:""}.fa-phone:before{content:""}.fa-phone-alt:before,.fa-phone-flip:before{content:""}.fa-phone-slash:before{content:""}.fa-phone-volume:before,.fa-volume-control-phone:before{content:""}.fa-photo-film:before,.fa-photo-video:before{content:""}.fa-piggy-bank:before{content:""}.fa-pills:before{content:""}.fa-pizza-slice:before{content:""}.fa-place-of-worship:before{content:""}.fa-plane:before{content:""}.fa-plane-arrival:before{content:""}.fa-plane-departure:before{content:""}.fa-plane-slash:before{content:""}.fa-play:before{content:""}.fa-plug:before{content:""}.fa-add:before,.fa-plus:before{content:"+"}.fa-plus-minus:before{content:""}.fa-podcast:before{content:""}.fa-poo:before{content:""}.fa-poo-bolt:before,.fa-poo-storm:before{content:""}.fa-poop:before{content:""}.fa-power-off:before{content:""}.fa-prescription:before{content:""}.fa-prescription-bottle:before{content:""}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:""}.fa-print:before{content:""}.fa-pump-medical:before{content:""}.fa-pump-soap:before{content:""}.fa-puzzle-piece:before{content:""}.fa-q:before{content:"Q"}.fa-qrcode:before{content:""}.fa-question:before{content:"?"}.fa-quote-left-alt:before,.fa-quote-left:before{content:""}.fa-quote-right-alt:before,.fa-quote-right:before{content:""}.fa-r:before{content:"R"}.fa-radiation:before{content:""}.fa-rainbow:before{content:""}.fa-receipt:before{content:""}.fa-record-vinyl:before{content:""}.fa-ad:before,.fa-rectangle-ad:before{content:""}.fa-list-alt:before,.fa-rectangle-list:before{content:""}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-recycle:before{content:""}.fa-registered:before{content:""}.fa-repeat:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-republican:before{content:""}.fa-restroom:before{content:""}.fa-retweet:before{content:""}.fa-ribbon:before{content:""}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:""}.fa-exchange-alt:before,.fa-right-left:before{content:""}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:""}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:""}.fa-ring:before{content:""}.fa-road:before{content:""}.fa-robot:before{content:""}.fa-rocket:before{content:""}.fa-rotate:before,.fa-sync-alt:before{content:""}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:""}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:""}.fa-route:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:""}.fa-ruler:before{content:""}.fa-ruler-combined:before{content:""}.fa-ruler-horizontal:before{content:""}.fa-ruler-vertical:before{content:""}.fa-rupee-sign:before,.fa-rupee:before{content:""}.fa-rupiah-sign:before{content:""}.fa-s:before{content:"S"}.fa-sailboat:before{content:""}.fa-satellite:before{content:""}.fa-satellite-dish:before{content:""}.fa-balance-scale:before,.fa-scale-balanced:before{content:""}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:""}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:""}.fa-school:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-screwdriver:before{content:""}.fa-screwdriver-wrench:before,.fa-tools:before{content:""}.fa-scroll:before{content:""}.fa-scroll-torah:before,.fa-torah:before{content:""}.fa-sd-card:before{content:""}.fa-section:before{content:""}.fa-seedling:before,.fa-sprout:before{content:""}.fa-server:before{content:""}.fa-shapes:before,.fa-triangle-circle-square:before{content:""}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:""}.fa-share-from-square:before,.fa-share-square:before{content:""}.fa-share-alt:before,.fa-share-nodes:before{content:""}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:""}.fa-shield:before{content:""}.fa-shield-alt:before,.fa-shield-blank:before{content:""}.fa-shield-virus:before{content:""}.fa-ship:before{content:""}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:""}.fa-shoe-prints:before{content:""}.fa-shop:before,.fa-store-alt:before{content:""}.fa-shop-slash:before,.fa-store-alt-slash:before{content:""}.fa-shower:before{content:""}.fa-shrimp:before{content:""}.fa-random:before,.fa-shuffle:before{content:""}.fa-shuttle-space:before,.fa-space-shuttle:before{content:""}.fa-sign-hanging:before,.fa-sign:before{content:""}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:""}.fa-signature:before{content:""}.fa-map-signs:before,.fa-signs-post:before{content:""}.fa-sim-card:before{content:""}.fa-sink:before{content:""}.fa-sitemap:before{content:""}.fa-skull:before{content:""}.fa-skull-crossbones:before{content:""}.fa-slash:before{content:""}.fa-sleigh:before{content:""}.fa-sliders-h:before,.fa-sliders:before{content:""}.fa-smog:before{content:""}.fa-smoking:before{content:""}.fa-snowflake:before{content:""}.fa-snowman:before{content:""}.fa-snowplow:before{content:""}.fa-soap:before{content:""}.fa-socks:before{content:""}.fa-solar-panel:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-spa:before{content:""}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:""}.fa-spell-check:before{content:""}.fa-spider:before{content:""}.fa-spinner:before{content:""}.fa-splotch:before{content:""}.fa-spoon:before,.fa-utensil-spoon:before{content:""}.fa-spray-can:before{content:""}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:""}.fa-square:before{content:""}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:""}.fa-caret-square-down:before,.fa-square-caret-down:before{content:""}.fa-caret-square-left:before,.fa-square-caret-left:before{content:""}.fa-caret-square-right:before,.fa-square-caret-right:before{content:""}.fa-caret-square-up:before,.fa-square-caret-up:before{content:""}.fa-check-square:before,.fa-square-check:before{content:""}.fa-envelope-square:before,.fa-square-envelope:before{content:""}.fa-square-full:before{content:""}.fa-h-square:before,.fa-square-h:before{content:""}.fa-minus-square:before,.fa-square-minus:before{content:""}.fa-parking:before,.fa-square-parking:before{content:""}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:""}.fa-phone-square:before,.fa-square-phone:before{content:""}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:""}.fa-plus-square:before,.fa-square-plus:before{content:""}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:""}.fa-poll:before,.fa-square-poll-vertical:before{content:""}.fa-square-root-alt:before,.fa-square-root-variable:before{content:""}.fa-rss-square:before,.fa-square-rss:before{content:""}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:""}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:""}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:""}.fa-stairs:before{content:""}.fa-stamp:before{content:""}.fa-star:before{content:""}.fa-star-and-crescent:before{content:""}.fa-star-half:before{content:""}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:""}.fa-star-of-david:before{content:""}.fa-star-of-life:before{content:""}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:""}.fa-stethoscope:before{content:""}.fa-stop:before{content:""}.fa-stopwatch:before{content:""}.fa-stopwatch-20:before{content:""}.fa-store:before{content:""}.fa-store-slash:before{content:""}.fa-street-view:before{content:""}.fa-strikethrough:before{content:""}.fa-stroopwafel:before{content:""}.fa-subscript:before{content:""}.fa-suitcase:before{content:""}.fa-medkit:before,.fa-suitcase-medical:before{content:""}.fa-suitcase-rolling:before{content:""}.fa-sun:before{content:""}.fa-superscript:before{content:""}.fa-swatchbook:before{content:""}.fa-synagogue:before{content:""}.fa-syringe:before{content:""}.fa-t:before{content:"T"}.fa-table:before{content:""}.fa-table-cells:before,.fa-th:before{content:""}.fa-table-cells-large:before,.fa-th-large:before{content:""}.fa-columns:before,.fa-table-columns:before{content:""}.fa-table-list:before,.fa-th-list:before{content:""}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:""}.fa-tablet-android:before,.fa-tablet:before{content:""}.fa-tablet-button:before{content:""}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:""}.fa-tablets:before{content:""}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-tape:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-teeth:before{content:""}.fa-teeth-open:before{content:""}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:""}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-temperature-high:before{content:""}.fa-temperature-low:before{content:""}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-tenge-sign:before,.fa-tenge:before{content:""}.fa-terminal:before{content:""}.fa-text-height:before{content:""}.fa-remove-format:before,.fa-text-slash:before{content:""}.fa-text-width:before{content:""}.fa-thermometer:before{content:""}.fa-thumbs-down:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumb-tack:before,.fa-thumbtack:before{content:""}.fa-ticket:before{content:""}.fa-ticket-alt:before,.fa-ticket-simple:before{content:""}.fa-timeline:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-toilet:before{content:""}.fa-toilet-paper:before{content:""}.fa-toilet-paper-slash:before{content:""}.fa-toolbox:before{content:""}.fa-tooth:before{content:""}.fa-torii-gate:before{content:""}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:""}.fa-tractor:before{content:""}.fa-trademark:before{content:""}.fa-traffic-light:before{content:""}.fa-trailer:before{content:""}.fa-train:before{content:""}.fa-subway:before,.fa-train-subway:before{content:""}.fa-train-tram:before,.fa-tram:before{content:""}.fa-transgender-alt:before,.fa-transgender:before{content:""}.fa-trash:before{content:""}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:""}.fa-trash-alt:before,.fa-trash-can:before{content:""}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:""}.fa-tree:before{content:""}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:""}.fa-trophy:before{content:""}.fa-truck:before{content:""}.fa-shipping-fast:before,.fa-truck-fast:before{content:""}.fa-ambulance:before,.fa-truck-medical:before{content:""}.fa-truck-monster:before{content:""}.fa-truck-moving:before{content:""}.fa-truck-pickup:before{content:""}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:""}.fa-teletype:before,.fa-tty:before{content:""}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:""}.fa-level-down-alt:before,.fa-turn-down:before{content:""}.fa-level-up-alt:before,.fa-turn-up:before{content:""}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:""}.fa-u:before{content:"U"}.fa-umbrella:before{content:""}.fa-umbrella-beach:before{content:""}.fa-underline:before{content:""}.fa-universal-access:before{content:""}.fa-unlock:before{content:""}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:""}.fa-arrows-alt-v:before,.fa-up-down:before{content:""}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:""}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:""}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:""}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:""}.fa-upload:before{content:""}.fa-user:before{content:""}.fa-user-astronaut:before{content:""}.fa-user-check:before{content:""}.fa-user-clock:before{content:""}.fa-user-doctor:before,.fa-user-md:before{content:""}.fa-user-cog:before,.fa-user-gear:before{content:""}.fa-user-graduate:before{content:""}.fa-user-friends:before,.fa-user-group:before{content:""}.fa-user-injured:before{content:""}.fa-user-alt:before,.fa-user-large:before{content:""}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:""}.fa-user-lock:before{content:""}.fa-user-minus:before{content:""}.fa-user-ninja:before{content:""}.fa-user-nurse:before{content:""}.fa-user-edit:before,.fa-user-pen:before{content:""}.fa-user-plus:before{content:""}.fa-user-secret:before{content:""}.fa-user-shield:before{content:""}.fa-user-slash:before{content:""}.fa-user-tag:before{content:""}.fa-user-tie:before{content:""}.fa-user-times:before,.fa-user-xmark:before{content:""}.fa-users:before{content:""}.fa-users-cog:before,.fa-users-gear:before{content:""}.fa-users-slash:before{content:""}.fa-cutlery:before,.fa-utensils:before{content:""}.fa-v:before{content:"V"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:""}.fa-vault:before{content:""}.fa-vector-square:before{content:""}.fa-venus:before{content:""}.fa-venus-double:before{content:""}.fa-venus-mars:before{content:""}.fa-vest:before{content:""}.fa-vest-patches:before{content:""}.fa-vial:before{content:""}.fa-vials:before{content:""}.fa-video-camera:before,.fa-video:before{content:""}.fa-video-slash:before{content:""}.fa-vihara:before{content:""}.fa-virus:before{content:""}.fa-virus-covid:before{content:""}.fa-virus-covid-slash:before{content:""}.fa-virus-slash:before{content:""}.fa-viruses:before{content:""}.fa-voicemail:before{content:""}.fa-volleyball-ball:before,.fa-volleyball:before{content:""}.fa-volume-high:before,.fa-volume-up:before{content:""}.fa-volume-down:before,.fa-volume-low:before{content:""}.fa-volume-off:before{content:""}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:""}.fa-vr-cardboard:before{content:""}.fa-w:before{content:"W"}.fa-wallet:before{content:""}.fa-magic:before,.fa-wand-magic:before{content:""}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:""}.fa-wand-sparkles:before{content:""}.fa-warehouse:before{content:""}.fa-water:before{content:""}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:""}.fa-wave-square:before{content:""}.fa-weight-hanging:before{content:""}.fa-weight-scale:before,.fa-weight:before{content:""}.fa-wheelchair:before{content:""}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:""}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:""}.fa-wind:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-wine-bottle:before{content:""}.fa-wine-glass:before{content:""}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:""}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:""}.fa-wrench:before{content:""}.fa-x:before{content:"X"}.fa-x-ray:before{content:""}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:""}.fa-y:before{content:"Y"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:""}.fa-yin-yang:before{content:""}.fa-z:before{content:"Z"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}/*! +@charset "UTF-8";.form-select[data-v-98690e5d]{background-color:var(--color-input);border:1;border-color:var(--color-bg);color:var(--color-bg);text-align:start;font-size:var(--font-small)}.commitbutton[data-v-98690e5d]{background-color:var(--color-bg);color:var(--color-input)}option[data-v-98690e5d]{color:green}.form-select[data-v-98690e5d]{font-size:var(--font-verysmall);background-color:var(--color-menu);color:var(--color-fg)}.optiontable[data-v-98690e5d]{background-color:var(--color-menu)}.optionbutton[data-v-98690e5d]{font-size:var(--font-small);color:#fff;background-color:var(--color-menu);font-size:var(--font-verysmall);text-align:center}.dropdown-menu[data-v-98690e5d]{background-color:var(--color-menu)}.dropdown-toggle[data-v-98690e5d]{background-color:var(--color-menu);color:#fff;border:1px solid var(--color-bg);font-size:var(--font-verysmall)}.radiobutton[data-v-82ab6829]{border:0px solid var(--color-menu);opacity:1}.btn-outline-secondary.active[data-v-82ab6829]{background-color:var(--color-bg);border:0px solid var(--color-fg);opacity:.8}.btn-group[data-v-82ab6829]{border:1px solid var(--color-menu)}.rounded-pill[data-v-d75ec1a4]{background-color:var(--color-menu)}.arrowButton[data-v-d75ec1a4]{border:0}.datebadge[data-v-d75ec1a4]{background-color:var(--color-bg);color:var(--color-menu);border:1px solid var(--color-menu);font-size:var(--font-small);font-weight:400}.arrowButton[data-v-d75ec1a4],.fa-magnifying-glass[data-v-47f3d429]{color:var(--color-menu)}.dateWbBadge[data-v-47f3d429]{background-color:var(--color-menu);color:var(--color-bg);font-size:var(--font-medium);font-weight:400}.waitsign[data-v-47f3d429]{text-align:center;font-size:var(--font-medium);color:var(--color-fg);border:1px solid var(--color-bg);padding:2em;margin:4em 2em 2em;background-color:var(--color-bg)}.fa-magnifying-glass[data-v-32c82102],.fa-magnifying-glass[data-v-63a4748e]{color:var(--color-menu)}.heading[data-v-f6af00e8]{color:var(--color-menu);font-weight:400;text-align:center}.content[data-v-f6af00e8]{color:var(--color-fg);font-weight:700}@supports (grid-template-columns: subgrid){.wb-subwidget[data-v-2aa2b95f]{border-top:.5px solid var(--color-scale);display:grid;grid-template-columns:subgrid;grid-column:1 / 13}.wb-subwidget-noborder[data-v-2aa2b95f]{margin-top:20px;display:grid;grid-template-columns:subgrid;grid-column:1 / 13;padding-top:10px}}@supports not (grid-template-columns: subgrid){.wb-subwidget[data-v-2aa2b95f]{border-top:.5px solid var(--color-scale);display:grid;grid-template-columns:repeat(12,auto);grid-column:1 / 13}.wb-subwidget-noborder[data-v-2aa2b95f]{margin-top:20px;display:grid;grid-template-columns:subgrid;grid-column:1 / 13}}.titlerow[data-v-2aa2b95f]{grid-column:1 / 13}@supports (grid-template-columns: subgrid){.contentrow[data-v-2aa2b95f]{display:grid;grid-template-columns:subgrid;grid-column:1 / 13;align-items:top}}@supports not (grid-template-columns: subgrid){.contentrow[data-v-2aa2b95f]{display:grid;align-items:top;grid-template-columns:repeat(12,auto)}}.widgetname[data-v-2aa2b95f]{font-weight:700;font-size:var(--font-large)}.infotext[data-v-25ab3fbb]{font-size:var(--font-settings);color:var(--color-battery)}.item-icon[data-v-25ab3fbb]{color:var(--color-menu);font-size:var(--font-settings)}.titlecolumn[data-v-25ab3fbb]{color:var(--color-fg);font-size:var(--font-settings);flex-grow:1}.selectors[data-v-25ab3fbb]{font-size:var(--font-settings)}.configitem[data-v-25ab3fbb]{font-size:var(--font-settings);display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;height:100%;width:100%}.contentrow[data-v-25ab3fbb]{display:flex;height:100%;width:100%}.minlabel[data-v-af945965],.maxlabel[data-v-af945965]{color:var(--color-menu)}.valuelabel[data-v-af945965]{color:var(--color-fg)}.minusButton[data-v-af945965],.plusButton[data-v-af945965]{color:var(--color-menu)}.rangeIndicator[data-v-af945965]{margin:0;padding:0;line-height:10px}.rangeinput[data-v-af945965]{width:100%}.radiobutton[data-v-88c9ea7a]{border:.2px solid var(--color-menu);opacity:1;font-size:var(--font-settings-button);border-radius:0}.btn-outline-secondary.active[data-v-88c9ea7a]{background-color:var(--color-fg);border:1px solid var(--color-menu);box-shadow:0 .5rem 1rem #00000026;opacity:1}.buttongrid[data-v-88c9ea7a]{display:grid;border:1px solid var(--color-menu);border-radius:.5rem;justify-items:stretch;justify-self:stretch;width:100%}.chargeConfigSelect[data-v-de6b86dd]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-de6b86dd]{color:var(--color-charging);font-size:var(--font-settings);font-weight:700}.chargeConfigSelect[data-v-d7ee4d2a]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-d7ee4d2a]{color:var(--color-pv);font-size:var(--font-settings);font-weight:700}.subconfigstack[data-v-d7ee4d2a]{display:grid;grid-template-columns:repeat(2,auto);width:100%}.subconfig[data-v-d7ee4d2a]{justify-content:end;align-items:baseline;margin-left:1em;width:100%}.subconfigtitle[data-v-d7ee4d2a]{margin-right:5px}.heading[data-v-2f5cb5c1]{font-size:var(--font-settings);color:var(--color-charging);font-weight:700;margin-bottom:.5rem}.plandetails[data-v-2f5cb5c1]{display:flex;flex-direction:column}.tablecell[data-v-08df44d8]{color:var(--color-fg);background-color:var(--color-bg);text-align:center;font-size:var(--font-settings)}.tableheader[data-v-08df44d8]{color:var(--color-menu);background-color:var(--color-bg);text-align:center;font-style:normal}.heading[data-v-08df44d8]{color:var(--color-battery);font-size:var(--font-settings);font-weight:700}.left[data-v-08df44d8]{text-align:left}.text-bold[data-v-08df44d8]{font-weight:700}.text-normal[data-v-08df44d8]{font-weight:400}.fa-circle-info[data-v-08df44d8]{color:var(--color-charging);cursor:pointer}.heading[data-v-eaa44cb2]{font-size:var(--font-settings);color:var(--color-charging);font-weight:700;margin-bottom:.5rem}.plandetails[data-v-eaa44cb2]{display:flex;flex-direction:column}.tablecell[data-v-543e8ca2]{color:var(--color-fg);background-color:var(--color-bg);text-align:center;font-size:var(--font-settings)}.tableheader[data-v-543e8ca2]{color:var(--color-menu);background-color:var(--color-bg);text-align:center;font-style:normal}.heading[data-v-543e8ca2]{color:var(--color-battery);font-size:var(--font-settings);font-weight:700}.left[data-v-543e8ca2]{text-align:left}.right[data-v-543e8ca2]{text-align:right}.text-bold[data-v-543e8ca2]{font-weight:700}.text-normal[data-v-543e8ca2]{font-weight:400}.fa-circle-info[data-v-543e8ca2]{color:var(--color-charging);cursor:pointer}.color-charging[data-v-28b81885]{color:var(--color-charging)}.fa-circle-check[data-v-28b81885]{color:var(--color-menu)}.settingsheader[data-v-28b81885]{color:var(--color-charging);font-size:16px;font-weight:700}.providername[data-v-28b81885]{color:var(--color-axis);font-size:16px}.jumpbutton[data-v-28b81885]{background-color:var(--color-menu);color:var(--color-bg);border:0;font-size:var(--font-settings-button)}.confirmButton[data-v-28b81885]{font-size:var(--font-settings-button)}.chargeConfigSelect[data-v-106a9fca]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-106a9fca]{color:var(--color-devices);font-size:var(--font-settings);font-weight:700}.subconfigstack[data-v-106a9fca]{display:grid;grid-template-columns:repeat(2,auto);width:100%}.subconfig[data-v-106a9fca]{justify-content:end;align-items:baseline;margin-left:1em;width:100%}.subconfigtitle[data-v-106a9fca]{margin-right:5px}.status-string[data-v-e6ae9e07]{font-size:var(--font-normal);font-style:italic;color:var(--color-battery)}.chargeConfigSelect[data-v-e6ae9e07]{background:var(--color-bg);color:var(--color-fg)}.chargeModeOption[data-v-e6ae9e07]{background:green;color:#00f}.nav-tabs .nav-link[data-v-e6ae9e07]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-e6ae9e07]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-e6ae9e07]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:1px solid var(--color-menu);border-bottom:1px solid var(--color-menu)}.settingsheader[data-v-e6ae9e07]{color:var(--color-charging);font-size:16px;font-weight:700}hr[data-v-e6ae9e07]{color:var(--color-menu)}.status-string[data-v-cd92fe69]{font-size:var(--font-settings);font-style:italic;color:var(--color-battery)}.nav-tabs .nav-link[data-v-cd92fe69]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-cd92fe69]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-cd92fe69]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:1px solid var(--color-menu);border-bottom:0px solid var(--color-menu)}.heading[data-v-cd92fe69]{color:var(--color-menu)}.item[data-v-cd92fe69]{grid-column:span 12}.tabarea[data-v-cd92fe69]{justify-self:stretch}.wb-widget[data-v-fb6ac7a4]{width:100%;height:100%;border-radius:30px}.widgetname[data-v-fb6ac7a4]{font-weight:700;color:var(--color-fg);font-size:var(--font-large)}.batIcon[data-v-a68c844a]{color:var(--color-menu)}.pillWbBadge[data-v-36112fa3]{font-size:(var--font-small);font-weight:regular;display:flex;justify-content:center;align-items:center}.targetCurrent[data-v-2cc82367]{color:var(--color-menu)}.fa-star[data-v-e3fcbd86]{color:var(--color-evu)}.fa-clock[data-v-e3fcbd86]{color:var(--color-charging)}.fa-car[data-v-e3fcbd86],.fa-circle-check[data-v-e3fcbd86]{color:var(--color-menu)}.socEditor[data-v-e3fcbd86],.priceEditor[data-v-e3fcbd86]{border:1px solid var(--color-menu);justify-self:stretch}.chargemodes[data-v-e3fcbd86]{grid-column:1 / 13;justify-self:center}.chargeinfo[data-v-e3fcbd86]{display:grid;grid-template-columns:repeat(12,auto);justify-content:space-between}.divider[data-v-e3fcbd86]{border-top:1px solid var(--color-fg);width:100%}.carSelector[data-v-e3fcbd86]{border:1px solid var(--color-menu);font-size:var(--font-settings);border-radius:3px;display:flex;flex-direction:column}.fa-ellipsis-vertical[data-v-95a68b6c],.fa-circle-check[data-v-95a68b6c]{color:var(--color-menu)}.errorWbBadge[data-v-95a68b6c]{color:var(--color-bg);background-color:var(--color-evu);font-size:var(--font-small)}.close-config-button[data-v-95a68b6c]{background:var(--color-menu);color:var(--color-bg);grid-column:11 / span 2;font-size:var(--font-settings-button)}@font-face{font-family:swiper-icons;src:url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA);font-weight:400;font-style:normal}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.modal-footer[data-v-eaefae30],.modal-header[data-v-eaefae30],.modal-body[data-v-eaefae30]{background:var(--color-bg)}.btn-close[data-v-eaefae30]{color:var(--color-fg)}.modal-footer[data-v-eaefae30]{text-align:right}.modal-header .btn-close[data-v-eaefae30]{color:var(--color-fg);background:var(--color-bg);border:0px}.modal.fade .modal-dialog[data-v-eaefae30]{transition:transform 1s ease-out;transform:none;scale:.6}.modal.show .modal-dialog[data-v-eaefae30]{transition:transform .3s ease-in;transform:none;scale:1}.tablerow[data-v-b01feba6]{margin:14px;border-top:.1px solid var(--color-scale)}.tablecell[data-v-b01feba6]{color:var(--color-fg);background-color:var(--color-bg);text-align:center;padding-top:2px;padding-left:2px;padding-right:2px;vertical-align:baseline;line-height:1.4rem;font-size:var(--font-small)}.buttoncell[data-v-b01feba6]{background-color:var(--color-bg);padding:0;margin:0}.left[data-v-b01feba6]{text-align:left}.tablecell.right[data-v-b01feba6]{text-align:right}.tablecolum1[data-v-b01feba6]{color:var(--color-fg);text-align:left;margin:0;padding:0}.tableicon[data-v-b01feba6]{color:var(--color-menu)}.fa-star[data-v-b01feba6]{color:var(--color-evu)}.fa-clock[data-v-b01feba6]{color:var(--color-battery)}.socEditor[data-v-b01feba6]{border:1px solid var(--color-menu);background-color:var(--color-bg)}.socEditRow td[data-v-b01feba6]{background-color:var(--color-bg)}.fa-circle-check[data-v-b01feba6]{color:var(--color-menu)}.socEditTitle[data-v-b01feba6]{color:var(--color-fg)}.statusbadge[data-v-b01feba6]{background-color:var(--color-bg);font-weight:700;font-size:var(--font-verysmall)}.modebadge[data-v-b01feba6]{color:var(--color-bg)}.cpname[data-v-b01feba6]{font-size:var(--font-small)}.fa-edit[data-v-b01feba6]{color:var(--color-menu)}.infolist[data-v-b01feba6]{justify-content:center}.tableheader[data-v-b8c6b557]{margin:0;padding-left:0;background-color:var(--color-bg);color:var(--color-menu)}.alignleft[data-v-b8c6b557]{text-align:left}.aligncenter[data-v-b8c6b557]{text-align:center}.alignright[data-v-b8c6b557]{text-align:right}.table[data-v-b8c6b557]{border-spacing:1rem;background-color:var(--color-bg)}.priceWbBadge[data-v-b8c6b557]{background-color:var(--color-menu);font-weight:400}.fa-charging-station[data-v-b8c6b557]{color:var(--color-charging)}.plugIndicator[data-v-71bb7e5f]{color:#fff;border:1px solid white}.chargeButton[data-v-71bb7e5f]{color:#fff}.left[data-v-71bb7e5f]{float:left}.right[data-v-71bb7e5f]{float:right}.center[data-v-71bb7e5f]{margin:auto}.time-display[data-v-791e4be0]{font-weight:700;color:var(--color-menu);font-size:var(--font-normal)}.battery-title[data-v-f7f825f7]{color:var(--color-battery);font-size:var(--font-medium)}.battery-color[data-v-325bd635]{color:var(--color-battery)}.fg-color[data-v-325bd635]{color:var(--color-fg)}.menu-color[data-v-325bd635],.todaystring[data-v-325bd635]{color:var(--color-menu)}.devicename[data-v-20651ac6]{font-size:var(--font-medium)}.statusbutton[data-v-20651ac6]{font-size:var(--font-extralarge)}.sh-title[data-v-5b5cf6b3]{color:var(--color-title)}.tableheader[data-v-5b5cf6b3]{background-color:var(--color-bg);color:var(--color-menu)}.fa-ellipsis-vertical[data-v-5b5cf6b3],.fa-circle-check[data-v-5b5cf6b3]{color:var(--color-menu)}.smarthome[data-v-5b5cf6b3]{color:var(--color-devices)}.idWbBadge[data-v-01dd8c4d]{background-color:var(--color-menu);font-weight:400}.countername[data-v-01dd8c4d]{font-size:var(--font-medium)}.statusbutton[data-v-5f059284]{font-size:var(--font-large)}.modebutton[data-v-5f059284]{background-color:var(--color-menu);font-size:var(--font-verysmall);font-weight:400}.tempWbBadge[data-v-5f059284]{background-color:var(--color-battery);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.idWbBadge[data-v-9e2cb63e]{background-color:var(--color-menu);font-weight:400}.status-string[data-v-9e2cb63e]{text-align:center}.vehiclename[data-v-9e2cb63e]{font-size:var(--font-medium)}.statusbutton[data-v-716be083]{font-size:var(--font-large)}.modebutton[data-v-716be083]{background-color:var(--color-menu);font-size:var(--font-verysmall);font-weight:400}.tempWbBadge[data-v-716be083]{background-color:var(--color-battery);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.priceWbBadge[data-v-578b98b5]{background-color:var(--color-charging);font-weight:400}.providerWbBadge[data-v-578b98b5]{background-color:var(--color-menu);font-weight:400}.grapharea[data-v-578b98b5]{grid-column-start:1;grid-column-end:13;width:100%;object-fit:cover;max-height:100%;justify-items:stretch}.pricefigure[data-v-578b98b5]{justify-self:stretch}.modeWbBadge[data-v-258d8f17]{background-color:var(--color-pv);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.invertername[data-v-258d8f17]{font-size:var(--font-medium)}.powerWbBadge[data-v-b7a71f81]{background-color:var(--color-pv);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.button[data-v-17424929]{color:var(--color-fg)}.name[data-v-df7e578a]{font-size:1rem;color:#000;border:1px solid white}.content[data-v-df7e578a]{grid-column:1 / -1;border:solid 1px black;border-radius:10px}.sublist[data-v-df7e578a]{grid-column:1 / -1;display:grid;grid-template-columns:subgrid}.mqviewer[data-v-a349646d]{background-color:#fff;color:#000}.topiclist[data-v-a349646d]{display:grid;grid-template-columns:repeat(40,1fr)}.topnode[data-v-a349646d]{grid-column-start:1;grid-column-end:-1}.mqtitle[data-v-a349646d]{color:#000}.form-select[data-v-5e33ce1f]{background-color:var(--color-input);color:#000;border:1px solid var(--color-bg);font-size:var(--font-settings)}.fa-circle-check[data-v-785bc80b]{font-size:var(--font-large);background-color:var(--color-bg);color:var(--color-menu)}.closebutton[data-v-785bc80b]{justify-self:end}.settingscolumn[data-v-785bc80b]{padding:20px}.nav-tabs[data-v-0542a138]{border-bottom:.5px solid var(--color-menu);background-color:var(--color-bg)}.nav-tabs .nav-link[data-v-0542a138]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-0542a138]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-0542a138]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:.5px solid var(--color-menu);border-bottom:0px solid var(--color-menu);box-shadow:0 .5rem 1rem #00000026}.fa-circle-info[data-v-0542a138]{color:var(--color-fg)}.fa-charging-station[data-v-0542a138]{color:var(--color-charging)}.fa-car-battery[data-v-0542a138]{color:var(--color-battery)}.fa-plug[data-v-0542a138]{color:var(--color-devices)}.fa-bolt[data-v-0542a138]{color:var(--color-evu)}.fa-car[data-v-0542a138]{color:var(--color-charging)}.fa-coins[data-v-0542a138]{color:var(--color-battery)}.fa-solar-panel[data-v-0542a138]{color:var(--color-pv)}.navbar[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.dropdown-menu[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg)}.dropdown-item[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.btn[data-v-ed619966]{font-size:var(--font-medium);background-color:var(--color-bg);color:var(--color-fg)}.navbar-brand[data-v-ed619966]{font-weight:700;color:var(--color-fg);font-size:var(--font-normal)}.nav-link[data-v-ed619966]{color:var(--color-fg);border-color:red;font-size:var(--font-normal)}.navbar-toggler[data-v-ed619966]{color:var(--color-fg);border-color:var(--color-bg)}.navbar-time[data-v-ed619966]{font-weight:700;color:var(--color-menu);font-size:var(--font-normal)}.fa{font-family:var(--fa-style-family, "Font Awesome 6 Free");font-weight:var(--fa-style, 900)}.fa,.fa-brands,.fa-duotone,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display, inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin, 2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em) * -1);position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius, .1em);border:var(--fa-border-width, .08em) var(--fa-border-style, solid) var(--fa-border-color, #eee);padding:var(--fa-border-padding, .2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin, .3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin, .3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) )}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration, 2s);animation-duration:var(--fa-animation-duration, 2s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, steps(8));animation-timing-function:var(--fa-animation-timing, steps(8))}@media (prefers-reduced-motion: reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle, none));transform:rotate(var(--fa-rotate-angle, none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index, auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse, #fff)}.fa-0:before{content:"0"}.fa-1:before{content:"1"}.fa-2:before{content:"2"}.fa-3:before{content:"3"}.fa-4:before{content:"4"}.fa-5:before{content:"5"}.fa-6:before{content:"6"}.fa-7:before{content:"7"}.fa-8:before{content:"8"}.fa-9:before{content:"9"}.fa-a:before{content:"A"}.fa-address-book:before,.fa-contact-book:before{content:""}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:""}.fa-align-center:before{content:""}.fa-align-justify:before{content:""}.fa-align-left:before{content:""}.fa-align-right:before{content:""}.fa-anchor:before{content:""}.fa-angle-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-double-down:before,.fa-angles-down:before{content:""}.fa-angle-double-left:before,.fa-angles-left:before{content:""}.fa-angle-double-right:before,.fa-angles-right:before{content:""}.fa-angle-double-up:before,.fa-angles-up:before{content:""}.fa-ankh:before{content:""}.fa-apple-alt:before,.fa-apple-whole:before{content:""}.fa-archway:before{content:""}.fa-arrow-down:before{content:""}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:""}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:""}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:""}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:""}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:""}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:""}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:""}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:""}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:""}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:""}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:""}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:""}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:""}.fa-arrow-trend-down:before{content:""}.fa-arrow-trend-up:before{content:""}.fa-arrow-turn-down:before,.fa-level-down:before{content:""}.fa-arrow-turn-up:before,.fa-level-up:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:""}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:""}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:""}.fa-arrow-up-from-bracket:before{content:""}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:""}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:""}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:""}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:""}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:""}.fa-arrows-h:before,.fa-arrows-left-right:before{content:""}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:""}.fa-arrows-up-down:before,.fa-arrows-v:before{content:""}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:""}.fa-asterisk:before{content:"*"}.fa-at:before{content:"@"}.fa-atom:before{content:""}.fa-audio-description:before{content:""}.fa-austral-sign:before{content:""}.fa-award:before{content:""}.fa-b:before{content:"B"}.fa-baby:before{content:""}.fa-baby-carriage:before,.fa-carriage-baby:before{content:""}.fa-backward:before{content:""}.fa-backward-fast:before,.fa-fast-backward:before{content:""}.fa-backward-step:before,.fa-step-backward:before{content:""}.fa-bacon:before{content:""}.fa-bacteria:before{content:""}.fa-bacterium:before{content:""}.fa-bag-shopping:before,.fa-shopping-bag:before{content:""}.fa-bahai:before{content:""}.fa-baht-sign:before{content:""}.fa-ban:before,.fa-cancel:before{content:""}.fa-ban-smoking:before,.fa-smoking-ban:before{content:""}.fa-band-aid:before,.fa-bandage:before{content:""}.fa-barcode:before{content:""}.fa-bars:before,.fa-navicon:before{content:""}.fa-bars-progress:before,.fa-tasks-alt:before{content:""}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:""}.fa-baseball-ball:before,.fa-baseball:before{content:""}.fa-baseball-bat-ball:before{content:""}.fa-basket-shopping:before,.fa-shopping-basket:before{content:""}.fa-basketball-ball:before,.fa-basketball:before{content:""}.fa-bath:before,.fa-bathtub:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-half:before{content:""}.fa-battery-2:before,.fa-battery-quarter:before{content:""}.fa-battery-4:before,.fa-battery-three-quarters:before{content:""}.fa-bed:before{content:""}.fa-bed-pulse:before,.fa-procedures:before{content:""}.fa-beer-mug-empty:before,.fa-beer:before{content:""}.fa-bell:before{content:""}.fa-bell-concierge:before,.fa-concierge-bell:before{content:""}.fa-bell-slash:before{content:""}.fa-bezier-curve:before{content:""}.fa-bicycle:before{content:""}.fa-binoculars:before{content:""}.fa-biohazard:before{content:""}.fa-bitcoin-sign:before{content:""}.fa-blender:before{content:""}.fa-blender-phone:before{content:""}.fa-blog:before{content:""}.fa-bold:before{content:""}.fa-bolt:before,.fa-zap:before{content:""}.fa-bolt-lightning:before{content:""}.fa-bomb:before{content:""}.fa-bone:before{content:""}.fa-bong:before{content:""}.fa-book:before{content:""}.fa-atlas:before,.fa-book-atlas:before{content:""}.fa-bible:before,.fa-book-bible:before{content:""}.fa-book-journal-whills:before,.fa-journal-whills:before{content:""}.fa-book-medical:before{content:""}.fa-book-open:before{content:""}.fa-book-open-reader:before,.fa-book-reader:before{content:""}.fa-book-quran:before,.fa-quran:before{content:""}.fa-book-dead:before,.fa-book-skull:before{content:""}.fa-bookmark:before{content:""}.fa-border-all:before{content:""}.fa-border-none:before{content:""}.fa-border-style:before,.fa-border-top-left:before{content:""}.fa-bowling-ball:before{content:""}.fa-box:before{content:""}.fa-archive:before,.fa-box-archive:before{content:""}.fa-box-open:before{content:""}.fa-box-tissue:before{content:""}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:""}.fa-braille:before{content:""}.fa-brain:before{content:""}.fa-brazilian-real-sign:before{content:""}.fa-bread-slice:before{content:""}.fa-briefcase:before{content:""}.fa-briefcase-medical:before{content:""}.fa-broom:before{content:""}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:""}.fa-brush:before{content:""}.fa-bug:before{content:""}.fa-bug-slash:before{content:""}.fa-building:before{content:""}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:""}.fa-bullhorn:before{content:""}.fa-bullseye:before{content:""}.fa-burger:before,.fa-hamburger:before{content:""}.fa-bus:before{content:""}.fa-bus-alt:before,.fa-bus-simple:before{content:""}.fa-briefcase-clock:before,.fa-business-time:before{content:""}.fa-c:before{content:"C"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:""}.fa-calculator:before{content:""}.fa-calendar:before{content:""}.fa-calendar-check:before{content:""}.fa-calendar-day:before{content:""}.fa-calendar-alt:before,.fa-calendar-days:before{content:""}.fa-calendar-minus:before{content:""}.fa-calendar-plus:before{content:""}.fa-calendar-week:before{content:""}.fa-calendar-times:before,.fa-calendar-xmark:before{content:""}.fa-camera-alt:before,.fa-camera:before{content:""}.fa-camera-retro:before{content:""}.fa-camera-rotate:before{content:""}.fa-campground:before{content:""}.fa-candy-cane:before{content:""}.fa-cannabis:before{content:""}.fa-capsules:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-battery-car:before,.fa-car-battery:before{content:""}.fa-car-crash:before{content:""}.fa-car-alt:before,.fa-car-rear:before{content:""}.fa-car-side:before{content:""}.fa-caravan:before{content:""}.fa-caret-down:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-caret-up:before{content:""}.fa-carrot:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:""}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-shopping:before,.fa-shopping-cart:before{content:""}.fa-cash-register:before{content:""}.fa-cat:before{content:""}.fa-cedi-sign:before{content:""}.fa-cent-sign:before{content:""}.fa-certificate:before{content:""}.fa-chair:before{content:""}.fa-blackboard:before,.fa-chalkboard:before{content:""}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:""}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:""}.fa-charging-station:before{content:""}.fa-area-chart:before,.fa-chart-area:before{content:""}.fa-bar-chart:before,.fa-chart-bar:before{content:""}.fa-chart-column:before{content:""}.fa-chart-gantt:before{content:""}.fa-chart-line:before,.fa-line-chart:before{content:""}.fa-chart-pie:before,.fa-pie-chart:before{content:""}.fa-check:before{content:""}.fa-check-double:before{content:""}.fa-check-to-slot:before,.fa-vote-yea:before{content:""}.fa-cheese:before{content:""}.fa-chess:before{content:""}.fa-chess-bishop:before{content:""}.fa-chess-board:before{content:""}.fa-chess-king:before{content:""}.fa-chess-knight:before{content:""}.fa-chess-pawn:before{content:""}.fa-chess-queen:before{content:""}.fa-chess-rook:before{content:""}.fa-chevron-down:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-chevron-up:before{content:""}.fa-child:before{content:""}.fa-church:before{content:""}.fa-circle:before{content:""}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:""}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:""}.fa-check-circle:before,.fa-circle-check:before{content:""}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:""}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:""}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:""}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:""}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:""}.fa-circle-dot:before,.fa-dot-circle:before{content:""}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:""}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:""}.fa-circle-h:before,.fa-hospital-symbol:before{content:""}.fa-adjust:before,.fa-circle-half-stroke:before{content:""}.fa-circle-info:before,.fa-info-circle:before{content:""}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:""}.fa-circle-minus:before,.fa-minus-circle:before{content:""}.fa-circle-notch:before{content:""}.fa-circle-pause:before,.fa-pause-circle:before{content:""}.fa-circle-play:before,.fa-play-circle:before{content:""}.fa-circle-plus:before,.fa-plus-circle:before{content:""}.fa-circle-question:before,.fa-question-circle:before{content:""}.fa-circle-radiation:before,.fa-radiation-alt:before{content:""}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:""}.fa-circle-stop:before,.fa-stop-circle:before{content:""}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:""}.fa-circle-user:before,.fa-user-circle:before{content:""}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:""}.fa-city:before{content:""}.fa-clapperboard:before{content:""}.fa-clipboard:before{content:""}.fa-clipboard-check:before{content:""}.fa-clipboard-list:before{content:""}.fa-clock-four:before,.fa-clock:before{content:""}.fa-clock-rotate-left:before,.fa-history:before{content:""}.fa-clone:before{content:""}.fa-closed-captioning:before{content:""}.fa-cloud:before{content:""}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:""}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:""}.fa-cloud-meatball:before{content:""}.fa-cloud-moon:before{content:""}.fa-cloud-moon-rain:before{content:""}.fa-cloud-rain:before{content:""}.fa-cloud-showers-heavy:before{content:""}.fa-cloud-sun:before{content:""}.fa-cloud-sun-rain:before{content:""}.fa-clover:before{content:""}.fa-code:before{content:""}.fa-code-branch:before{content:""}.fa-code-commit:before{content:""}.fa-code-compare:before{content:""}.fa-code-fork:before{content:""}.fa-code-merge:before{content:""}.fa-code-pull-request:before{content:""}.fa-coins:before{content:""}.fa-colon-sign:before{content:""}.fa-comment:before{content:""}.fa-comment-dollar:before{content:""}.fa-comment-dots:before,.fa-commenting:before{content:""}.fa-comment-medical:before{content:""}.fa-comment-slash:before{content:""}.fa-comment-sms:before,.fa-sms:before{content:""}.fa-comments:before{content:""}.fa-comments-dollar:before{content:""}.fa-compact-disc:before{content:""}.fa-compass:before{content:""}.fa-compass-drafting:before,.fa-drafting-compass:before{content:""}.fa-compress:before{content:""}.fa-computer-mouse:before,.fa-mouse:before{content:""}.fa-cookie:before{content:""}.fa-cookie-bite:before{content:""}.fa-copy:before{content:""}.fa-copyright:before{content:""}.fa-couch:before{content:""}.fa-credit-card-alt:before,.fa-credit-card:before{content:""}.fa-crop:before{content:""}.fa-crop-alt:before,.fa-crop-simple:before{content:""}.fa-cross:before{content:""}.fa-crosshairs:before{content:""}.fa-crow:before{content:""}.fa-crown:before{content:""}.fa-crutch:before{content:""}.fa-cruzeiro-sign:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-d:before{content:"D"}.fa-database:before{content:""}.fa-backspace:before,.fa-delete-left:before{content:""}.fa-democrat:before{content:""}.fa-desktop-alt:before,.fa-desktop:before{content:""}.fa-dharmachakra:before{content:""}.fa-diagram-next:before{content:""}.fa-diagram-predecessor:before{content:""}.fa-diagram-project:before,.fa-project-diagram:before{content:""}.fa-diagram-successor:before{content:""}.fa-diamond:before{content:""}.fa-diamond-turn-right:before,.fa-directions:before{content:""}.fa-dice:before{content:""}.fa-dice-d20:before{content:""}.fa-dice-d6:before{content:""}.fa-dice-five:before{content:""}.fa-dice-four:before{content:""}.fa-dice-one:before{content:""}.fa-dice-six:before{content:""}.fa-dice-three:before{content:""}.fa-dice-two:before{content:""}.fa-disease:before{content:""}.fa-divide:before{content:""}.fa-dna:before{content:""}.fa-dog:before{content:""}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"$"}.fa-dolly-box:before,.fa-dolly:before{content:""}.fa-dong-sign:before{content:""}.fa-door-closed:before{content:""}.fa-door-open:before{content:""}.fa-dove:before{content:""}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:""}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:""}.fa-download:before{content:""}.fa-dragon:before{content:""}.fa-draw-polygon:before{content:""}.fa-droplet:before,.fa-tint:before{content:""}.fa-droplet-slash:before,.fa-tint-slash:before{content:""}.fa-drum:before{content:""}.fa-drum-steelpan:before{content:""}.fa-drumstick-bite:before{content:""}.fa-dumbbell:before{content:""}.fa-dumpster:before{content:""}.fa-dumpster-fire:before{content:""}.fa-dungeon:before{content:""}.fa-e:before{content:"E"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:""}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:""}.fa-earth-africa:before,.fa-globe-africa:before{content:""}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:""}.fa-earth-asia:before,.fa-globe-asia:before{content:""}.fa-earth-europe:before,.fa-globe-europe:before{content:""}.fa-earth-oceania:before,.fa-globe-oceania:before{content:""}.fa-egg:before{content:""}.fa-eject:before{content:""}.fa-elevator:before{content:""}.fa-ellipsis-h:before,.fa-ellipsis:before{content:""}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:""}.fa-envelope:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-text:before{content:""}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:""}.fa-equals:before{content:"="}.fa-eraser:before{content:""}.fa-ethernet:before{content:""}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:""}.fa-exclamation:before{content:"!"}.fa-expand:before{content:""}.fa-eye:before{content:""}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:""}.fa-eye-low-vision:before,.fa-low-vision:before{content:""}.fa-eye-slash:before{content:""}.fa-f:before{content:"F"}.fa-angry:before,.fa-face-angry:before{content:""}.fa-dizzy:before,.fa-face-dizzy:before{content:""}.fa-face-flushed:before,.fa-flushed:before{content:""}.fa-face-frown:before,.fa-frown:before{content:""}.fa-face-frown-open:before,.fa-frown-open:before{content:""}.fa-face-grimace:before,.fa-grimace:before{content:""}.fa-face-grin:before,.fa-grin:before{content:""}.fa-face-grin-beam:before,.fa-grin-beam:before{content:""}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:""}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:""}.fa-face-grin-squint:before,.fa-grin-squint:before{content:""}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:""}.fa-face-grin-stars:before,.fa-grin-stars:before{content:""}.fa-face-grin-tears:before,.fa-grin-tears:before{content:""}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:""}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:""}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:""}.fa-face-grin-wide:before,.fa-grin-alt:before{content:""}.fa-face-grin-wink:before,.fa-grin-wink:before{content:""}.fa-face-kiss:before,.fa-kiss:before{content:""}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:""}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:""}.fa-face-laugh:before,.fa-laugh:before{content:""}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:""}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:""}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:""}.fa-face-meh:before,.fa-meh:before{content:""}.fa-face-meh-blank:before,.fa-meh-blank:before{content:""}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:""}.fa-face-sad-cry:before,.fa-sad-cry:before{content:""}.fa-face-sad-tear:before,.fa-sad-tear:before{content:""}.fa-face-smile:before,.fa-smile:before{content:""}.fa-face-smile-beam:before,.fa-smile-beam:before{content:""}.fa-face-smile-wink:before,.fa-smile-wink:before{content:""}.fa-face-surprise:before,.fa-surprise:before{content:""}.fa-face-tired:before,.fa-tired:before{content:""}.fa-fan:before{content:""}.fa-faucet:before{content:""}.fa-fax:before{content:""}.fa-feather:before{content:""}.fa-feather-alt:before,.fa-feather-pointed:before{content:""}.fa-file:before{content:""}.fa-file-arrow-down:before,.fa-file-download:before{content:""}.fa-file-arrow-up:before,.fa-file-upload:before{content:""}.fa-file-audio:before{content:""}.fa-file-code:before{content:""}.fa-file-contract:before{content:""}.fa-file-csv:before{content:""}.fa-file-excel:before{content:""}.fa-arrow-right-from-file:before,.fa-file-export:before{content:""}.fa-file-image:before{content:""}.fa-arrow-right-to-file:before,.fa-file-import:before{content:""}.fa-file-invoice:before{content:""}.fa-file-invoice-dollar:before{content:""}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:""}.fa-file-medical:before{content:""}.fa-file-pdf:before{content:""}.fa-file-powerpoint:before{content:""}.fa-file-prescription:before{content:""}.fa-file-signature:before{content:""}.fa-file-video:before{content:""}.fa-file-medical-alt:before,.fa-file-waveform:before{content:""}.fa-file-word:before{content:""}.fa-file-archive:before,.fa-file-zipper:before{content:""}.fa-fill:before{content:""}.fa-fill-drip:before{content:""}.fa-film:before{content:""}.fa-filter:before{content:""}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:""}.fa-filter-circle-xmark:before{content:""}.fa-fingerprint:before{content:""}.fa-fire:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:""}.fa-burn:before,.fa-fire-flame-simple:before{content:""}.fa-fish:before{content:""}.fa-flag:before{content:""}.fa-flag-checkered:before{content:""}.fa-flag-usa:before{content:""}.fa-flask:before{content:""}.fa-floppy-disk:before,.fa-save:before{content:""}.fa-florin-sign:before{content:""}.fa-folder:before{content:""}.fa-folder-minus:before{content:""}.fa-folder-open:before{content:""}.fa-folder-plus:before{content:""}.fa-folder-tree:before{content:""}.fa-font:before{content:""}.fa-football-ball:before,.fa-football:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before,.fa-forward-fast:before{content:""}.fa-forward-step:before,.fa-step-forward:before{content:""}.fa-franc-sign:before{content:""}.fa-frog:before{content:""}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:""}.fa-g:before{content:"G"}.fa-gamepad:before{content:""}.fa-gas-pump:before{content:""}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:""}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:""}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:""}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-gem:before{content:""}.fa-genderless:before{content:""}.fa-ghost:before{content:""}.fa-gift:before{content:""}.fa-gifts:before{content:""}.fa-glasses:before{content:""}.fa-globe:before{content:""}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:""}.fa-gopuram:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-greater-than:before{content:">"}.fa-greater-than-equal:before{content:""}.fa-grip-horizontal:before,.fa-grip:before{content:""}.fa-grip-lines:before{content:""}.fa-grip-lines-vertical:before{content:""}.fa-grip-vertical:before{content:""}.fa-guarani-sign:before{content:""}.fa-guitar:before{content:""}.fa-gun:before{content:""}.fa-h:before{content:"H"}.fa-hammer:before{content:""}.fa-hamsa:before{content:""}.fa-hand-paper:before,.fa-hand:before{content:""}.fa-hand-back-fist:before,.fa-hand-rock:before{content:""}.fa-allergies:before,.fa-hand-dots:before{content:""}.fa-fist-raised:before,.fa-hand-fist:before{content:""}.fa-hand-holding:before{content:""}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:""}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:""}.fa-hand-holding-heart:before{content:""}.fa-hand-holding-medical:before{content:""}.fa-hand-lizard:before{content:""}.fa-hand-middle-finger:before{content:""}.fa-hand-peace:before{content:""}.fa-hand-point-down:before{content:""}.fa-hand-point-left:before{content:""}.fa-hand-point-right:before{content:""}.fa-hand-point-up:before{content:""}.fa-hand-pointer:before{content:""}.fa-hand-scissors:before{content:""}.fa-hand-sparkles:before{content:""}.fa-hand-spock:before{content:""}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:""}.fa-hands-bubbles:before,.fa-hands-wash:before{content:""}.fa-hands-clapping:before{content:""}.fa-hands-holding:before{content:""}.fa-hands-praying:before,.fa-praying-hands:before{content:""}.fa-handshake:before{content:""}.fa-hands-helping:before,.fa-handshake-angle:before{content:""}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:""}.fa-handshake-slash:before{content:""}.fa-hanukiah:before{content:""}.fa-hard-drive:before,.fa-hdd:before{content:""}.fa-hashtag:before{content:"#"}.fa-hat-cowboy:before{content:""}.fa-hat-cowboy-side:before{content:""}.fa-hat-wizard:before{content:""}.fa-head-side-cough:before{content:""}.fa-head-side-cough-slash:before{content:""}.fa-head-side-mask:before{content:""}.fa-head-side-virus:before{content:""}.fa-header:before,.fa-heading:before{content:""}.fa-headphones:before{content:""}.fa-headphones-alt:before,.fa-headphones-simple:before{content:""}.fa-headset:before{content:""}.fa-heart:before{content:""}.fa-heart-broken:before,.fa-heart-crack:before{content:""}.fa-heart-pulse:before,.fa-heartbeat:before{content:""}.fa-helicopter:before{content:""}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:""}.fa-highlighter:before{content:""}.fa-hippo:before{content:""}.fa-hockey-puck:before{content:""}.fa-holly-berry:before{content:""}.fa-horse:before{content:""}.fa-horse-head:before{content:""}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:""}.fa-hospital-user:before{content:""}.fa-hot-tub-person:before,.fa-hot-tub:before{content:""}.fa-hotdog:before{content:""}.fa-hotel:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before,.fa-hourglass:before{content:""}.fa-hourglass-empty:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:""}.fa-home-lg:before,.fa-house-chimney:before{content:""}.fa-house-chimney-crack:before,.fa-house-damage:before{content:""}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:""}.fa-house-chimney-user:before{content:""}.fa-house-chimney-window:before{content:""}.fa-house-crack:before{content:""}.fa-house-laptop:before,.fa-laptop-house:before{content:""}.fa-house-medical:before{content:""}.fa-home-user:before,.fa-house-user:before{content:""}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:""}.fa-i:before{content:"I"}.fa-i-cursor:before{content:""}.fa-ice-cream:before{content:""}.fa-icicles:before{content:""}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-id-card-alt:before,.fa-id-card-clip:before{content:""}.fa-igloo:before{content:""}.fa-image:before{content:""}.fa-image-portrait:before,.fa-portrait:before{content:""}.fa-images:before{content:""}.fa-inbox:before{content:""}.fa-indent:before{content:""}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:""}.fa-industry:before{content:""}.fa-infinity:before{content:""}.fa-info:before{content:""}.fa-italic:before{content:""}.fa-j:before{content:"J"}.fa-jedi:before{content:""}.fa-fighter-jet:before,.fa-jet-fighter:before{content:""}.fa-joint:before{content:""}.fa-k:before{content:"K"}.fa-kaaba:before{content:""}.fa-key:before{content:""}.fa-keyboard:before{content:""}.fa-khanda:before{content:""}.fa-kip-sign:before{content:""}.fa-first-aid:before,.fa-kit-medical:before{content:""}.fa-kiwi-bird:before{content:""}.fa-l:before{content:"L"}.fa-landmark:before{content:""}.fa-language:before{content:""}.fa-laptop:before{content:""}.fa-laptop-code:before{content:""}.fa-laptop-medical:before{content:""}.fa-lari-sign:before{content:""}.fa-layer-group:before{content:""}.fa-leaf:before{content:""}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:""}.fa-arrows-alt-h:before,.fa-left-right:before{content:""}.fa-lemon:before{content:""}.fa-less-than:before{content:"<"}.fa-less-than-equal:before{content:""}.fa-life-ring:before{content:""}.fa-lightbulb:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:""}.fa-lira-sign:before{content:""}.fa-list-squares:before,.fa-list:before{content:""}.fa-list-check:before,.fa-tasks:before{content:""}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:""}.fa-list-dots:before,.fa-list-ul:before{content:""}.fa-litecoin-sign:before{content:""}.fa-location-arrow:before{content:""}.fa-location-crosshairs:before,.fa-location:before{content:""}.fa-location-dot:before,.fa-map-marker-alt:before{content:""}.fa-location-pin:before,.fa-map-marker:before{content:""}.fa-lock:before{content:""}.fa-lock-open:before{content:""}.fa-lungs:before{content:""}.fa-lungs-virus:before{content:""}.fa-m:before{content:"M"}.fa-magnet:before{content:""}.fa-magnifying-glass:before,.fa-search:before{content:""}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:""}.fa-magnifying-glass-location:before,.fa-search-location:before{content:""}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:""}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:""}.fa-manat-sign:before{content:""}.fa-map:before{content:""}.fa-map-location:before,.fa-map-marked:before{content:""}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:""}.fa-map-pin:before{content:""}.fa-marker:before{content:""}.fa-mars:before{content:""}.fa-mars-and-venus:before{content:""}.fa-mars-double:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:""}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:""}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:""}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:""}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:""}.fa-mask:before{content:""}.fa-mask-face:before{content:""}.fa-masks-theater:before,.fa-theater-masks:before{content:""}.fa-expand-arrows-alt:before,.fa-maximize:before{content:""}.fa-medal:before{content:""}.fa-memory:before{content:""}.fa-menorah:before{content:""}.fa-mercury:before{content:""}.fa-comment-alt:before,.fa-message:before{content:""}.fa-meteor:before{content:""}.fa-microchip:before{content:""}.fa-microphone:before{content:""}.fa-microphone-alt:before,.fa-microphone-lines:before{content:""}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:""}.fa-microphone-slash:before{content:""}.fa-microscope:before{content:""}.fa-mill-sign:before{content:""}.fa-compress-arrows-alt:before,.fa-minimize:before{content:""}.fa-minus:before,.fa-subtract:before{content:""}.fa-mitten:before{content:""}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-mobile-button:before{content:""}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:""}.fa-money-bill:before{content:""}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:""}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:""}.fa-money-bill-wave:before{content:""}.fa-money-check:before{content:""}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:""}.fa-monument:before{content:""}.fa-moon:before{content:""}.fa-mortar-pestle:before{content:""}.fa-mosque:before{content:""}.fa-motorcycle:before{content:""}.fa-mountain:before{content:""}.fa-mug-hot:before{content:""}.fa-coffee:before,.fa-mug-saucer:before{content:""}.fa-music:before{content:""}.fa-n:before{content:"N"}.fa-naira-sign:before{content:""}.fa-network-wired:before{content:""}.fa-neuter:before{content:""}.fa-newspaper:before{content:""}.fa-not-equal:before{content:""}.fa-note-sticky:before,.fa-sticky-note:before{content:""}.fa-notes-medical:before{content:""}.fa-o:before{content:"O"}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-oil-can:before{content:""}.fa-om:before{content:""}.fa-otter:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-p:before{content:"P"}.fa-pager:before{content:""}.fa-paint-roller:before{content:""}.fa-paint-brush:before,.fa-paintbrush:before{content:""}.fa-palette:before{content:""}.fa-pallet:before{content:""}.fa-panorama:before{content:""}.fa-paper-plane:before{content:""}.fa-paperclip:before{content:""}.fa-parachute-box:before{content:""}.fa-paragraph:before{content:""}.fa-passport:before{content:""}.fa-file-clipboard:before,.fa-paste:before{content:""}.fa-pause:before{content:""}.fa-paw:before{content:""}.fa-peace:before{content:""}.fa-pen:before{content:""}.fa-pen-alt:before,.fa-pen-clip:before{content:""}.fa-pen-fancy:before{content:""}.fa-pen-nib:before{content:""}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:""}.fa-edit:before,.fa-pen-to-square:before{content:""}.fa-pencil-alt:before,.fa-pencil:before{content:""}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:""}.fa-people-carry-box:before,.fa-people-carry:before{content:""}.fa-pepper-hot:before{content:""}.fa-percent:before,.fa-percentage:before{content:"%"}.fa-male:before,.fa-person:before{content:""}.fa-biking:before,.fa-person-biking:before{content:""}.fa-person-booth:before{content:""}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:""}.fa-female:before,.fa-person-dress:before{content:""}.fa-hiking:before,.fa-person-hiking:before{content:""}.fa-person-praying:before,.fa-pray:before{content:""}.fa-person-running:before,.fa-running:before{content:""}.fa-person-skating:before,.fa-skating:before{content:""}.fa-person-skiing:before,.fa-skiing:before{content:""}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:""}.fa-person-snowboarding:before,.fa-snowboarding:before{content:""}.fa-person-swimming:before,.fa-swimmer:before{content:""}.fa-person-walking:before,.fa-walking:before{content:""}.fa-blind:before,.fa-person-walking-with-cane:before{content:""}.fa-peseta-sign:before{content:""}.fa-peso-sign:before{content:""}.fa-phone:before{content:""}.fa-phone-alt:before,.fa-phone-flip:before{content:""}.fa-phone-slash:before{content:""}.fa-phone-volume:before,.fa-volume-control-phone:before{content:""}.fa-photo-film:before,.fa-photo-video:before{content:""}.fa-piggy-bank:before{content:""}.fa-pills:before{content:""}.fa-pizza-slice:before{content:""}.fa-place-of-worship:before{content:""}.fa-plane:before{content:""}.fa-plane-arrival:before{content:""}.fa-plane-departure:before{content:""}.fa-plane-slash:before{content:""}.fa-play:before{content:""}.fa-plug:before{content:""}.fa-add:before,.fa-plus:before{content:"+"}.fa-plus-minus:before{content:""}.fa-podcast:before{content:""}.fa-poo:before{content:""}.fa-poo-bolt:before,.fa-poo-storm:before{content:""}.fa-poop:before{content:""}.fa-power-off:before{content:""}.fa-prescription:before{content:""}.fa-prescription-bottle:before{content:""}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:""}.fa-print:before{content:""}.fa-pump-medical:before{content:""}.fa-pump-soap:before{content:""}.fa-puzzle-piece:before{content:""}.fa-q:before{content:"Q"}.fa-qrcode:before{content:""}.fa-question:before{content:"?"}.fa-quote-left-alt:before,.fa-quote-left:before{content:""}.fa-quote-right-alt:before,.fa-quote-right:before{content:""}.fa-r:before{content:"R"}.fa-radiation:before{content:""}.fa-rainbow:before{content:""}.fa-receipt:before{content:""}.fa-record-vinyl:before{content:""}.fa-ad:before,.fa-rectangle-ad:before{content:""}.fa-list-alt:before,.fa-rectangle-list:before{content:""}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-recycle:before{content:""}.fa-registered:before{content:""}.fa-repeat:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-republican:before{content:""}.fa-restroom:before{content:""}.fa-retweet:before{content:""}.fa-ribbon:before{content:""}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:""}.fa-exchange-alt:before,.fa-right-left:before{content:""}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:""}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:""}.fa-ring:before{content:""}.fa-road:before{content:""}.fa-robot:before{content:""}.fa-rocket:before{content:""}.fa-rotate:before,.fa-sync-alt:before{content:""}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:""}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:""}.fa-route:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:""}.fa-ruler:before{content:""}.fa-ruler-combined:before{content:""}.fa-ruler-horizontal:before{content:""}.fa-ruler-vertical:before{content:""}.fa-rupee-sign:before,.fa-rupee:before{content:""}.fa-rupiah-sign:before{content:""}.fa-s:before{content:"S"}.fa-sailboat:before{content:""}.fa-satellite:before{content:""}.fa-satellite-dish:before{content:""}.fa-balance-scale:before,.fa-scale-balanced:before{content:""}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:""}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:""}.fa-school:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-screwdriver:before{content:""}.fa-screwdriver-wrench:before,.fa-tools:before{content:""}.fa-scroll:before{content:""}.fa-scroll-torah:before,.fa-torah:before{content:""}.fa-sd-card:before{content:""}.fa-section:before{content:""}.fa-seedling:before,.fa-sprout:before{content:""}.fa-server:before{content:""}.fa-shapes:before,.fa-triangle-circle-square:before{content:""}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:""}.fa-share-from-square:before,.fa-share-square:before{content:""}.fa-share-alt:before,.fa-share-nodes:before{content:""}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:""}.fa-shield:before{content:""}.fa-shield-alt:before,.fa-shield-blank:before{content:""}.fa-shield-virus:before{content:""}.fa-ship:before{content:""}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:""}.fa-shoe-prints:before{content:""}.fa-shop:before,.fa-store-alt:before{content:""}.fa-shop-slash:before,.fa-store-alt-slash:before{content:""}.fa-shower:before{content:""}.fa-shrimp:before{content:""}.fa-random:before,.fa-shuffle:before{content:""}.fa-shuttle-space:before,.fa-space-shuttle:before{content:""}.fa-sign-hanging:before,.fa-sign:before{content:""}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:""}.fa-signature:before{content:""}.fa-map-signs:before,.fa-signs-post:before{content:""}.fa-sim-card:before{content:""}.fa-sink:before{content:""}.fa-sitemap:before{content:""}.fa-skull:before{content:""}.fa-skull-crossbones:before{content:""}.fa-slash:before{content:""}.fa-sleigh:before{content:""}.fa-sliders-h:before,.fa-sliders:before{content:""}.fa-smog:before{content:""}.fa-smoking:before{content:""}.fa-snowflake:before{content:""}.fa-snowman:before{content:""}.fa-snowplow:before{content:""}.fa-soap:before{content:""}.fa-socks:before{content:""}.fa-solar-panel:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-spa:before{content:""}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:""}.fa-spell-check:before{content:""}.fa-spider:before{content:""}.fa-spinner:before{content:""}.fa-splotch:before{content:""}.fa-spoon:before,.fa-utensil-spoon:before{content:""}.fa-spray-can:before{content:""}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:""}.fa-square:before{content:""}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:""}.fa-caret-square-down:before,.fa-square-caret-down:before{content:""}.fa-caret-square-left:before,.fa-square-caret-left:before{content:""}.fa-caret-square-right:before,.fa-square-caret-right:before{content:""}.fa-caret-square-up:before,.fa-square-caret-up:before{content:""}.fa-check-square:before,.fa-square-check:before{content:""}.fa-envelope-square:before,.fa-square-envelope:before{content:""}.fa-square-full:before{content:""}.fa-h-square:before,.fa-square-h:before{content:""}.fa-minus-square:before,.fa-square-minus:before{content:""}.fa-parking:before,.fa-square-parking:before{content:""}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:""}.fa-phone-square:before,.fa-square-phone:before{content:""}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:""}.fa-plus-square:before,.fa-square-plus:before{content:""}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:""}.fa-poll:before,.fa-square-poll-vertical:before{content:""}.fa-square-root-alt:before,.fa-square-root-variable:before{content:""}.fa-rss-square:before,.fa-square-rss:before{content:""}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:""}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:""}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:""}.fa-stairs:before{content:""}.fa-stamp:before{content:""}.fa-star:before{content:""}.fa-star-and-crescent:before{content:""}.fa-star-half:before{content:""}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:""}.fa-star-of-david:before{content:""}.fa-star-of-life:before{content:""}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:""}.fa-stethoscope:before{content:""}.fa-stop:before{content:""}.fa-stopwatch:before{content:""}.fa-stopwatch-20:before{content:""}.fa-store:before{content:""}.fa-store-slash:before{content:""}.fa-street-view:before{content:""}.fa-strikethrough:before{content:""}.fa-stroopwafel:before{content:""}.fa-subscript:before{content:""}.fa-suitcase:before{content:""}.fa-medkit:before,.fa-suitcase-medical:before{content:""}.fa-suitcase-rolling:before{content:""}.fa-sun:before{content:""}.fa-superscript:before{content:""}.fa-swatchbook:before{content:""}.fa-synagogue:before{content:""}.fa-syringe:before{content:""}.fa-t:before{content:"T"}.fa-table:before{content:""}.fa-table-cells:before,.fa-th:before{content:""}.fa-table-cells-large:before,.fa-th-large:before{content:""}.fa-columns:before,.fa-table-columns:before{content:""}.fa-table-list:before,.fa-th-list:before{content:""}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:""}.fa-tablet-android:before,.fa-tablet:before{content:""}.fa-tablet-button:before{content:""}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:""}.fa-tablets:before{content:""}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-tape:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-teeth:before{content:""}.fa-teeth-open:before{content:""}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:""}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-temperature-high:before{content:""}.fa-temperature-low:before{content:""}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-tenge-sign:before,.fa-tenge:before{content:""}.fa-terminal:before{content:""}.fa-text-height:before{content:""}.fa-remove-format:before,.fa-text-slash:before{content:""}.fa-text-width:before{content:""}.fa-thermometer:before{content:""}.fa-thumbs-down:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumb-tack:before,.fa-thumbtack:before{content:""}.fa-ticket:before{content:""}.fa-ticket-alt:before,.fa-ticket-simple:before{content:""}.fa-timeline:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-toilet:before{content:""}.fa-toilet-paper:before{content:""}.fa-toilet-paper-slash:before{content:""}.fa-toolbox:before{content:""}.fa-tooth:before{content:""}.fa-torii-gate:before{content:""}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:""}.fa-tractor:before{content:""}.fa-trademark:before{content:""}.fa-traffic-light:before{content:""}.fa-trailer:before{content:""}.fa-train:before{content:""}.fa-subway:before,.fa-train-subway:before{content:""}.fa-train-tram:before,.fa-tram:before{content:""}.fa-transgender-alt:before,.fa-transgender:before{content:""}.fa-trash:before{content:""}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:""}.fa-trash-alt:before,.fa-trash-can:before{content:""}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:""}.fa-tree:before{content:""}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:""}.fa-trophy:before{content:""}.fa-truck:before{content:""}.fa-shipping-fast:before,.fa-truck-fast:before{content:""}.fa-ambulance:before,.fa-truck-medical:before{content:""}.fa-truck-monster:before{content:""}.fa-truck-moving:before{content:""}.fa-truck-pickup:before{content:""}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:""}.fa-teletype:before,.fa-tty:before{content:""}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:""}.fa-level-down-alt:before,.fa-turn-down:before{content:""}.fa-level-up-alt:before,.fa-turn-up:before{content:""}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:""}.fa-u:before{content:"U"}.fa-umbrella:before{content:""}.fa-umbrella-beach:before{content:""}.fa-underline:before{content:""}.fa-universal-access:before{content:""}.fa-unlock:before{content:""}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:""}.fa-arrows-alt-v:before,.fa-up-down:before{content:""}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:""}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:""}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:""}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:""}.fa-upload:before{content:""}.fa-user:before{content:""}.fa-user-astronaut:before{content:""}.fa-user-check:before{content:""}.fa-user-clock:before{content:""}.fa-user-doctor:before,.fa-user-md:before{content:""}.fa-user-cog:before,.fa-user-gear:before{content:""}.fa-user-graduate:before{content:""}.fa-user-friends:before,.fa-user-group:before{content:""}.fa-user-injured:before{content:""}.fa-user-alt:before,.fa-user-large:before{content:""}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:""}.fa-user-lock:before{content:""}.fa-user-minus:before{content:""}.fa-user-ninja:before{content:""}.fa-user-nurse:before{content:""}.fa-user-edit:before,.fa-user-pen:before{content:""}.fa-user-plus:before{content:""}.fa-user-secret:before{content:""}.fa-user-shield:before{content:""}.fa-user-slash:before{content:""}.fa-user-tag:before{content:""}.fa-user-tie:before{content:""}.fa-user-times:before,.fa-user-xmark:before{content:""}.fa-users:before{content:""}.fa-users-cog:before,.fa-users-gear:before{content:""}.fa-users-slash:before{content:""}.fa-cutlery:before,.fa-utensils:before{content:""}.fa-v:before{content:"V"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:""}.fa-vault:before{content:""}.fa-vector-square:before{content:""}.fa-venus:before{content:""}.fa-venus-double:before{content:""}.fa-venus-mars:before{content:""}.fa-vest:before{content:""}.fa-vest-patches:before{content:""}.fa-vial:before{content:""}.fa-vials:before{content:""}.fa-video-camera:before,.fa-video:before{content:""}.fa-video-slash:before{content:""}.fa-vihara:before{content:""}.fa-virus:before{content:""}.fa-virus-covid:before{content:""}.fa-virus-covid-slash:before{content:""}.fa-virus-slash:before{content:""}.fa-viruses:before{content:""}.fa-voicemail:before{content:""}.fa-volleyball-ball:before,.fa-volleyball:before{content:""}.fa-volume-high:before,.fa-volume-up:before{content:""}.fa-volume-down:before,.fa-volume-low:before{content:""}.fa-volume-off:before{content:""}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:""}.fa-vr-cardboard:before{content:""}.fa-w:before{content:"W"}.fa-wallet:before{content:""}.fa-magic:before,.fa-wand-magic:before{content:""}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:""}.fa-wand-sparkles:before{content:""}.fa-warehouse:before{content:""}.fa-water:before{content:""}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:""}.fa-wave-square:before{content:""}.fa-weight-hanging:before{content:""}.fa-weight-scale:before,.fa-weight:before{content:""}.fa-wheelchair:before{content:""}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:""}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:""}.fa-wind:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-wine-bottle:before{content:""}.fa-wine-glass:before{content:""}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:""}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:""}.fa-wrench:before{content:""}.fa-x:before{content:"X"}.fa-x-ray:before{content:""}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:""}.fa-y:before{content:"Y"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:""}.fa-yin-yang:before{content:""}.fa-z:before{content:"Z"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}/*! * Font Awesome Free 6.0.0 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2022 Fonticons, Inc. diff --git a/packages/modules/web_themes/colors/web/index.html b/packages/modules/web_themes/colors/web/index.html index 944890e514..3355bbfab7 100644 --- a/packages/modules/web_themes/colors/web/index.html +++ b/packages/modules/web_themes/colors/web/index.html @@ -24,9 +24,9 @@ openWB - + - +