homebridge-config-ui-x 5.0.0-beta.84 → 5.0.0-beta.85

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/CHANGELOG.md +3 -3
  2. package/config.schema.json +0 -10
  3. package/dist/core/auth/auth.controller.d.ts +4 -0
  4. package/dist/core/config/config.service.d.ts +7 -1
  5. package/dist/core/config/config.service.js +8 -0
  6. package/dist/core/config/config.service.js.map +1 -1
  7. package/dist/modules/config-editor/config-editor.service.js +22 -3
  8. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  9. package/package.json +2 -2
  10. package/public/chunk-24QS6PYT.js +1 -0
  11. package/public/{chunk-ETHRB4B7.js → chunk-2WKK6ARR.js} +1 -1
  12. package/public/chunk-376UJFUA.js +1 -0
  13. package/public/{chunk-44CZCQS5.js → chunk-42VQANT2.js} +1 -1
  14. package/public/{chunk-5EXBKF3T.js → chunk-4QTZYQ6T.js} +1 -1
  15. package/public/{chunk-S3GVWPFV.js → chunk-4XFWWAJ4.js} +1 -1
  16. package/public/{chunk-UF3DIXPK.js → chunk-5YXFSRA5.js} +1 -1
  17. package/public/chunk-63XU2JWE.js +1 -0
  18. package/public/{chunk-EWLBAXJV.js → chunk-6GBXVGU5.js} +1 -1
  19. package/public/{chunk-JM2Z7MQF.js → chunk-6M3B2A6W.js} +1 -1
  20. package/public/chunk-7J7USUIJ.js +1 -0
  21. package/public/{chunk-SHGNDVOQ.js → chunk-AGTYR7WQ.js} +1 -1
  22. package/public/{chunk-OTSZ5RIX.js → chunk-AVHYOINC.js} +1 -1
  23. package/public/{chunk-ZBGERBHF.js → chunk-AZ54ZXXV.js} +1 -1
  24. package/public/chunk-B7F5OX77.js +1 -0
  25. package/public/chunk-BF5IEMO6.js +1 -0
  26. package/public/{chunk-GHD3GBJY.js → chunk-BQDKGMLA.js} +1 -1
  27. package/public/{chunk-HWAUSATM.js → chunk-C5TKGBKB.js} +1 -1
  28. package/public/{chunk-SY2DALXL.js → chunk-C6HZSMVO.js} +1 -1
  29. package/public/chunk-CKRRUOFS.js +1 -0
  30. package/public/{chunk-BBKH3AS4.js → chunk-DAJGSOQC.js} +1 -1
  31. package/public/chunk-EQADUDRZ.js +1 -0
  32. package/public/chunk-EQJBK52D.js +1 -0
  33. package/public/chunk-FUB2KHWK.js +1 -0
  34. package/public/{chunk-35U46VAM.js → chunk-FZVC727I.js} +1 -1
  35. package/public/{chunk-NP3MPCBA.js → chunk-G2MXKZYU.js} +1 -1
  36. package/public/chunk-GENBE57P.js +1 -0
  37. package/public/{chunk-45GPXR3D.js → chunk-K2IL74WZ.js} +1 -1
  38. package/public/{chunk-A47UOP4A.js → chunk-KK3SNXYW.js} +1 -1
  39. package/public/{chunk-DFARNUQE.js → chunk-LJMLBBPB.js} +1 -1
  40. package/public/{chunk-RWXRGZ5W.js → chunk-LTWHVB77.js} +1 -1
  41. package/public/{chunk-XFUFALG2.js → chunk-NU4R5KT7.js} +1 -1
  42. package/public/{chunk-ZL2KV6MN.js → chunk-O46Q72DM.js} +1 -1
  43. package/public/chunk-ODQDNBE4.js +1 -0
  44. package/public/{chunk-BEIJ7K45.js → chunk-OTCJ3YHG.js} +1 -1
  45. package/public/{chunk-SFJY6LKG.js → chunk-OUBWSG2W.js} +1 -1
  46. package/public/{chunk-AGP4KXZN.js → chunk-OVDCQNQ5.js} +1 -1
  47. package/public/{chunk-YAITAQFP.js → chunk-P5ZECO3N.js} +1 -1
  48. package/public/{chunk-A4VNI2XX.js → chunk-QEXWLZC6.js} +1 -1
  49. package/public/{chunk-7GALUZ7Q.js → chunk-QM3T6YVW.js} +1 -1
  50. package/public/{chunk-N3JOKTJH.js → chunk-QTHLHDP5.js} +1 -1
  51. package/public/{chunk-W6KNLINV.js → chunk-RFPPGGHA.js} +1 -1
  52. package/public/chunk-RMSSFTEE.js +1 -0
  53. package/public/{chunk-YCB5EBYL.js → chunk-RZEQRBTO.js} +1 -1
  54. package/public/{chunk-WZEBCHPR.js → chunk-SNIZAXGZ.js} +1 -1
  55. package/public/{chunk-HRZZGXTV.js → chunk-SRXI33JX.js} +1 -1
  56. package/public/{chunk-VWGTK3BI.js → chunk-TIUV7RQV.js} +1 -1
  57. package/public/{chunk-T3FLCKVF.js → chunk-TZOTF4ED.js} +1 -1
  58. package/public/chunk-UI2DW3PK.js +1 -0
  59. package/public/{chunk-F3OVY66Q.js → chunk-UIWDTMG6.js} +1 -1
  60. package/public/{chunk-VFPPTUZJ.js → chunk-UOATK6CE.js} +1 -1
  61. package/public/{chunk-6D3EJXP6.js → chunk-V7FJKACX.js} +1 -1
  62. package/public/{chunk-LO2CCK35.js → chunk-WGVZ6Z6Q.js} +1 -1
  63. package/public/{chunk-6NGIWC4E.js → chunk-WRUEUSNK.js} +1 -1
  64. package/public/{chunk-IM2BRCB7.js → chunk-XGZRFWAS.js} +1 -1
  65. package/public/{chunk-C3KRCE4V.js → chunk-YVAP4ROT.js} +1 -1
  66. package/public/chunk-Z5C3N2IZ.js +1 -0
  67. package/public/{chunk-6LFIIAQA.js → chunk-ZKW667UJ.js} +1 -1
  68. package/public/index.html +1 -1
  69. package/public/main-6S3C7XRY.js +1 -0
  70. package/public/chunk-2TCKZEMD.js +0 -1
  71. package/public/chunk-4VFWDFB2.js +0 -1
  72. package/public/chunk-ARBUTIAF.js +0 -1
  73. package/public/chunk-B5TRON3U.js +0 -1
  74. package/public/chunk-DNPCIQ2D.js +0 -1
  75. package/public/chunk-EPBGYGOF.js +0 -1
  76. package/public/chunk-GL7KUHNG.js +0 -1
  77. package/public/chunk-GQ6ZIJ7V.js +0 -1
  78. package/public/chunk-IJTKUX3I.js +0 -1
  79. package/public/chunk-OCMHM5JZ.js +0 -1
  80. package/public/chunk-PVRWCMVL.js +0 -1
  81. package/public/chunk-R6KGXTVF.js +0 -1
  82. package/public/chunk-WBUGQDJT.js +0 -1
  83. package/public/chunk-XEEQ6TKW.js +0 -1
  84. package/public/chunk-ZTYMYB7A.js +0 -1
  85. package/public/main-UEKAYWC6.js +0 -1
@@ -1,4 +1,4 @@
1
- import{a as Ln}from"./chunk-A47UOP4A.js";import{m as ce,n as ae}from"./chunk-OHFVMRCL.js";import{a as Vn,b as En,c as In,e as ge,l as he,z as le}from"./chunk-MMYB2ZMV.js";import{a as Hn}from"./chunk-VWGTK3BI.js";import{c as Bn}from"./chunk-ETHRB4B7.js";import{b as Ye}from"./chunk-4VFWDFB2.js";import{h as Pn,k as An}from"./chunk-IJTKUX3I.js";import{a as kn,e as vi}from"./chunk-R3JWGCC5.js";import{a as Dn,b as D}from"./chunk-KPKQNEWS.js";import{$a as r,Ac as d,Bc as p,Ca as ot,Cc as ve,Fa as rt,G as dn,Gb as V,H as Bt,Hb as h,Ib as C,Ja as gn,Jc as Oi,K as pn,Kb as Ht,Lb as Lt,M as ue,Mb as Ot,Nb as m,Ob as a,Pb as s,Q as mn,Qb as f,Rb as xn,Sb as Sn,Ub as z,Wc as Mn,X as un,Xa as Li,Xb as b,Yb as g,Zc as wn,a as rn,b as an,ba as vn,bd as H,cb as hn,db as li,e as Je,eb as ci,fa as fn,fb as ke,g as Ur,ga as nt,gc as bn,h as ri,ha as xt,hb as Cn,hc as yn,hd as at,i as Hi,jc as c,jd as Le,ka as qe,kc as x,la as L,lb as w,lc as y,mb as St,mc as X,n as re,nb as bt,nc as et,o as sn,ob as di,oc as Tn,pc as pi,pd as ui,qc as J,qd as Nt,r as ln,ra as O,rc as ee,s as cn,sa as N,sc as te,tb as We,ub as _n,uc as mi,w as ai,wc as oe,x as si,xc as I,yc as Ue}from"./chunk-QSPBB6EE.js";var Nn=Je((em,On)=>{On.exports=function(n,t){return Array.prototype.slice.call(n,t)}});var Rn=Je((tm,Fn)=>{var $r=typeof setImmediate=="function",Ni;$r?Ni=function(e){setImmediate(e)}:Ni=function(e){setTimeout(e,0)};Fn.exports=Ni});var jn=Je((im,Gn)=>{"use strict";var zr=Rn();Gn.exports=function(n,t,o){n&&zr(function(){n.apply(o||null,t||[])})}});var $n=Je((nm,Un)=>{"use strict";var Wn=Nn(),qr=jn();Un.exports=function(n,t){var o=t||{},i={};return n===void 0&&(n={}),n.on=function(l,u){return i[l]?i[l].push(u):i[l]=[u],n},n.once=function(l,u){return u._once=!0,n.on(l,u),n},n.off=function(l,u){var T=arguments.length;if(T===1)delete i[l];else if(T===0)i={};else{var E=i[l];if(!E)return n;E.splice(E.indexOf(u),1)}return n},n.emit=function(){var l=Wn(arguments);return n.emitterSnapshot(l.shift()).apply(this,l)},n.emitterSnapshot=function(l){var u=(i[l]||[]).slice(0);return function(){var T=Wn(arguments),E=this||n;if(l==="error"&&o.throws!==!1&&!u.length)throw T.length===1?T[0]:T;return u.forEach(function(G){o.async?qr(G,T,E):G.apply(E,T),G._once&&n.off(l,G)}),n}},n}});var Kn=Je((om,qn)=>{var zn=global.CustomEvent;function Kr(){try{var e=new zn("cat",{detail:{foo:"bar"}});return e.type==="cat"&&e.detail.foo==="bar"}catch{}return!1}qn.exports=Kr()?zn:typeof document<"u"&&typeof document.createEvent=="function"?function(n,t){var o=document.createEvent("CustomEvent");return t?o.initCustomEvent(n,t.bubbles,t.cancelable,t.detail):o.initCustomEvent(n,!1,!1,void 0),o}:function(n,t){var o=document.createEventObject();return o.type=n,t?(o.bubbles=!!t.bubbles,o.cancelable=!!t.cancelable,o.detail=t.detail):(o.bubbles=!1,o.cancelable=!1,o.detail=void 0),o}});var Zn=Je((rm,Yn)=>{"use strict";var Xn=[],Fi="",Xr=/^on/;for(Fi in global)Xr.test(Fi)&&Xn.push(Fi.slice(2));Yn.exports=Xn});var io=Je((am,to)=>{"use strict";var Yr=Kn(),Zr=Zn(),fi=global.document,Qn=Qr,Jn=ea,Ft=[];global.addEventListener||(Qn=Jr,Jn=ta);to.exports={add:Qn,remove:Jn,fabricate:ia};function Qr(e,n,t,o){return e.addEventListener(n,t,o)}function Jr(e,n,t){return e.attachEvent("on"+n,oa(e,n,t))}function ea(e,n,t,o){return e.removeEventListener(n,t,o)}function ta(e,n,t){var o=eo(e,n,t);if(o)return e.detachEvent("on"+n,o)}function ia(e,n,t){var o=Zr.indexOf(n)===-1?l():i();e.dispatchEvent?e.dispatchEvent(o):e.fireEvent("on"+n,o);function i(){var u;return fi.createEvent?(u=fi.createEvent("Event"),u.initEvent(n,!0,!0)):fi.createEventObject&&(u=fi.createEventObject()),u}function l(){return new Yr(n,{detail:t})}}function na(e,n,t){return function(i){var l=i||global.event;l.target=l.target||l.srcElement,l.preventDefault=l.preventDefault||function(){l.returnValue=!1},l.stopPropagation=l.stopPropagation||function(){l.cancelBubble=!0},l.which=l.which||l.keyCode,t.call(e,l)}}function oa(e,n,t){var o=eo(e,n,t)||na(e,n,t);return Ft.push({wrapper:o,element:e,type:n,fn:t}),o}function eo(e,n,t){var o=ra(e,n,t);if(o){var i=Ft[o].wrapper;return Ft.splice(o,1),i}}function ra(e,n,t){var o,i;for(o=0;o<Ft.length;o++)if(i=Ft[o],i.element===e&&i.type===n&&i.fn===t)return o}});var ao=Je((sm,ro)=>{"use strict";var no={},aa="(?:^|\\s)",sa="(?:\\s|$)";function oo(e){var n=no[e];return n?n.lastIndex=0:no[e]=n=new RegExp(aa+e+sa,"g"),n}function la(e,n){var t=e.className;t.length?oo(n).test(t)||(e.className+=" "+n):e.className=n}function ca(e,n){e.className=e.className.replace(oo(n)," ").trim()}ro.exports={add:la,rm:ca}});var ho=Je((lm,go)=>{"use strict";var da=$n(),yt=io(),st=ao(),Tt=document,Ze=Tt.documentElement;function pa(e,n){var t=arguments.length;t===1&&Array.isArray(e)===!1&&(n=e,e=[]);var o,i,l,u,T,E,P,G,Q,Y,W,Se=null,ne,F=n||{};F.moves===void 0&&(F.moves=po),F.accepts===void 0&&(F.accepts=po),F.invalid===void 0&&(F.invalid=Xt),F.containers===void 0&&(F.containers=e||[]),F.isContainer===void 0&&(F.isContainer=ua),F.copy===void 0&&(F.copy=!1),F.copySortSource===void 0&&(F.copySortSource=!1),F.revertOnSpill===void 0&&(F.revertOnSpill=!1),F.removeOnSpill===void 0&&(F.removeOnSpill=!1),F.direction===void 0&&(F.direction="vertical"),F.ignoreInputTextSelection===void 0&&(F.ignoreInputTextSelection=!0),F.mirrorContainer===void 0&&(F.mirrorContainer=Tt.body);var fe=da({containers:F.containers,start:Vi,end:ht,cancel:Zt,remove:wt,destroy:gt,canMove:ki,dragging:!1});return F.removeOnSpill===!0&&fe.on("over",Et).on("out",It),tt(),fe;function Fe(M){return fe.containers.indexOf(M)!==-1||F.isContainer(M)}function tt(M){var U=M?"remove":"add";Rt(Ze,U,"mousedown",ze),Rt(Ze,U,"mouseup",Mt)}function Xe(M){var U=M?"remove":"add";Rt(Ze,U,"mousemove",wi)}function dt(M){var U=M?"remove":"add";yt[U](Ze,"selectstart",qt),yt[U](Ze,"click",qt)}function gt(){tt(!0),Mt({})}function qt(M){ne&&M.preventDefault()}function ze(M){E=M.clientX,P=M.clientY;var U=so(M)!==1||M.metaKey||M.ctrlKey;if(!U){var Z=M.target,se=pt(Z);se&&(ne=se,Xe(),M.type==="mousedown"&&(vo(Z)?Z.focus():M.preventDefault()))}}function wi(M){if(ne){if(so(M)===0){Mt({});return}if(!(M.clientX!==void 0&&Math.abs(M.clientX-E)<=(F.slideFactorX||0)&&M.clientY!==void 0&&Math.abs(M.clientY-P)<=(F.slideFactorY||0))){if(F.ignoreInputTextSelection){var U=lt("clientX",M)||0,Z=lt("clientY",M)||0,se=Tt.elementFromPoint(U,Z);if(vo(se))return}var Pe=ne;Xe(!0),dt(),ht(),Kt(Pe);var Me=ma(l);u=lt("pageX",M)-Me.left,T=lt("pageY",M)-Me.top,st.add(Y||l,"gu-transit"),Jt(),Vt(M)}}}function pt(M){if(!(fe.dragging&&o)&&!Fe(M)){for(var U=M;Oe(M)&&Fe(Oe(M))===!1;)if(F.invalid(M,U)||(M=Oe(M),!M))return;var Z=Oe(M);if(Z&&!F.invalid(M,U)){var se=F.moves(M,Z,U,Gt(M));if(se)return{item:M,source:Z}}}}function ki(M){return!!pt(M)}function Vi(M){var U=pt(M);U&&Kt(U)}function Kt(M){Ei(M.item,M.source)&&(Y=M.item.cloneNode(!0),fe.emit("cloned",Y,M.item,"copy")),i=M.source,l=M.item,G=Q=Gt(M.item),fe.dragging=!0,fe.emit("drag",l,i)}function Xt(){return!1}function ht(){if(fe.dragging){var M=Y||l;Ct(M,Oe(M))}}function Yt(){ne=!1,Xe(!0),dt(!0)}function Mt(M){if(Yt(),!!fe.dragging){var U=Y||l,Z=lt("clientX",M)||0,se=lt("clientY",M)||0,Pe=co(o,Z,se),Me=Qt(Pe,Z,se);Me&&(Y&&F.copySortSource||!Y||Me!==i)?Ct(U,Me):F.removeOnSpill?wt():Zt()}}function Ct(M,U){var Z=Oe(M);Y&&F.copySortSource&&U===i&&Z.removeChild(l),_t(U)?fe.emit("cancel",M,i,i):fe.emit("drop",M,U,i,Q),kt()}function wt(){if(fe.dragging){var M=Y||l,U=Oe(M);U&&U.removeChild(M),fe.emit(Y?"cancel":"remove",M,U,i),kt()}}function Zt(M){if(fe.dragging){var U=arguments.length>0?M:F.revertOnSpill,Z=Y||l,se=Oe(Z),Pe=_t(se);Pe===!1&&U&&(Y?se&&se.removeChild(Y):i.insertBefore(Z,G)),Pe||U?fe.emit("cancel",Z,i,i):fe.emit("drop",Z,se,i,Q),kt()}}function kt(){var M=Y||l;Yt(),Qe(),M&&st.rm(M,"gu-transit"),W&&clearTimeout(W),fe.dragging=!1,Se&&fe.emit("out",M,Se,i),fe.emit("dragend",M),i=l=Y=G=Q=W=Se=null}function _t(M,U){var Z;return U!==void 0?Z=U:o?Z=Q:Z=Gt(Y||l),M===i&&Z===G}function Qt(M,U,Z){for(var se=M;se&&!Pe();)se=Oe(se);return se;function Pe(){var Me=Fe(se);if(Me===!1)return!1;var it=ei(se,M),Ve=Dt(se,it,U,Z),je=_t(se,Ve);return je?!0:F.accepts(l,se,i,Ve)}}function Vt(M){if(!o)return;M.preventDefault();var U=lt("clientX",M)||0,Z=lt("clientY",M)||0,se=U-u,Pe=Z-T;o.style.left=se+"px",o.style.top=Pe+"px";var Me=Y||l,it=co(o,U,Z),Ve=Qt(it,U,Z),je=Ve!==null&&Ve!==Se;(je||Ve===null)&&(ti(),Se=Ve,Pt());var He=Oe(Me);if(Ve===i&&Y&&!F.copySortSource){He&&He.removeChild(Me);return}var Ee,me=ei(Ve,it);if(me!==null)Ee=Dt(Ve,me,U,Z);else if(F.revertOnSpill===!0&&!Y)Ee=G,Ve=i;else{Y&&He&&He.removeChild(Me);return}(Ee===null&&je||Ee!==Me&&Ee!==Gt(Me))&&(Q=Ee,Ve.insertBefore(Me,Ee),fe.emit("shadow",Me,Ve,i));function Re(ii){fe.emit(ii,Me,Se,i)}function Pt(){je&&Re("over")}function ti(){Se&&Re("out")}}function Et(M){st.rm(M,"gu-hide")}function It(M){fe.dragging&&st.add(M,"gu-hide")}function Jt(){if(!o){var M=l.getBoundingClientRect();o=l.cloneNode(!0),o.style.width=mo(M)+"px",o.style.height=uo(M)+"px",st.rm(o,"gu-transit"),st.add(o,"gu-mirror"),F.mirrorContainer.appendChild(o),Rt(Ze,"add","mousemove",Vt),st.add(F.mirrorContainer,"gu-unselectable"),fe.emit("cloned",o,l,"mirror")}}function Qe(){o&&(st.rm(F.mirrorContainer,"gu-unselectable"),Rt(Ze,"remove","mousemove",Vt),Oe(o).removeChild(o),o=null)}function ei(M,U){for(var Z=U;Z!==M&&Oe(Z)!==M;)Z=Oe(Z);return Z===Ze?null:Z}function Dt(M,U,Z,se){var Pe=F.direction==="horizontal",Me=U!==M?Ve():it();return Me;function it(){var He=M.children.length,Ee,me,Re;for(Ee=0;Ee<He;Ee++)if(me=M.children[Ee],Re=me.getBoundingClientRect(),Pe&&Re.left+Re.width/2>Z||!Pe&&Re.top+Re.height/2>se)return me;return null}function Ve(){var He=U.getBoundingClientRect();return je(Pe?Z>He.left+mo(He)/2:se>He.top+uo(He)/2)}function je(He){return He?Gt(U):U}}function Ei(M,U){return typeof F.copy=="boolean"?F.copy:F.copy(M,U)}}function Rt(e,n,t,o){var i={mouseup:"touchend",mousedown:"touchstart",mousemove:"touchmove"},l={mouseup:"pointerup",mousedown:"pointerdown",mousemove:"pointermove"},u={mouseup:"MSPointerUp",mousedown:"MSPointerDown",mousemove:"MSPointerMove"};global.navigator.pointerEnabled?yt[n](e,l[t],o):global.navigator.msPointerEnabled?yt[n](e,u[t],o):(yt[n](e,i[t],o),yt[n](e,t,o))}function so(e){if(e.touches!==void 0)return e.touches.length;if(e.which!==void 0&&e.which!==0)return e.which;if(e.buttons!==void 0)return e.buttons;var n=e.button;if(n!==void 0)return n&1?1:n&2?3:n&4?2:0}function ma(e){var n=e.getBoundingClientRect();return{left:n.left+lo("scrollLeft","pageXOffset"),top:n.top+lo("scrollTop","pageYOffset")}}function lo(e,n){return typeof global[n]<"u"?global[n]:Ze.clientHeight?Ze[e]:Tt.body[e]}function co(e,n,t){e=e||{};var o=e.className||"",i;return e.className+=" gu-hide",i=Tt.elementFromPoint(n,t),e.className=o,i}function ua(){return!1}function po(){return!0}function mo(e){return e.width||e.right-e.left}function uo(e){return e.height||e.bottom-e.top}function Oe(e){return e.parentNode===Tt?null:e.parentNode}function vo(e){return e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.tagName==="SELECT"||fo(e)}function fo(e){return!e||e.contentEditable==="false"?!1:e.contentEditable==="true"?!0:fo(Oe(e))}function Gt(e){return e.nextElementSibling||n();function n(){var t=e;do t=t.nextSibling;while(t&&t.nodeType!==1);return t}}function va(e){return e.targetTouches&&e.targetTouches.length?e.targetTouches[0]:e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e}function lt(e,n){var t=va(n),o={pageX:"clientX",pageY:"clientY"};return e in o&&!(e in t)&&o[e]in t&&(e=o[e]),t[e]}go.exports=pa});var Wi=Ur(ho(),1),Ri=class{constructor(n,t,o){this.name=n,this.drake=t,this.options=o,this.initEvents=!1}},pe=function(e){return e.Cancel="cancel",e.Cloned="cloned",e.Drag="drag",e.DragEnd="dragend",e.Drop="drop",e.Out="out",e.Over="over",e.Remove="remove",e.Shadow="shadow",e.DropModel="dropModel",e.RemoveModel="removeModel",e}(pe||{}),fa=Object.keys(pe).map(e=>pe[e]),ga=Wi.default||Wi,jt=class{constructor(n=ga){this.build=n}},ut=(e,n,t)=>o=>o.pipe(Bt(({event:i,name:l})=>i===e&&(n===void 0||l===n)),si(({name:i,args:l})=>t(i,l))),ha=(e,[n,t,o])=>({name:e,el:n,container:t,source:o}),Gi=(()=>{let n=class n{constructor(o){this.drakeFactory=o,this.groups={},this.dispatch$=new re,this.elContainerSource=i=>l=>this.dispatch$.pipe(ut(i,l,ha)),this.cancel=this.elContainerSource(pe.Cancel),this.remove=this.elContainerSource(pe.Remove),this.shadow=this.elContainerSource(pe.Shadow),this.over=this.elContainerSource(pe.Over),this.out=this.elContainerSource(pe.Out),this.drag=i=>this.dispatch$.pipe(ut(pe.Drag,i,(l,[u,T])=>({name:l,el:u,source:T}))),this.dragend=i=>this.dispatch$.pipe(ut(pe.DragEnd,i,(l,[u])=>({name:l,el:u}))),this.drop=i=>this.dispatch$.pipe(ut(pe.Drop,i,(l,[u,T,E,P])=>({name:l,el:u,target:T,source:E,sibling:P}))),this.cloned=i=>this.dispatch$.pipe(ut(pe.Cloned,i,(l,[u,T,E])=>({name:l,clone:u,original:T,cloneType:E}))),this.dropModel=i=>this.dispatch$.pipe(ut(pe.DropModel,i,(l,[u,T,E,P,G,Q,Y,W,Se])=>({name:l,el:u,target:T,source:E,sibling:P,item:G,sourceModel:Q,targetModel:Y,sourceIndex:W,targetIndex:Se}))),this.removeModel=i=>this.dispatch$.pipe(ut(pe.RemoveModel,i,(l,[u,T,E,P,G,Q])=>({name:l,el:u,container:T,source:E,item:P,sourceModel:G,sourceIndex:Q}))),(this.drakeFactory===null||this.drakeFactory===void 0)&&(this.drakeFactory=new jt)}add(o){if(this.find(o.name))throw new Error('Group named: "'+o.name+'" already exists.');return this.groups[o.name]=o,this.handleModels(o),this.setupEvents(o),o}find(o){return this.groups[o]}destroy(o){let i=this.find(o);i&&(i.drake&&i.drake.destroy(),delete this.groups[o])}createGroup(o,i){return this.add(new Ri(o,this.drakeFactory.build([],i),i))}handleModels({name:o,drake:i,options:l}){let u,T,E;i.on("remove",(P,G,Q)=>{if(!i.models)return;let Y=i.models[i.containers.indexOf(Q)];Y=Y.slice(0);let W=Y.splice(T,1)[0];this.dispatch$.next({event:pe.RemoveModel,name:o,args:[P,G,Q,W,Y,T]})}),i.on("drag",(P,G)=>{i.models&&(u=P,T=this.domIndexOf(P,G))}),i.on("drop",(P,G,Q,Y)=>{if(!i.models||!G)return;E=this.domIndexOf(P,G);let W=i.models[i.containers.indexOf(Q)],Se=i.models[i.containers.indexOf(G)],ne;if(G===Q)W=W.slice(0),ne=W.splice(T,1)[0],W.splice(E,0,ne),Se=W;else{let F=u!==P;if(ne=W[T],F){if(!l.copyItem)throw new Error("If you have enabled `copy` on a group, you must provide a `copyItem` function.");ne=l.copyItem(ne)}if(F||(W=W.slice(0),W.splice(T,1)),Se=Se.slice(0),Se.splice(E,0,ne),F)try{G.removeChild(P)}catch{}}this.dispatch$.next({event:pe.DropModel,name:o,args:[P,G,Q,Y,ne,W,Se,T,E]})})}setupEvents(o){if(o.initEvents)return;o.initEvents=!0;let i=o.name,l=this,u=T=>{switch(T){case pe.Drag:o.drake.on(T,(...E)=>{this.dispatch$.next({event:T,name:i,args:E})});break;case pe.Drop:o.drake.on(T,(...E)=>{this.dispatch$.next({event:T,name:i,args:E})});break;case pe.DragEnd:o.drake.on(T,(...E)=>{this.dispatch$.next({event:T,name:i,args:E})});break;case pe.Cancel:case pe.Remove:case pe.Shadow:case pe.Over:case pe.Out:o.drake.on(T,(...E)=>{this.dispatch$.next({event:T,name:i,args:E})});break;case pe.Cloned:o.drake.on(T,(...E)=>{this.dispatch$.next({event:T,name:i,args:E})});break;case pe.DropModel:o.drake.on(T,(...E)=>{this.dispatch$.next({event:T,name:i,args:E})});break;case pe.RemoveModel:o.drake.on(T,(...E)=>{this.dispatch$.next({event:T,name:i,args:E})});break;default:break}};fa.forEach(u)}domIndexOf(o,i){if(i)return Array.prototype.indexOf.call(i.children,o)}};n.\u0275fac=function(i){return new(i||n)(qe(jt,8))},n.\u0275prov=nt({token:n,factory:n.\u0275fac,providedIn:"root"});let e=n;return e})(),Cm=(()=>{let n=class n{get container(){return this.el&&this.el.nativeElement}constructor(o,i){this.el=o,this.dragulaService=i,this.dragulaModelChange=new We}ngOnChanges(o){if(o&&o.dragula){let{previousValue:i,currentValue:l,firstChange:u}=o.dragula,T=!!i,E=!!l;T&&this.teardown(i),E&&this.setup()}else if(o&&o.dragulaModel){let{previousValue:i,currentValue:l,firstChange:u}=o.dragulaModel,T=this.group?.drake;if(this.dragula&&T){T.models=T.models||[];let E=T.models.indexOf(i);E!==-1?(T.models.splice(E,1),l&&T.models.splice(E,0,l)):l&&T.models.push(l)}}}setup(){let o=l=>{this.dragulaModel&&(l.drake?.models?l.drake?.models?.push(this.dragulaModel):l.drake&&(l.drake.models=[this.dragulaModel]))};if(!this.dragula)return;let i=this.dragulaService.find(this.dragula);if(!i){let l={};i=this.dragulaService.createGroup(this.dragula,l)}o(i),i.drake?.containers.push(this.container),this.subscribe(this.dragula),this.group=i}subscribe(o){this.subs=new Hi,this.subs.add(this.dragulaService.dropModel(o).subscribe(({source:i,target:l,sourceModel:u,targetModel:T})=>{i===this.el.nativeElement?this.dragulaModelChange.emit(u):l===this.el.nativeElement&&this.dragulaModelChange.emit(T)})),this.subs.add(this.dragulaService.removeModel(o).subscribe(({source:i,sourceModel:l})=>{i===this.el.nativeElement&&this.dragulaModelChange.emit(l)}))}teardown(o){this.subs&&this.subs.unsubscribe();let i=this.dragulaService.find(o);if(i){let l=i.drake?.containers.indexOf(this.el.nativeElement);if(l!==-1&&i.drake?.containers.splice(l,1),this.dragulaModel&&i.drake&&i.drake.models){let u=i.drake.models.indexOf(this.dragulaModel);u!==-1&&i.drake.models.splice(u,1)}}}ngOnDestroy(){this.dragula&&this.teardown(this.dragula)}};n.\u0275fac=function(i){return new(i||n)(ke(rt),ke(Gi))},n.\u0275dir=bt({type:n,selectors:[["","dragula",""]],inputs:{dragula:"dragula",dragulaModel:"dragulaModel"},outputs:{dragulaModelChange:"dragulaModelChange"},standalone:!1,features:[ot]});let e=n;return e})(),_m=(()=>{let n=class n{static forRoot(){return{ngModule:n,providers:[Gi]}}};n.\u0275fac=function(i){return new(i||n)},n.\u0275mod=St({type:n}),n.\u0275inj=xt({providers:[Gi]});let e=n;return e})(),xm=new jt((e,n)=>new ji(e,n)),ji=class{constructor(n=[],t={},o){this.containers=n,this.options=t,this.models=o,this.emitter$=new re,this.subs=new Hi,this.dragging=!1}on(n,t){this.subs.add(this.emitter$.pipe(Bt(({eventType:o})=>o===n)).subscribe(({eventType:o,args:i})=>{if(o===pe.Drag){let l=Array.from(i),u=l[0],T=l[1];t(u,T);return}if(o===pe.Drop){let l=Array.from(i),u=l[0],T=l[1],E=l[2],P=l[3];t(u,T,E,P);return}if(o===pe.Remove){let l=Array.from(i),u=l[0],T=l[1],E=l[2];t(u,T,E);return}t(i)}))}start(n){this.dragging=!0}end(){this.dragging=!1}cancel(n){this.dragging=!1}canMove(n){return this.options.accepts?this.options.accepts(n):!1}remove(){this.dragging=!1}destroy(){this.subs.unsubscribe()}emit(n,...t){this.emitter$.next({eventType:n,args:t})}};var $e=(()=>{class e{$settings=L(Ye);constructor(){}transform(t,o=this.$settings.env.temperatureUnits){return o==="f"?t*1.8+32:t}static \u0275fac=function(o){return new(o||e)};static \u0275pipe=di({name:"convertTemp",type:e,pure:!0})}return e})();function Ca(e,n){if(e&1&&c(0),e&2){let t=g().$implicit;y(" ",t.value,"% ")}}function _a(e,n){if(e&1&&(c(0),d(1,"convertTemp")),e&2){let t=g().$implicit;y(" ",p(1,1,t.value),"\xB0 ")}}function xa(e,n){if(e&1&&c(0),e&2){let t=g().$implicit;y(" ",t.value," ")}}function Sa(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),s(),a(3,"span",20),h(4,Ca,1,1)(5,_a,2,3)(6,xa,1,1),s()()),e&2){let t,o=n.$implicit;r(2),x(o.description),r(2),C((t=o.unit)==="percentage"?4:t==="celsius"?5:6)}}function ba(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),d(3,"translate"),s(),a(4,"span",20),c(5),s()()),e&2){let t=g(2);r(2),x(p(3,2,"child_bridge.config.platform")),r(3),x(t.matchedCachedAccessory.platform)}}function ya(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),d(3,"translate"),s(),a(4,"span",20),c(5),s()()),e&2){let t=g(2);r(2),x(p(3,2,"child_bridge.config.accessory")),r(3),x(t.matchedCachedAccessory.accessory)}}function Ta(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),d(3,"translate"),s(),a(4,"span",20),c(5),s()(),h(6,ba,6,4,"li",19),h(7,ya,6,4,"li",19)),e&2){let t=g();r(2),x(p(3,4,"accessories.plugin")),r(3),x(t.matchedCachedAccessory.plugin),r(),C(t.matchedCachedAccessory.platform?6:-1),r(),C(t.matchedCachedAccessory.accessory?7:-1)}}function Ma(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),s(),a(3,"span",20),c(4),s()()),e&2){let t=n.$implicit;r(2),x(t.key),r(2),x(t.value)}}function wa(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),d(3,"translate"),s(),a(4,"span",20),c(5),s()()),e&2){let t=g();r(2),x(p(3,2,"accessories.bridge_name")),r(3),x(t.matchedCachedAccessory.bridge)}}function ka(e,n){if(e&1){let t=z();a(0,"li",19)(1,"span",22),c(2,"UUID"),s(),a(3,"span",20),c(4),s()(),a(5,"li",27)(6,"span",11),c(7),d(8,"translate"),s(),a(9,"button",28),b("click",function(){O(t);let i=g();return N(i.removeSingleCachedAccessories())}),f(10,"i",29),s()()}if(e&2){let t=g();r(4),x(t.matchedCachedAccessory.UUID),r(3),x(p(8,2,"accessories.button_remove"))}}var Co=(()=>{class e{$activeModal=L(ce);$modal=L(ae);service;accessoryCache;pairingCache;accessoryInformation;matchedCachedAccessory=null;constructor(){}ngOnInit(){this.accessoryInformation=Object.entries(this.service.accessoryInformation).map(([t,o])=>({key:t,value:o})),this.matchedCachedAccessory=this.matchToCachedAccessory()}matchToCachedAccessory(){let t=this.service.instance.username,o=this.pairingCache.find(i=>i._username===t);if(o){let i=o._main?"cachedAccessories":`cachedAccessories.${o._id}`,l=this.accessoryCache.filter(u=>u.$cacheFile===i);if(l.length){let u=this.service.accessoryInformation.Name,T=this.service.accessoryInformation["Serial Number"],E=l.filter(P=>{let G=P.services.find(W=>W.constructorName==="AccessoryInformation"),Q=G.characteristics.find(W=>W.displayName==="Name"),Y=G.characteristics.find(W=>W.displayName==="Serial Number");return Q.value===u&&Y.value===T});if(E.length===1)return an(rn({},E[0]),{bridge:o.name})}}}removeSingleCachedAccessories(){this.$activeModal.close();let t=this.$modal.open(Ln,{size:"lg",backdrop:"static"});t.componentInstance.selectedBridge=this.service.instance.username.replaceAll(":","")}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["ng-component"]],inputs:{service:"service",accessoryCache:"accessoryCache",pairingCache:"pairingCache"},decls:95,vars:59,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"list-group","list-group-box","mb-3"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","text","id","form-name","autocomplete","off",1,"form-control","custom-input",3,"ngModelChange","ngModel"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","id","hide-accessory",1,"rendux-input",3,"ngModelChange","ngModel"],["for","hide-accessory",1,"rendux-label","ms-3"],["type","checkbox","id","show-on-dashboard",1,"rendux-input","mb-0",3,"ngModelChange","ngModel"],["for","show-on-dashboard",1,"rendux-label","ms-3"],[1,"list-group-item"],[1,"mb-0","text-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-left","flex-column","flex-md-row"],[1,"text-start","text-md-end","grey-text","font-monospace"],[1,"list-group","list-group-box","mb-0"],[1,"text-start","font-monospace"],[1,"modal-footer","justify-content-between"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"btn","btn-primary","m-0","ms-3",3,"click"],[1,"fas","fa-fw","fa-arrow-right"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),c(3),s(),a(4,"button",3),d(5,"translate"),b("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(6,"div",4)(7,"ul",5)(8,"li",6)(9,"label",7),c(10),d(11,"translate"),s(),a(12,"div",8)(13,"input",9),b("ngModelChange",function(u){return i.service.customName=u}),s()()(),a(14,"li",10)(15,"span",11),c(16),d(17,"translate"),s(),a(18,"div",12)(19,"input",13),d(20,"translate"),te("ngModelChange",function(u){return ee(i.service.hidden,u)||(i.service.hidden=u),u}),s(),f(21,"label",14),s()(),a(22,"li",10)(23,"span",11),c(24),d(25,"translate"),s(),a(26,"div",12)(27,"input",15),d(28,"translate"),te("ngModelChange",function(u){return ee(i.service.onDashboard,u)||(i.service.onDashboard=u),u}),s(),f(29,"label",16),s()()(),a(30,"ul",5)(31,"li",17)(32,"h6",18),c(33),d(34,"translate"),s()(),a(35,"li",19)(36,"span",11),c(37),d(38,"translate"),s(),a(39,"span",20),c(40),s()(),a(41,"li",19)(42,"span",11),c(43),d(44,"translate"),s(),a(45,"span",20),c(46),s()(),Lt(47,Sa,7,2,"li",19,Ht),s(),a(49,"ul",21)(50,"li",17)(51,"h6",18),c(52),d(53,"translate"),s()(),h(54,Ta,8,6),Lt(55,Ma,5,2,"li",19,Ht),a(57,"li",19)(58,"span",11),c(59),d(60,"translate"),s(),a(61,"span",20),c(62),s()(),h(63,wa,6,4,"li",19),a(64,"li",19)(65,"span",11),c(66),d(67,"translate"),s(),a(68,"span",20),c(69),s()(),a(70,"li",19)(71,"span",11),c(72),d(73,"translate"),s(),a(74,"span",20),c(75),s()(),a(76,"li",19)(77,"span",22),c(78,"aid"),s(),a(79,"span",20),c(80),s()(),a(81,"li",19)(82,"span",22),c(83,"iid"),s(),a(84,"span",20),c(85),s()(),h(86,ka,11,4),s()(),a(87,"div",23),f(88,"div",11),a(89,"div",24)(90,"button",25),d(91,"translate"),b("click",function(){return i.$activeModal.dismiss("Dismiss")}),c(92),d(93,"translate"),s()(),f(94,"div",26),s()()),o&2&&(r(3),x(i.service.customName||i.service.serviceName),r(),V("aria-label",p(5,29,"form.button_close")),r(6),x(p(11,31,"accessories.custom_name")),r(3),m("ngModel",i.service.customName||i.service.serviceName),r(3),x(p(17,33,"accessories.hide_this_accessory")),r(3),J("ngModel",i.service.hidden),V("aria-label",p(20,35,"accessories.hide_this_accessory")),r(5),x(p(25,37,"accessories.show_on_dashboard")),r(3),J("ngModel",i.service.onDashboard),V("aria-label",p(28,39,"accessories.show_on_dashboard")),r(6),x(p(34,41,"accessories.service_info")),r(4),x(p(38,43,"accessories.service")),r(3),x(i.service.humanType),r(3),x(p(44,45,"accessories.name")),r(3),x(i.service.serviceName),r(),Ot(i.service.serviceCharacteristics),r(5),x(p(53,47,"accessories.accessory_info")),r(2),C(i.matchedCachedAccessory?54:-1),r(),Ot(i.accessoryInformation),r(4),x(p(60,49,"accessories.bridge_username")),r(3),x(i.service.instance.username),r(),C(i.matchedCachedAccessory?63:-1),r(3),x(p(67,51,"accessories.bridge_ip")),r(3),x(i.service.instance.ipAddress),r(3),x(p(73,53,"accessories.bridge_port")),r(3),x(i.service.instance.port),r(5),x(i.service.aid),r(5),x(i.service.iid),r(),C(i.matchedCachedAccessory?86:-1),r(4),V("aria-label",p(91,55,"form.button_close")),r(2),y(" ",p(93,57,"form.button_close")," "))},dependencies:[le,In,En,ge,he,D,$e],encapsulation:2})}return e})();var _o=(()=>{class e{$api=L(An);$auth=L(Bn);$modal=L(ae);$toastr=L(Pn);$translate=L(Dn);$ws=L(Hn);layoutSaved=new re;accessoryData=new re;readyForControl=!1;accessoryLayout;accessories={services:[]};rooms=[];io;roomsOrdered=!1;hiddenTypes=["InputSource","LockManagement","CameraRTPStreamManagement","ProtocolInformation"];accessoryCache=[];pairingCache=[];constructor(){ai(this.$api.get("/server/cached-accessories")).then(t=>{this.accessoryCache=t}).catch(t=>console.error(t)),ai(this.$api.get("/server/pairings")).then(t=>{this.pairingCache=t}).catch(t=>console.error(t))}showAccessoryInformation(t){let o=this.$modal.open(Co,{size:"lg",backdrop:"static"});return o.componentInstance.service=t,o.componentInstance.accessoryCache=this.accessoryCache,o.componentInstance.pairingCache=this.pairingCache,o.result.then(()=>this.saveLayout()).catch(()=>this.saveLayout()),!1}stop(){this.io.end(),this.rooms=[],this.accessories={services:[]},this.roomsOrdered=!1,delete this.accessoryLayout}start(){return ri(this,null,function*(){this.readyForControl=!1,this.io=this.$ws.connectToNamespace("accessories"),yield this.loadLayout(),this.io.connected?(this.io.socket.emit("get-accessories"),setTimeout(()=>{this.io.connected.subscribe(()=>{this.io.socket.emit("get-accessories")})},1e3)):this.io.connected.subscribe(()=>{this.io.socket.emit("get-accessories")}),this.io.socket.on("accessories-data",t=>{this.parseServices(t),this.generateHelpers(),this.sortIntoRooms(),this.roomsOrdered||(this.orderRooms(),this.applyCustomAttributes(),this.roomsOrdered=!0),this.accessoryData.next(t)}),this.io.socket.on("accessories-reload-required",()=>ri(this,null,function*(){this.stop(),yield this.start()})),this.io.socket.on("accessory-control-failure",t=>{console.error(t),this.$toastr.error(t,this.$translate.instant("toast.title_error"))}),this.io.socket.on("accessories-ready-for-control",()=>{this.readyForControl=!0})})}saveLayout(){this.accessoryLayout=this.rooms.map(t=>({name:t.name,services:t.services.map(o=>({uniqueId:o.uniqueId,aid:o.aid,iid:o.iid,uuid:o.uuid,customName:o.customName||void 0,hidden:o.hidden||void 0,onDashboard:o.onDashboard||void 0}))})).filter(t=>t.services.length),this.io.request("save-layout",{user:this.$auth.user.username,layout:this.accessoryLayout}).subscribe({next:()=>this.layoutSaved.next(void 0),error:t=>{console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}loadLayout(){return ri(this,null,function*(){this.accessoryLayout=yield ai(this.io.request("get-layout",{user:this.$auth.user.username})),this.rooms=this.accessoryLayout.map(t=>({name:t.name,services:[]}))})}parseServices(t){if(!this.accessories.services.length){this.accessories.services=t;return}t.forEach(o=>{let i=this.accessories.services.find(l=>l.uniqueId===o.uniqueId);o.type==="LockMechanism"&&this.attachLockManagementToMechanism(o),i?Object.assign(i,o):this.accessories.services.push(o)})}sortIntoRooms(){this.accessories.services.forEach(t=>{if(this.hiddenTypes.includes(t.type))return;if(t.linked&&(t.linkedServices={},t.linked.forEach(i=>{t.linkedServices[i]=this.accessories.services.find(l=>l.aid===t.aid&&l.iid===i&&l.instance.username===t.instance.username)})),!this.rooms.find(i=>i.services.find(l=>l.uniqueId===t.uniqueId))){let i=this.accessoryLayout.find(l=>l.services.find(u=>u.uniqueId===t.uniqueId));if(i)this.rooms.find(l=>l.name===i.name).services.push(t);else{let l=this.rooms.find(u=>u.name==="Default Room");l?l.services.push(t):this.rooms.push({name:"Default Room",services:[t]})}}})}orderRooms(){this.rooms.forEach(t=>{let o=this.accessoryLayout.find(i=>i.name===t.name);t.services.sort((i,l)=>{let u=o.services.findIndex(E=>E.uniqueId===i.uniqueId),T=o.services.findIndex(E=>E.uniqueId===l.uniqueId);return u<T?-1:u>T?1:0})})}applyCustomAttributes(){this.rooms.forEach(t=>{let o=this.accessoryLayout.find(i=>i.name===t.name);t.services.forEach(i=>{let l=o.services.find(u=>u.uniqueId===i.uniqueId);Object.assign(i,l)})})}generateHelpers(){this.accessories.services.forEach(t=>{t.getCharacteristic||(t.getCharacteristic=o=>{let i=t.serviceCharacteristics.find(l=>l.type===o);return i?(i.setValue=l=>new Promise(u=>(this.readyForControl||u(void 0),this.io.socket.emit("accessory-control",{set:{uniqueId:t.uniqueId,aid:t.aid,siid:t.iid,iid:i.iid,value:l}}),u(void 0))),i):null})})}attachLockManagementToMechanism(t){let o=[],i=[];for(let l of this.accessories.services)l.type==="LockMechanism"&&l.accessoryInformation.Name===t.accessoryInformation.Name&&l.accessoryInformation["Serial Number"]===t.accessoryInformation["Serial Number"]?o.push(l):l.type==="LockManagement"&&l.accessoryInformation.Name===t.accessoryInformation.Name&&l.accessoryInformation["Serial Number"]===t.accessoryInformation["Serial Number"]&&i.push(l);if(o.length===1&&i.length===1){let l=i[0];t.linkedServices||(t.linkedServices={}),t.linkedServices[l.iid]=l}}static \u0275fac=function(o){return new(o||e)};static \u0275prov=nt({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var vt=function(){function e(){}return e}();var gi=function(){function e(n){this._ranScripts={},this._renderer=n.createRenderer(null,null)}return e.prototype.insertEl=function(n,t,o,i,l){if(i&&!l){var u=n._prevSVG&&n._prevSVG.parentNode;u&&this._renderer.removeChild(u,n._prevSVG),t.innerHTML=""}l?this._renderer.insertBefore(t,o,t.firstChild):this._renderer.appendChild(t,o),o.nodeName==="svg"&&(n._prevSVG=o)},e.prototype.evalScripts=function(n,t,o){for(var i=n.querySelectorAll("script"),l=[],u=0;u<i.length;u++){var T=i[u].getAttribute("type");if(!T||T==="application/ecmascript"||T==="application/javascript"){var E=i[u].innerText||i[u].textContent;l.push(E),this._renderer.removeChild(i[u].parentNode,i[u])}}if(l.length>0&&(o==="always"||o==="once"&&!this._ranScripts[t])){for(var u=0;u<l.length;u++)new Function(l[u])(window);this._ranScripts[t]=!0}},e.\u0275fac=function(t){return new(t||e)(qe(li))},e.\u0275prov=nt({token:e,factory:e.\u0275fac,providedIn:"root"}),e}();var Ui=function(){function e(n,t){this._inlineSVGService=n,this._el=t}return e.prototype.ngAfterViewInit=function(){this._updateContent()},e.prototype.ngOnChanges=function(n){n.content&&this._updateContent()},e.prototype._updateContent=function(){this._inlineSVGService.insertEl(this.context,this._el.nativeElement,this.content,this.replaceContents,this.prepend)},e.\u0275fac=function(t){return new(t||e)(ke(gi),ke(rt))},e.\u0275cmp=w({type:e,selectors:[["inline-svg"]],inputs:{context:"context",content:"content",replaceContents:"replaceContents",prepend:"prepend"},features:[ot],decls:0,vars:0,template:function(t,o){},encapsulation:2,changeDetection:0}),e}();var Wt=function(){function e(n,t,o,i,l,u){this._appBase=n,this._location=t,this._config=o,this._http=o&&!o.bypassHttpClientInterceptorChain?i:new vi(l),this._renderer=u.createRenderer(null,null),this.setBaseUrl(),e._cache||(e._cache=new Map),e._inProgressReqs||(e._inProgressReqs=new Map)}return e.prototype.getSVG=function(n,t,o){var i=this;o===void 0&&(o=!0);var l=(t?this.getAbsoluteUrl(n):n).replace(/#.+$/,"");if(o&&e._cache.has(l))return ln(this._cloneSVG(e._cache.get(l)));if(e._inProgressReqs.has(l))return e._inProgressReqs.get(l);var u=this._http.get(l,{responseType:"text"}).pipe(vn(function(){e._inProgressReqs.delete(l)}),pn(function(T){return e._inProgressReqs.delete(l),cn(T.message)}),un(),si(function(T){var E=i._svgElementFromString(T);return e._cache.set(l,E),i._cloneSVG(E)}));return e._inProgressReqs.set(l,u),u},e.prototype.setBaseUrl=function(){this._config?this._baseUrl=this._config.baseUrl:this._appBase!==null?this._baseUrl=this._appBase:this._location!==null&&(this._baseUrl=this._location.getBaseHrefFromDOM())},e.prototype.getAbsoluteUrl=function(n){this._baseUrl&&!/^https?:\/\//i.test(n)&&(n=this._baseUrl+n,n.indexOf("//")===0&&(n=n.substring(1)));var t=this._renderer.createElement("BASE");return t.href=n,t.href},e.prototype._svgElementFromString=function(n){var t=this._renderer.createElement("DIV");t.innerHTML=n;var o=t.querySelector("svg");if(!o)throw new Error("No SVG found in loaded contents");return o},e.prototype._cloneSVG=function(n){return n.cloneNode(!0)},e.\u0275fac=function(t){return new(t||e)(qe(wn,8),qe(Mn,8),qe(vt,8),qe(vi),qe(kn),qe(li))},e.\u0275prov=nt({token:e,factory:e.\u0275fac,providedIn:"root"}),e}();function bo(e){return e.charAt(0)==="#"||e.indexOf(".svg#")>-1}function yo(){return typeof SVGRect<"u"}function To(e,n,t){var o=n.querySelector('[id="'.concat(t,'"]'));if(!o)throw new Error('Symbol "'.concat(t,'" not found'));var i=e.createElement("svg","svg");e.appendChild(i,o);var l=e.createElement("use","svg");return e.setAttribute(l,"href","#".concat(t),"xlink"),e.appendChild(i,l),i}function $i(e,n){for(var t=0;t<n.length;t++){var o=e.getAttribute(n[t]);o&&e.removeAttribute(n[t])}for(var i=e.getElementsByTagName("*"),t=0;t<i.length;t++)$i(i[t],n)}function Mo(e,n){for(var t in n)e.setAttribute(t,n[t])}var q=function(){function e(n,t,o,i,l,u,T,E){this._el=n,this._viewContainerRef=t,this._resolver=o,this._svgCache=i,this._renderer=l,this._inlineSVGService=u,this._config=T,this.platformId=E,this.resolveSVGUrl=!0,this.replaceContents=!0,this.prepend=!1,this.injectComponent=!1,this.cacheSVG=!0,this.forceEvalStyles=!1,this.evalScripts="always",this.onSVGInserted=new We,this.onSVGFailed=new We,this._supportsSVG=yo(),!Nt(this.platformId)&&!this._supportsSVG&&this._fail("Embed SVG are not supported by this browser")}return e.prototype.ngOnInit=function(){!this._isValidPlatform()||this._isSSRDisabled()||this._insertSVG()},e.prototype.ngOnChanges=function(n){if(!(!this._isValidPlatform()||this._isSSRDisabled())){var t=!!n.setSVGAttributes;(n.inlineSVG||t)&&this._insertSVG(t)}},e.prototype.ngOnDestroy=function(){this._subscription&&this._subscription.unsubscribe()},e.prototype._insertSVG=function(n){var t=this;if(n===void 0&&(n=!1),!(!Nt(this.platformId)&&!this._supportsSVG)){if(!this.inlineSVG){this._fail("No URL passed to [inlineSVG]");return}!n&&this.inlineSVG===this._prevUrl||(this._prevUrl=this.inlineSVG,this._subscription=this._svgCache.getSVG(this.inlineSVG,this.resolveSVGUrl,this.cacheSVG).subscribe(function(o){if(bo(t.inlineSVG)){var i=t.inlineSVG.split("#")[1];o=To(t._renderer,o,i)}t._processSvg(o)},function(o){t._fail(o)}))}},e.prototype._processSvg=function(n){if(n){if(this.removeSVGAttributes&&ui(this.platformId)&&$i(n,this.removeSVGAttributes),this.setSVGAttributes&&Mo(n,this.setSVGAttributes),this.onSVGLoaded&&(n=this.onSVGLoaded(n,this._el.nativeElement)),this._insertEl(n),ui(this.platformId)&&this._inlineSVGService.evalScripts(n,this.inlineSVG,this.evalScripts),this.forceEvalStyles){var t=n.querySelectorAll("style");Array.from(t).forEach(function(o){return o.textContent+=""})}this.onSVGInserted.emit(n)}},e.prototype._insertEl=function(n){if(this.injectComponent){if(!this._svgComp){var t=this._resolver.resolveComponentFactory(Ui);this._svgComp=this._viewContainerRef.createComponent(t)}this._svgComp.instance.context=this,this._svgComp.instance.replaceContents=this.replaceContents,this._svgComp.instance.prepend=this.prepend,this._svgComp.instance.content=n,this._renderer.appendChild(this._el.nativeElement,this._svgComp.injector.get(Ui)._el.nativeElement)}else this._inlineSVGService.insertEl(this,this._el.nativeElement,n,this.replaceContents,this.prepend)},e.prototype._fail=function(n){if(this.onSVGFailed.emit(n),this.fallbackImgUrl){var t=this._renderer.createElement("IMG");this._renderer.setAttribute(t,"src",this.fallbackImgUrl),this._insertEl(t)}else this.fallbackSVG&&this.fallbackSVG!==this.inlineSVG&&(this.inlineSVG=this.fallbackSVG,this._insertSVG())},e.prototype._isValidPlatform=function(){return Nt(this.platformId)||ui(this.platformId)},e.prototype._isSSRDisabled=function(){return Nt(this.platformId)&&this._config&&this._config.clientOnly},e.\u0275fac=function(t){return new(t||e)(ke(rt),ke(Cn),ke(hn),ke(Wt),ke(ci),ke(gi),ke(vt,8),ke(gn))},e.\u0275dir=bt({type:e,selectors:[["","inlineSVG",""]],inputs:{inlineSVG:"inlineSVG",resolveSVGUrl:"resolveSVGUrl",replaceContents:"replaceContents",prepend:"prepend",injectComponent:"injectComponent",cacheSVG:"cacheSVG",setSVGAttributes:"setSVGAttributes",removeSVGAttributes:"removeSVGAttributes",forceEvalStyles:"forceEvalStyles",evalScripts:"evalScripts",fallbackImgUrl:"fallbackImgUrl",fallbackSVG:"fallbackSVG",onSVGLoaded:"onSVGLoaded"},outputs:{onSVGInserted:"onSVGInserted",onSVGFailed:"onSVGFailed"},features:[mi([Wt]),ot]}),e}();var K=function(){function e(){}return e.forRoot=function(n){return{ngModule:e,providers:[{provide:vt,useValue:n}]}},e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=St({type:e}),e.\u0275inj=xt({}),e}();var ft=function(e){return e.Range="range",e.Steps="steps",e.Positions="positions",e.Count="count",e.Values="values",e}(ft||{}),Ne=function(e){return e[e.None=-1]="None",e[e.NoValue=0]="NoValue",e[e.LargeValue=1]="LargeValue",e[e.SmallValue=2]="SmallValue",e}(Ne||{});function Ia(e){return Ci(e)&&typeof e.from=="function"}function Ci(e){return typeof e=="object"&&typeof e.to=="function"}function wo(e){e.parentElement.removeChild(e)}function zi(e){return e!=null}function ko(e){e.preventDefault()}function Da(e){return e.filter(function(n){return this[n]?!1:this[n]=!0},{})}function Pa(e,n){return Math.round(e/n)*n}function Aa(e,n){var t=e.getBoundingClientRect(),o=e.ownerDocument,i=o.documentElement,l=Do(o);return/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(l.x=0),n?t.top+l.y-i.clientTop:t.left+l.x-i.clientLeft}function Ke(e){return typeof e=="number"&&!isNaN(e)&&isFinite(e)}function Vo(e,n,t){t>0&&(Be(e,n),setTimeout(function(){hi(e,n)},t))}function Eo(e){return Math.max(Math.min(e,100),0)}function _i(e){return Array.isArray(e)?e:[e]}function Ba(e){e=String(e);var n=e.split(".");return n.length>1?n[1].length:0}function Be(e,n){e.classList&&!/\s/.test(n)?e.classList.add(n):e.className+=" "+n}function hi(e,n){e.classList&&!/\s/.test(n)?e.classList.remove(n):e.className=e.className.replace(new RegExp("(^|\\b)"+n.split(" ").join("|")+"(\\b|$)","gi")," ")}function Ha(e,n){return e.classList?e.classList.contains(n):new RegExp("\\b"+n+"\\b").test(e.className)}function Do(e){var n=window.pageXOffset!==void 0,t=(e.compatMode||"")==="CSS1Compat",o=n?window.pageXOffset:t?e.documentElement.scrollLeft:e.body.scrollLeft,i=n?window.pageYOffset:t?e.documentElement.scrollTop:e.body.scrollTop;return{x:o,y:i}}function La(){return window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"}}function Oa(){var e=!1;try{var n=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,n)}catch{}return e}function Na(){return window.CSS&&CSS.supports&&CSS.supports("touch-action","none")}function Ki(e,n){return 100/(n-e)}function qi(e,n,t){return n*100/(e[t+1]-e[t])}function Fa(e,n){return qi(e,e[0]<0?n+Math.abs(e[0]):n-e[0],0)}function Ra(e,n){return n*(e[1]-e[0])/100+e[0]}function Ut(e,n){for(var t=1;e>=n[t];)t+=1;return t}function Ga(e,n,t){if(t>=e.slice(-1)[0])return 100;var o=Ut(t,e),i=e[o-1],l=e[o],u=n[o-1],T=n[o];return u+Fa([i,l],t)/Ki(u,T)}function ja(e,n,t){if(t>=100)return e.slice(-1)[0];var o=Ut(t,n),i=e[o-1],l=e[o],u=n[o-1],T=n[o];return Ra([i,l],(t-u)*Ki(u,T))}function Wa(e,n,t,o){if(o===100)return o;var i=Ut(o,e),l=e[i-1],u=e[i];return t?o-l>(u-l)/2?u:l:n[i-1]?e[i-1]+Pa(o-e[i-1],n[i-1]):o}var Ua=function(){function e(n,t,o){this.xPct=[],this.xVal=[],this.xSteps=[],this.xNumSteps=[],this.xHighestCompleteStep=[],this.xSteps=[o||!1],this.xNumSteps=[!1],this.snap=t;var i,l=[];for(Object.keys(n).forEach(function(u){l.push([_i(n[u]),u])}),l.sort(function(u,T){return u[0][0]-T[0][0]}),i=0;i<l.length;i++)this.handleEntryPoint(l[i][1],l[i][0]);for(this.xNumSteps=this.xSteps.slice(0),i=0;i<this.xNumSteps.length;i++)this.handleStepPoint(i,this.xNumSteps[i])}return e.prototype.getDistance=function(n){for(var t=[],o=0;o<this.xNumSteps.length-1;o++)t[o]=qi(this.xVal,n,o);return t},e.prototype.getAbsoluteDistance=function(n,t,o){var i=0;if(n<this.xPct[this.xPct.length-1])for(;n>this.xPct[i+1];)i++;else n===this.xPct[this.xPct.length-1]&&(i=this.xPct.length-2);!o&&n===this.xPct[i+1]&&i++,t===null&&(t=[]);var l,u=1,T=t[i],E=0,P=0,G=0,Q=0;for(o?l=(n-this.xPct[i])/(this.xPct[i+1]-this.xPct[i]):l=(this.xPct[i+1]-n)/(this.xPct[i+1]-this.xPct[i]);T>0;)E=this.xPct[i+1+Q]-this.xPct[i+Q],t[i+Q]*u+100-l*100>100?(P=E*l,u=(T-100*l)/t[i+Q],l=1):(P=t[i+Q]*E/100*u,u=0),o?(G=G-P,this.xPct.length+Q>=1&&Q--):(G=G+P,this.xPct.length-Q>=1&&Q++),T=t[i+Q]*u;return n+G},e.prototype.toStepping=function(n){return n=Ga(this.xVal,this.xPct,n),n},e.prototype.fromStepping=function(n){return ja(this.xVal,this.xPct,n)},e.prototype.getStep=function(n){return n=Wa(this.xPct,this.xSteps,this.snap,n),n},e.prototype.getDefaultStep=function(n,t,o){var i=Ut(n,this.xPct);return(n===100||t&&n===this.xPct[i-1])&&(i=Math.max(i-1,1)),(this.xVal[i]-this.xVal[i-1])/o},e.prototype.getNearbySteps=function(n){var t=Ut(n,this.xPct);return{stepBefore:{startValue:this.xVal[t-2],step:this.xNumSteps[t-2],highestStep:this.xHighestCompleteStep[t-2]},thisStep:{startValue:this.xVal[t-1],step:this.xNumSteps[t-1],highestStep:this.xHighestCompleteStep[t-1]},stepAfter:{startValue:this.xVal[t],step:this.xNumSteps[t],highestStep:this.xHighestCompleteStep[t]}}},e.prototype.countStepDecimals=function(){var n=this.xNumSteps.map(Ba);return Math.max.apply(null,n)},e.prototype.hasNoSize=function(){return this.xVal[0]===this.xVal[this.xVal.length-1]},e.prototype.convert=function(n){return this.getStep(this.toStepping(n))},e.prototype.handleEntryPoint=function(n,t){var o;if(n==="min"?o=0:n==="max"?o=100:o=parseFloat(n),!Ke(o)||!Ke(t[0]))throw new Error("noUiSlider: 'range' value isn't numeric.");this.xPct.push(o),this.xVal.push(t[0]);var i=Number(t[1]);o?this.xSteps.push(isNaN(i)?!1:i):isNaN(i)||(this.xSteps[0]=i),this.xHighestCompleteStep.push(0)},e.prototype.handleStepPoint=function(n,t){if(t){if(this.xVal[n]===this.xVal[n+1]){this.xSteps[n]=this.xHighestCompleteStep[n]=this.xVal[n];return}this.xSteps[n]=qi([this.xVal[n],this.xVal[n+1]],t,0)/Ki(this.xPct[n],this.xPct[n+1]);var o=(this.xVal[n+1]-this.xVal[n])/this.xNumSteps[n],i=Math.ceil(Number(o.toFixed(3))-1),l=this.xVal[n]+this.xNumSteps[n]*i;this.xHighestCompleteStep[n]=l}},e}(),Io={to:function(e){return e===void 0?"":e.toFixed(2)},from:Number},$a={target:"target",base:"base",origin:"origin",handle:"handle",handleLower:"handle-lower",handleUpper:"handle-upper",touchArea:"touch-area",horizontal:"horizontal",vertical:"vertical",background:"background",connect:"connect",connects:"connects",ltr:"ltr",rtl:"rtl",textDirectionLtr:"txt-dir-ltr",textDirectionRtl:"txt-dir-rtl",draggable:"draggable",drag:"state-drag",tap:"state-tap",active:"active",tooltip:"tooltip",pips:"pips",pipsHorizontal:"pips-horizontal",pipsVertical:"pips-vertical",marker:"marker",markerHorizontal:"marker-horizontal",markerVertical:"marker-vertical",markerNormal:"marker-normal",markerLarge:"marker-large",markerSub:"marker-sub",value:"value",valueHorizontal:"value-horizontal",valueVertical:"value-vertical",valueNormal:"value-normal",valueLarge:"value-large",valueSub:"value-sub"},ct={tooltips:".__tooltips",aria:".__aria"};function za(e,n){if(!Ke(n))throw new Error("noUiSlider: 'step' is not numeric.");e.singleStep=n}function qa(e,n){if(!Ke(n))throw new Error("noUiSlider: 'keyboardPageMultiplier' is not numeric.");e.keyboardPageMultiplier=n}function Ka(e,n){if(!Ke(n))throw new Error("noUiSlider: 'keyboardMultiplier' is not numeric.");e.keyboardMultiplier=n}function Xa(e,n){if(!Ke(n))throw new Error("noUiSlider: 'keyboardDefaultStep' is not numeric.");e.keyboardDefaultStep=n}function Ya(e,n){if(typeof n!="object"||Array.isArray(n))throw new Error("noUiSlider: 'range' is not an object.");if(n.min===void 0||n.max===void 0)throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'.");e.spectrum=new Ua(n,e.snap||!1,e.singleStep)}function Za(e,n){if(n=_i(n),!Array.isArray(n)||!n.length)throw new Error("noUiSlider: 'start' option is incorrect.");e.handles=n.length,e.start=n}function Qa(e,n){if(typeof n!="boolean")throw new Error("noUiSlider: 'snap' option must be a boolean.");e.snap=n}function Ja(e,n){if(typeof n!="boolean")throw new Error("noUiSlider: 'animate' option must be a boolean.");e.animate=n}function es(e,n){if(typeof n!="number")throw new Error("noUiSlider: 'animationDuration' option must be a number.");e.animationDuration=n}function Po(e,n){var t=[!1],o;if(n==="lower"?n=[!0,!1]:n==="upper"&&(n=[!1,!0]),n===!0||n===!1){for(o=1;o<e.handles;o++)t.push(n);t.push(!1)}else{if(!Array.isArray(n)||!n.length||n.length!==e.handles+1)throw new Error("noUiSlider: 'connect' option doesn't match handle count.");t=n}e.connect=t}function ts(e,n){switch(n){case"horizontal":e.ort=0;break;case"vertical":e.ort=1;break;default:throw new Error("noUiSlider: 'orientation' option is invalid.")}}function Ao(e,n){if(!Ke(n))throw new Error("noUiSlider: 'margin' option must be numeric.");n!==0&&(e.margin=e.spectrum.getDistance(n))}function is(e,n){if(!Ke(n))throw new Error("noUiSlider: 'limit' option must be numeric.");if(e.limit=e.spectrum.getDistance(n),!e.limit||e.handles<2)throw new Error("noUiSlider: 'limit' option is only supported on linear sliders with 2 or more handles.")}function ns(e,n){var t;if(!Ke(n)&&!Array.isArray(n))throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");if(Array.isArray(n)&&!(n.length===2||Ke(n[0])||Ke(n[1])))throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");if(n!==0){for(Array.isArray(n)||(n=[n,n]),e.padding=[e.spectrum.getDistance(n[0]),e.spectrum.getDistance(n[1])],t=0;t<e.spectrum.xNumSteps.length-1;t++)if(e.padding[0][t]<0||e.padding[1][t]<0)throw new Error("noUiSlider: 'padding' option must be a positive number(s).");var o=n[0]+n[1],i=e.spectrum.xVal[0],l=e.spectrum.xVal[e.spectrum.xVal.length-1];if(o/(l-i)>1)throw new Error("noUiSlider: 'padding' option must not exceed 100% of the range.")}}function os(e,n){switch(n){case"ltr":e.dir=0;break;case"rtl":e.dir=1;break;default:throw new Error("noUiSlider: 'direction' option was not recognized.")}}function rs(e,n){if(typeof n!="string")throw new Error("noUiSlider: 'behaviour' must be a string containing options.");var t=n.indexOf("tap")>=0,o=n.indexOf("drag")>=0,i=n.indexOf("fixed")>=0,l=n.indexOf("snap")>=0,u=n.indexOf("hover")>=0,T=n.indexOf("unconstrained")>=0,E=n.indexOf("invert-connects")>=0,P=n.indexOf("drag-all")>=0,G=n.indexOf("smooth-steps")>=0;if(i){if(e.handles!==2)throw new Error("noUiSlider: 'fixed' behaviour must be used with 2 handles");Ao(e,e.start[1]-e.start[0])}if(E&&e.handles!==2)throw new Error("noUiSlider: 'invert-connects' behaviour must be used with 2 handles");if(T&&(e.margin||e.limit))throw new Error("noUiSlider: 'unconstrained' behaviour cannot be used with margin or limit");e.events={tap:t||l,drag:o,dragAll:P,smoothSteps:G,fixed:i,snap:l,hover:u,unconstrained:T,invertConnects:E}}function as(e,n){if(n!==!1)if(n===!0||Ci(n)){e.tooltips=[];for(var t=0;t<e.handles;t++)e.tooltips.push(n)}else{if(n=_i(n),n.length!==e.handles)throw new Error("noUiSlider: must pass a formatter for all handles.");n.forEach(function(o){if(typeof o!="boolean"&&!Ci(o))throw new Error("noUiSlider: 'tooltips' must be passed a formatter or 'false'.")}),e.tooltips=n}}function ss(e,n){if(n.length!==e.handles)throw new Error("noUiSlider: must pass a attributes for all handles.");e.handleAttributes=n}function ls(e,n){if(!Ci(n))throw new Error("noUiSlider: 'ariaFormat' requires 'to' method.");e.ariaFormat=n}function cs(e,n){if(!Ia(n))throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods.");e.format=n}function ds(e,n){if(typeof n!="boolean")throw new Error("noUiSlider: 'keyboardSupport' option must be a boolean.");e.keyboardSupport=n}function ps(e,n){e.documentElement=n}function ms(e,n){if(typeof n!="string"&&n!==!1)throw new Error("noUiSlider: 'cssPrefix' must be a string or `false`.");e.cssPrefix=n}function us(e,n){if(typeof n!="object")throw new Error("noUiSlider: 'cssClasses' must be an object.");typeof e.cssPrefix=="string"?(e.cssClasses={},Object.keys(n).forEach(function(t){e.cssClasses[t]=e.cssPrefix+n[t]})):e.cssClasses=n}function Bo(e){var n={margin:null,limit:null,padding:null,animate:!0,animationDuration:300,ariaFormat:Io,format:Io},t={step:{r:!1,t:za},keyboardPageMultiplier:{r:!1,t:qa},keyboardMultiplier:{r:!1,t:Ka},keyboardDefaultStep:{r:!1,t:Xa},start:{r:!0,t:Za},connect:{r:!0,t:Po},direction:{r:!0,t:os},snap:{r:!1,t:Qa},animate:{r:!1,t:Ja},animationDuration:{r:!1,t:es},range:{r:!0,t:Ya},orientation:{r:!1,t:ts},margin:{r:!1,t:Ao},limit:{r:!1,t:is},padding:{r:!1,t:ns},behaviour:{r:!0,t:rs},ariaFormat:{r:!1,t:ls},format:{r:!1,t:cs},tooltips:{r:!1,t:as},keyboardSupport:{r:!0,t:ds},documentElement:{r:!1,t:ps},cssPrefix:{r:!0,t:ms},cssClasses:{r:!0,t:us},handleAttributes:{r:!1,t:ss}},o={connect:!1,direction:"ltr",behaviour:"tap",orientation:"horizontal",keyboardSupport:!0,cssPrefix:"noUi-",cssClasses:$a,keyboardPageMultiplier:5,keyboardMultiplier:1,keyboardDefaultStep:10};e.format&&!e.ariaFormat&&(e.ariaFormat=e.format),Object.keys(t).forEach(function(E){if(!zi(e[E])&&o[E]===void 0){if(t[E].r)throw new Error("noUiSlider: '"+E+"' is required.");return}t[E].t(n,zi(e[E])?e[E]:o[E])}),n.pips=e.pips;var i=document.createElement("div"),l=i.style.msTransform!==void 0,u=i.style.transform!==void 0;n.transformRule=u?"transform":l?"msTransform":"webkitTransform";var T=[["left","top"],["right","bottom"]];return n.style=T[n.dir][n.ort],n}function vs(e,n,t){var o=La(),i=Na(),l=i&&Oa(),u=e,T,E,P,G,Q,Y,W=n.spectrum,Se=[],ne=[],F=[],fe=0,Fe={},tt=!1,Xe=e.ownerDocument,dt=n.documentElement||Xe.documentElement,gt=Xe.body,qt=Xe.dir==="rtl"||n.ort===1?0:100;function ze(v,_){var S=Xe.createElement("div");return _&&Be(S,_),v.appendChild(S),S}function wi(v,_){var S=ze(v,n.cssClasses.origin),k=ze(S,n.cssClasses.handle);if(ze(k,n.cssClasses.touchArea),k.setAttribute("data-handle",String(_)),n.keyboardSupport&&(k.setAttribute("tabindex","0"),k.addEventListener("keydown",function(B){return it(B,_)})),n.handleAttributes!==void 0){var A=n.handleAttributes[_];Object.keys(A).forEach(function(B){k.setAttribute(B,A[B])})}return k.setAttribute("role","slider"),k.setAttribute("aria-orientation",n.ort?"vertical":"horizontal"),_===0?Be(k,n.cssClasses.handleLower):_===n.handles-1&&Be(k,n.cssClasses.handleUpper),S.handle=k,S}function pt(v,_){return _?ze(v,n.cssClasses.connect):!1}function ki(v,_){E=ze(_,n.cssClasses.connects),P=[],G=[],G.push(pt(E,v[0]));for(var S=0;S<n.handles;S++)P.push(wi(_,S)),F[S]=S,G.push(pt(E,v[S+1]))}function Vi(v){Be(v,n.cssClasses.target),n.dir===0?Be(v,n.cssClasses.ltr):Be(v,n.cssClasses.rtl),n.ort===0?Be(v,n.cssClasses.horizontal):Be(v,n.cssClasses.vertical);var _=getComputedStyle(v).direction;return _==="rtl"?Be(v,n.cssClasses.textDirectionRtl):Be(v,n.cssClasses.textDirectionLtr),ze(v,n.cssClasses.base)}function Kt(v,_){return!n.tooltips||!n.tooltips[_]?!1:ze(v.firstChild,n.cssClasses.tooltip)}function Xt(){return u.hasAttribute("disabled")}function ht(v){var _=P[v];return _.hasAttribute("disabled")}function Yt(v){v!=null?(P[v].setAttribute("disabled",""),P[v].handle.removeAttribute("tabindex")):(u.setAttribute("disabled",""),P.forEach(function(_){_.handle.removeAttribute("tabindex")}))}function Mt(v){v!=null?(P[v].removeAttribute("disabled"),P[v].handle.setAttribute("tabindex","0")):(u.removeAttribute("disabled"),P.forEach(function(_){_.removeAttribute("disabled"),_.handle.setAttribute("tabindex","0")}))}function Ct(){Y&&(Ee("update"+ct.tooltips),Y.forEach(function(v){v&&wo(v)}),Y=null)}function wt(){Ct(),Y=P.map(Kt),je("update"+ct.tooltips,function(v,_,S){if(!(!Y||!n.tooltips)&&Y[_]!==!1){var k=v[_];n.tooltips[_]!==!0&&(k=n.tooltips[_].to(S[_])),Y[_].innerHTML=k}})}function Zt(){Ee("update"+ct.aria),je("update"+ct.aria,function(v,_,S,k,A){F.forEach(function(B){var $=P[B],R=Re(ne,B,0,!0,!0,!0),Ce=Re(ne,B,100,!0,!0,!0),_e=A[B],ye=String(n.ariaFormat.to(S[B]));R=W.fromStepping(R).toFixed(1),Ce=W.fromStepping(Ce).toFixed(1),_e=W.fromStepping(_e).toFixed(1),$.children[0].setAttribute("aria-valuemin",R),$.children[0].setAttribute("aria-valuemax",Ce),$.children[0].setAttribute("aria-valuenow",_e),$.children[0].setAttribute("aria-valuetext",ye)})})}function kt(v){if(v.mode===ft.Range||v.mode===ft.Steps)return W.xVal;if(v.mode===ft.Count){if(v.values<2)throw new Error("noUiSlider: 'values' (>= 2) required for mode 'count'.");for(var _=v.values-1,S=100/_,k=[];_--;)k[_]=_*S;return k.push(100),_t(k,v.stepped)}return v.mode===ft.Positions?_t(v.values,v.stepped):v.mode===ft.Values?v.stepped?v.values.map(function(A){return W.fromStepping(W.getStep(W.toStepping(A)))}):v.values:[]}function _t(v,_){return v.map(function(S){return W.fromStepping(_?W.getStep(S):S)})}function Qt(v){function _(_e,ye){return Number((_e+ye).toFixed(7))}var S=kt(v),k={},A=W.xVal[0],B=W.xVal[W.xVal.length-1],$=!1,R=!1,Ce=0;return S=Da(S.slice().sort(function(_e,ye){return _e-ye})),S[0]!==A&&(S.unshift(A),$=!0),S[S.length-1]!==B&&(S.push(B),R=!0),S.forEach(function(_e,ye){var Te,de,we,Ae=_e,Ie=S[ye+1],De,Di,Pi,Ai,tn,Bi,nn,on=v.mode===ft.Steps;for(on&&(Te=W.xNumSteps[ye]),Te||(Te=Ie-Ae),Ie===void 0&&(Ie=Ae),Te=Math.max(Te,1e-7),de=Ae;de<=Ie;de=_(de,Te)){for(De=W.toStepping(de),Di=De-Ce,tn=Di/(v.density||1),Bi=Math.round(tn),nn=Di/Bi,we=1;we<=Bi;we+=1)Pi=Ce+we*nn,k[Pi.toFixed(5)]=[W.fromStepping(Pi),0];Ai=S.indexOf(de)>-1?Ne.LargeValue:on?Ne.SmallValue:Ne.NoValue,!ye&&$&&de!==Ie&&(Ai=0),de===Ie&&R||(k[De.toFixed(5)]=[de,Ai]),Ce=De}}),k}function Vt(v,_,S){var k,A,B=Xe.createElement("div"),$=(k={},k[Ne.None]="",k[Ne.NoValue]=n.cssClasses.valueNormal,k[Ne.LargeValue]=n.cssClasses.valueLarge,k[Ne.SmallValue]=n.cssClasses.valueSub,k),R=(A={},A[Ne.None]="",A[Ne.NoValue]=n.cssClasses.markerNormal,A[Ne.LargeValue]=n.cssClasses.markerLarge,A[Ne.SmallValue]=n.cssClasses.markerSub,A),Ce=[n.cssClasses.valueHorizontal,n.cssClasses.valueVertical],_e=[n.cssClasses.markerHorizontal,n.cssClasses.markerVertical];Be(B,n.cssClasses.pips),Be(B,n.ort===0?n.cssClasses.pipsHorizontal:n.cssClasses.pipsVertical);function ye(de,we){var Ae=we===n.cssClasses.value,Ie=Ae?Ce:_e,De=Ae?$:R;return we+" "+Ie[n.ort]+" "+De[de]}function Te(de,we,Ae){if(Ae=_?_(we,Ae):Ae,Ae!==Ne.None){var Ie=ze(B,!1);Ie.className=ye(Ae,n.cssClasses.marker),Ie.style[n.style]=de+"%",Ae>Ne.NoValue&&(Ie=ze(B,!1),Ie.className=ye(Ae,n.cssClasses.value),Ie.setAttribute("data-value",String(we)),Ie.style[n.style]=de+"%",Ie.innerHTML=String(S.to(we)))}}return Object.keys(v).forEach(function(de){Te(de,v[de][0],v[de][1])}),B}function Et(){Q&&(wo(Q),Q=null)}function It(v){Et();var _=Qt(v),S=v.filter,k=v.format||{to:function(A){return String(Math.round(A))}};return Q=u.appendChild(Vt(_,S,k)),Q}function Jt(){var v=T.getBoundingClientRect(),_="offset"+["Width","Height"][n.ort];return n.ort===0?v.width||T[_]:v.height||T[_]}function Qe(v,_,S,k){var A=function($){var R=ei($,k.pageOffset,k.target||_);if(!R||Xt()&&!k.doNotReject||Ha(u,n.cssClasses.tap)&&!k.doNotReject||v===o.start&&R.buttons!==void 0&&R.buttons>1||k.hover&&R.buttons)return!1;l||R.preventDefault(),R.calcPoint=R.points[n.ort],S(R,k)},B=[];return v.split(" ").forEach(function($){_.addEventListener($,A,l?{passive:!0}:!1),B.push([$,A])}),B}function ei(v,_,S){var k=v.type.indexOf("touch")===0,A=v.type.indexOf("mouse")===0,B=v.type.indexOf("pointer")===0,$=0,R=0;if(v.type.indexOf("MSPointer")===0&&(B=!0),v.type==="mousedown"&&!v.buttons&&!v.touches)return!1;if(k){var Ce=function(Te){var de=Te.target;return de===S||S.contains(de)||v.composed&&v.composedPath().shift()===S};if(v.type==="touchstart"){var _e=Array.prototype.filter.call(v.touches,Ce);if(_e.length>1)return!1;$=_e[0].pageX,R=_e[0].pageY}else{var ye=Array.prototype.find.call(v.changedTouches,Ce);if(!ye)return!1;$=ye.pageX,R=ye.pageY}}return _=_||Do(Xe),(A||B)&&($=v.clientX+_.x,R=v.clientY+_.y),v.pageOffset=_,v.points=[$,R],v.cursor=A||B,v}function Dt(v){var _=v-Aa(T,n.ort),S=_*100/Jt();return S=Eo(S),n.dir?100-S:S}function Ei(v){var _=100,S=!1;return P.forEach(function(k,A){if(!ht(A)){var B=ne[A],$=Math.abs(B-v),R=$===100&&_===100,Ce=$<_,_e=$<=_&&v>B;(Ce||_e||R)&&(S=A,_=$)}}),S}function M(v,_){v.type==="mouseout"&&v.target.nodeName==="HTML"&&v.relatedTarget===null&&Z(v,_)}function U(v,_){if(navigator.appVersion.indexOf("MSIE 9")===-1&&v.buttons===0&&_.buttonsProperty!==0)return Z(v,_);var S=(n.dir?-1:1)*(v.calcPoint-_.startCalcPoint),k=S*100/_.baseSize;ti(S>0,k,_.locations,_.handleNumbers,_.connect)}function Z(v,_){_.handle&&(hi(_.handle,n.cssClasses.active),fe-=1),_.listeners.forEach(function(S){dt.removeEventListener(S[0],S[1])}),fe===0&&(hi(u,n.cssClasses.drag),Ii(),v.cursor&&(gt.style.cursor="",gt.removeEventListener("selectstart",ko))),n.events.smoothSteps&&(_.handleNumbers.forEach(function(S){mt(S,ne[S],!0,!0,!1,!1)}),_.handleNumbers.forEach(function(S){me("update",S)})),_.handleNumbers.forEach(function(S){me("change",S),me("set",S),me("end",S)})}function se(v,_){if(!_.handleNumbers.some(ht)){var S;if(_.handleNumbers.length===1){var k=P[_.handleNumbers[0]];S=k.children[0],fe+=1,Be(S,n.cssClasses.active)}v.stopPropagation();var A=[],B=Qe(o.move,dt,U,{target:v.target,handle:S,connect:_.connect,listeners:A,startCalcPoint:v.calcPoint,baseSize:Jt(),pageOffset:v.pageOffset,handleNumbers:_.handleNumbers,buttonsProperty:v.buttons,locations:ne.slice()}),$=Qe(o.end,dt,Z,{target:v.target,handle:S,listeners:A,doNotReject:!0,handleNumbers:_.handleNumbers}),R=Qe("mouseout",dt,M,{target:v.target,handle:S,listeners:A,doNotReject:!0,handleNumbers:_.handleNumbers});A.push.apply(A,B.concat($,R)),v.cursor&&(gt.style.cursor=getComputedStyle(v.target).cursor,P.length>1&&Be(u,n.cssClasses.drag),gt.addEventListener("selectstart",ko,!1)),_.handleNumbers.forEach(function(Ce){me("start",Ce)})}}function Pe(v){v.stopPropagation();var _=Dt(v.calcPoint),S=Ei(_);S!==!1&&(n.events.snap||Vo(u,n.cssClasses.tap,n.animationDuration),mt(S,_,!0,!0),Ii(),me("slide",S,!0),me("update",S,!0),n.events.snap?se(v,{handleNumbers:[S]}):(me("change",S,!0),me("set",S,!0)))}function Me(v){var _=Dt(v.calcPoint),S=W.getStep(_),k=W.fromStepping(S);Object.keys(Fe).forEach(function(A){A.split(".")[0]==="hover"&&Fe[A].forEach(function(B){B.call(oi,k)})})}function it(v,_){if(Xt()||ht(_))return!1;var S=["Left","Right"],k=["Down","Up"],A=["PageDown","PageUp"],B=["Home","End"];n.dir&&!n.ort?S.reverse():n.ort&&!n.dir&&(k.reverse(),A.reverse());var $=v.key.replace("Arrow",""),R=$===A[0],Ce=$===A[1],_e=$===k[0]||$===S[0]||R,ye=$===k[1]||$===S[1]||Ce,Te=$===B[0],de=$===B[1];if(!_e&&!ye&&!Te&&!de)return!0;v.preventDefault();var we;if(ye||_e){var Ae=_e?0:1,Ie=Ji(_),De=Ie[Ae];if(De===null)return!1;De===!1&&(De=W.getDefaultStep(ne[_],_e,n.keyboardDefaultStep)),Ce||R?De*=n.keyboardPageMultiplier:De*=n.keyboardMultiplier,De=Math.max(De,1e-7),De=(_e?-1:1)*De,we=Se[_]+De}else de?we=n.spectrum.xVal[n.spectrum.xVal.length-1]:we=n.spectrum.xVal[0];return mt(_,W.toStepping(we),!0,!0),me("slide",_),me("update",_),me("change",_),me("set",_),!1}function Ve(v){v.fixed||P.forEach(function(_,S){Qe(o.start,_.children[0],se,{handleNumbers:[S]})}),v.tap&&Qe(o.start,T,Pe,{}),v.hover&&Qe(o.move,T,Me,{hover:!0}),v.drag&&G.forEach(function(_,S){if(!(_===!1||S===0||S===G.length-1)){var k=P[S-1],A=P[S],B=[_],$=[k,A],R=[S-1,S];Be(_,n.cssClasses.draggable),v.fixed&&(B.push(k.children[0]),B.push(A.children[0])),v.dragAll&&($=P,R=F),B.forEach(function(Ce){Qe(o.start,Ce,se,{handles:$,handleNumbers:R,connect:_})})}})}function je(v,_){Fe[v]=Fe[v]||[],Fe[v].push(_),v.split(".")[0]==="update"&&P.forEach(function(S,k){me("update",k)})}function He(v){return v===ct.aria||v===ct.tooltips}function Ee(v){var _=v&&v.split(".")[0],S=_?v.substring(_.length):v;Object.keys(Fe).forEach(function(k){var A=k.split(".")[0],B=k.substring(A.length);(!_||_===A)&&(!S||S===B)&&(!He(B)||S===B)&&delete Fe[k]})}function me(v,_,S){Object.keys(Fe).forEach(function(k){var A=k.split(".")[0];v===A&&Fe[k].forEach(function(B){B.call(oi,Se.map(n.format.to),_,Se.slice(),S||!1,ne.slice(),oi)})})}function Re(v,_,S,k,A,B,$){var R;return P.length>1&&!n.events.unconstrained&&(k&&_>0&&(R=W.getAbsoluteDistance(v[_-1],n.margin,!1),S=Math.max(S,R)),A&&_<P.length-1&&(R=W.getAbsoluteDistance(v[_+1],n.margin,!0),S=Math.min(S,R))),P.length>1&&n.limit&&(k&&_>0&&(R=W.getAbsoluteDistance(v[_-1],n.limit,!1),S=Math.min(S,R)),A&&_<P.length-1&&(R=W.getAbsoluteDistance(v[_+1],n.limit,!0),S=Math.max(S,R))),n.padding&&(_===0&&(R=W.getAbsoluteDistance(0,n.padding[0],!1),S=Math.max(S,R)),_===P.length-1&&(R=W.getAbsoluteDistance(100,n.padding[1],!0),S=Math.min(S,R))),$||(S=W.getStep(S)),S=Eo(S),S===v[_]&&!B?!1:S}function Pt(v,_){var S=n.ort;return(S?_:v)+", "+(S?v:_)}function ti(v,_,S,k,A){var B=S.slice(),$=k[0],R=n.events.smoothSteps,Ce=[!v,v],_e=[v,!v];k=k.slice(),v&&k.reverse(),k.length>1?k.forEach(function(Te,de){var we=Re(B,Te,B[Te]+_,Ce[de],_e[de],!1,R);we===!1?_=0:(_=we-B[Te],B[Te]=we)}):Ce=_e=[!0];var ye=!1;k.forEach(function(Te,de){ye=mt(Te,S[Te]+_,Ce[de],_e[de],!1,R)||ye}),ye&&(k.forEach(function(Te){me("update",Te),me("slide",Te)}),A!=null&&me("drag",$))}function ii(v,_){return n.dir?100-v-_:v}function Lr(v,_){ne[v]=_,Se[v]=W.fromStepping(_);var S=ii(_,0)-qt,k="translate("+Pt(S+"%","0")+")";if(P[v].style[n.transformRule]=k,n.events.invertConnects&&ne.length>1){var A=ne.every(function(B,$,R){return $===0||B>=R[$-1]});if(tt!==!A){jr();return}}At(v),At(v+1),tt&&(At(v-1),At(v+2))}function Ii(){F.forEach(function(v){var _=ne[v]>50?-1:1,S=3+(P.length+_*v);P[v].style.zIndex=String(S)})}function mt(v,_,S,k,A,B){return A||(_=Re(ne,v,_,S,k,!1,B)),_===!1?!1:(Lr(v,_),!0)}function At(v){if(G[v]){var _=ne.slice();tt&&_.sort(function(R,Ce){return R-Ce});var S=0,k=100;v!==0&&(S=_[v-1]),v!==G.length-1&&(k=_[v]);var A=k-S,B="translate("+Pt(ii(S,A)+"%","0")+")",$="scale("+Pt(A/100,"1")+")";G[v].style[n.transformRule]=B+" "+$}}function Zi(v,_){return v===null||v===!1||v===void 0||(typeof v=="number"&&(v=String(v)),v=n.format.from(v),v!==!1&&(v=W.toStepping(v)),v===!1||isNaN(v))?ne[_]:v}function ni(v,_,S){var k=_i(v),A=ne[0]===void 0;_=_===void 0?!0:_,n.animate&&!A&&Vo(u,n.cssClasses.tap,n.animationDuration),F.forEach(function(R){mt(R,Zi(k[R],R),!0,!1,S)});var B=F.length===1?0:1;if(A&&W.hasNoSize()&&(S=!0,ne[0]=0,F.length>1)){var $=100/(F.length-1);F.forEach(function(R){ne[R]=R*$})}for(;B<F.length;++B)F.forEach(function(R){mt(R,ne[R],!0,!0,S)});Ii(),F.forEach(function(R){me("update",R),k[R]!==null&&_&&me("set",R)})}function Or(v){ni(n.start,v)}function Nr(v,_,S,k){if(v=Number(v),!(v>=0&&v<F.length))throw new Error("noUiSlider: invalid handle number, got: "+v);mt(v,Zi(_,v),!0,!0,k),me("update",v),S&&me("set",v)}function Qi(v){if(v===void 0&&(v=!1),v)return Se.length===1?Se[0]:Se.slice(0);var _=Se.map(n.format.to);return _.length===1?_[0]:_}function Fr(){for(Ee(ct.aria),Ee(ct.tooltips),Object.keys(n.cssClasses).forEach(function(v){hi(u,n.cssClasses[v])});u.firstChild;)u.removeChild(u.firstChild);delete u.noUiSlider}function Ji(v){var _=ne[v],S=W.getNearbySteps(_),k=Se[v],A=S.thisStep.step,B=null;if(n.snap)return[k-S.stepBefore.startValue||null,S.stepAfter.startValue-k||null];A!==!1&&k+A>S.stepAfter.startValue&&(A=S.stepAfter.startValue-k),k>S.thisStep.startValue?B=S.thisStep.step:S.stepBefore.step===!1?B=!1:B=k-S.stepBefore.highestStep,_===100?A=null:_===0&&(B=null);var $=W.countStepDecimals();return A!==null&&A!==!1&&(A=Number(A.toFixed($))),B!==null&&B!==!1&&(B=Number(B.toFixed($))),[B,A]}function Rr(){return F.map(Ji)}function Gr(v,_){var S=Qi(),k=["margin","limit","padding","range","animate","snap","step","format","pips","tooltips","connect"];k.forEach(function(B){v[B]!==void 0&&(t[B]=v[B])});var A=Bo(t);k.forEach(function(B){v[B]!==void 0&&(n[B]=A[B])}),W=A.spectrum,n.margin=A.margin,n.limit=A.limit,n.padding=A.padding,n.pips?It(n.pips):Et(),n.tooltips?wt():Ct(),ne=[],ni(zi(v.start)?v.start:S,_),v.connect&&en()}function en(){for(;E.firstChild;)E.removeChild(E.firstChild);for(var v=0;v<=n.handles;v++)G[v]=pt(E,n.connect[v]),At(v);Ve({drag:n.events.drag,fixed:!0})}function jr(){tt=!tt,Po(n,n.connect.map(function(v){return!v})),en()}function Wr(){T=Vi(u),ki(n.connect,T),Ve(n.events),ni(n.start),n.pips&&It(n.pips),n.tooltips&&wt(),Zt()}Wr();var oi={destroy:Fr,steps:Rr,on:je,off:Ee,get:Qi,set:ni,setHandle:Nr,reset:Or,disable:Yt,enable:Mt,__moveHandles:function(v,_,S){ti(v,_,ne,S)},options:t,updateOptions:Gr,target:u,removePips:Et,removeTooltips:Ct,getPositions:function(){return ne.slice()},getTooltips:function(){return Y},getOrigins:function(){return P},pips:It};return oi}function Ho(e,n){if(!e||!e.nodeName)throw new Error("noUiSlider: create requires a single element, got: "+e);if(e.noUiSlider)throw new Error("noUiSlider: Slider was already initialized.");var t=Bo(n),o=vs(e,t,n);return e.noUiSlider=o,o}var Xi=class{to(n){return String(parseFloat(parseFloat(String(n)).toFixed(2)))}from(n){return parseFloat(n)}},xe=(()=>{class e{constructor(t,o,i){this.ngZone=t,this.el=o,this.renderer=i,this.handles=[],this.config={},this.change=new We(!0),this.update=new We(!0),this.slide=new We(!0),this.set=new We(!0),this.start=new We(!0),this.end=new We(!0),this.onChange=Function.prototype,this.cleanups=[],this.eventHandler=(l,u,T,E)=>{let P=this.toValues(u),G=!1;if(this.value===void 0){this.value=P;return}Array.isArray(P)&&this.value[T]!=P[T]&&(G=!0),!Array.isArray(P)&&this.value!=P&&(G=!0),G&&this.ngZone.run(()=>{l.observers.length>0&&l.emit(P),this.onChange(P)}),Array.isArray(P)?this.value[T]=P[T]:this.value=P},this.defaultKeyHandler=l=>{let u=this.slider.steps(),T=parseInt(l.target.getAttribute("data-handle")),E=1,P=1,G=0,Q=0;switch(l.which){case 34:P=this.config.pageSteps;break;case 40:case 37:E=-1,G=u[T][0],l.preventDefault();break;case 33:P=this.config.pageSteps;break;case 38:case 39:G=u[T][1],l.preventDefault();break;default:break}Q=E*P*G;let Y;Array.isArray(this.value)?(Y=[...this.value],Y[T]=Y[T]+Q):Y=this.value+Q,this.slider.set(Y)}}ngOnChanges(t){this.slider&&(t.min||t.max||t.step||t.range)&&this.ngZone.runOutsideAngular(()=>{setTimeout(()=>{this.slider.updateOptions({range:Object.assign({},{min:this.min,max:this.max},this.range||{}),step:this.step})})})}ngOnDestroy(){for(this.slider.destroy();this.cleanups.length;)this.cleanups.pop()?.()}toValues(t){let o=t.map(this.config.format.from);return o.length==1?o[0]:o}writeValue(t){this.slider?this.ngZone.runOutsideAngular(()=>{setTimeout(()=>{this.slider.set(t)})}):t!==null&&(this.value=t,this.createSlider(t))}registerOnChange(t){this.onChange=t}registerOnTouched(t){}setDisabledState(t){t?this.renderer.setAttribute(this.el.nativeElement.childNodes[0],"disabled","true"):this.renderer.removeAttribute(this.el.nativeElement.childNodes[0],"disabled")}createSlider(t){let o=JSON.parse(JSON.stringify({behaviour:this.behaviour,connect:this.connect,limit:this.limit,start:t,step:this.step,pageSteps:this.pageSteps,keyboard:this.keyboard,onKeydown:this.onKeydown,range:this.range||this.config.range||{min:this.min,max:this.max},tooltips:this.tooltips,snap:this.snap,animate:this.animate}));if(o.tooltips=this.tooltips||this.config.tooltips,o.format=this.format||this.config.format||new Xi,this.ngZone.runOutsideAngular(()=>{this.slider=Ho(this.el.nativeElement.querySelector("div"),Object.assign(this.config,o))}),this.handles=[].slice.call(this.el.nativeElement.querySelectorAll(".noUi-handle")),this.config.keyboard){this.config.pageSteps===void 0&&(this.config.pageSteps=10);for(let i of this.handles){i.setAttribute("tabindex",0);let l=this.config.onKeydown||this.defaultKeyHandler;this.ngZone.runOutsideAngular(()=>{this.cleanups.push(this.renderer.listen(i,"keydown",l),this.renderer.listen(i,"click",()=>{i.focus()}))})}}this.slider.on("set",(i,l,u)=>{this.eventHandler(this.set,i,l,u)}),this.slider.on("update",(i,l,u)=>{this.update.observers.length>0&&this.ngZone.run(()=>{this.update.emit(this.toValues(i))})}),this.slider.on("change",(i,l,u)=>{this.change.observers.length>0&&this.ngZone.run(()=>{this.change.emit(this.toValues(i))})}),this.slider.on("slide",(i,l,u)=>{this.eventHandler(this.slide,i,l,u)}),this.slider.on("start",(i,l,u)=>{this.start.observers.length>0&&this.ngZone.run(()=>{this.start.emit(this.toValues(i))})}),this.slider.on("end",(i,l,u)=>{this.end.observers.length>0&&this.ngZone.run(()=>{this.end.emit(this.toValues(i))})})}}return e.\u0275fac=function(t){return new(t||e)(ke(_n),ke(rt),ke(ci))},e.\u0275cmp=w({type:e,selectors:[["nouislider"]],hostVars:2,hostBindings:function(t,o){t&2&&yn("ng2-nouislider",!0)},inputs:{disabled:"disabled",behaviour:"behaviour",connect:"connect",limit:"limit",min:"min",max:"max",snap:"snap",animate:"animate",range:"range",step:"step",format:"format",pageSteps:"pageSteps",config:"config",keyboard:"keyboard",onKeydown:"onKeydown",tooltips:"tooltips"},outputs:{change:"change",update:"update",slide:"slide",set:"set",start:"start",end:"end"},features:[mi([{provide:Vn,useExisting:fn(()=>e),multi:!0}]),ot],decls:1,vars:1,template:function(t,o){t&1&&f(0,"div"),t&2&&V("disabled",o.disabled?!0:void 0)},styles:["[_nghost-%COMP%]{display:block;margin-top:1rem;margin-bottom:1rem}"]}),e})(),U0=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=St({type:e}),e.\u0275inj=xt({imports:[xe]}),e})();var xi=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function gs(e,n){if(e&1){let t=z();a(0,"button",6),b("click",function(i){return O(t),g(2).setTargetMode(0),N(i.target.blur())}),a(1,"div",7),f(2,"i",8),s(),c(3),d(4,"translate"),a(5,"div",9),f(6,"i",10),s()()}if(e&2){let t=g(2);r(2),m("ngClass",I(4,xi,t.targetMode===0,t.targetMode!==0)),r(),y(" ",p(4,2,"accessories.control.manual")," ")}}function hs(e,n){if(e&1){let t=z();a(0,"button",6),b("click",function(i){return O(t),g(2).setTargetMode(1),N(i.target.blur())}),a(1,"div",7),f(2,"i",8),s(),c(3),d(4,"translate"),a(5,"div",9),f(6,"i",10),s()()}if(e&2){let t=g(2);r(2),m("ngClass",I(4,xi,t.targetMode===1,t.targetMode!==1)),r(),y(" ",p(4,2,"accessories.control.auto")," ")}}function Cs(e,n){if(e&1&&(a(0,"h6",12),c(1),d(2,"translate"),s(),a(3,"div",13),h(4,gs,7,7,"button",14),h(5,hs,7,7,"button",14),s()),e&2){let t=g();r(),x(p(2,3,"accessories.control.mode")),r(3),C(t.targetModeValidValues.includes(0)?4:-1),r(),C(t.targetModeValidValues.includes(1)?5:-1)}}function _s(e,n){if(e&1){let t=z();a(0,"h6",12),c(1),d(2,"translate"),s(),a(3,"nouislider",15),te("ngModelChange",function(i){O(t);let l=g();return ee(l.targetRotationSpeed.value,i)||(l.targetRotationSpeed.value=i),N(i)}),b("ngModelChange",function(){O(t);let i=g();return N(i.onTargetRotationSpeedChange())}),s()}if(e&2){let t=g();r(),X("",p(2,6,"accessories.control.rotation_speed"),": ",t.targetRotationSpeed.value,"%"),r(2),m("min",t.targetRotationSpeed.min)("max",t.targetRotationSpeed.max)("step",t.targetRotationSpeed.step),J("ngModel",t.targetRotationSpeed.value)}}var Lo=(()=>{class e{$activeModal=L(ce);service;targetState;targetMode;targetModeValidValues=[];targetRotationSpeed;targetRotationSpeedChanged=new re;constructor(){this.targetRotationSpeedChanged.pipe(ue(500)).subscribe(()=>{this.service.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value),this.targetRotationSpeed.value&&!this.service.values.Active?(this.targetState=1,this.service.getCharacteristic("Active").setValue(this.targetMode)):!this.targetRotationSpeed.value&&this.service.values.Active&&(this.targetState=0,this.service.getCharacteristic("Active").setValue(this.targetMode))})}ngOnInit(){this.targetState=this.service.values.Active,this.targetMode=this.service.values.TargetAirPurifierState,this.targetModeValidValues=this.service.getCharacteristic("TargetAirPurifierState").validValues,this.loadRotationSpeed()}loadRotationSpeed(){let t=this.service.getCharacteristic("RotationSpeed");t&&(this.targetRotationSpeed={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #add8e6, #416bdf)"})},10))}setTargetState(t){this.targetState=t,this.service.getCharacteristic("Active").setValue(this.targetState),this.targetState&&this.targetRotationSpeed&&!this.targetRotationSpeed.value&&(this.targetRotationSpeed.value=this.service.getCharacteristic("RotationSpeed").maxValue)}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("TargetAirPurifierState").setValue(this.targetMode)}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-airpurifier-manage"]],inputs:{service:"service"},decls:24,vars:20,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Air Purifier State Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],["role","group","aria-label","Air Purifier Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),d(4,"translate"),b("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5)(7,"button",6),b("click",function(u){return i.setTargetState(0),u.target.blur()}),a(8,"div",7),f(9,"i",8),s(),c(10),d(11,"translate"),a(12,"div",9),f(13,"i",10),s()(),a(14,"button",6),b("click",function(u){return i.setTargetState(1),u.target.blur()}),a(15,"div",7),f(16,"i",8),s(),c(17),d(18,"translate"),a(19,"div",9),f(20,"i",10),s()()(),h(21,Cs,6,5),h(22,_s,4,8),s(),f(23,"div",11),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",p(4,8,"form.button_close")),r(6),m("ngClass",I(14,xi,i.targetState===0,i.targetState!==0)),r(),y(" ",p(11,10,"accessories.control.off")," "),r(6),m("ngClass",I(17,xi,i.targetState===1,i.targetState!==1)),r(),y(" ",p(18,12,"accessories.control.on")," "),r(4),C(i.targetModeValidValues.length?21:-1),r(),C(i.targetRotationSpeed?22:-1))},dependencies:[le,ge,he,xe,D,H],styles:[".switch-off svg .airpurifier_off_grey{stroke:gray;fill:gray} .switch-off svg .airpurifier_off_lgrey{fill:#d9d9d9}"]})}return e})();var ie=(()=>{class e{duration=350;longclick=Oi();shortclick=Oi();downTimeout;done=!1;constructor(){}onEnter(t){this.shortclick.emit(t)}onMouseUp(t){clearTimeout(this.downTimeout),this.done||(this.done=!0,this.shortclick.emit(t))}onTouchEnd(t){clearTimeout(this.downTimeout),t.preventDefault(),t.stopPropagation(),this.done||(this.done=!0,this.shortclick.emit(t))}onMouseDown(t){t instanceof MouseEvent&&t.button!==0||(this.done=!1,t instanceof TouchEvent&&(t.preventDefault(),t.stopPropagation()),this.downTimeout=setTimeout(()=>{this.done||(this.done=!0,this.longclick.emit(t))},this.duration))}onMouseMove(){this.done=!0,clearTimeout(this.downTimeout)}ngOnDestroy(){clearTimeout(this.downTimeout)}static \u0275fac=function(o){return new(o||e)};static \u0275dir=bt({type:e,selectors:[["","appLongclick",""]],hostBindings:function(o,i){o&1&&b("keyup.enter",function(u){return i.onEnter(u)})("mouseup",function(u){return i.onMouseUp(u)})("touchend",function(u){return i.onTouchEnd(u)})("touchstart",function(u){return i.onMouseDown(u)})("mousedown",function(u){return i.onMouseDown(u)})("mousemove",function(u){return i.onMouseMove(u)})("touchmove",function(u){return i.onMouseMove(u)})},inputs:{duration:"duration"},outputs:{longclick:"longclick",shortclick:"shortclick"}})}return e})();var xs=(e,n)=>({"switch-on":e,"switch-off":n});function Ss(e,n){if(e&1&&(f(0,"div",4),d(1,"translate")),e&2){let t=g();m("innerText",p(1,1,t.service.values.Active?"accessories.control.on":"accessories.control.off"))}}function bs(e,n){if(e&1&&(a(0,"div",5),c(1),s()),e&2){let t=g();r(),y("",t.service.values.RotationSpeed,"%")}}var Oo=(()=>{class e{$modal=L(ae);service;constructor(){}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1),!this.service.values.On&&"RotationSpeed"in this.service.values&&!this.service.values.RotationSpeed&&this.service.getCharacteristic("RotationSpeed").setValue(100)}onLongClick(){let t=this.$modal.open(Lo,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-airpurifier"]],inputs:{service:"service"},decls:7,vars:9,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),b("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),h(5,Ss,2,3,"div",4),h(6,bs,2,1,"div",5),s()()),o&2&&(m("ngClass",I(6,xs,i.service.values.Active,!i.service.values.Active)),r(2),m("inlineSVG","/assets/hap-icons/airpurifier.svg"),V("aria-label","Air Purifier"),r(2),x(i.service.customName||i.service.serviceName),r(),C(!i.service.values.RotationSpeed||!i.service.values.Active?5:-1),r(),C(i.service.values.RotationSpeed&&i.service.values.Active?6:-1))},dependencies:[ie,H,K,q,D],styles:[".switch-off svg .airpurifier_off_grey{stroke:gray;fill:gray} .switch-off svg .airpurifier_off_lgrey{fill:#d9d9d9}"]})}return e})();var ys=e=>({"switch-on":e}),Ts=(e,n)=>({"grey-text":e,"red-text":n}),No=(()=>{class e{service;labels=["Unknown","Excellent","Good","Fair","Inferior","Poor"];constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-airqualitysensor"]],inputs:{service:"service"},decls:7,vars:11,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label",3,"ngClass"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),a(5,"div",4),c(6),s()()()),o&2&&(m("ngClass",oe(6,ys,i.service.values.AirQuality>3)),r(2),m("inlineSVG","/assets/hap-icons/airquality.svg"),V("aria-label","Switch"),r(2),x(i.service.customName||i.service.serviceName),r(),m("ngClass",I(8,Ts,i.service.values.AirQuality<4,i.service.values.AirQuality>3)),r(),y(" ",i.labels[i.service.values.AirQuality]," "))},dependencies:[H,K,q],encapsulation:2})}return e})();var Ms=e=>({lowbattery:e}),ws=(e,n)=>({"battery-over":e,"battery-under":n});function ks(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.battery_notcharging")," ")}function Vs(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.battery_charging")," ")}function Es(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.battery_notchargeable")," ")}function Is(e,n){e&1&&(a(0,"span",7),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.battery_low")))}function Ds(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.battery_charged")," ")}var Fo=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-battery"]],inputs:{service:"service"},decls:15,vars:15,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"batterylevel-battery",3,"ngClass"],[1,"battery-level-fill"],[1,"battery-text",3,"ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"red-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1)(2,"div",2),f(3,"div",3),a(4,"span",4),c(5),d(6,"number"),s()(),a(7,"div",5),c(8),s(),a(9,"div",6),h(10,ks,2,3)(11,Vs,2,3)(12,Es,2,3)(13,Is,3,3,"span",7)(14,Ds,2,3),s()()()),o&2&&(r(2),m("ngClass",oe(10,Ms,i.service.values.StatusLowBattery===1)),r(),bn("width",i.service.values.BatteryLevel||0,"%"),r(),m("ngClass",I(12,ws,i.service.values.BatteryLevel>=30,i.service.values.BatteryLevel<30)),r(),x(ve(6,7,i.service.values.BatteryLevel||0,"1.0-0")+"%"),r(3),x(i.service.customName||i.service.serviceName),r(2),C(i.service.values.ChargingState===0?10:i.service.values.ChargingState===1?11:i.service.values.ChargingState===2?12:i.service.values.StatusLowBattery===1||i.service.values.BatteryLevel===0?13:14))},dependencies:[H,Le,D],styles:['.batterylevel-battery[_ngcontent-%COMP%]{position:relative;width:75px;height:30px;border:1px solid rgb(128,128,128);border-radius:4px;margin-bottom:6px;text-align:center;display:flex;align-items:center;justify-content:center;color:#d3d3d3;font-size:14px}.batterylevel-battery[_ngcontent-%COMP%]:after{content:"";position:absolute;top:7px;right:-6px;width:6px;height:13px;background-color:gray;border-radius:2px}.batterylevel-battery[_ngcontent-%COMP%] .battery-level-fill[_ngcontent-%COMP%]{position:absolute;top:0;left:0;height:100%;background-color:gray;z-index:1;transition:width .3s ease-in-out}.batterylevel-battery[_ngcontent-%COMP%] .battery-text[_ngcontent-%COMP%]{position:relative;z-index:2}.batterylevel-battery[_ngcontent-%COMP%] .battery-over[_ngcontent-%COMP%]{color:#fff}.batterylevel-battery[_ngcontent-%COMP%] .battery-under[_ngcontent-%COMP%]{color:gray}@media (max-width: 575px){.batterylevel-battery[_ngcontent-%COMP%]{width:50px;height:25px;font-size:12px}.batterylevel-battery[_ngcontent-%COMP%]:after{top:4px}}.lowbattery[_ngcontent-%COMP%] .battery-level-fill[_ngcontent-%COMP%]{background-color:#e69533}']})}return e})();var Ps=(e,n)=>({"switch-on":e,"switch-off":n});function As(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.detected")))}function Bs(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.not_detected")))}var Ro=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-carbondioxidesensor"]],inputs:{service:"service"},decls:7,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),h(5,As,3,3,"div",4),h(6,Bs,3,3,"div",5),s()()),o&2&&(m("ngClass",I(6,Ps,i.service.values.CarbonDioxideDetected,!i.service.values.CarbonDioxideDetected)),r(2),m("inlineSVG","/assets/hap-icons/co2-sensor.svg"),V("aria-label","Carbon Dioxide Sensor"),r(2),x(i.service.customName||i.service.serviceName),r(),C(i.service.values.CarbonDioxideDetected?5:-1),r(),C(i.service.values.CarbonDioxideDetected?-1:6))},dependencies:[H,K,q,D],styles:[".switch-off svg .smoke_sensor_trigger_lines{display:none} .switch-off svg .smoke_sensor_box{fill:gray} .switch-off svg .label-text{fill:#2b2b2b}"]})}return e})();var Hs=(e,n)=>({"switch-on":e,"switch-off":n});function Ls(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.detected")))}function Os(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.not_detected")))}var Go=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-carbonmonoxidesensor"]],inputs:{service:"service"},decls:7,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),h(5,Ls,3,3,"div",4),h(6,Os,3,3,"div",5),s()()),o&2&&(m("ngClass",I(6,Hs,i.service.values.CarbonMonoxideDetected,!i.service.values.CarbonMonoxideDetected)),r(2),m("inlineSVG","/assets/hap-icons/co-sensor.svg"),V("aria-label","Carbon Monoxide Sensor"),r(2),x(i.service.customName||i.service.serviceName),r(),C(i.service.values.CarbonMonoxideDetected?5:-1),r(),C(i.service.values.CarbonMonoxideDetected?-1:6))},dependencies:[H,K,q,D],styles:[".switch-off svg .smoke_sensor_trigger_lines{display:none} .switch-off svg .smoke_sensor_box{fill:gray} .switch-off svg .label-text{fill:#2b2b2b}"]})}return e})();var Ns=(e,n)=>({"switch-on":e,"switch-off":n});function Fs(e,n){e&1&&f(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/contactsensor-open.svg"),V("aria-label","Switch"))}function Rs(e,n){e&1&&f(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/contactsensor-closed.svg"),V("aria-label","Switch"))}function Gs(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.open")))}function js(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.closed")))}var jo=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-contactsensor"]],inputs:{service:"service"},decls:8,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),h(2,Fs,1,2,"div",2),h(3,Rs,1,2,"div",2),a(4,"div",3),c(5),s(),h(6,Gs,3,3,"div",4),h(7,js,3,3,"div",5),s()()),o&2&&(m("ngClass",I(6,Ns,i.service.values.ContactSensorState,!i.service.values.ContactSensorState)),r(2),C(i.service.values.ContactSensorState?2:-1),r(),C(i.service.values.ContactSensorState?-1:3),r(2),x(i.service.customName||i.service.serviceName),r(),C(i.service.values.ContactSensorState?6:-1),r(),C(i.service.values.ContactSensorState?-1:7))},dependencies:[H,K,q,D],styles:["body.dark-mode .switch-off svg .contact_sensor_split_line{fill:#2b2b2b}"]})}return e})();function Ws(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.closed")," ")}function Us(e,n){if(e&1&&(c(0),d(1,"translate")),e&2){let t=g(2);X(" ",p(1,2,"accessories.control.open")," ",t.service.getCharacteristic("CurrentPosition").value,"% ")}}function $s(e,n){if(e&1&&h(0,Ws,2,3)(1,Us,2,4),e&2){let t=g();C(t.service.values.CurrentPosition===0?0:1)}}function zs(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.opening"),"... ")}function qs(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.closing"),"... ")}var Wo=(()=>{class e{$activeModal=L(ce);service;targetMode;targetPosition;targetPositionChanged=new re;constructor(){this.targetPositionChanged.pipe(ue(500)).subscribe(()=>{this.service.getCharacteristic("CurrentPosition").value<this.targetPosition.value?this.service.values.PositionState=1:this.service.getCharacteristic("CurrentPosition").value>this.targetPosition.value&&(this.service.values.PositionState=0),this.service.getCharacteristic("TargetPosition").setValue(this.targetPosition.value)})}ngOnInit(){this.targetMode=this.service.values.On,this.loadTargetPosition()}loadTargetPosition(){let t=this.service.getCharacteristic("TargetPosition");t&&(this.targetPosition={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #242424, #ffd6aa)"})},10))}onTargetPositionChange(){this.targetPositionChanged.next(this.targetPosition.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-door-manage"]],inputs:{service:"service"},decls:34,vars:34,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"d-flex","justify-content-center","mb-0","p-0"],[1,"mb-0","mx-0","p-3","btn-read","w-100"],[1,"mt-4"],[1,"mb-1",3,"ngModelChange","min","max","step","ngModel"],[1,"d-flex","justify-content-between","align-items-center","mt-0","mb-1"],[1,"grey-text","small"],[1,"mb-1",3,"ngModelChange","min","max","step","disabled","ngModel"],[1,"modal-footer"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),d(4,"translate"),b("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5)(7,"div",6),h(8,$s,2,1)(9,zs,2,3)(10,qs,2,3),s()(),a(11,"h6",7),c(12),d(13,"translate"),s(),a(14,"nouislider",8),te("ngModelChange",function(u){return ee(i.targetPosition.value,u)||(i.targetPosition.value=u),u}),b("ngModelChange",function(){return i.onTargetPositionChange()}),s(),a(15,"div",9)(16,"span",10),c(17),d(18,"translate"),s(),a(19,"span",10),c(20),d(21,"translate"),s()(),a(22,"h6",7),c(23),d(24,"translate"),s(),a(25,"nouislider",11),te("ngModelChange",function(u){return ee(i.service.getCharacteristic("CurrentPosition").value,u)||(i.service.getCharacteristic("CurrentPosition").value=u),u}),s(),a(26,"div",9)(27,"span",10),c(28),d(29,"translate"),s(),a(30,"span",10),c(31),d(32,"translate"),s()()(),f(33,"div",12),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",p(4,20,"form.button_close")),r(5),C(i.service.values.PositionState===2?8:i.service.values.PositionState===1?9:i.service.values.PositionState===0?10:-1),r(4),X("",p(13,22,"accessories.control.target"),": ",i.targetPosition.value,"%"),r(2),m("min",i.targetPosition.min)("max",i.targetPosition.max)("step",i.targetPosition.step),J("ngModel",i.targetPosition.value),r(3),x(p(18,24,"accessories.control.closed")),r(3),x(p(21,26,"accessories.control.open")),r(3),X(" ",p(24,28,"accessories.control.current"),": ",i.service.getCharacteristic("CurrentPosition").value,"% "),r(2),m("min",0)("max",100)("step",1)("disabled",!0),J("ngModel",i.service.getCharacteristic("CurrentPosition").value),r(3),x(p(29,30,"accessories.control.closed")),r(3),x(p(32,32,"accessories.control.open")))},dependencies:[xe,le,ge,he,D],styles:[".door-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();var Ks=e=>({"window-on":e});function Xs(e,n){e&1&&f(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/door-closed.svg"),V("aria-label","Door"))}function Ys(e,n){e&1&&f(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/door-open.svg"),V("aria-label","Door"))}function Zs(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.closed")," ")}function Qs(e,n){if(e&1&&(c(0),d(1,"translate")),e&2){let t=g(2);X(" ",p(1,2,"accessories.control.open")," ",t.service.values.CurrentPosition,"% ")}}function Js(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.open")," ")}function el(e,n){if(e&1&&(a(0,"div",4),h(1,Zs,2,3),h(2,Qs,2,4),h(3,Js,2,3),s()),e&2){let t=g();r(),C(t.service.values.CurrentPosition===0?1:-1),r(),C(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?2:-1),r(),C(t.service.values.CurrentPosition===100?3:-1)}}function tl(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),y("",p(2,1,"accessories.control.opening"),"..."))}function il(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),y("",p(2,1,"accessories.control.closing"),"..."))}var Uo=(()=>{class e{$modal=L(ae);service;constructor(){}onClick(){this.service.values.TargetPosition?this.service.getCharacteristic("TargetPosition").setValue(0):this.service.getCharacteristic("TargetPosition").setValue(100)}onLongClick(){let t=this.$modal.open(Wo,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-door"]],inputs:{service:"service"},decls:9,vars:9,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","red-text"]],template:function(o,i){o&1&&(a(0,"div",0),b("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),h(2,Xs,1,2,"div",2),h(3,Ys,1,2,"div",2),a(4,"div",3),c(5),s(),h(6,el,4,3,"div",4),h(7,tl,3,3,"div",5),h(8,il,3,3,"div",5),s()()),o&2&&(m("ngClass",oe(7,Ks,i.service.values.TargetPosition)),r(2),C(i.service.values.TargetPosition?-1:2),r(),C(i.service.values.TargetPosition?3:-1),r(2),x(i.service.customName||i.service.serviceName),r(),C(i.service.values.PositionState===2?6:-1),r(),C(i.service.values.PositionState===1?7:-1),r(),C(i.service.values.PositionState===0?8:-1))},dependencies:[ie,H,K,q,D],styles:[".door-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();var Si=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function nl(e,n){if(e&1){let t=z();a(0,"h6",12),c(1),d(2,"translate"),s(),a(3,"div",13)(4,"button",6),b("click",function(i){return O(t),g().setRotationDirection(0),N(i.target.blur())}),a(5,"div",7),f(6,"i",8),s(),c(7),d(8,"translate"),a(9,"div",9),f(10,"i",10),s()(),a(11,"button",6),b("click",function(i){return O(t),g().setRotationDirection(1),N(i.target.blur())}),a(12,"div",7),f(13,"i",8),s(),c(14),d(15,"translate"),a(16,"div",9),f(17,"i",10),s()()()}if(e&2){let t=g();r(),x(p(2,5,"accessories.control.rotation_direction")),r(5),m("ngClass",I(11,Si,t.service.values.RotationDirection===0,t.service.values.RotationDirection!==0)),r(),y(" ",p(8,7,"accessories.control.rotation_clockwise")," "),r(6),m("ngClass",I(14,Si,t.service.values.RotationDirection===1,t.service.values.RotationDirection!==1)),r(),y(" ",p(15,9,"accessories.control.rotation_c_clockwise")," ")}}function ol(e,n){e&1&&c(0,"%")}function rl(e,n){if(e&1){let t=z();a(0,"h6",12),c(1),d(2,"translate"),h(3,ol,1,0),s(),a(4,"nouislider",14),te("ngModelChange",function(i){O(t);let l=g();return ee(l.targetRotationSpeed.value,i)||(l.targetRotationSpeed.value=i),N(i)}),b("ngModelChange",function(){O(t);let i=g();return N(i.onTargetRotationSpeedChange())}),s()}if(e&2){let t=g();r(),X(" ",p(2,7,"accessories.control.rotation_speed"),": ",t.targetRotationSpeed.value),r(2),C(t.targetRotationSpeed.unit==="percentage"?3:-1),r(),m("min",t.targetRotationSpeed.min)("max",t.targetRotationSpeed.max)("step",t.targetRotationSpeed.step),J("ngModel",t.targetRotationSpeed.value)}}var $o=(()=>{class e{$activeModal=L(ce);service;targetMode;targetRotationSpeed;targetRotationSpeedChanged=new re;hasRotationDirection=!1;constructor(){this.targetRotationSpeedChanged.pipe(ue(500)).subscribe(()=>{this.service.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value),this.targetRotationSpeed.value&&!this.service.values.On?(this.targetMode=!0,this.service.getCharacteristic("On").setValue(this.targetMode)):!this.targetRotationSpeed.value&&this.service.values.On&&(this.targetMode=!1,this.service.getCharacteristic("On").setValue(this.targetMode))})}ngOnInit(){this.targetMode=this.service.values.On,this.loadRotationSpeed(),this.service.serviceCharacteristics.find(t=>t.type==="RotationDirection")&&(this.hasRotationDirection=!0)}loadRotationSpeed(){let t=this.service.getCharacteristic("RotationSpeed");t&&(this.targetRotationSpeed={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep,unit:t.unit},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #add8e6, #416bdf)"})},10))}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("On").setValue(this.targetMode),this.targetMode&&this.targetRotationSpeed&&!this.targetRotationSpeed.value&&(this.targetRotationSpeed.value=this.service.getCharacteristic("RotationSpeed").maxValue)}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}setRotationDirection(t){this.service.getCharacteristic("RotationDirection").setValue(t)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-fan-manage"]],inputs:{service:"service"},decls:24,vars:20,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Fan Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],["role","group","aria-label","Fan Direction Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),d(4,"translate"),b("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5)(7,"button",6),b("click",function(u){return i.setTargetMode(!1),u.target.blur()}),a(8,"div",7),f(9,"i",8),s(),c(10),d(11,"translate"),a(12,"div",9),f(13,"i",10),s()(),a(14,"button",6),b("click",function(u){return i.setTargetMode(!0),u.target.blur()}),a(15,"div",7),f(16,"i",8),s(),c(17),d(18,"translate"),a(19,"div",9),f(20,"i",10),s()()(),h(21,nl,18,17),h(22,rl,5,9),s(),f(23,"div",11),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",p(4,8,"form.button_close")),r(6),m("ngClass",I(14,Si,!i.targetMode,i.targetMode)),r(),y(" ",p(11,10,"accessories.control.off")," "),r(6),m("ngClass",I(17,Si,i.targetMode,!i.targetMode)),r(),y(" ",p(18,12,"accessories.control.on")," "),r(4),C(i.hasRotationDirection?21:-1),r(),C(i.targetRotationSpeed?22:-1))},dependencies:[le,ge,he,xe,D,H],encapsulation:2})}return e})();var al=e=>({"switch-on":e}),sl=(e,n)=>({spin:e,"spin-counter":n});function ll(e,n){e&1&&f(0,"img",2)}function cl(e,n){if(e&1&&f(0,"img",3),e&2){let t=g();m("ngClass",I(1,sl,!t.hasRotationDirection||t.hasRotationDirection&&t.service.values.RotationDirection===0,!t.hasRotationDirection||t.hasRotationDirection&&t.service.values.RotationDirection===1))}}function dl(e,n){if(e&1&&(f(0,"div",5),d(1,"translate")),e&2){let t=g();m("innerText",p(1,1,t.service.values.On?"accessories.control.on":"accessories.control.off"))}}function pl(e,n){if(e&1&&(a(0,"div",6),c(1),s()),e&2){let t=g();r(),X("",t.service.values.RotationSpeed,"",t.rotationSpeedUnit)}}var zo=(()=>{class e{$modal=L(ae);service;rotationSpeedUnit="";hasRotationDirection=!1;constructor(){}ngOnInit(){let t=this.service.serviceCharacteristics.find(o=>o.type==="RotationSpeed");t&&t.unit==="percentage"&&(this.rotationSpeedUnit="%"),this.service.serviceCharacteristics.find(o=>o.type==="RotationDirection")&&(this.hasRotationDirection=!0)}onClick(){if(this.service.getCharacteristic("On").setValue(!this.service.values.On),!this.service.values.On&&"RotationSpeed"in this.service.values&&!this.service.values.RotationSpeed){let t=this.service.getCharacteristic("RotationSpeed");t.setValue(t.maxValue)}}onLongClick(){let t=this.$modal.open($o,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-fan"]],inputs:{service:"service"},decls:8,vars:8,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],["src","/assets/hap-icons/fan-off.svg","alt","Fan",1,"accessory-img"],["src","/assets/hap-icons/fan-on.svg","alt","Fan",1,"accessory-img",3,"ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),b("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),h(2,ll,1,0,"img",2),h(3,cl,1,4,"img",3),a(4,"div",4),c(5),s(),h(6,dl,2,3,"div",5),h(7,pl,2,2,"div",6),s()()),o&2&&(m("ngClass",oe(6,al,i.service.values.On)),r(2),C(i.service.values.On?-1:2),r(),C(i.service.values.On?3:-1),r(2),x(i.service.customName||i.service.serviceName),r(),C(!i.service.values.RotationSpeed||!i.service.values.On?6:-1),r(),C(i.service.values.RotationSpeed&&i.service.values.On?7:-1))},dependencies:[ie,H,D],encapsulation:2})}return e})();var qo=(e,n)=>({"fa-check-circle":e,"fa-blank":n}),Ko=(e,n)=>({"btn-primary":e,"btn-elegant":n});function ml(e,n){if(e&1){let t=z();a(0,"h6",12),c(1),d(2,"translate"),s(),a(3,"div",13)(4,"button",14),b("click",function(){O(t);let i=g();return N(i.setRotationDirection(0))}),c(5),d(6,"translate"),s(),a(7,"button",14),b("click",function(){O(t);let i=g();return N(i.setRotationDirection(1))}),c(8),d(9,"translate"),s()()}if(e&2){let t=g();r(),x(p(2,5,"accessories.control.rotation_direction")),r(3),m("ngClass",I(11,Ko,t.service.values.RotationDirection===0,t.service.values.RotationDirection!==0)),r(),y(" ",p(6,7,"accessories.control.rotation_clockwise")," "),r(2),m("ngClass",I(14,Ko,t.service.values.RotationDirection===1,t.service.values.RotationDirection!==1)),r(),y(" ",p(9,9,"accessories.control.rotation_c_clockwise")," ")}}function ul(e,n){e&1&&c(0,"%")}function vl(e,n){if(e&1){let t=z();a(0,"h6",12),c(1),d(2,"translate"),h(3,ul,1,0),s(),a(4,"nouislider",15),te("ngModelChange",function(i){O(t);let l=g();return ee(l.targetRotationSpeed.value,i)||(l.targetRotationSpeed.value=i),N(i)}),b("ngModelChange",function(){O(t);let i=g();return N(i.onTargetRotationSpeedChange())}),s()}if(e&2){let t=g();r(),X(" ",p(2,7,"accessories.control.rotation_speed"),": ",t.targetRotationSpeed.value),r(2),C(t.targetRotationSpeed.unit==="percentage"?3:-1),r(),m("min",t.targetRotationSpeed.min)("max",t.targetRotationSpeed.max)("step",t.targetRotationSpeed.step),J("ngModel",t.targetRotationSpeed.value)}}var Xo=(()=>{class e{$activeModal=L(ce);service;targetMode;targetRotationSpeed;targetRotationSpeedChanged=new re;hasRotationDirection=!1;constructor(){this.targetRotationSpeedChanged.pipe(ue(500)).subscribe(()=>{this.service.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value),this.targetRotationSpeed.value&&!this.service.values.Active?(this.targetMode=1,this.service.getCharacteristic("Active").setValue(this.targetMode)):!this.targetRotationSpeed.value&&this.service.values.Active&&(this.targetMode=0,this.service.getCharacteristic("Active").setValue(this.targetMode))})}ngOnInit(){this.targetMode=this.service.values.Active,this.loadRotationSpeed(),this.service.serviceCharacteristics.find(t=>t.type==="RotationDirection")&&(this.hasRotationDirection=!0)}loadRotationSpeed(){let t=this.service.getCharacteristic("RotationSpeed");t&&(this.targetRotationSpeed={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep,unit:t.unit},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #add8e6, #416bdf)"})},10))}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("Active").setValue(this.targetMode),this.targetMode&&this.targetRotationSpeed&&!this.targetRotationSpeed.value&&(this.targetRotationSpeed.value=this.service.getCharacteristic("RotationSpeed").maxValue)}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}setRotationDirection(t){this.service.getCharacteristic("RotationDirection").setValue(t)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-fanv2-manage"]],inputs:{service:"service"},decls:24,vars:20,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Fan Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],["role","group","aria-label","Fan Direction Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","mb-0","mx-0","px-0","py-3",3,"click","ngClass"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),d(4,"translate"),b("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5)(7,"button",6),b("click",function(u){return i.setTargetMode(0),u.target.blur()}),a(8,"div",7),f(9,"i",8),s(),c(10),d(11,"translate"),a(12,"div",9),f(13,"i",10),s()(),a(14,"button",6),b("click",function(u){return i.setTargetMode(1),u.target.blur()}),a(15,"div",7),f(16,"i",8),s(),c(17),d(18,"translate"),a(19,"div",9),f(20,"i",10),s()()(),h(21,ml,10,17),h(22,vl,5,9),s(),f(23,"div",11),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",p(4,8,"form.button_close")),r(6),m("ngClass",I(14,qo,i.targetMode===0,i.targetMode!==0)),r(),y(" ",p(11,10,"accessories.control.off")," "),r(6),m("ngClass",I(17,qo,i.targetMode===1,i.targetMode!==1)),r(),y(" ",p(18,12,"accessories.control.on")," "),r(4),C(i.hasRotationDirection?21:-1),r(),C(i.targetRotationSpeed?22:-1))},dependencies:[le,ge,he,xe,D,H],encapsulation:2})}return e})();var fl=e=>({"switch-on":e}),gl=(e,n)=>({spin:e,"spin-counter":n});function hl(e,n){e&1&&f(0,"img",2)}function Cl(e,n){if(e&1&&f(0,"img",3),e&2){let t=g();m("ngClass",I(1,gl,!t.hasRotationDirection||t.hasRotationDirection&&t.service.values.RotationDirection===0,t.hasRotationDirection&&t.service.values.RotationDirection===1))}}function _l(e,n){if(e&1&&(f(0,"div",5),d(1,"translate")),e&2){let t=g();m("innerText",p(1,1,t.service.values.Active?"accessories.control.on":"accessories.control.off"))}}function xl(e,n){if(e&1&&(a(0,"div",6),c(1),s()),e&2){let t=g();r(),X("",t.service.values.RotationSpeed,"",t.rotationSpeedUnit)}}var Yo=(()=>{class e{$modal=L(ae);service;rotationSpeedUnit="";hasRotationDirection=!1;constructor(){}ngOnInit(){let t=this.service.serviceCharacteristics.find(o=>o.type==="RotationSpeed");t&&t.unit==="percentage"&&(this.rotationSpeedUnit="%"),this.service.serviceCharacteristics.find(o=>o.type==="RotationDirection")&&(this.hasRotationDirection=!0)}onClick(){if(this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1),!this.service.values.On&&"RotationSpeed"in this.service.values&&!this.service.values.RotationSpeed){let t=this.service.getCharacteristic("RotationSpeed");t.setValue(t.maxValue)}}onLongClick(){let t=this.$modal.open(Xo,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-fanv2"]],inputs:{service:"service"},decls:8,vars:8,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],["src","/assets/hap-icons/fan-off.svg","alt","Fan",1,"accessory-img"],["src","/assets/hap-icons/fan-on.svg","alt","Fan",1,"accessory-img",3,"ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),b("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),h(2,hl,1,0,"img",2),h(3,Cl,1,4,"img",3),a(4,"div",4),c(5),s(),h(6,_l,2,3,"div",5),h(7,xl,2,2,"div",6),s()()),o&2&&(m("ngClass",oe(6,fl,i.service.values.Active)),r(2),C(i.service.values.Active?-1:2),r(),C(i.service.values.Active?3:-1),r(2),x(i.service.customName||i.service.serviceName),r(),C(!i.service.values.RotationSpeed||!i.service.values.Active?6:-1),r(),C(i.service.values.RotationSpeed&&i.service.values.Active?7:-1))},dependencies:[ie,H,D],encapsulation:2})}return e})();var Sl=e=>({"switch-on":e}),bl=(e,n)=>({"red-text":e,"grey-text":n});function yl(e,n){if(e&1&&(f(0,"div",4),d(1,"translate")),e&2){let t=g();m("innerText",p(1,2,t.service.values.CurrentDoorState?"accessories.control.closed":"accessories.control.open"))("ngClass",I(4,bl,!t.service.values.CurrentDoorState,t.service.values.CurrentDoorState))}}function Tl(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),y("",p(2,1,"accessories.control.opening"),"..."))}function Ml(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),y("",p(2,1,"accessories.control.closing"),"..."))}function wl(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.stopped")))}var Zo=(()=>{class e{service;constructor(){}onClick(){this.service.getCharacteristic("TargetDoorState").setValue(this.service.values.TargetDoorState?0:1)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-garagedooropener"]],inputs:{service:"service"},decls:9,vars:10,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label",3,"innerText","ngClass"],[1,"accessory-label","red-text"]],template:function(o,i){o&1&&(a(0,"div",0),b("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),h(5,yl,2,7,"div",4),h(6,Tl,3,3,"div",5),h(7,Ml,3,3,"div",5),h(8,wl,3,3,"div",5),s()()),o&2&&(m("ngClass",oe(8,Sl,i.service.values.CurrentDoorState===0||i.service.values.CurrentDoorState===2)),r(2),m("inlineSVG","/assets/hap-icons/garagedoor.svg"),V("aria-label","Garage Door"),r(2),x(i.service.customName||i.service.serviceName),r(),C(i.service.values.CurrentDoorState<2?5:-1),r(),C(i.service.values.CurrentDoorState===2?6:-1),r(),C(i.service.values.CurrentDoorState===3?7:-1),r(),C(i.service.values.CurrentDoorState===4?8:-1))},dependencies:[ie,H,K,q,D],encapsulation:2})}return e})();var kl=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t}),$t=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function Vl(e,n){if(e&1){let t=z();a(0,"button",7),b("click",function(i){return O(t),g(2).setTargetMode(0),N(i.target.blur())}),a(1,"div",8),f(2,"i",9),s(),c(3),d(4,"translate"),a(5,"div",10),f(6,"i",11),s()()}if(e&2){let t=g(2);r(2),m("ngClass",I(4,$t,t.targetMode===0,t.targetMode!==0)),r(),y(" ",p(4,2,"accessories.control.auto")," ")}}function El(e,n){if(e&1){let t=z();a(0,"button",7),b("click",function(i){return O(t),g(2).setTargetMode(1),N(i.target.blur())}),a(1,"div",8),f(2,"i",9),s(),c(3),d(4,"translate"),a(5,"div",10),f(6,"i",11),s()()}if(e&2){let t=g(2);r(2),m("ngClass",I(4,$t,t.targetMode===1,t.targetMode!==1)),r(),y(" ",p(4,2,"accessories.control.heat")," ")}}function Il(e,n){if(e&1){let t=z();a(0,"button",7),b("click",function(i){return O(t),g(2).setTargetMode(2),N(i.target.blur())}),a(1,"div",8),f(2,"i",9),s(),c(3),d(4,"translate"),a(5,"div",10),f(6,"i",11),s()()}if(e&2){let t=g(2);r(2),m("ngClass",I(4,$t,t.targetMode===2,t.targetMode!==2)),r(),y(" ",p(4,2,"accessories.control.cool")," ")}}function Dl(e,n){if(e&1&&(a(0,"h6",13),c(1),d(2,"translate"),s(),a(3,"div",14),h(4,Vl,7,7,"button",15),h(5,El,7,7,"button",15),h(6,Il,7,7,"button",15),s()),e&2){let t=g();r(),x(p(2,4,"accessories.control.mode")),r(3),C(t.targetStateValidValues.includes(0)?4:-1),r(),C(t.targetStateValidValues.includes(1)?5:-1),r(),C(t.targetStateValidValues.includes(2)?6:-1)}}function Pl(e,n){if(e&1){let t=z();a(0,"h6",16),c(1),d(2,"translate"),d(3,"convertTemp"),d(4,"number"),d(5,"uppercase"),d(6,"convertTemp"),d(7,"number"),d(8,"uppercase"),s(),a(9,"nouislider",17),te("ngModelChange",function(i){O(t);let l=g(2);return ee(l.autoTemp,i)||(l.autoTemp=i),N(i)}),b("ngModelChange",function(){O(t);let i=g(2);return N(i.onAutoTemperatureStateChange())}),s()}if(e&2){let t=g(2);r(),pi(" ",p(2,9,"accessories.control.target_auto"),": ",ve(4,13,p(3,11,t.autoTemp[0]),"1.0-1"),"\xB0",p(5,16,t.$settings.env.temperatureUnits)," - ",ve(7,20,p(6,18,t.autoTemp[1]),"1.0-1"),"\xB0",p(8,23,t.$settings.env.temperatureUnits)," "),r(8),m("min",t.HeatingThresholdTemperature.minValue)("max",t.CoolingThresholdTemperature.maxValue)("step",t.CoolingThresholdTemperature.minStep),J("ngModel",t.autoTemp)}}function Al(e,n){if(e&1){let t=z();a(0,"h6",13),c(1),d(2,"translate"),d(3,"convertTemp"),d(4,"number"),d(5,"uppercase"),s(),a(6,"nouislider",17),te("ngModelChange",function(i){O(t);let l=g(2);return ee(l.targetHeatingTemp,i)||(l.targetHeatingTemp=i),N(i)}),b("ngModelChange",function(){O(t);let i=g(2);return N(i.onTemperatureStateChange())}),s()}if(e&2){let t=g(2);r(),et(" ",p(2,7,"accessories.control.target_auto"),": ",ve(4,11,p(3,9,t.targetHeatingTemp),"1.0-1"),"\xB0",p(5,14,t.$settings.env.temperatureUnits)," "),r(5),m("min",t.HeatingThresholdTemperature.minValue)("max",t.HeatingThresholdTemperature.maxValue)("step",t.HeatingThresholdTemperature.minStep),J("ngModel",t.targetHeatingTemp)}}function Bl(e,n){if(e&1){let t=z();a(0,"h6",13),c(1),d(2,"translate"),d(3,"convertTemp"),d(4,"number"),d(5,"uppercase"),s(),a(6,"nouislider",17),te("ngModelChange",function(i){O(t);let l=g(2);return ee(l.targetCoolingTemp,i)||(l.targetCoolingTemp=i),N(i)}),b("ngModelChange",function(){O(t);let i=g(2);return N(i.onTemperatureStateChange())}),s()}if(e&2){let t=g(2);r(),et(" ",p(2,7,"accessories.control.target_auto"),": ",ve(4,11,p(3,9,t.targetCoolingTemp),"1.0-1"),"\xB0",p(5,14,t.$settings.env.temperatureUnits)," "),r(5),m("min",t.CoolingThresholdTemperature.minValue)("max",t.CoolingThresholdTemperature.maxValue)("step",t.CoolingThresholdTemperature.minStep),J("ngModel",t.targetCoolingTemp)}}function Hl(e,n){if(e&1&&h(0,Pl,10,25)(1,Al,7,16)(2,Bl,7,16),e&2){let t=g();C(t.HeatingThresholdTemperature&&t.CoolingThresholdTemperature?0:t.HeatingThresholdTemperature&&!t.CoolingThresholdTemperature?1:!t.HeatingThresholdTemperature&&t.CoolingThresholdTemperature?2:-1)}}var Qo=(()=>{class e{$activeModal=L(ce);$settings=L(Ye);service;targetState;targetMode;targetTemperatureChanged=new re;targetStateValidValues=[];CoolingThresholdTemperature;HeatingThresholdTemperature;targetCoolingTemp;targetHeatingTemp;autoTemp;constructor(){this.targetTemperatureChanged.pipe(ue(500)).subscribe(()=>{this.HeatingThresholdTemperature&&this.service.getCharacteristic("HeatingThresholdTemperature").setValue(this.targetHeatingTemp),this.CoolingThresholdTemperature&&this.service.getCharacteristic("CoolingThresholdTemperature").setValue(this.targetCoolingTemp)})}ngOnInit(){this.targetState=this.service.values.Active,this.targetMode=this.service.values.TargetHeaterCoolerState,this.CoolingThresholdTemperature=this.service.getCharacteristic("CoolingThresholdTemperature"),this.HeatingThresholdTemperature=this.service.getCharacteristic("HeatingThresholdTemperature"),this.targetStateValidValues=this.service.getCharacteristic("TargetHeaterCoolerState").validValues,this.loadTargetTemperature(),setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(o=>{o.style.background="linear-gradient(to right, rgb(80, 80, 179), rgb(173, 216, 230), rgb(255, 185, 120), rgb(139, 90, 60))"})},10)}loadTargetTemperature(){this.targetCoolingTemp=this.service.getCharacteristic("CoolingThresholdTemperature")?.value,this.targetHeatingTemp=this.service.getCharacteristic("HeatingThresholdTemperature")?.value,this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp]}setTargetState(t){this.targetState=t,this.service.getCharacteristic("Active").setValue(this.targetState),this.loadTargetTemperature()}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("TargetHeaterCoolerState").setValue(this.targetMode),this.loadTargetTemperature()}onTemperatureStateChange(){this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp],this.targetTemperatureChanged.next(void 0)}onAutoTemperatureStateChange(){this.targetHeatingTemp=this.autoTemp[0],this.targetCoolingTemp=this.autoTemp[1],this.targetTemperatureChanged.next(void 0)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-heatercooler-manage"]],inputs:{service:"service"},decls:28,vars:33,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"temperature-circle","temperature-circle-big","mb-4",3,"innerText","ngClass"],["role","group","aria-label","Heater Cooler State Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],["role","group","aria-label","Heater Cooler Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control"],[1,"mt-4","mb-1"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),d(4,"translate"),b("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4),f(6,"div",5),d(7,"convertTemp"),d(8,"number"),d(9,"uppercase"),a(10,"div",6)(11,"button",7),b("click",function(u){return i.setTargetState(0),u.target.blur()}),a(12,"div",8),f(13,"i",9),s(),c(14),d(15,"translate"),a(16,"div",10),f(17,"i",11),s()(),a(18,"button",7),b("click",function(u){return i.setTargetState(1),u.target.blur()}),a(19,"div",8),f(20,"i",9),s(),c(21),d(22,"translate"),a(23,"div",10),f(24,"i",11),s()()(),h(25,Dl,7,6),h(26,Hl,3,1),s(),f(27,"div",12),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",p(4,10,"form.button_close")),r(3),m("innerText",ve(8,14,p(7,12,i.service.values.CurrentTemperature),"1.0-1")+"\xB0"+p(9,17,i.$settings.env.temperatureUnits))("ngClass",Ue(23,kl,i.service.values.CurrentHeaterCoolerState===3&&i.service.values.Active===1,i.service.values.CurrentHeaterCoolerState===2&&i.service.values.Active===1,i.service.values.CurrentHeaterCoolerState<2&&i.service.values.Active===1)),r(7),m("ngClass",I(27,$t,i.targetState===0,i.targetState!==0)),r(),y(" ",p(15,19,"accessories.control.off")," "),r(6),m("ngClass",I(30,$t,i.targetState===1,i.targetState!==1)),r(),y(" ",p(22,21,"accessories.control.on")," "),r(4),C(i.targetStateValidValues.length?25:-1),r(),C(i.targetStateValidValues.includes(0)?26:-1))},dependencies:[H,le,ge,he,xe,Le,D,$e,at],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:14px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.temperature-circle-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px}}.temperature-circle-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:80px;font-size:22px}@keyframes _ngcontent-%COMP%_animate-cooling{0%{background-position:0 100%}to{background-position:0 0}}@keyframes _ngcontent-%COMP%_animate-heating{0%{background-position:0 0}to{background-position:0 100%}}.cooling[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-cooling 5s linear infinite;background-image:linear-gradient(0deg,#1e8bbd,#66d6d6,#1e8bbd,#66d6d6);background-size:100% 300%;color:#fff}.heating[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-heating 5s linear infinite;background-image:linear-gradient(0deg,#cc5e00,#e69533,#cc5e00,#e69533);background-size:100% 300%;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var Ll=e=>({"switch-on":e}),Ol=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t});function Nl(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.off")," ")}function Fl(e,n){if(e&1&&(f(0,"i",5),c(1),d(2,"convertTemp"),d(3,"number"),d(4,"uppercase"),d(5,"convertTemp"),d(6,"number"),d(7,"uppercase")),e&2){let t=g(2);r(),Tn(" ",ve(3,6,p(2,4,t.service.values.HeatingThresholdTemperature),"1.0-1"),"\xB0",p(4,9,t.$settings.env.temperatureUnits)," - ",ve(6,13,p(5,11,t.service.values.CoolingThresholdTemperature),"1.0-1"),"\xB0",p(7,16,t.$settings.env.temperatureUnits)," ")}}function Rl(e,n){if(e&1&&(f(0,"i",5),c(1),d(2,"convertTemp"),d(3,"number"),d(4,"uppercase")),e&2){let t=g(2);r(),X(" ",ve(3,4,p(2,2,t.service.values.HeatingThresholdTemperature),"1.0-1"),"\xB0",p(4,7,t.$settings.env.temperatureUnits)," ")}}function Gl(e,n){if(e&1&&(f(0,"i",5),c(1),d(2,"convertTemp"),d(3,"number"),d(4,"uppercase")),e&2){let t=g(2);r(),X(" ",ve(3,4,p(2,2,t.service.values.CoolingThresholdTemperature),"1.0-1"),"\xB0",p(4,7,t.$settings.env.temperatureUnits)," ")}}function jl(e,n){if(e&1&&h(0,Fl,8,18)(1,Rl,5,9)(2,Gl,5,9),e&2){let t=g();C(t.hasHeating&&t.hasCooling?0:t.hasHeating&&!t.hasCooling?1:!t.hasHeating&&t.hasCooling?2:-1)}}function Wl(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.heat")," ")}function Ul(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.cool")," ")}function $l(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.on")," ")}var Jo=(()=>{class e{$modal=L(ae);$settings=L(Ye);service;model=1;hasHeating=!1;hasCooling=!1;constructor(){}ngOnInit(){this.hasHeating=!!this.service.getCharacteristic("HeatingThresholdTemperature"),this.hasCooling=!!this.service.getCharacteristic("CoolingThresholdTemperature")}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1)}onLongClick(){let t=this.$modal.open(Qo,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-heatercooler"]],inputs:{service:"service"},decls:14,vars:18,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"temperature-circle","temperature-circle-collapse",3,"innerText","ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"fa","fas","fa-bullseye"]],template:function(o,i){o&1&&(a(0,"div",0),b("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),d(3,"convertTemp"),d(4,"number"),d(5,"uppercase"),a(6,"div",3),c(7),s(),a(8,"div",4),h(9,Nl,2,3)(10,jl,3,1)(11,Wl,2,3)(12,Ul,2,3)(13,$l,2,3),s()()()),o&2&&(m("ngClass",oe(12,Ll,i.service.values.Active===1)),r(2),m("innerText",ve(4,7,p(3,5,i.service.values.CurrentTemperature),"1.0-1")+"\xB0"+p(5,10,i.$settings.env.temperatureUnits))("ngClass",Ue(14,Ol,i.service.values.CurrentHeaterCoolerState===3&&i.service.values.Active===1,i.service.values.CurrentHeaterCoolerState===2&&i.service.values.Active===1,i.service.values.CurrentHeaterCoolerState<2&&i.service.values.Active===1)),r(5),x(i.service.customName||i.service.serviceName),r(2),C(i.service.values.Active===0?9:i.service.values.TargetHeaterCoolerState===0&&(i.hasHeating||i.hasCooling)?10:i.service.values.TargetHeaterCoolerState===1?11:i.service.values.TargetHeaterCoolerState===2?12:13))},dependencies:[ie,H,Le,D,$e,at],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:14px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.temperature-circle-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px}}.temperature-circle-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:80px;font-size:22px}@keyframes _ngcontent-%COMP%_animate-cooling{0%{background-position:0 100%}to{background-position:0 0}}@keyframes _ngcontent-%COMP%_animate-heating{0%{background-position:0 0}to{background-position:0 100%}}.cooling[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-cooling 5s linear infinite;background-image:linear-gradient(0deg,#1e8bbd,#66d6d6,#1e8bbd,#66d6d6);background-size:100% 300%;color:#fff}.heating[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-heating 5s linear infinite;background-image:linear-gradient(0deg,#cc5e00,#e69533,#cc5e00,#e69533);background-size:100% 300%;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var zl=(e,n,t)=>({dehumidifying:e,humidifying:n,"no-current-state":t}),zt=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function ql(e,n){if(e&1){let t=z();a(0,"button",8),b("click",function(i){return O(t),g(2).setTargetMode(0),N(i.target.blur())}),a(1,"div",9),f(2,"i",10),s(),c(3),d(4,"translate"),a(5,"div",11),f(6,"i",12),s()()}if(e&2){let t=g(2);r(2),m("ngClass",I(4,zt,t.targetMode===0,t.targetMode!==0)),r(),y(" ",p(4,2,"accessories.control.auto")," ")}}function Kl(e,n){if(e&1){let t=z();a(0,"button",8),b("click",function(i){return O(t),g(2).setTargetMode(1),N(i.target.blur())}),a(1,"div",9),f(2,"i",10),s(),c(3),d(4,"translate"),a(5,"div",11),f(6,"i",12),s()()}if(e&2){let t=g(2);r(2),m("ngClass",I(4,zt,t.targetMode===1,t.targetMode!==1)),r(),y(" ",p(4,2,"accessories.control.humidify")," ")}}function Xl(e,n){if(e&1){let t=z();a(0,"button",8),b("click",function(i){return O(t),g(2).setTargetMode(2),N(i.target.blur())}),a(1,"div",9),f(2,"i",10),s(),c(3),d(4,"translate"),a(5,"div",11),f(6,"i",12),s()()}if(e&2){let t=g(2);r(2),m("ngClass",I(4,zt,t.targetMode===2,t.targetMode!==2)),r(),y(" ",p(4,2,"accessories.control.dehumidify")," ")}}function Yl(e,n){if(e&1&&(a(0,"h6",14),c(1),d(2,"translate"),s(),a(3,"div",15),h(4,ql,7,7,"button",16),h(5,Kl,7,7,"button",16),h(6,Xl,7,7,"button",16),s()),e&2){let t=g();r(),x(p(2,4,"accessories.control.mode")),r(3),C(t.targetStateValidValues.includes(0)?4:-1),r(),C(t.targetStateValidValues.includes(1)?5:-1),r(),C(t.targetStateValidValues.includes(2)?6:-1)}}function Zl(e,n){if(e&1){let t=z();a(0,"h6",14),c(1),d(2,"translate"),s(),a(3,"nouislider",17),te("ngModelChange",function(i){O(t);let l=g(2);return ee(l.autoHumidity,i)||(l.autoHumidity=i),N(i)}),b("ngModelChange",function(){O(t);let i=g(2);return N(i.onAutoHumidityStateChange())}),s()}if(e&2){let t=g(2);r(),et(" ",p(2,7,"accessories.control.target_auto"),": ",t.autoHumidity[0],"% - ",t.autoHumidity[1],"% "),r(2),m("min",t.RelativeHumidityHumidifierThreshold.minValue)("max",t.RelativeHumidityDehumidifierThreshold.maxValue)("step",t.RelativeHumidityDehumidifierThreshold.minStep),J("ngModel",t.autoHumidity)}}function Ql(e,n){if(e&1){let t=z();a(0,"h6",14),c(1),d(2,"translate"),s(),a(3,"nouislider",17),te("ngModelChange",function(i){O(t);let l=g(2);return ee(l.targetHumidifierHumidity,i)||(l.targetHumidifierHumidity=i),N(i)}),b("ngModelChange",function(){O(t);let i=g(2);return N(i.onHumidityStateChange())}),s()}if(e&2){let t=g(2);r(),X("",p(2,6,"accessories.control.target_auto"),": ",t.targetHumidifierHumidity,"%"),r(2),m("min",t.RelativeHumidityHumidifierThreshold.minValue)("max",t.RelativeHumidityHumidifierThreshold.maxValue)("step",t.RelativeHumidityHumidifierThreshold.minStep),J("ngModel",t.targetHumidifierHumidity)}}function Jl(e,n){if(e&1){let t=z();a(0,"h6",14),c(1),d(2,"translate"),s(),a(3,"nouislider",17),te("ngModelChange",function(i){O(t);let l=g(2);return ee(l.targetDehumidifierHumidity,i)||(l.targetDehumidifierHumidity=i),N(i)}),b("ngModelChange",function(){O(t);let i=g(2);return N(i.onHumidityStateChange())}),s()}if(e&2){let t=g(2);r(),X("",p(2,6,"accessories.control.target_auto"),": ",t.targetDehumidifierHumidity,"%"),r(2),m("min",t.RelativeHumidityDehumidifierThreshold.minValue)("max",t.RelativeHumidityDehumidifierThreshold.maxValue)("step",t.RelativeHumidityDehumidifierThreshold.minStep),J("ngModel",t.targetDehumidifierHumidity)}}function ec(e,n){if(e&1&&h(0,Zl,4,9)(1,Ql,4,8)(2,Jl,4,8),e&2){let t=g();C(t.RelativeHumidityHumidifierThreshold&&t.RelativeHumidityDehumidifierThreshold?0:t.RelativeHumidityHumidifierThreshold&&!t.RelativeHumidityDehumidifierThreshold?1:!t.RelativeHumidityHumidifierThreshold&&t.RelativeHumidityDehumidifierThreshold?2:-1)}}var er=(()=>{class e{$activeModal=L(ce);service;targetState;targetMode;targetHumidityChanged=new re;targetStateValidValues=[];RelativeHumidityDehumidifierThreshold;RelativeHumidityHumidifierThreshold;targetDehumidifierHumidity;targetHumidifierHumidity;autoHumidity;constructor(){this.targetHumidityChanged.pipe(ue(500)).subscribe(()=>{this.RelativeHumidityHumidifierThreshold&&this.service.getCharacteristic("RelativeHumidityHumidifierThreshold").setValue(this.targetHumidifierHumidity),this.RelativeHumidityDehumidifierThreshold&&this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold").setValue(this.targetDehumidifierHumidity)})}ngOnInit(){this.targetState=this.service.values.Active,this.targetMode=this.service.values.TargetHumidifierDehumidifierState,this.RelativeHumidityDehumidifierThreshold=this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold"),this.RelativeHumidityHumidifierThreshold=this.service.getCharacteristic("RelativeHumidityHumidifierThreshold"),this.targetStateValidValues=this.service.getCharacteristic("TargetHumidifierDehumidifierState").validValues,this.loadTargetHumidity(),setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(o=>{o.style.background="linear-gradient(to left, rgb(80, 80, 179), rgb(173, 216, 230), rgb(255, 185, 120), rgb(139, 90, 60))"})},10)}loadTargetHumidity(){this.targetDehumidifierHumidity=this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold")?.value,this.targetHumidifierHumidity=this.service.getCharacteristic("RelativeHumidityHumidifierThreshold")?.value,this.autoHumidity=[this.targetHumidifierHumidity,this.targetDehumidifierHumidity]}setTargetState(t){this.targetState=t,this.service.getCharacteristic("Active").setValue(this.targetState),this.loadTargetHumidity()}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("TargetHumidifierDehumidifierState").setValue(this.targetMode),this.loadTargetHumidity()}onHumidityStateChange(){this.autoHumidity=[this.targetHumidifierHumidity,this.targetDehumidifierHumidity],this.targetHumidityChanged.next(void 0)}onAutoHumidityStateChange(){this.targetHumidifierHumidity=this.autoHumidity[0],this.targetDehumidifierHumidity=this.autoHumidity[1],this.targetHumidityChanged.next(void 0)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-humidifierdehumidifier-manage"]],inputs:{service:"service"},decls:26,vars:26,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"humidity-drop","humidity-drop-big","mb-3",3,"ngClass"],[1,"humidity-drop-text",3,"innerText"],["role","group","aria-label","Humidifier Dehumidifier State Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],["role","group","aria-label","Humidifier Dehumidifier Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),d(4,"translate"),b("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5),f(7,"div",6),s(),a(8,"div",7)(9,"button",8),b("click",function(u){return i.setTargetState(0),u.target.blur()}),a(10,"div",9),f(11,"i",10),s(),c(12),d(13,"translate"),a(14,"div",11),f(15,"i",12),s()(),a(16,"button",8),b("click",function(u){return i.setTargetState(1),u.target.blur()}),a(17,"div",9),f(18,"i",10),s(),c(19),d(20,"translate"),a(21,"div",11),f(22,"i",12),s()()(),h(23,Yl,7,6),h(24,ec,3,1),s(),f(25,"div",13),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",p(4,10,"form.button_close")),r(3),m("ngClass",Ue(16,zl,i.service.values.CurrentHumidifierDehumidifierState===3&&i.service.values.Active===1,i.service.values.CurrentHumidifierDehumidifierState===2&&i.service.values.Active===1,i.service.values.CurrentHumidifierDehumidifierState===1&&i.service.values.Active===1)),r(),m("innerText",i.service.values.CurrentRelativeHumidity+"%"),r(4),m("ngClass",I(20,zt,i.targetState===0,i.targetState!==0)),r(),y(" ",p(13,12,"accessories.control.off")," "),r(6),m("ngClass",I(23,zt,i.targetState===1,i.targetState!==1)),r(),y(" ",p(20,14,"accessories.control.on")," "),r(4),C(i.targetStateValidValues.length?23:-1),r(),C(i.targetStateValidValues.includes(0)?24:-1))},dependencies:[H,le,ge,he,xe,D],styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:42px;border-radius:5% 55% 70%;font-size:14px;text-align:center;margin-bottom:6px;margin-top:9px;background-color:gray;color:#d3d3d3;transform:rotate(45deg)}@media (max-width: 575px){.humidity-drop-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:28px;font-size:10px;margin-bottom:7px;margin-top:5px}.humidity-drop-collapse[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-2px}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg);margin-left:-5px}.humidity-drop-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:70px;font-size:22px}.humidity-drop-big[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-8px}@keyframes _ngcontent-%COMP%_animate-humidifying{0%{background-position:0 100%}to{background-position:0 0}}@keyframes _ngcontent-%COMP%_animate-dehumidifying{0%{background-position:0 0}to{background-position:0 100%}}.humidifying[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-dehumidifying 5s linear infinite;background-image:linear-gradient(0deg,#1e8bbd,#66d6d6,#1e8bbd,#66d6d6);background-size:100% 300%;color:#fff}.dehumidifying[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-humidifying 5s linear infinite;background-image:linear-gradient(0deg,#cc5e00,#e69533,#cc5e00,#e69533);background-size:100% 300%;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var tc=e=>({"switch-on":e}),ic=(e,n,t)=>({dehumidifying:e,humidifying:n,"no-current-state":t});function nc(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.off")," ")}function oc(e,n){if(e&1&&(f(0,"i",6),c(1)),e&2){let t=g(2);r(),X(" ",t.service.values.RelativeHumidityHumidifierThreshold,"% - ",t.service.values.RelativeHumidityDehumidifierThreshold,"% ")}}function rc(e,n){if(e&1&&(f(0,"i",6),c(1)),e&2){let t=g(2);r(),y(" ",t.service.values.RelativeHumidityHumidifierThreshold,"% ")}}function ac(e,n){if(e&1&&(f(0,"i",6),c(1)),e&2){let t=g(2);r(),y(" ",t.service.values.RelativeHumidityDehumidifierThreshold,"% ")}}function sc(e,n){if(e&1&&h(0,oc,2,2)(1,rc,2,1)(2,ac,2,1),e&2){let t=g();C(t.hasHumidifier&&t.hasDehumidifier?0:t.hasHumidifier&&!t.hasDehumidifier?1:!t.hasHumidifier&&t.hasDehumidifier?2:-1)}}function lc(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.humidify")," ")}function cc(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.dehumidify")," ")}function dc(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.on")," ")}var tr=(()=>{class e{$modal=L(ae);service;model=1;hasHumidifier=!1;hasDehumidifier=!1;constructor(){}ngOnInit(){this.hasHumidifier=!!this.service.getCharacteristic("RelativeHumidityHumidifierThreshold"),this.hasDehumidifier=!!this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold")}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1)}onLongClick(){let t=this.$modal.open(er,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-humidifierdehumidifier"]],inputs:{service:"service"},decls:12,vars:11,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"humidity-drop","humidity-drop-collapse",3,"ngClass"],[1,"humidity-drop-text",3,"innerText"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"fa","fas","fa-bullseye"]],template:function(o,i){o&1&&(a(0,"div",0),b("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),f(3,"div",3),s(),a(4,"div",4),c(5),s(),a(6,"div",5),h(7,nc,2,3)(8,sc,3,1)(9,lc,2,3)(10,cc,2,3)(11,dc,2,3),s()()()),o&2&&(m("ngClass",oe(5,tc,i.service.values.Active===1)),r(2),m("ngClass",Ue(7,ic,i.service.values.CurrentHumidifierDehumidifierState===3&&i.service.values.Active===1,i.service.values.CurrentHumidifierDehumidifierState===2&&i.service.values.Active===1,i.service.values.CurrentHumidifierDehumidifierState===1&&i.service.values.Active===1)),r(),m("innerText",i.service.values.CurrentRelativeHumidity+"%"),r(2),x(i.service.customName||i.service.serviceName),r(2),C(i.service.values.Active===0?7:i.service.values.TargetHumidifierDehumidifierState===0&&(i.hasHumidifier||i.hasDehumidifier)?8:i.service.values.TargetHumidifierDehumidifierState===1?9:i.service.values.TargetHumidifierDehumidifierState===2?10:11))},dependencies:[ie,H,D],styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:42px;border-radius:5% 55% 70%;font-size:14px;text-align:center;margin-bottom:6px;margin-top:9px;background-color:gray;color:#d3d3d3;transform:rotate(45deg)}@media (max-width: 575px){.humidity-drop-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:28px;font-size:10px;margin-bottom:7px;margin-top:5px}.humidity-drop-collapse[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-2px}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg);margin-left:-5px}.humidity-drop-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:70px;font-size:22px}.humidity-drop-big[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-8px}@keyframes _ngcontent-%COMP%_animate-humidifying{0%{background-position:0 100%}to{background-position:0 0}}@keyframes _ngcontent-%COMP%_animate-dehumidifying{0%{background-position:0 0}to{background-position:0 100%}}.humidifying[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-dehumidifying 5s linear infinite;background-image:linear-gradient(0deg,#1e8bbd,#66d6d6,#1e8bbd,#66d6d6);background-size:100% 300%;color:#fff}.dehumidifying[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-humidifying 5s linear infinite;background-image:linear-gradient(0deg,#cc5e00,#e69533,#cc5e00,#e69533);background-size:100% 300%;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var ir=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-humiditysensor"]],inputs:{service:"service"},decls:6,vars:2,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"humidity-drop","humidity-drop-collapse"],[1,"humidity-drop-text",3,"innerText"],[1,"accessory-label","mt-auto"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1)(2,"div",2),f(3,"div",3),s(),a(4,"div",4),c(5),s()()()),o&2&&(r(3),m("innerText",i.service.values.CurrentRelativeHumidity+"%"),r(2),x(i.service.customName||i.service.serviceName))},styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:42px;border-radius:5% 55% 70%;font-size:14px;text-align:center;margin-bottom:6px;margin-top:9px;background-color:gray;color:#d3d3d3;transform:rotate(45deg)}@media (max-width: 575px){.humidity-drop-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:28px;font-size:10px;margin-bottom:7px;margin-top:5px}.humidity-drop-collapse[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-2px}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg);margin-left:-5px}"]})}return e})();var pc=(e,n)=>({"switch-on":e,"switch-off":n});function mc(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.running")))}function uc(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.off")))}var nr=(()=>{class e{service;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-irrigationsystem"]],inputs:{service:"service"},decls:7,vars:9,consts:[["appLongclick","",1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),h(5,mc,3,3,"div",4),h(6,uc,3,3,"div",4),s()()),o&2&&(m("ngClass",I(6,pc,i.service.values.InUse,!i.service.values.InUse)),r(2),m("inlineSVG","/assets/hap-icons/irrigation-system.svg"),V("aria-label","Irrigation Valve"),r(2),y(" ",i.service.customName||i.service.values.ConfiguredName||i.service.serviceName," "),r(),C(i.service.values.InUse?5:-1),r(),C(i.service.values.InUse?-1:6))},dependencies:[ie,H,K,q,D],styles:[".switch-off svg .valve_off_hidden{display:none} .switch-off svg .valve_off_grey{fill:gray}"]})}return e})();var vc=(e,n)=>({"switch-on":e,"switch-off":n});function fc(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.detected")))}function gc(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.not_detected")))}var or=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-leaksensor"]],inputs:{service:"service"},decls:7,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),h(5,fc,3,3,"div",4),h(6,gc,3,3,"div",5),s()()),o&2&&(m("ngClass",I(6,vc,i.service.values.LeakDetected,!i.service.values.LeakDetected)),r(2),m("inlineSVG","/assets/hap-icons/leaksensor.svg"),V("aria-label","Leak Sensor"),r(2),x(i.service.customName||i.service.serviceName),r(),C(i.service.values.LeakDetected?5:-1),r(),C(i.service.values.LeakDetected?-1:6))},dependencies:[H,K,q,D],styles:[".switch-off svg .leak_sensor_droplet{fill:#e0e0e0} .switch-off svg .leak_sensor_trigger_lines{display:none} .switch-off svg .leak_sensor_background{fill:gray} body.dark-mode .switch-off svg .leak_sensor_droplet{fill:#2b2b2b}"]})}return e})();var rr=(e,n)=>({"fa-check-circle":e,"fa-blank":n}),hc=(e,n)=>({"off-text":e,"on-text":n}),ar=(e,n)=>({"mb-1":e,"":n});function Cc(e,n){if(e&1&&(a(0,"div",11)(1,"div",13)(2,"div",7),f(3,"i",14),s(),c(4),d(5,"translate"),a(6,"div",9),f(7,"i",10),s()()()),e&2){let t=g();r(3),m("ngClass",I(5,hc,!t.isAdaptiveLightingEnabled,t.isAdaptiveLightingEnabled)),r(),X(" ",p(5,3,"accessories.control.adaptive_lighting"),": ",t.isAdaptiveLightingEnabled?"ON":"OFF"," ")}}function _c(e,n){if(e&1){let t=z();a(0,"h6",15),c(1),d(2,"translate"),s(),a(3,"nouislider",16),te("ngModelChange",function(i){O(t);let l=g();return ee(l.targetBrightness.value,i)||(l.targetBrightness.value=i),N(i)}),b("ngModelChange",function(){O(t);let i=g();return N(i.onBrightnessStateChange())}),s()}if(e&2){let t=g();r(),X("",p(2,6,"accessories.control.brightness"),": ",t.targetBrightness.value,"%"),r(2),m("min",t.targetBrightness.min)("max",t.targetBrightness.max)("step",t.targetBrightness.step),J("ngModel",t.targetBrightness.value)}}function xc(e,n){e&1&&(a(0,"div",18)(1,"span",19),c(2),d(3,"translate"),s()()),e&2&&(r(2),x(p(3,1,"accessories.control.adaptive_lighting_note")))}function Sc(e,n){if(e&1){let t=z();a(0,"h6",15),c(1),d(2,"translate"),s(),a(3,"nouislider",17),te("ngModelChange",function(i){O(t);let l=g();return ee(l.targetHue.value,i)||(l.targetHue.value=i),N(i)}),b("ngModelChange",function(){O(t);let i=g();return N(i.onHueStateChange())}),s(),h(4,xc,4,3,"div",18)}if(e&2){let t=g();r(),X("",p(2,8,"accessories.control.hue"),": ",t.targetHue.value,"\xB0"),r(2),m("min",0)("max",360)("step",1),J("ngModel",t.targetHue.value),m("ngClass",I(10,ar,t.isAdaptiveLightingEnabled,!t.isAdaptiveLightingEnabled)),r(),C(t.isAdaptiveLightingEnabled?4:-1)}}function bc(e,n){e&1&&(a(0,"div",18)(1,"span",19),c(2),d(3,"translate"),s()()),e&2&&(r(2),x(p(3,1,"accessories.control.adaptive_lighting_note")))}function yc(e,n){if(e&1){let t=z();a(0,"h6",15),c(1),d(2,"translate"),s(),a(3,"nouislider",17),te("ngModelChange",function(i){O(t);let l=g();return ee(l.targetColorTemperature.value,i)||(l.targetColorTemperature.value=i),N(i)}),b("ngModelChange",function(){O(t);let i=g();return N(i.onColorTemperatureStateChange())}),s(),h(4,bc,4,3,"div",18)}if(e&2){let t=g();r(),X("",p(2,8,"accessories.control.color_temperature"),": ",t.targetColorTemperature.value,"K"),r(2),m("min",t.targetColorTemperature.min)("max",t.targetColorTemperature.max)("step",t.targetColorTemperature.step),J("ngModel",t.targetColorTemperature.value),m("ngClass",I(10,ar,t.isAdaptiveLightingEnabled,!t.isAdaptiveLightingEnabled)),r(),C(t.isAdaptiveLightingEnabled?4:-1)}}var sr=(()=>{class e{$activeModal=L(ce);service;isAdaptiveLightingEnabled$;targetMode;targetBrightness;targetBrightnessChanged=new re;targetHue;targetHueChanged=new re;targetColorTemperature;targetColorTemperatureChanged=new re;hasAdaptiveLighting=!1;isAdaptiveLightingEnabled=!1;sliderIndex=0;constructor(){this.targetBrightnessChanged.pipe(ue(500)).subscribe(()=>{this.service.getCharacteristic("Brightness").setValue(this.targetBrightness.value),this.targetBrightness.value&&!this.service.values.On?(this.targetMode=!0,this.service.getCharacteristic("On").setValue(this.targetMode)):!this.targetBrightness.value&&this.service.values.On&&(this.targetMode=!1,this.service.getCharacteristic("On").setValue(this.targetMode))}),this.targetHueChanged.pipe(ue(500)).subscribe(()=>{this.service.getCharacteristic("Hue").setValue(this.targetHue.value),this.service.values.Saturation!==100&&this.service.getCharacteristic("Saturation").setValue(100)}),this.targetColorTemperatureChanged.pipe(ue(500)).subscribe(()=>{this.service.getCharacteristic("ColorTemperature").setValue(this.kelvinToMired(this.targetColorTemperature.value))})}ngOnInit(){this.targetMode=this.service.values.On,this.loadTargetBrightness(),this.loadTargetHue(),this.loadTargetColorTemperature()}loadTargetBrightness(){let t=this.service.getCharacteristic("Brightness");t&&(this.targetBrightness={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep},setTimeout(()=>{let o=document.querySelectorAll(".noUi-target")[this.sliderIndex];o&&(o.style.background="linear-gradient(to right, #242424, #ffd6aa)",this.sliderIndex+=1)},10))}loadTargetHue(){this.service.getCharacteristic("Hue")&&(this.targetHue={value:this.service.getCharacteristic("Hue").value},setTimeout(()=>{let o=document.querySelectorAll(".noUi-target")[this.sliderIndex];o&&(o.style.background=`linear-gradient(to right,
1
+ import{a as Ln}from"./chunk-KK3SNXYW.js";import{m as ce,n as ae}from"./chunk-OHFVMRCL.js";import{a as Vn,b as En,c as In,e as ge,l as he,z as le}from"./chunk-MMYB2ZMV.js";import{a as Hn}from"./chunk-TIUV7RQV.js";import{c as Bn}from"./chunk-2WKK6ARR.js";import{b as Ye}from"./chunk-ODQDNBE4.js";import{h as Pn,k as An}from"./chunk-B7F5OX77.js";import{a as kn,e as vi}from"./chunk-R3JWGCC5.js";import{a as Dn,b as D}from"./chunk-KPKQNEWS.js";import{$a as r,Ac as d,Bc as p,Ca as ot,Cc as ve,Fa as rt,G as dn,Gb as V,H as Bt,Hb as h,Ib as C,Ja as gn,Jc as Oi,K as pn,Kb as Ht,Lb as Lt,M as ue,Mb as Ot,Nb as m,Ob as a,Pb as s,Q as mn,Qb as f,Rb as xn,Sb as Sn,Ub as z,Wc as Mn,X as un,Xa as Li,Xb as b,Yb as g,Zc as wn,a as rn,b as an,ba as vn,bd as H,cb as hn,db as li,e as Je,eb as ci,fa as fn,fb as ke,g as Ur,ga as nt,gc as bn,h as ri,ha as xt,hb as Cn,hc as yn,hd as at,i as Hi,jc as c,jd as Le,ka as qe,kc as x,la as L,lb as w,lc as y,mb as St,mc as X,n as re,nb as bt,nc as et,o as sn,ob as di,oc as Tn,pc as pi,pd as ui,qc as J,qd as Nt,r as ln,ra as O,rc as ee,s as cn,sa as N,sc as te,tb as We,ub as _n,uc as mi,w as ai,wc as oe,x as si,xc as I,yc as Ue}from"./chunk-QSPBB6EE.js";var Nn=Je((em,On)=>{On.exports=function(n,t){return Array.prototype.slice.call(n,t)}});var Rn=Je((tm,Fn)=>{var $r=typeof setImmediate=="function",Ni;$r?Ni=function(e){setImmediate(e)}:Ni=function(e){setTimeout(e,0)};Fn.exports=Ni});var jn=Je((im,Gn)=>{"use strict";var zr=Rn();Gn.exports=function(n,t,o){n&&zr(function(){n.apply(o||null,t||[])})}});var $n=Je((nm,Un)=>{"use strict";var Wn=Nn(),qr=jn();Un.exports=function(n,t){var o=t||{},i={};return n===void 0&&(n={}),n.on=function(l,u){return i[l]?i[l].push(u):i[l]=[u],n},n.once=function(l,u){return u._once=!0,n.on(l,u),n},n.off=function(l,u){var T=arguments.length;if(T===1)delete i[l];else if(T===0)i={};else{var E=i[l];if(!E)return n;E.splice(E.indexOf(u),1)}return n},n.emit=function(){var l=Wn(arguments);return n.emitterSnapshot(l.shift()).apply(this,l)},n.emitterSnapshot=function(l){var u=(i[l]||[]).slice(0);return function(){var T=Wn(arguments),E=this||n;if(l==="error"&&o.throws!==!1&&!u.length)throw T.length===1?T[0]:T;return u.forEach(function(G){o.async?qr(G,T,E):G.apply(E,T),G._once&&n.off(l,G)}),n}},n}});var Kn=Je((om,qn)=>{var zn=global.CustomEvent;function Kr(){try{var e=new zn("cat",{detail:{foo:"bar"}});return e.type==="cat"&&e.detail.foo==="bar"}catch{}return!1}qn.exports=Kr()?zn:typeof document<"u"&&typeof document.createEvent=="function"?function(n,t){var o=document.createEvent("CustomEvent");return t?o.initCustomEvent(n,t.bubbles,t.cancelable,t.detail):o.initCustomEvent(n,!1,!1,void 0),o}:function(n,t){var o=document.createEventObject();return o.type=n,t?(o.bubbles=!!t.bubbles,o.cancelable=!!t.cancelable,o.detail=t.detail):(o.bubbles=!1,o.cancelable=!1,o.detail=void 0),o}});var Zn=Je((rm,Yn)=>{"use strict";var Xn=[],Fi="",Xr=/^on/;for(Fi in global)Xr.test(Fi)&&Xn.push(Fi.slice(2));Yn.exports=Xn});var io=Je((am,to)=>{"use strict";var Yr=Kn(),Zr=Zn(),fi=global.document,Qn=Qr,Jn=ea,Ft=[];global.addEventListener||(Qn=Jr,Jn=ta);to.exports={add:Qn,remove:Jn,fabricate:ia};function Qr(e,n,t,o){return e.addEventListener(n,t,o)}function Jr(e,n,t){return e.attachEvent("on"+n,oa(e,n,t))}function ea(e,n,t,o){return e.removeEventListener(n,t,o)}function ta(e,n,t){var o=eo(e,n,t);if(o)return e.detachEvent("on"+n,o)}function ia(e,n,t){var o=Zr.indexOf(n)===-1?l():i();e.dispatchEvent?e.dispatchEvent(o):e.fireEvent("on"+n,o);function i(){var u;return fi.createEvent?(u=fi.createEvent("Event"),u.initEvent(n,!0,!0)):fi.createEventObject&&(u=fi.createEventObject()),u}function l(){return new Yr(n,{detail:t})}}function na(e,n,t){return function(i){var l=i||global.event;l.target=l.target||l.srcElement,l.preventDefault=l.preventDefault||function(){l.returnValue=!1},l.stopPropagation=l.stopPropagation||function(){l.cancelBubble=!0},l.which=l.which||l.keyCode,t.call(e,l)}}function oa(e,n,t){var o=eo(e,n,t)||na(e,n,t);return Ft.push({wrapper:o,element:e,type:n,fn:t}),o}function eo(e,n,t){var o=ra(e,n,t);if(o){var i=Ft[o].wrapper;return Ft.splice(o,1),i}}function ra(e,n,t){var o,i;for(o=0;o<Ft.length;o++)if(i=Ft[o],i.element===e&&i.type===n&&i.fn===t)return o}});var ao=Je((sm,ro)=>{"use strict";var no={},aa="(?:^|\\s)",sa="(?:\\s|$)";function oo(e){var n=no[e];return n?n.lastIndex=0:no[e]=n=new RegExp(aa+e+sa,"g"),n}function la(e,n){var t=e.className;t.length?oo(n).test(t)||(e.className+=" "+n):e.className=n}function ca(e,n){e.className=e.className.replace(oo(n)," ").trim()}ro.exports={add:la,rm:ca}});var ho=Je((lm,go)=>{"use strict";var da=$n(),yt=io(),st=ao(),Tt=document,Ze=Tt.documentElement;function pa(e,n){var t=arguments.length;t===1&&Array.isArray(e)===!1&&(n=e,e=[]);var o,i,l,u,T,E,P,G,Q,Y,W,Se=null,ne,F=n||{};F.moves===void 0&&(F.moves=po),F.accepts===void 0&&(F.accepts=po),F.invalid===void 0&&(F.invalid=Xt),F.containers===void 0&&(F.containers=e||[]),F.isContainer===void 0&&(F.isContainer=ua),F.copy===void 0&&(F.copy=!1),F.copySortSource===void 0&&(F.copySortSource=!1),F.revertOnSpill===void 0&&(F.revertOnSpill=!1),F.removeOnSpill===void 0&&(F.removeOnSpill=!1),F.direction===void 0&&(F.direction="vertical"),F.ignoreInputTextSelection===void 0&&(F.ignoreInputTextSelection=!0),F.mirrorContainer===void 0&&(F.mirrorContainer=Tt.body);var fe=da({containers:F.containers,start:Vi,end:ht,cancel:Zt,remove:wt,destroy:gt,canMove:ki,dragging:!1});return F.removeOnSpill===!0&&fe.on("over",Et).on("out",It),tt(),fe;function Fe(M){return fe.containers.indexOf(M)!==-1||F.isContainer(M)}function tt(M){var U=M?"remove":"add";Rt(Ze,U,"mousedown",ze),Rt(Ze,U,"mouseup",Mt)}function Xe(M){var U=M?"remove":"add";Rt(Ze,U,"mousemove",wi)}function dt(M){var U=M?"remove":"add";yt[U](Ze,"selectstart",qt),yt[U](Ze,"click",qt)}function gt(){tt(!0),Mt({})}function qt(M){ne&&M.preventDefault()}function ze(M){E=M.clientX,P=M.clientY;var U=so(M)!==1||M.metaKey||M.ctrlKey;if(!U){var Z=M.target,se=pt(Z);se&&(ne=se,Xe(),M.type==="mousedown"&&(vo(Z)?Z.focus():M.preventDefault()))}}function wi(M){if(ne){if(so(M)===0){Mt({});return}if(!(M.clientX!==void 0&&Math.abs(M.clientX-E)<=(F.slideFactorX||0)&&M.clientY!==void 0&&Math.abs(M.clientY-P)<=(F.slideFactorY||0))){if(F.ignoreInputTextSelection){var U=lt("clientX",M)||0,Z=lt("clientY",M)||0,se=Tt.elementFromPoint(U,Z);if(vo(se))return}var Pe=ne;Xe(!0),dt(),ht(),Kt(Pe);var Me=ma(l);u=lt("pageX",M)-Me.left,T=lt("pageY",M)-Me.top,st.add(Y||l,"gu-transit"),Jt(),Vt(M)}}}function pt(M){if(!(fe.dragging&&o)&&!Fe(M)){for(var U=M;Oe(M)&&Fe(Oe(M))===!1;)if(F.invalid(M,U)||(M=Oe(M),!M))return;var Z=Oe(M);if(Z&&!F.invalid(M,U)){var se=F.moves(M,Z,U,Gt(M));if(se)return{item:M,source:Z}}}}function ki(M){return!!pt(M)}function Vi(M){var U=pt(M);U&&Kt(U)}function Kt(M){Ei(M.item,M.source)&&(Y=M.item.cloneNode(!0),fe.emit("cloned",Y,M.item,"copy")),i=M.source,l=M.item,G=Q=Gt(M.item),fe.dragging=!0,fe.emit("drag",l,i)}function Xt(){return!1}function ht(){if(fe.dragging){var M=Y||l;Ct(M,Oe(M))}}function Yt(){ne=!1,Xe(!0),dt(!0)}function Mt(M){if(Yt(),!!fe.dragging){var U=Y||l,Z=lt("clientX",M)||0,se=lt("clientY",M)||0,Pe=co(o,Z,se),Me=Qt(Pe,Z,se);Me&&(Y&&F.copySortSource||!Y||Me!==i)?Ct(U,Me):F.removeOnSpill?wt():Zt()}}function Ct(M,U){var Z=Oe(M);Y&&F.copySortSource&&U===i&&Z.removeChild(l),_t(U)?fe.emit("cancel",M,i,i):fe.emit("drop",M,U,i,Q),kt()}function wt(){if(fe.dragging){var M=Y||l,U=Oe(M);U&&U.removeChild(M),fe.emit(Y?"cancel":"remove",M,U,i),kt()}}function Zt(M){if(fe.dragging){var U=arguments.length>0?M:F.revertOnSpill,Z=Y||l,se=Oe(Z),Pe=_t(se);Pe===!1&&U&&(Y?se&&se.removeChild(Y):i.insertBefore(Z,G)),Pe||U?fe.emit("cancel",Z,i,i):fe.emit("drop",Z,se,i,Q),kt()}}function kt(){var M=Y||l;Yt(),Qe(),M&&st.rm(M,"gu-transit"),W&&clearTimeout(W),fe.dragging=!1,Se&&fe.emit("out",M,Se,i),fe.emit("dragend",M),i=l=Y=G=Q=W=Se=null}function _t(M,U){var Z;return U!==void 0?Z=U:o?Z=Q:Z=Gt(Y||l),M===i&&Z===G}function Qt(M,U,Z){for(var se=M;se&&!Pe();)se=Oe(se);return se;function Pe(){var Me=Fe(se);if(Me===!1)return!1;var it=ei(se,M),Ve=Dt(se,it,U,Z),je=_t(se,Ve);return je?!0:F.accepts(l,se,i,Ve)}}function Vt(M){if(!o)return;M.preventDefault();var U=lt("clientX",M)||0,Z=lt("clientY",M)||0,se=U-u,Pe=Z-T;o.style.left=se+"px",o.style.top=Pe+"px";var Me=Y||l,it=co(o,U,Z),Ve=Qt(it,U,Z),je=Ve!==null&&Ve!==Se;(je||Ve===null)&&(ti(),Se=Ve,Pt());var He=Oe(Me);if(Ve===i&&Y&&!F.copySortSource){He&&He.removeChild(Me);return}var Ee,me=ei(Ve,it);if(me!==null)Ee=Dt(Ve,me,U,Z);else if(F.revertOnSpill===!0&&!Y)Ee=G,Ve=i;else{Y&&He&&He.removeChild(Me);return}(Ee===null&&je||Ee!==Me&&Ee!==Gt(Me))&&(Q=Ee,Ve.insertBefore(Me,Ee),fe.emit("shadow",Me,Ve,i));function Re(ii){fe.emit(ii,Me,Se,i)}function Pt(){je&&Re("over")}function ti(){Se&&Re("out")}}function Et(M){st.rm(M,"gu-hide")}function It(M){fe.dragging&&st.add(M,"gu-hide")}function Jt(){if(!o){var M=l.getBoundingClientRect();o=l.cloneNode(!0),o.style.width=mo(M)+"px",o.style.height=uo(M)+"px",st.rm(o,"gu-transit"),st.add(o,"gu-mirror"),F.mirrorContainer.appendChild(o),Rt(Ze,"add","mousemove",Vt),st.add(F.mirrorContainer,"gu-unselectable"),fe.emit("cloned",o,l,"mirror")}}function Qe(){o&&(st.rm(F.mirrorContainer,"gu-unselectable"),Rt(Ze,"remove","mousemove",Vt),Oe(o).removeChild(o),o=null)}function ei(M,U){for(var Z=U;Z!==M&&Oe(Z)!==M;)Z=Oe(Z);return Z===Ze?null:Z}function Dt(M,U,Z,se){var Pe=F.direction==="horizontal",Me=U!==M?Ve():it();return Me;function it(){var He=M.children.length,Ee,me,Re;for(Ee=0;Ee<He;Ee++)if(me=M.children[Ee],Re=me.getBoundingClientRect(),Pe&&Re.left+Re.width/2>Z||!Pe&&Re.top+Re.height/2>se)return me;return null}function Ve(){var He=U.getBoundingClientRect();return je(Pe?Z>He.left+mo(He)/2:se>He.top+uo(He)/2)}function je(He){return He?Gt(U):U}}function Ei(M,U){return typeof F.copy=="boolean"?F.copy:F.copy(M,U)}}function Rt(e,n,t,o){var i={mouseup:"touchend",mousedown:"touchstart",mousemove:"touchmove"},l={mouseup:"pointerup",mousedown:"pointerdown",mousemove:"pointermove"},u={mouseup:"MSPointerUp",mousedown:"MSPointerDown",mousemove:"MSPointerMove"};global.navigator.pointerEnabled?yt[n](e,l[t],o):global.navigator.msPointerEnabled?yt[n](e,u[t],o):(yt[n](e,i[t],o),yt[n](e,t,o))}function so(e){if(e.touches!==void 0)return e.touches.length;if(e.which!==void 0&&e.which!==0)return e.which;if(e.buttons!==void 0)return e.buttons;var n=e.button;if(n!==void 0)return n&1?1:n&2?3:n&4?2:0}function ma(e){var n=e.getBoundingClientRect();return{left:n.left+lo("scrollLeft","pageXOffset"),top:n.top+lo("scrollTop","pageYOffset")}}function lo(e,n){return typeof global[n]<"u"?global[n]:Ze.clientHeight?Ze[e]:Tt.body[e]}function co(e,n,t){e=e||{};var o=e.className||"",i;return e.className+=" gu-hide",i=Tt.elementFromPoint(n,t),e.className=o,i}function ua(){return!1}function po(){return!0}function mo(e){return e.width||e.right-e.left}function uo(e){return e.height||e.bottom-e.top}function Oe(e){return e.parentNode===Tt?null:e.parentNode}function vo(e){return e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.tagName==="SELECT"||fo(e)}function fo(e){return!e||e.contentEditable==="false"?!1:e.contentEditable==="true"?!0:fo(Oe(e))}function Gt(e){return e.nextElementSibling||n();function n(){var t=e;do t=t.nextSibling;while(t&&t.nodeType!==1);return t}}function va(e){return e.targetTouches&&e.targetTouches.length?e.targetTouches[0]:e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e}function lt(e,n){var t=va(n),o={pageX:"clientX",pageY:"clientY"};return e in o&&!(e in t)&&o[e]in t&&(e=o[e]),t[e]}go.exports=pa});var Wi=Ur(ho(),1),Ri=class{constructor(n,t,o){this.name=n,this.drake=t,this.options=o,this.initEvents=!1}},pe=function(e){return e.Cancel="cancel",e.Cloned="cloned",e.Drag="drag",e.DragEnd="dragend",e.Drop="drop",e.Out="out",e.Over="over",e.Remove="remove",e.Shadow="shadow",e.DropModel="dropModel",e.RemoveModel="removeModel",e}(pe||{}),fa=Object.keys(pe).map(e=>pe[e]),ga=Wi.default||Wi,jt=class{constructor(n=ga){this.build=n}},ut=(e,n,t)=>o=>o.pipe(Bt(({event:i,name:l})=>i===e&&(n===void 0||l===n)),si(({name:i,args:l})=>t(i,l))),ha=(e,[n,t,o])=>({name:e,el:n,container:t,source:o}),Gi=(()=>{let n=class n{constructor(o){this.drakeFactory=o,this.groups={},this.dispatch$=new re,this.elContainerSource=i=>l=>this.dispatch$.pipe(ut(i,l,ha)),this.cancel=this.elContainerSource(pe.Cancel),this.remove=this.elContainerSource(pe.Remove),this.shadow=this.elContainerSource(pe.Shadow),this.over=this.elContainerSource(pe.Over),this.out=this.elContainerSource(pe.Out),this.drag=i=>this.dispatch$.pipe(ut(pe.Drag,i,(l,[u,T])=>({name:l,el:u,source:T}))),this.dragend=i=>this.dispatch$.pipe(ut(pe.DragEnd,i,(l,[u])=>({name:l,el:u}))),this.drop=i=>this.dispatch$.pipe(ut(pe.Drop,i,(l,[u,T,E,P])=>({name:l,el:u,target:T,source:E,sibling:P}))),this.cloned=i=>this.dispatch$.pipe(ut(pe.Cloned,i,(l,[u,T,E])=>({name:l,clone:u,original:T,cloneType:E}))),this.dropModel=i=>this.dispatch$.pipe(ut(pe.DropModel,i,(l,[u,T,E,P,G,Q,Y,W,Se])=>({name:l,el:u,target:T,source:E,sibling:P,item:G,sourceModel:Q,targetModel:Y,sourceIndex:W,targetIndex:Se}))),this.removeModel=i=>this.dispatch$.pipe(ut(pe.RemoveModel,i,(l,[u,T,E,P,G,Q])=>({name:l,el:u,container:T,source:E,item:P,sourceModel:G,sourceIndex:Q}))),(this.drakeFactory===null||this.drakeFactory===void 0)&&(this.drakeFactory=new jt)}add(o){if(this.find(o.name))throw new Error('Group named: "'+o.name+'" already exists.');return this.groups[o.name]=o,this.handleModels(o),this.setupEvents(o),o}find(o){return this.groups[o]}destroy(o){let i=this.find(o);i&&(i.drake&&i.drake.destroy(),delete this.groups[o])}createGroup(o,i){return this.add(new Ri(o,this.drakeFactory.build([],i),i))}handleModels({name:o,drake:i,options:l}){let u,T,E;i.on("remove",(P,G,Q)=>{if(!i.models)return;let Y=i.models[i.containers.indexOf(Q)];Y=Y.slice(0);let W=Y.splice(T,1)[0];this.dispatch$.next({event:pe.RemoveModel,name:o,args:[P,G,Q,W,Y,T]})}),i.on("drag",(P,G)=>{i.models&&(u=P,T=this.domIndexOf(P,G))}),i.on("drop",(P,G,Q,Y)=>{if(!i.models||!G)return;E=this.domIndexOf(P,G);let W=i.models[i.containers.indexOf(Q)],Se=i.models[i.containers.indexOf(G)],ne;if(G===Q)W=W.slice(0),ne=W.splice(T,1)[0],W.splice(E,0,ne),Se=W;else{let F=u!==P;if(ne=W[T],F){if(!l.copyItem)throw new Error("If you have enabled `copy` on a group, you must provide a `copyItem` function.");ne=l.copyItem(ne)}if(F||(W=W.slice(0),W.splice(T,1)),Se=Se.slice(0),Se.splice(E,0,ne),F)try{G.removeChild(P)}catch{}}this.dispatch$.next({event:pe.DropModel,name:o,args:[P,G,Q,Y,ne,W,Se,T,E]})})}setupEvents(o){if(o.initEvents)return;o.initEvents=!0;let i=o.name,l=this,u=T=>{switch(T){case pe.Drag:o.drake.on(T,(...E)=>{this.dispatch$.next({event:T,name:i,args:E})});break;case pe.Drop:o.drake.on(T,(...E)=>{this.dispatch$.next({event:T,name:i,args:E})});break;case pe.DragEnd:o.drake.on(T,(...E)=>{this.dispatch$.next({event:T,name:i,args:E})});break;case pe.Cancel:case pe.Remove:case pe.Shadow:case pe.Over:case pe.Out:o.drake.on(T,(...E)=>{this.dispatch$.next({event:T,name:i,args:E})});break;case pe.Cloned:o.drake.on(T,(...E)=>{this.dispatch$.next({event:T,name:i,args:E})});break;case pe.DropModel:o.drake.on(T,(...E)=>{this.dispatch$.next({event:T,name:i,args:E})});break;case pe.RemoveModel:o.drake.on(T,(...E)=>{this.dispatch$.next({event:T,name:i,args:E})});break;default:break}};fa.forEach(u)}domIndexOf(o,i){if(i)return Array.prototype.indexOf.call(i.children,o)}};n.\u0275fac=function(i){return new(i||n)(qe(jt,8))},n.\u0275prov=nt({token:n,factory:n.\u0275fac,providedIn:"root"});let e=n;return e})(),Cm=(()=>{let n=class n{get container(){return this.el&&this.el.nativeElement}constructor(o,i){this.el=o,this.dragulaService=i,this.dragulaModelChange=new We}ngOnChanges(o){if(o&&o.dragula){let{previousValue:i,currentValue:l,firstChange:u}=o.dragula,T=!!i,E=!!l;T&&this.teardown(i),E&&this.setup()}else if(o&&o.dragulaModel){let{previousValue:i,currentValue:l,firstChange:u}=o.dragulaModel,T=this.group?.drake;if(this.dragula&&T){T.models=T.models||[];let E=T.models.indexOf(i);E!==-1?(T.models.splice(E,1),l&&T.models.splice(E,0,l)):l&&T.models.push(l)}}}setup(){let o=l=>{this.dragulaModel&&(l.drake?.models?l.drake?.models?.push(this.dragulaModel):l.drake&&(l.drake.models=[this.dragulaModel]))};if(!this.dragula)return;let i=this.dragulaService.find(this.dragula);if(!i){let l={};i=this.dragulaService.createGroup(this.dragula,l)}o(i),i.drake?.containers.push(this.container),this.subscribe(this.dragula),this.group=i}subscribe(o){this.subs=new Hi,this.subs.add(this.dragulaService.dropModel(o).subscribe(({source:i,target:l,sourceModel:u,targetModel:T})=>{i===this.el.nativeElement?this.dragulaModelChange.emit(u):l===this.el.nativeElement&&this.dragulaModelChange.emit(T)})),this.subs.add(this.dragulaService.removeModel(o).subscribe(({source:i,sourceModel:l})=>{i===this.el.nativeElement&&this.dragulaModelChange.emit(l)}))}teardown(o){this.subs&&this.subs.unsubscribe();let i=this.dragulaService.find(o);if(i){let l=i.drake?.containers.indexOf(this.el.nativeElement);if(l!==-1&&i.drake?.containers.splice(l,1),this.dragulaModel&&i.drake&&i.drake.models){let u=i.drake.models.indexOf(this.dragulaModel);u!==-1&&i.drake.models.splice(u,1)}}}ngOnDestroy(){this.dragula&&this.teardown(this.dragula)}};n.\u0275fac=function(i){return new(i||n)(ke(rt),ke(Gi))},n.\u0275dir=bt({type:n,selectors:[["","dragula",""]],inputs:{dragula:"dragula",dragulaModel:"dragulaModel"},outputs:{dragulaModelChange:"dragulaModelChange"},standalone:!1,features:[ot]});let e=n;return e})(),_m=(()=>{let n=class n{static forRoot(){return{ngModule:n,providers:[Gi]}}};n.\u0275fac=function(i){return new(i||n)},n.\u0275mod=St({type:n}),n.\u0275inj=xt({providers:[Gi]});let e=n;return e})(),xm=new jt((e,n)=>new ji(e,n)),ji=class{constructor(n=[],t={},o){this.containers=n,this.options=t,this.models=o,this.emitter$=new re,this.subs=new Hi,this.dragging=!1}on(n,t){this.subs.add(this.emitter$.pipe(Bt(({eventType:o})=>o===n)).subscribe(({eventType:o,args:i})=>{if(o===pe.Drag){let l=Array.from(i),u=l[0],T=l[1];t(u,T);return}if(o===pe.Drop){let l=Array.from(i),u=l[0],T=l[1],E=l[2],P=l[3];t(u,T,E,P);return}if(o===pe.Remove){let l=Array.from(i),u=l[0],T=l[1],E=l[2];t(u,T,E);return}t(i)}))}start(n){this.dragging=!0}end(){this.dragging=!1}cancel(n){this.dragging=!1}canMove(n){return this.options.accepts?this.options.accepts(n):!1}remove(){this.dragging=!1}destroy(){this.subs.unsubscribe()}emit(n,...t){this.emitter$.next({eventType:n,args:t})}};var $e=(()=>{class e{$settings=L(Ye);constructor(){}transform(t,o=this.$settings.env.temperatureUnits){return o==="f"?t*1.8+32:t}static \u0275fac=function(o){return new(o||e)};static \u0275pipe=di({name:"convertTemp",type:e,pure:!0})}return e})();function Ca(e,n){if(e&1&&c(0),e&2){let t=g().$implicit;y(" ",t.value,"% ")}}function _a(e,n){if(e&1&&(c(0),d(1,"convertTemp")),e&2){let t=g().$implicit;y(" ",p(1,1,t.value),"\xB0 ")}}function xa(e,n){if(e&1&&c(0),e&2){let t=g().$implicit;y(" ",t.value," ")}}function Sa(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),s(),a(3,"span",20),h(4,Ca,1,1)(5,_a,2,3)(6,xa,1,1),s()()),e&2){let t,o=n.$implicit;r(2),x(o.description),r(2),C((t=o.unit)==="percentage"?4:t==="celsius"?5:6)}}function ba(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),d(3,"translate"),s(),a(4,"span",20),c(5),s()()),e&2){let t=g(2);r(2),x(p(3,2,"child_bridge.config.platform")),r(3),x(t.matchedCachedAccessory.platform)}}function ya(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),d(3,"translate"),s(),a(4,"span",20),c(5),s()()),e&2){let t=g(2);r(2),x(p(3,2,"child_bridge.config.accessory")),r(3),x(t.matchedCachedAccessory.accessory)}}function Ta(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),d(3,"translate"),s(),a(4,"span",20),c(5),s()(),h(6,ba,6,4,"li",19),h(7,ya,6,4,"li",19)),e&2){let t=g();r(2),x(p(3,4,"accessories.plugin")),r(3),x(t.matchedCachedAccessory.plugin),r(),C(t.matchedCachedAccessory.platform?6:-1),r(),C(t.matchedCachedAccessory.accessory?7:-1)}}function Ma(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),s(),a(3,"span",20),c(4),s()()),e&2){let t=n.$implicit;r(2),x(t.key),r(2),x(t.value)}}function wa(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),d(3,"translate"),s(),a(4,"span",20),c(5),s()()),e&2){let t=g();r(2),x(p(3,2,"accessories.bridge_name")),r(3),x(t.matchedCachedAccessory.bridge)}}function ka(e,n){if(e&1){let t=z();a(0,"li",19)(1,"span",22),c(2,"UUID"),s(),a(3,"span",20),c(4),s()(),a(5,"li",27)(6,"span",11),c(7),d(8,"translate"),s(),a(9,"button",28),b("click",function(){O(t);let i=g();return N(i.removeSingleCachedAccessories())}),f(10,"i",29),s()()}if(e&2){let t=g();r(4),x(t.matchedCachedAccessory.UUID),r(3),x(p(8,2,"accessories.button_remove"))}}var Co=(()=>{class e{$activeModal=L(ce);$modal=L(ae);service;accessoryCache;pairingCache;accessoryInformation;matchedCachedAccessory=null;constructor(){}ngOnInit(){this.accessoryInformation=Object.entries(this.service.accessoryInformation).map(([t,o])=>({key:t,value:o})),this.matchedCachedAccessory=this.matchToCachedAccessory()}matchToCachedAccessory(){let t=this.service.instance.username,o=this.pairingCache.find(i=>i._username===t);if(o){let i=o._main?"cachedAccessories":`cachedAccessories.${o._id}`,l=this.accessoryCache.filter(u=>u.$cacheFile===i);if(l.length){let u=this.service.accessoryInformation.Name,T=this.service.accessoryInformation["Serial Number"],E=l.filter(P=>{let G=P.services.find(W=>W.constructorName==="AccessoryInformation"),Q=G.characteristics.find(W=>W.displayName==="Name"),Y=G.characteristics.find(W=>W.displayName==="Serial Number");return Q.value===u&&Y.value===T});if(E.length===1)return an(rn({},E[0]),{bridge:o.name})}}}removeSingleCachedAccessories(){this.$activeModal.close();let t=this.$modal.open(Ln,{size:"lg",backdrop:"static"});t.componentInstance.selectedBridge=this.service.instance.username.replaceAll(":","")}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["ng-component"]],inputs:{service:"service",accessoryCache:"accessoryCache",pairingCache:"pairingCache"},decls:95,vars:59,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"list-group","list-group-box","mb-3"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","text","id","form-name","autocomplete","off",1,"form-control","custom-input",3,"ngModelChange","ngModel"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","id","hide-accessory",1,"rendux-input",3,"ngModelChange","ngModel"],["for","hide-accessory",1,"rendux-label","ms-3"],["type","checkbox","id","show-on-dashboard",1,"rendux-input","mb-0",3,"ngModelChange","ngModel"],["for","show-on-dashboard",1,"rendux-label","ms-3"],[1,"list-group-item"],[1,"mb-0","text-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-left","flex-column","flex-md-row"],[1,"text-start","text-md-end","grey-text","font-monospace"],[1,"list-group","list-group-box","mb-0"],[1,"text-start","font-monospace"],[1,"modal-footer","justify-content-between"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"btn","btn-primary","m-0","ms-3",3,"click"],[1,"fas","fa-fw","fa-arrow-right"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),c(3),s(),a(4,"button",3),d(5,"translate"),b("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(6,"div",4)(7,"ul",5)(8,"li",6)(9,"label",7),c(10),d(11,"translate"),s(),a(12,"div",8)(13,"input",9),b("ngModelChange",function(u){return i.service.customName=u}),s()()(),a(14,"li",10)(15,"span",11),c(16),d(17,"translate"),s(),a(18,"div",12)(19,"input",13),d(20,"translate"),te("ngModelChange",function(u){return ee(i.service.hidden,u)||(i.service.hidden=u),u}),s(),f(21,"label",14),s()(),a(22,"li",10)(23,"span",11),c(24),d(25,"translate"),s(),a(26,"div",12)(27,"input",15),d(28,"translate"),te("ngModelChange",function(u){return ee(i.service.onDashboard,u)||(i.service.onDashboard=u),u}),s(),f(29,"label",16),s()()(),a(30,"ul",5)(31,"li",17)(32,"h6",18),c(33),d(34,"translate"),s()(),a(35,"li",19)(36,"span",11),c(37),d(38,"translate"),s(),a(39,"span",20),c(40),s()(),a(41,"li",19)(42,"span",11),c(43),d(44,"translate"),s(),a(45,"span",20),c(46),s()(),Lt(47,Sa,7,2,"li",19,Ht),s(),a(49,"ul",21)(50,"li",17)(51,"h6",18),c(52),d(53,"translate"),s()(),h(54,Ta,8,6),Lt(55,Ma,5,2,"li",19,Ht),a(57,"li",19)(58,"span",11),c(59),d(60,"translate"),s(),a(61,"span",20),c(62),s()(),h(63,wa,6,4,"li",19),a(64,"li",19)(65,"span",11),c(66),d(67,"translate"),s(),a(68,"span",20),c(69),s()(),a(70,"li",19)(71,"span",11),c(72),d(73,"translate"),s(),a(74,"span",20),c(75),s()(),a(76,"li",19)(77,"span",22),c(78,"aid"),s(),a(79,"span",20),c(80),s()(),a(81,"li",19)(82,"span",22),c(83,"iid"),s(),a(84,"span",20),c(85),s()(),h(86,ka,11,4),s()(),a(87,"div",23),f(88,"div",11),a(89,"div",24)(90,"button",25),d(91,"translate"),b("click",function(){return i.$activeModal.dismiss("Dismiss")}),c(92),d(93,"translate"),s()(),f(94,"div",26),s()()),o&2&&(r(3),x(i.service.customName||i.service.serviceName),r(),V("aria-label",p(5,29,"form.button_close")),r(6),x(p(11,31,"accessories.custom_name")),r(3),m("ngModel",i.service.customName||i.service.serviceName),r(3),x(p(17,33,"accessories.hide_this_accessory")),r(3),J("ngModel",i.service.hidden),V("aria-label",p(20,35,"accessories.hide_this_accessory")),r(5),x(p(25,37,"accessories.show_on_dashboard")),r(3),J("ngModel",i.service.onDashboard),V("aria-label",p(28,39,"accessories.show_on_dashboard")),r(6),x(p(34,41,"accessories.service_info")),r(4),x(p(38,43,"accessories.service")),r(3),x(i.service.humanType),r(3),x(p(44,45,"accessories.name")),r(3),x(i.service.serviceName),r(),Ot(i.service.serviceCharacteristics),r(5),x(p(53,47,"accessories.accessory_info")),r(2),C(i.matchedCachedAccessory?54:-1),r(),Ot(i.accessoryInformation),r(4),x(p(60,49,"accessories.bridge_username")),r(3),x(i.service.instance.username),r(),C(i.matchedCachedAccessory?63:-1),r(3),x(p(67,51,"accessories.bridge_ip")),r(3),x(i.service.instance.ipAddress),r(3),x(p(73,53,"accessories.bridge_port")),r(3),x(i.service.instance.port),r(5),x(i.service.aid),r(5),x(i.service.iid),r(),C(i.matchedCachedAccessory?86:-1),r(4),V("aria-label",p(91,55,"form.button_close")),r(2),y(" ",p(93,57,"form.button_close")," "))},dependencies:[le,In,En,ge,he,D,$e],encapsulation:2})}return e})();var _o=(()=>{class e{$api=L(An);$auth=L(Bn);$modal=L(ae);$toastr=L(Pn);$translate=L(Dn);$ws=L(Hn);layoutSaved=new re;accessoryData=new re;readyForControl=!1;accessoryLayout;accessories={services:[]};rooms=[];io;roomsOrdered=!1;hiddenTypes=["InputSource","LockManagement","CameraRTPStreamManagement","ProtocolInformation"];accessoryCache=[];pairingCache=[];constructor(){ai(this.$api.get("/server/cached-accessories")).then(t=>{this.accessoryCache=t}).catch(t=>console.error(t)),ai(this.$api.get("/server/pairings")).then(t=>{this.pairingCache=t}).catch(t=>console.error(t))}showAccessoryInformation(t){let o=this.$modal.open(Co,{size:"lg",backdrop:"static"});return o.componentInstance.service=t,o.componentInstance.accessoryCache=this.accessoryCache,o.componentInstance.pairingCache=this.pairingCache,o.result.then(()=>this.saveLayout()).catch(()=>this.saveLayout()),!1}stop(){this.io.end(),this.rooms=[],this.accessories={services:[]},this.roomsOrdered=!1,delete this.accessoryLayout}start(){return ri(this,null,function*(){this.readyForControl=!1,this.io=this.$ws.connectToNamespace("accessories"),yield this.loadLayout(),this.io.connected?(this.io.socket.emit("get-accessories"),setTimeout(()=>{this.io.connected.subscribe(()=>{this.io.socket.emit("get-accessories")})},1e3)):this.io.connected.subscribe(()=>{this.io.socket.emit("get-accessories")}),this.io.socket.on("accessories-data",t=>{this.parseServices(t),this.generateHelpers(),this.sortIntoRooms(),this.roomsOrdered||(this.orderRooms(),this.applyCustomAttributes(),this.roomsOrdered=!0),this.accessoryData.next(t)}),this.io.socket.on("accessories-reload-required",()=>ri(this,null,function*(){this.stop(),yield this.start()})),this.io.socket.on("accessory-control-failure",t=>{console.error(t),this.$toastr.error(t,this.$translate.instant("toast.title_error"))}),this.io.socket.on("accessories-ready-for-control",()=>{this.readyForControl=!0})})}saveLayout(){this.accessoryLayout=this.rooms.map(t=>({name:t.name,services:t.services.map(o=>({uniqueId:o.uniqueId,aid:o.aid,iid:o.iid,uuid:o.uuid,customName:o.customName||void 0,hidden:o.hidden||void 0,onDashboard:o.onDashboard||void 0}))})).filter(t=>t.services.length),this.io.request("save-layout",{user:this.$auth.user.username,layout:this.accessoryLayout}).subscribe({next:()=>this.layoutSaved.next(void 0),error:t=>{console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}loadLayout(){return ri(this,null,function*(){this.accessoryLayout=yield ai(this.io.request("get-layout",{user:this.$auth.user.username})),this.rooms=this.accessoryLayout.map(t=>({name:t.name,services:[]}))})}parseServices(t){if(!this.accessories.services.length){this.accessories.services=t;return}t.forEach(o=>{let i=this.accessories.services.find(l=>l.uniqueId===o.uniqueId);o.type==="LockMechanism"&&this.attachLockManagementToMechanism(o),i?Object.assign(i,o):this.accessories.services.push(o)})}sortIntoRooms(){this.accessories.services.forEach(t=>{if(this.hiddenTypes.includes(t.type))return;if(t.linked&&(t.linkedServices={},t.linked.forEach(i=>{t.linkedServices[i]=this.accessories.services.find(l=>l.aid===t.aid&&l.iid===i&&l.instance.username===t.instance.username)})),!this.rooms.find(i=>i.services.find(l=>l.uniqueId===t.uniqueId))){let i=this.accessoryLayout.find(l=>l.services.find(u=>u.uniqueId===t.uniqueId));if(i)this.rooms.find(l=>l.name===i.name).services.push(t);else{let l=this.rooms.find(u=>u.name==="Default Room");l?l.services.push(t):this.rooms.push({name:"Default Room",services:[t]})}}})}orderRooms(){this.rooms.forEach(t=>{let o=this.accessoryLayout.find(i=>i.name===t.name);t.services.sort((i,l)=>{let u=o.services.findIndex(E=>E.uniqueId===i.uniqueId),T=o.services.findIndex(E=>E.uniqueId===l.uniqueId);return u<T?-1:u>T?1:0})})}applyCustomAttributes(){this.rooms.forEach(t=>{let o=this.accessoryLayout.find(i=>i.name===t.name);t.services.forEach(i=>{let l=o.services.find(u=>u.uniqueId===i.uniqueId);Object.assign(i,l)})})}generateHelpers(){this.accessories.services.forEach(t=>{t.getCharacteristic||(t.getCharacteristic=o=>{let i=t.serviceCharacteristics.find(l=>l.type===o);return i?(i.setValue=l=>new Promise(u=>(this.readyForControl||u(void 0),this.io.socket.emit("accessory-control",{set:{uniqueId:t.uniqueId,aid:t.aid,siid:t.iid,iid:i.iid,value:l}}),u(void 0))),i):null})})}attachLockManagementToMechanism(t){let o=[],i=[];for(let l of this.accessories.services)l.type==="LockMechanism"&&l.accessoryInformation.Name===t.accessoryInformation.Name&&l.accessoryInformation["Serial Number"]===t.accessoryInformation["Serial Number"]?o.push(l):l.type==="LockManagement"&&l.accessoryInformation.Name===t.accessoryInformation.Name&&l.accessoryInformation["Serial Number"]===t.accessoryInformation["Serial Number"]&&i.push(l);if(o.length===1&&i.length===1){let l=i[0];t.linkedServices||(t.linkedServices={}),t.linkedServices[l.iid]=l}}static \u0275fac=function(o){return new(o||e)};static \u0275prov=nt({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var vt=function(){function e(){}return e}();var gi=function(){function e(n){this._ranScripts={},this._renderer=n.createRenderer(null,null)}return e.prototype.insertEl=function(n,t,o,i,l){if(i&&!l){var u=n._prevSVG&&n._prevSVG.parentNode;u&&this._renderer.removeChild(u,n._prevSVG),t.innerHTML=""}l?this._renderer.insertBefore(t,o,t.firstChild):this._renderer.appendChild(t,o),o.nodeName==="svg"&&(n._prevSVG=o)},e.prototype.evalScripts=function(n,t,o){for(var i=n.querySelectorAll("script"),l=[],u=0;u<i.length;u++){var T=i[u].getAttribute("type");if(!T||T==="application/ecmascript"||T==="application/javascript"){var E=i[u].innerText||i[u].textContent;l.push(E),this._renderer.removeChild(i[u].parentNode,i[u])}}if(l.length>0&&(o==="always"||o==="once"&&!this._ranScripts[t])){for(var u=0;u<l.length;u++)new Function(l[u])(window);this._ranScripts[t]=!0}},e.\u0275fac=function(t){return new(t||e)(qe(li))},e.\u0275prov=nt({token:e,factory:e.\u0275fac,providedIn:"root"}),e}();var Ui=function(){function e(n,t){this._inlineSVGService=n,this._el=t}return e.prototype.ngAfterViewInit=function(){this._updateContent()},e.prototype.ngOnChanges=function(n){n.content&&this._updateContent()},e.prototype._updateContent=function(){this._inlineSVGService.insertEl(this.context,this._el.nativeElement,this.content,this.replaceContents,this.prepend)},e.\u0275fac=function(t){return new(t||e)(ke(gi),ke(rt))},e.\u0275cmp=w({type:e,selectors:[["inline-svg"]],inputs:{context:"context",content:"content",replaceContents:"replaceContents",prepend:"prepend"},features:[ot],decls:0,vars:0,template:function(t,o){},encapsulation:2,changeDetection:0}),e}();var Wt=function(){function e(n,t,o,i,l,u){this._appBase=n,this._location=t,this._config=o,this._http=o&&!o.bypassHttpClientInterceptorChain?i:new vi(l),this._renderer=u.createRenderer(null,null),this.setBaseUrl(),e._cache||(e._cache=new Map),e._inProgressReqs||(e._inProgressReqs=new Map)}return e.prototype.getSVG=function(n,t,o){var i=this;o===void 0&&(o=!0);var l=(t?this.getAbsoluteUrl(n):n).replace(/#.+$/,"");if(o&&e._cache.has(l))return ln(this._cloneSVG(e._cache.get(l)));if(e._inProgressReqs.has(l))return e._inProgressReqs.get(l);var u=this._http.get(l,{responseType:"text"}).pipe(vn(function(){e._inProgressReqs.delete(l)}),pn(function(T){return e._inProgressReqs.delete(l),cn(T.message)}),un(),si(function(T){var E=i._svgElementFromString(T);return e._cache.set(l,E),i._cloneSVG(E)}));return e._inProgressReqs.set(l,u),u},e.prototype.setBaseUrl=function(){this._config?this._baseUrl=this._config.baseUrl:this._appBase!==null?this._baseUrl=this._appBase:this._location!==null&&(this._baseUrl=this._location.getBaseHrefFromDOM())},e.prototype.getAbsoluteUrl=function(n){this._baseUrl&&!/^https?:\/\//i.test(n)&&(n=this._baseUrl+n,n.indexOf("//")===0&&(n=n.substring(1)));var t=this._renderer.createElement("BASE");return t.href=n,t.href},e.prototype._svgElementFromString=function(n){var t=this._renderer.createElement("DIV");t.innerHTML=n;var o=t.querySelector("svg");if(!o)throw new Error("No SVG found in loaded contents");return o},e.prototype._cloneSVG=function(n){return n.cloneNode(!0)},e.\u0275fac=function(t){return new(t||e)(qe(wn,8),qe(Mn,8),qe(vt,8),qe(vi),qe(kn),qe(li))},e.\u0275prov=nt({token:e,factory:e.\u0275fac,providedIn:"root"}),e}();function bo(e){return e.charAt(0)==="#"||e.indexOf(".svg#")>-1}function yo(){return typeof SVGRect<"u"}function To(e,n,t){var o=n.querySelector('[id="'.concat(t,'"]'));if(!o)throw new Error('Symbol "'.concat(t,'" not found'));var i=e.createElement("svg","svg");e.appendChild(i,o);var l=e.createElement("use","svg");return e.setAttribute(l,"href","#".concat(t),"xlink"),e.appendChild(i,l),i}function $i(e,n){for(var t=0;t<n.length;t++){var o=e.getAttribute(n[t]);o&&e.removeAttribute(n[t])}for(var i=e.getElementsByTagName("*"),t=0;t<i.length;t++)$i(i[t],n)}function Mo(e,n){for(var t in n)e.setAttribute(t,n[t])}var q=function(){function e(n,t,o,i,l,u,T,E){this._el=n,this._viewContainerRef=t,this._resolver=o,this._svgCache=i,this._renderer=l,this._inlineSVGService=u,this._config=T,this.platformId=E,this.resolveSVGUrl=!0,this.replaceContents=!0,this.prepend=!1,this.injectComponent=!1,this.cacheSVG=!0,this.forceEvalStyles=!1,this.evalScripts="always",this.onSVGInserted=new We,this.onSVGFailed=new We,this._supportsSVG=yo(),!Nt(this.platformId)&&!this._supportsSVG&&this._fail("Embed SVG are not supported by this browser")}return e.prototype.ngOnInit=function(){!this._isValidPlatform()||this._isSSRDisabled()||this._insertSVG()},e.prototype.ngOnChanges=function(n){if(!(!this._isValidPlatform()||this._isSSRDisabled())){var t=!!n.setSVGAttributes;(n.inlineSVG||t)&&this._insertSVG(t)}},e.prototype.ngOnDestroy=function(){this._subscription&&this._subscription.unsubscribe()},e.prototype._insertSVG=function(n){var t=this;if(n===void 0&&(n=!1),!(!Nt(this.platformId)&&!this._supportsSVG)){if(!this.inlineSVG){this._fail("No URL passed to [inlineSVG]");return}!n&&this.inlineSVG===this._prevUrl||(this._prevUrl=this.inlineSVG,this._subscription=this._svgCache.getSVG(this.inlineSVG,this.resolveSVGUrl,this.cacheSVG).subscribe(function(o){if(bo(t.inlineSVG)){var i=t.inlineSVG.split("#")[1];o=To(t._renderer,o,i)}t._processSvg(o)},function(o){t._fail(o)}))}},e.prototype._processSvg=function(n){if(n){if(this.removeSVGAttributes&&ui(this.platformId)&&$i(n,this.removeSVGAttributes),this.setSVGAttributes&&Mo(n,this.setSVGAttributes),this.onSVGLoaded&&(n=this.onSVGLoaded(n,this._el.nativeElement)),this._insertEl(n),ui(this.platformId)&&this._inlineSVGService.evalScripts(n,this.inlineSVG,this.evalScripts),this.forceEvalStyles){var t=n.querySelectorAll("style");Array.from(t).forEach(function(o){return o.textContent+=""})}this.onSVGInserted.emit(n)}},e.prototype._insertEl=function(n){if(this.injectComponent){if(!this._svgComp){var t=this._resolver.resolveComponentFactory(Ui);this._svgComp=this._viewContainerRef.createComponent(t)}this._svgComp.instance.context=this,this._svgComp.instance.replaceContents=this.replaceContents,this._svgComp.instance.prepend=this.prepend,this._svgComp.instance.content=n,this._renderer.appendChild(this._el.nativeElement,this._svgComp.injector.get(Ui)._el.nativeElement)}else this._inlineSVGService.insertEl(this,this._el.nativeElement,n,this.replaceContents,this.prepend)},e.prototype._fail=function(n){if(this.onSVGFailed.emit(n),this.fallbackImgUrl){var t=this._renderer.createElement("IMG");this._renderer.setAttribute(t,"src",this.fallbackImgUrl),this._insertEl(t)}else this.fallbackSVG&&this.fallbackSVG!==this.inlineSVG&&(this.inlineSVG=this.fallbackSVG,this._insertSVG())},e.prototype._isValidPlatform=function(){return Nt(this.platformId)||ui(this.platformId)},e.prototype._isSSRDisabled=function(){return Nt(this.platformId)&&this._config&&this._config.clientOnly},e.\u0275fac=function(t){return new(t||e)(ke(rt),ke(Cn),ke(hn),ke(Wt),ke(ci),ke(gi),ke(vt,8),ke(gn))},e.\u0275dir=bt({type:e,selectors:[["","inlineSVG",""]],inputs:{inlineSVG:"inlineSVG",resolveSVGUrl:"resolveSVGUrl",replaceContents:"replaceContents",prepend:"prepend",injectComponent:"injectComponent",cacheSVG:"cacheSVG",setSVGAttributes:"setSVGAttributes",removeSVGAttributes:"removeSVGAttributes",forceEvalStyles:"forceEvalStyles",evalScripts:"evalScripts",fallbackImgUrl:"fallbackImgUrl",fallbackSVG:"fallbackSVG",onSVGLoaded:"onSVGLoaded"},outputs:{onSVGInserted:"onSVGInserted",onSVGFailed:"onSVGFailed"},features:[mi([Wt]),ot]}),e}();var K=function(){function e(){}return e.forRoot=function(n){return{ngModule:e,providers:[{provide:vt,useValue:n}]}},e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=St({type:e}),e.\u0275inj=xt({}),e}();var ft=function(e){return e.Range="range",e.Steps="steps",e.Positions="positions",e.Count="count",e.Values="values",e}(ft||{}),Ne=function(e){return e[e.None=-1]="None",e[e.NoValue=0]="NoValue",e[e.LargeValue=1]="LargeValue",e[e.SmallValue=2]="SmallValue",e}(Ne||{});function Ia(e){return Ci(e)&&typeof e.from=="function"}function Ci(e){return typeof e=="object"&&typeof e.to=="function"}function wo(e){e.parentElement.removeChild(e)}function zi(e){return e!=null}function ko(e){e.preventDefault()}function Da(e){return e.filter(function(n){return this[n]?!1:this[n]=!0},{})}function Pa(e,n){return Math.round(e/n)*n}function Aa(e,n){var t=e.getBoundingClientRect(),o=e.ownerDocument,i=o.documentElement,l=Do(o);return/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(l.x=0),n?t.top+l.y-i.clientTop:t.left+l.x-i.clientLeft}function Ke(e){return typeof e=="number"&&!isNaN(e)&&isFinite(e)}function Vo(e,n,t){t>0&&(Be(e,n),setTimeout(function(){hi(e,n)},t))}function Eo(e){return Math.max(Math.min(e,100),0)}function _i(e){return Array.isArray(e)?e:[e]}function Ba(e){e=String(e);var n=e.split(".");return n.length>1?n[1].length:0}function Be(e,n){e.classList&&!/\s/.test(n)?e.classList.add(n):e.className+=" "+n}function hi(e,n){e.classList&&!/\s/.test(n)?e.classList.remove(n):e.className=e.className.replace(new RegExp("(^|\\b)"+n.split(" ").join("|")+"(\\b|$)","gi")," ")}function Ha(e,n){return e.classList?e.classList.contains(n):new RegExp("\\b"+n+"\\b").test(e.className)}function Do(e){var n=window.pageXOffset!==void 0,t=(e.compatMode||"")==="CSS1Compat",o=n?window.pageXOffset:t?e.documentElement.scrollLeft:e.body.scrollLeft,i=n?window.pageYOffset:t?e.documentElement.scrollTop:e.body.scrollTop;return{x:o,y:i}}function La(){return window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"}}function Oa(){var e=!1;try{var n=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,n)}catch{}return e}function Na(){return window.CSS&&CSS.supports&&CSS.supports("touch-action","none")}function Ki(e,n){return 100/(n-e)}function qi(e,n,t){return n*100/(e[t+1]-e[t])}function Fa(e,n){return qi(e,e[0]<0?n+Math.abs(e[0]):n-e[0],0)}function Ra(e,n){return n*(e[1]-e[0])/100+e[0]}function Ut(e,n){for(var t=1;e>=n[t];)t+=1;return t}function Ga(e,n,t){if(t>=e.slice(-1)[0])return 100;var o=Ut(t,e),i=e[o-1],l=e[o],u=n[o-1],T=n[o];return u+Fa([i,l],t)/Ki(u,T)}function ja(e,n,t){if(t>=100)return e.slice(-1)[0];var o=Ut(t,n),i=e[o-1],l=e[o],u=n[o-1],T=n[o];return Ra([i,l],(t-u)*Ki(u,T))}function Wa(e,n,t,o){if(o===100)return o;var i=Ut(o,e),l=e[i-1],u=e[i];return t?o-l>(u-l)/2?u:l:n[i-1]?e[i-1]+Pa(o-e[i-1],n[i-1]):o}var Ua=function(){function e(n,t,o){this.xPct=[],this.xVal=[],this.xSteps=[],this.xNumSteps=[],this.xHighestCompleteStep=[],this.xSteps=[o||!1],this.xNumSteps=[!1],this.snap=t;var i,l=[];for(Object.keys(n).forEach(function(u){l.push([_i(n[u]),u])}),l.sort(function(u,T){return u[0][0]-T[0][0]}),i=0;i<l.length;i++)this.handleEntryPoint(l[i][1],l[i][0]);for(this.xNumSteps=this.xSteps.slice(0),i=0;i<this.xNumSteps.length;i++)this.handleStepPoint(i,this.xNumSteps[i])}return e.prototype.getDistance=function(n){for(var t=[],o=0;o<this.xNumSteps.length-1;o++)t[o]=qi(this.xVal,n,o);return t},e.prototype.getAbsoluteDistance=function(n,t,o){var i=0;if(n<this.xPct[this.xPct.length-1])for(;n>this.xPct[i+1];)i++;else n===this.xPct[this.xPct.length-1]&&(i=this.xPct.length-2);!o&&n===this.xPct[i+1]&&i++,t===null&&(t=[]);var l,u=1,T=t[i],E=0,P=0,G=0,Q=0;for(o?l=(n-this.xPct[i])/(this.xPct[i+1]-this.xPct[i]):l=(this.xPct[i+1]-n)/(this.xPct[i+1]-this.xPct[i]);T>0;)E=this.xPct[i+1+Q]-this.xPct[i+Q],t[i+Q]*u+100-l*100>100?(P=E*l,u=(T-100*l)/t[i+Q],l=1):(P=t[i+Q]*E/100*u,u=0),o?(G=G-P,this.xPct.length+Q>=1&&Q--):(G=G+P,this.xPct.length-Q>=1&&Q++),T=t[i+Q]*u;return n+G},e.prototype.toStepping=function(n){return n=Ga(this.xVal,this.xPct,n),n},e.prototype.fromStepping=function(n){return ja(this.xVal,this.xPct,n)},e.prototype.getStep=function(n){return n=Wa(this.xPct,this.xSteps,this.snap,n),n},e.prototype.getDefaultStep=function(n,t,o){var i=Ut(n,this.xPct);return(n===100||t&&n===this.xPct[i-1])&&(i=Math.max(i-1,1)),(this.xVal[i]-this.xVal[i-1])/o},e.prototype.getNearbySteps=function(n){var t=Ut(n,this.xPct);return{stepBefore:{startValue:this.xVal[t-2],step:this.xNumSteps[t-2],highestStep:this.xHighestCompleteStep[t-2]},thisStep:{startValue:this.xVal[t-1],step:this.xNumSteps[t-1],highestStep:this.xHighestCompleteStep[t-1]},stepAfter:{startValue:this.xVal[t],step:this.xNumSteps[t],highestStep:this.xHighestCompleteStep[t]}}},e.prototype.countStepDecimals=function(){var n=this.xNumSteps.map(Ba);return Math.max.apply(null,n)},e.prototype.hasNoSize=function(){return this.xVal[0]===this.xVal[this.xVal.length-1]},e.prototype.convert=function(n){return this.getStep(this.toStepping(n))},e.prototype.handleEntryPoint=function(n,t){var o;if(n==="min"?o=0:n==="max"?o=100:o=parseFloat(n),!Ke(o)||!Ke(t[0]))throw new Error("noUiSlider: 'range' value isn't numeric.");this.xPct.push(o),this.xVal.push(t[0]);var i=Number(t[1]);o?this.xSteps.push(isNaN(i)?!1:i):isNaN(i)||(this.xSteps[0]=i),this.xHighestCompleteStep.push(0)},e.prototype.handleStepPoint=function(n,t){if(t){if(this.xVal[n]===this.xVal[n+1]){this.xSteps[n]=this.xHighestCompleteStep[n]=this.xVal[n];return}this.xSteps[n]=qi([this.xVal[n],this.xVal[n+1]],t,0)/Ki(this.xPct[n],this.xPct[n+1]);var o=(this.xVal[n+1]-this.xVal[n])/this.xNumSteps[n],i=Math.ceil(Number(o.toFixed(3))-1),l=this.xVal[n]+this.xNumSteps[n]*i;this.xHighestCompleteStep[n]=l}},e}(),Io={to:function(e){return e===void 0?"":e.toFixed(2)},from:Number},$a={target:"target",base:"base",origin:"origin",handle:"handle",handleLower:"handle-lower",handleUpper:"handle-upper",touchArea:"touch-area",horizontal:"horizontal",vertical:"vertical",background:"background",connect:"connect",connects:"connects",ltr:"ltr",rtl:"rtl",textDirectionLtr:"txt-dir-ltr",textDirectionRtl:"txt-dir-rtl",draggable:"draggable",drag:"state-drag",tap:"state-tap",active:"active",tooltip:"tooltip",pips:"pips",pipsHorizontal:"pips-horizontal",pipsVertical:"pips-vertical",marker:"marker",markerHorizontal:"marker-horizontal",markerVertical:"marker-vertical",markerNormal:"marker-normal",markerLarge:"marker-large",markerSub:"marker-sub",value:"value",valueHorizontal:"value-horizontal",valueVertical:"value-vertical",valueNormal:"value-normal",valueLarge:"value-large",valueSub:"value-sub"},ct={tooltips:".__tooltips",aria:".__aria"};function za(e,n){if(!Ke(n))throw new Error("noUiSlider: 'step' is not numeric.");e.singleStep=n}function qa(e,n){if(!Ke(n))throw new Error("noUiSlider: 'keyboardPageMultiplier' is not numeric.");e.keyboardPageMultiplier=n}function Ka(e,n){if(!Ke(n))throw new Error("noUiSlider: 'keyboardMultiplier' is not numeric.");e.keyboardMultiplier=n}function Xa(e,n){if(!Ke(n))throw new Error("noUiSlider: 'keyboardDefaultStep' is not numeric.");e.keyboardDefaultStep=n}function Ya(e,n){if(typeof n!="object"||Array.isArray(n))throw new Error("noUiSlider: 'range' is not an object.");if(n.min===void 0||n.max===void 0)throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'.");e.spectrum=new Ua(n,e.snap||!1,e.singleStep)}function Za(e,n){if(n=_i(n),!Array.isArray(n)||!n.length)throw new Error("noUiSlider: 'start' option is incorrect.");e.handles=n.length,e.start=n}function Qa(e,n){if(typeof n!="boolean")throw new Error("noUiSlider: 'snap' option must be a boolean.");e.snap=n}function Ja(e,n){if(typeof n!="boolean")throw new Error("noUiSlider: 'animate' option must be a boolean.");e.animate=n}function es(e,n){if(typeof n!="number")throw new Error("noUiSlider: 'animationDuration' option must be a number.");e.animationDuration=n}function Po(e,n){var t=[!1],o;if(n==="lower"?n=[!0,!1]:n==="upper"&&(n=[!1,!0]),n===!0||n===!1){for(o=1;o<e.handles;o++)t.push(n);t.push(!1)}else{if(!Array.isArray(n)||!n.length||n.length!==e.handles+1)throw new Error("noUiSlider: 'connect' option doesn't match handle count.");t=n}e.connect=t}function ts(e,n){switch(n){case"horizontal":e.ort=0;break;case"vertical":e.ort=1;break;default:throw new Error("noUiSlider: 'orientation' option is invalid.")}}function Ao(e,n){if(!Ke(n))throw new Error("noUiSlider: 'margin' option must be numeric.");n!==0&&(e.margin=e.spectrum.getDistance(n))}function is(e,n){if(!Ke(n))throw new Error("noUiSlider: 'limit' option must be numeric.");if(e.limit=e.spectrum.getDistance(n),!e.limit||e.handles<2)throw new Error("noUiSlider: 'limit' option is only supported on linear sliders with 2 or more handles.")}function ns(e,n){var t;if(!Ke(n)&&!Array.isArray(n))throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");if(Array.isArray(n)&&!(n.length===2||Ke(n[0])||Ke(n[1])))throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");if(n!==0){for(Array.isArray(n)||(n=[n,n]),e.padding=[e.spectrum.getDistance(n[0]),e.spectrum.getDistance(n[1])],t=0;t<e.spectrum.xNumSteps.length-1;t++)if(e.padding[0][t]<0||e.padding[1][t]<0)throw new Error("noUiSlider: 'padding' option must be a positive number(s).");var o=n[0]+n[1],i=e.spectrum.xVal[0],l=e.spectrum.xVal[e.spectrum.xVal.length-1];if(o/(l-i)>1)throw new Error("noUiSlider: 'padding' option must not exceed 100% of the range.")}}function os(e,n){switch(n){case"ltr":e.dir=0;break;case"rtl":e.dir=1;break;default:throw new Error("noUiSlider: 'direction' option was not recognized.")}}function rs(e,n){if(typeof n!="string")throw new Error("noUiSlider: 'behaviour' must be a string containing options.");var t=n.indexOf("tap")>=0,o=n.indexOf("drag")>=0,i=n.indexOf("fixed")>=0,l=n.indexOf("snap")>=0,u=n.indexOf("hover")>=0,T=n.indexOf("unconstrained")>=0,E=n.indexOf("invert-connects")>=0,P=n.indexOf("drag-all")>=0,G=n.indexOf("smooth-steps")>=0;if(i){if(e.handles!==2)throw new Error("noUiSlider: 'fixed' behaviour must be used with 2 handles");Ao(e,e.start[1]-e.start[0])}if(E&&e.handles!==2)throw new Error("noUiSlider: 'invert-connects' behaviour must be used with 2 handles");if(T&&(e.margin||e.limit))throw new Error("noUiSlider: 'unconstrained' behaviour cannot be used with margin or limit");e.events={tap:t||l,drag:o,dragAll:P,smoothSteps:G,fixed:i,snap:l,hover:u,unconstrained:T,invertConnects:E}}function as(e,n){if(n!==!1)if(n===!0||Ci(n)){e.tooltips=[];for(var t=0;t<e.handles;t++)e.tooltips.push(n)}else{if(n=_i(n),n.length!==e.handles)throw new Error("noUiSlider: must pass a formatter for all handles.");n.forEach(function(o){if(typeof o!="boolean"&&!Ci(o))throw new Error("noUiSlider: 'tooltips' must be passed a formatter or 'false'.")}),e.tooltips=n}}function ss(e,n){if(n.length!==e.handles)throw new Error("noUiSlider: must pass a attributes for all handles.");e.handleAttributes=n}function ls(e,n){if(!Ci(n))throw new Error("noUiSlider: 'ariaFormat' requires 'to' method.");e.ariaFormat=n}function cs(e,n){if(!Ia(n))throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods.");e.format=n}function ds(e,n){if(typeof n!="boolean")throw new Error("noUiSlider: 'keyboardSupport' option must be a boolean.");e.keyboardSupport=n}function ps(e,n){e.documentElement=n}function ms(e,n){if(typeof n!="string"&&n!==!1)throw new Error("noUiSlider: 'cssPrefix' must be a string or `false`.");e.cssPrefix=n}function us(e,n){if(typeof n!="object")throw new Error("noUiSlider: 'cssClasses' must be an object.");typeof e.cssPrefix=="string"?(e.cssClasses={},Object.keys(n).forEach(function(t){e.cssClasses[t]=e.cssPrefix+n[t]})):e.cssClasses=n}function Bo(e){var n={margin:null,limit:null,padding:null,animate:!0,animationDuration:300,ariaFormat:Io,format:Io},t={step:{r:!1,t:za},keyboardPageMultiplier:{r:!1,t:qa},keyboardMultiplier:{r:!1,t:Ka},keyboardDefaultStep:{r:!1,t:Xa},start:{r:!0,t:Za},connect:{r:!0,t:Po},direction:{r:!0,t:os},snap:{r:!1,t:Qa},animate:{r:!1,t:Ja},animationDuration:{r:!1,t:es},range:{r:!0,t:Ya},orientation:{r:!1,t:ts},margin:{r:!1,t:Ao},limit:{r:!1,t:is},padding:{r:!1,t:ns},behaviour:{r:!0,t:rs},ariaFormat:{r:!1,t:ls},format:{r:!1,t:cs},tooltips:{r:!1,t:as},keyboardSupport:{r:!0,t:ds},documentElement:{r:!1,t:ps},cssPrefix:{r:!0,t:ms},cssClasses:{r:!0,t:us},handleAttributes:{r:!1,t:ss}},o={connect:!1,direction:"ltr",behaviour:"tap",orientation:"horizontal",keyboardSupport:!0,cssPrefix:"noUi-",cssClasses:$a,keyboardPageMultiplier:5,keyboardMultiplier:1,keyboardDefaultStep:10};e.format&&!e.ariaFormat&&(e.ariaFormat=e.format),Object.keys(t).forEach(function(E){if(!zi(e[E])&&o[E]===void 0){if(t[E].r)throw new Error("noUiSlider: '"+E+"' is required.");return}t[E].t(n,zi(e[E])?e[E]:o[E])}),n.pips=e.pips;var i=document.createElement("div"),l=i.style.msTransform!==void 0,u=i.style.transform!==void 0;n.transformRule=u?"transform":l?"msTransform":"webkitTransform";var T=[["left","top"],["right","bottom"]];return n.style=T[n.dir][n.ort],n}function vs(e,n,t){var o=La(),i=Na(),l=i&&Oa(),u=e,T,E,P,G,Q,Y,W=n.spectrum,Se=[],ne=[],F=[],fe=0,Fe={},tt=!1,Xe=e.ownerDocument,dt=n.documentElement||Xe.documentElement,gt=Xe.body,qt=Xe.dir==="rtl"||n.ort===1?0:100;function ze(v,_){var S=Xe.createElement("div");return _&&Be(S,_),v.appendChild(S),S}function wi(v,_){var S=ze(v,n.cssClasses.origin),k=ze(S,n.cssClasses.handle);if(ze(k,n.cssClasses.touchArea),k.setAttribute("data-handle",String(_)),n.keyboardSupport&&(k.setAttribute("tabindex","0"),k.addEventListener("keydown",function(B){return it(B,_)})),n.handleAttributes!==void 0){var A=n.handleAttributes[_];Object.keys(A).forEach(function(B){k.setAttribute(B,A[B])})}return k.setAttribute("role","slider"),k.setAttribute("aria-orientation",n.ort?"vertical":"horizontal"),_===0?Be(k,n.cssClasses.handleLower):_===n.handles-1&&Be(k,n.cssClasses.handleUpper),S.handle=k,S}function pt(v,_){return _?ze(v,n.cssClasses.connect):!1}function ki(v,_){E=ze(_,n.cssClasses.connects),P=[],G=[],G.push(pt(E,v[0]));for(var S=0;S<n.handles;S++)P.push(wi(_,S)),F[S]=S,G.push(pt(E,v[S+1]))}function Vi(v){Be(v,n.cssClasses.target),n.dir===0?Be(v,n.cssClasses.ltr):Be(v,n.cssClasses.rtl),n.ort===0?Be(v,n.cssClasses.horizontal):Be(v,n.cssClasses.vertical);var _=getComputedStyle(v).direction;return _==="rtl"?Be(v,n.cssClasses.textDirectionRtl):Be(v,n.cssClasses.textDirectionLtr),ze(v,n.cssClasses.base)}function Kt(v,_){return!n.tooltips||!n.tooltips[_]?!1:ze(v.firstChild,n.cssClasses.tooltip)}function Xt(){return u.hasAttribute("disabled")}function ht(v){var _=P[v];return _.hasAttribute("disabled")}function Yt(v){v!=null?(P[v].setAttribute("disabled",""),P[v].handle.removeAttribute("tabindex")):(u.setAttribute("disabled",""),P.forEach(function(_){_.handle.removeAttribute("tabindex")}))}function Mt(v){v!=null?(P[v].removeAttribute("disabled"),P[v].handle.setAttribute("tabindex","0")):(u.removeAttribute("disabled"),P.forEach(function(_){_.removeAttribute("disabled"),_.handle.setAttribute("tabindex","0")}))}function Ct(){Y&&(Ee("update"+ct.tooltips),Y.forEach(function(v){v&&wo(v)}),Y=null)}function wt(){Ct(),Y=P.map(Kt),je("update"+ct.tooltips,function(v,_,S){if(!(!Y||!n.tooltips)&&Y[_]!==!1){var k=v[_];n.tooltips[_]!==!0&&(k=n.tooltips[_].to(S[_])),Y[_].innerHTML=k}})}function Zt(){Ee("update"+ct.aria),je("update"+ct.aria,function(v,_,S,k,A){F.forEach(function(B){var $=P[B],R=Re(ne,B,0,!0,!0,!0),Ce=Re(ne,B,100,!0,!0,!0),_e=A[B],ye=String(n.ariaFormat.to(S[B]));R=W.fromStepping(R).toFixed(1),Ce=W.fromStepping(Ce).toFixed(1),_e=W.fromStepping(_e).toFixed(1),$.children[0].setAttribute("aria-valuemin",R),$.children[0].setAttribute("aria-valuemax",Ce),$.children[0].setAttribute("aria-valuenow",_e),$.children[0].setAttribute("aria-valuetext",ye)})})}function kt(v){if(v.mode===ft.Range||v.mode===ft.Steps)return W.xVal;if(v.mode===ft.Count){if(v.values<2)throw new Error("noUiSlider: 'values' (>= 2) required for mode 'count'.");for(var _=v.values-1,S=100/_,k=[];_--;)k[_]=_*S;return k.push(100),_t(k,v.stepped)}return v.mode===ft.Positions?_t(v.values,v.stepped):v.mode===ft.Values?v.stepped?v.values.map(function(A){return W.fromStepping(W.getStep(W.toStepping(A)))}):v.values:[]}function _t(v,_){return v.map(function(S){return W.fromStepping(_?W.getStep(S):S)})}function Qt(v){function _(_e,ye){return Number((_e+ye).toFixed(7))}var S=kt(v),k={},A=W.xVal[0],B=W.xVal[W.xVal.length-1],$=!1,R=!1,Ce=0;return S=Da(S.slice().sort(function(_e,ye){return _e-ye})),S[0]!==A&&(S.unshift(A),$=!0),S[S.length-1]!==B&&(S.push(B),R=!0),S.forEach(function(_e,ye){var Te,de,we,Ae=_e,Ie=S[ye+1],De,Di,Pi,Ai,tn,Bi,nn,on=v.mode===ft.Steps;for(on&&(Te=W.xNumSteps[ye]),Te||(Te=Ie-Ae),Ie===void 0&&(Ie=Ae),Te=Math.max(Te,1e-7),de=Ae;de<=Ie;de=_(de,Te)){for(De=W.toStepping(de),Di=De-Ce,tn=Di/(v.density||1),Bi=Math.round(tn),nn=Di/Bi,we=1;we<=Bi;we+=1)Pi=Ce+we*nn,k[Pi.toFixed(5)]=[W.fromStepping(Pi),0];Ai=S.indexOf(de)>-1?Ne.LargeValue:on?Ne.SmallValue:Ne.NoValue,!ye&&$&&de!==Ie&&(Ai=0),de===Ie&&R||(k[De.toFixed(5)]=[de,Ai]),Ce=De}}),k}function Vt(v,_,S){var k,A,B=Xe.createElement("div"),$=(k={},k[Ne.None]="",k[Ne.NoValue]=n.cssClasses.valueNormal,k[Ne.LargeValue]=n.cssClasses.valueLarge,k[Ne.SmallValue]=n.cssClasses.valueSub,k),R=(A={},A[Ne.None]="",A[Ne.NoValue]=n.cssClasses.markerNormal,A[Ne.LargeValue]=n.cssClasses.markerLarge,A[Ne.SmallValue]=n.cssClasses.markerSub,A),Ce=[n.cssClasses.valueHorizontal,n.cssClasses.valueVertical],_e=[n.cssClasses.markerHorizontal,n.cssClasses.markerVertical];Be(B,n.cssClasses.pips),Be(B,n.ort===0?n.cssClasses.pipsHorizontal:n.cssClasses.pipsVertical);function ye(de,we){var Ae=we===n.cssClasses.value,Ie=Ae?Ce:_e,De=Ae?$:R;return we+" "+Ie[n.ort]+" "+De[de]}function Te(de,we,Ae){if(Ae=_?_(we,Ae):Ae,Ae!==Ne.None){var Ie=ze(B,!1);Ie.className=ye(Ae,n.cssClasses.marker),Ie.style[n.style]=de+"%",Ae>Ne.NoValue&&(Ie=ze(B,!1),Ie.className=ye(Ae,n.cssClasses.value),Ie.setAttribute("data-value",String(we)),Ie.style[n.style]=de+"%",Ie.innerHTML=String(S.to(we)))}}return Object.keys(v).forEach(function(de){Te(de,v[de][0],v[de][1])}),B}function Et(){Q&&(wo(Q),Q=null)}function It(v){Et();var _=Qt(v),S=v.filter,k=v.format||{to:function(A){return String(Math.round(A))}};return Q=u.appendChild(Vt(_,S,k)),Q}function Jt(){var v=T.getBoundingClientRect(),_="offset"+["Width","Height"][n.ort];return n.ort===0?v.width||T[_]:v.height||T[_]}function Qe(v,_,S,k){var A=function($){var R=ei($,k.pageOffset,k.target||_);if(!R||Xt()&&!k.doNotReject||Ha(u,n.cssClasses.tap)&&!k.doNotReject||v===o.start&&R.buttons!==void 0&&R.buttons>1||k.hover&&R.buttons)return!1;l||R.preventDefault(),R.calcPoint=R.points[n.ort],S(R,k)},B=[];return v.split(" ").forEach(function($){_.addEventListener($,A,l?{passive:!0}:!1),B.push([$,A])}),B}function ei(v,_,S){var k=v.type.indexOf("touch")===0,A=v.type.indexOf("mouse")===0,B=v.type.indexOf("pointer")===0,$=0,R=0;if(v.type.indexOf("MSPointer")===0&&(B=!0),v.type==="mousedown"&&!v.buttons&&!v.touches)return!1;if(k){var Ce=function(Te){var de=Te.target;return de===S||S.contains(de)||v.composed&&v.composedPath().shift()===S};if(v.type==="touchstart"){var _e=Array.prototype.filter.call(v.touches,Ce);if(_e.length>1)return!1;$=_e[0].pageX,R=_e[0].pageY}else{var ye=Array.prototype.find.call(v.changedTouches,Ce);if(!ye)return!1;$=ye.pageX,R=ye.pageY}}return _=_||Do(Xe),(A||B)&&($=v.clientX+_.x,R=v.clientY+_.y),v.pageOffset=_,v.points=[$,R],v.cursor=A||B,v}function Dt(v){var _=v-Aa(T,n.ort),S=_*100/Jt();return S=Eo(S),n.dir?100-S:S}function Ei(v){var _=100,S=!1;return P.forEach(function(k,A){if(!ht(A)){var B=ne[A],$=Math.abs(B-v),R=$===100&&_===100,Ce=$<_,_e=$<=_&&v>B;(Ce||_e||R)&&(S=A,_=$)}}),S}function M(v,_){v.type==="mouseout"&&v.target.nodeName==="HTML"&&v.relatedTarget===null&&Z(v,_)}function U(v,_){if(navigator.appVersion.indexOf("MSIE 9")===-1&&v.buttons===0&&_.buttonsProperty!==0)return Z(v,_);var S=(n.dir?-1:1)*(v.calcPoint-_.startCalcPoint),k=S*100/_.baseSize;ti(S>0,k,_.locations,_.handleNumbers,_.connect)}function Z(v,_){_.handle&&(hi(_.handle,n.cssClasses.active),fe-=1),_.listeners.forEach(function(S){dt.removeEventListener(S[0],S[1])}),fe===0&&(hi(u,n.cssClasses.drag),Ii(),v.cursor&&(gt.style.cursor="",gt.removeEventListener("selectstart",ko))),n.events.smoothSteps&&(_.handleNumbers.forEach(function(S){mt(S,ne[S],!0,!0,!1,!1)}),_.handleNumbers.forEach(function(S){me("update",S)})),_.handleNumbers.forEach(function(S){me("change",S),me("set",S),me("end",S)})}function se(v,_){if(!_.handleNumbers.some(ht)){var S;if(_.handleNumbers.length===1){var k=P[_.handleNumbers[0]];S=k.children[0],fe+=1,Be(S,n.cssClasses.active)}v.stopPropagation();var A=[],B=Qe(o.move,dt,U,{target:v.target,handle:S,connect:_.connect,listeners:A,startCalcPoint:v.calcPoint,baseSize:Jt(),pageOffset:v.pageOffset,handleNumbers:_.handleNumbers,buttonsProperty:v.buttons,locations:ne.slice()}),$=Qe(o.end,dt,Z,{target:v.target,handle:S,listeners:A,doNotReject:!0,handleNumbers:_.handleNumbers}),R=Qe("mouseout",dt,M,{target:v.target,handle:S,listeners:A,doNotReject:!0,handleNumbers:_.handleNumbers});A.push.apply(A,B.concat($,R)),v.cursor&&(gt.style.cursor=getComputedStyle(v.target).cursor,P.length>1&&Be(u,n.cssClasses.drag),gt.addEventListener("selectstart",ko,!1)),_.handleNumbers.forEach(function(Ce){me("start",Ce)})}}function Pe(v){v.stopPropagation();var _=Dt(v.calcPoint),S=Ei(_);S!==!1&&(n.events.snap||Vo(u,n.cssClasses.tap,n.animationDuration),mt(S,_,!0,!0),Ii(),me("slide",S,!0),me("update",S,!0),n.events.snap?se(v,{handleNumbers:[S]}):(me("change",S,!0),me("set",S,!0)))}function Me(v){var _=Dt(v.calcPoint),S=W.getStep(_),k=W.fromStepping(S);Object.keys(Fe).forEach(function(A){A.split(".")[0]==="hover"&&Fe[A].forEach(function(B){B.call(oi,k)})})}function it(v,_){if(Xt()||ht(_))return!1;var S=["Left","Right"],k=["Down","Up"],A=["PageDown","PageUp"],B=["Home","End"];n.dir&&!n.ort?S.reverse():n.ort&&!n.dir&&(k.reverse(),A.reverse());var $=v.key.replace("Arrow",""),R=$===A[0],Ce=$===A[1],_e=$===k[0]||$===S[0]||R,ye=$===k[1]||$===S[1]||Ce,Te=$===B[0],de=$===B[1];if(!_e&&!ye&&!Te&&!de)return!0;v.preventDefault();var we;if(ye||_e){var Ae=_e?0:1,Ie=Ji(_),De=Ie[Ae];if(De===null)return!1;De===!1&&(De=W.getDefaultStep(ne[_],_e,n.keyboardDefaultStep)),Ce||R?De*=n.keyboardPageMultiplier:De*=n.keyboardMultiplier,De=Math.max(De,1e-7),De=(_e?-1:1)*De,we=Se[_]+De}else de?we=n.spectrum.xVal[n.spectrum.xVal.length-1]:we=n.spectrum.xVal[0];return mt(_,W.toStepping(we),!0,!0),me("slide",_),me("update",_),me("change",_),me("set",_),!1}function Ve(v){v.fixed||P.forEach(function(_,S){Qe(o.start,_.children[0],se,{handleNumbers:[S]})}),v.tap&&Qe(o.start,T,Pe,{}),v.hover&&Qe(o.move,T,Me,{hover:!0}),v.drag&&G.forEach(function(_,S){if(!(_===!1||S===0||S===G.length-1)){var k=P[S-1],A=P[S],B=[_],$=[k,A],R=[S-1,S];Be(_,n.cssClasses.draggable),v.fixed&&(B.push(k.children[0]),B.push(A.children[0])),v.dragAll&&($=P,R=F),B.forEach(function(Ce){Qe(o.start,Ce,se,{handles:$,handleNumbers:R,connect:_})})}})}function je(v,_){Fe[v]=Fe[v]||[],Fe[v].push(_),v.split(".")[0]==="update"&&P.forEach(function(S,k){me("update",k)})}function He(v){return v===ct.aria||v===ct.tooltips}function Ee(v){var _=v&&v.split(".")[0],S=_?v.substring(_.length):v;Object.keys(Fe).forEach(function(k){var A=k.split(".")[0],B=k.substring(A.length);(!_||_===A)&&(!S||S===B)&&(!He(B)||S===B)&&delete Fe[k]})}function me(v,_,S){Object.keys(Fe).forEach(function(k){var A=k.split(".")[0];v===A&&Fe[k].forEach(function(B){B.call(oi,Se.map(n.format.to),_,Se.slice(),S||!1,ne.slice(),oi)})})}function Re(v,_,S,k,A,B,$){var R;return P.length>1&&!n.events.unconstrained&&(k&&_>0&&(R=W.getAbsoluteDistance(v[_-1],n.margin,!1),S=Math.max(S,R)),A&&_<P.length-1&&(R=W.getAbsoluteDistance(v[_+1],n.margin,!0),S=Math.min(S,R))),P.length>1&&n.limit&&(k&&_>0&&(R=W.getAbsoluteDistance(v[_-1],n.limit,!1),S=Math.min(S,R)),A&&_<P.length-1&&(R=W.getAbsoluteDistance(v[_+1],n.limit,!0),S=Math.max(S,R))),n.padding&&(_===0&&(R=W.getAbsoluteDistance(0,n.padding[0],!1),S=Math.max(S,R)),_===P.length-1&&(R=W.getAbsoluteDistance(100,n.padding[1],!0),S=Math.min(S,R))),$||(S=W.getStep(S)),S=Eo(S),S===v[_]&&!B?!1:S}function Pt(v,_){var S=n.ort;return(S?_:v)+", "+(S?v:_)}function ti(v,_,S,k,A){var B=S.slice(),$=k[0],R=n.events.smoothSteps,Ce=[!v,v],_e=[v,!v];k=k.slice(),v&&k.reverse(),k.length>1?k.forEach(function(Te,de){var we=Re(B,Te,B[Te]+_,Ce[de],_e[de],!1,R);we===!1?_=0:(_=we-B[Te],B[Te]=we)}):Ce=_e=[!0];var ye=!1;k.forEach(function(Te,de){ye=mt(Te,S[Te]+_,Ce[de],_e[de],!1,R)||ye}),ye&&(k.forEach(function(Te){me("update",Te),me("slide",Te)}),A!=null&&me("drag",$))}function ii(v,_){return n.dir?100-v-_:v}function Lr(v,_){ne[v]=_,Se[v]=W.fromStepping(_);var S=ii(_,0)-qt,k="translate("+Pt(S+"%","0")+")";if(P[v].style[n.transformRule]=k,n.events.invertConnects&&ne.length>1){var A=ne.every(function(B,$,R){return $===0||B>=R[$-1]});if(tt!==!A){jr();return}}At(v),At(v+1),tt&&(At(v-1),At(v+2))}function Ii(){F.forEach(function(v){var _=ne[v]>50?-1:1,S=3+(P.length+_*v);P[v].style.zIndex=String(S)})}function mt(v,_,S,k,A,B){return A||(_=Re(ne,v,_,S,k,!1,B)),_===!1?!1:(Lr(v,_),!0)}function At(v){if(G[v]){var _=ne.slice();tt&&_.sort(function(R,Ce){return R-Ce});var S=0,k=100;v!==0&&(S=_[v-1]),v!==G.length-1&&(k=_[v]);var A=k-S,B="translate("+Pt(ii(S,A)+"%","0")+")",$="scale("+Pt(A/100,"1")+")";G[v].style[n.transformRule]=B+" "+$}}function Zi(v,_){return v===null||v===!1||v===void 0||(typeof v=="number"&&(v=String(v)),v=n.format.from(v),v!==!1&&(v=W.toStepping(v)),v===!1||isNaN(v))?ne[_]:v}function ni(v,_,S){var k=_i(v),A=ne[0]===void 0;_=_===void 0?!0:_,n.animate&&!A&&Vo(u,n.cssClasses.tap,n.animationDuration),F.forEach(function(R){mt(R,Zi(k[R],R),!0,!1,S)});var B=F.length===1?0:1;if(A&&W.hasNoSize()&&(S=!0,ne[0]=0,F.length>1)){var $=100/(F.length-1);F.forEach(function(R){ne[R]=R*$})}for(;B<F.length;++B)F.forEach(function(R){mt(R,ne[R],!0,!0,S)});Ii(),F.forEach(function(R){me("update",R),k[R]!==null&&_&&me("set",R)})}function Or(v){ni(n.start,v)}function Nr(v,_,S,k){if(v=Number(v),!(v>=0&&v<F.length))throw new Error("noUiSlider: invalid handle number, got: "+v);mt(v,Zi(_,v),!0,!0,k),me("update",v),S&&me("set",v)}function Qi(v){if(v===void 0&&(v=!1),v)return Se.length===1?Se[0]:Se.slice(0);var _=Se.map(n.format.to);return _.length===1?_[0]:_}function Fr(){for(Ee(ct.aria),Ee(ct.tooltips),Object.keys(n.cssClasses).forEach(function(v){hi(u,n.cssClasses[v])});u.firstChild;)u.removeChild(u.firstChild);delete u.noUiSlider}function Ji(v){var _=ne[v],S=W.getNearbySteps(_),k=Se[v],A=S.thisStep.step,B=null;if(n.snap)return[k-S.stepBefore.startValue||null,S.stepAfter.startValue-k||null];A!==!1&&k+A>S.stepAfter.startValue&&(A=S.stepAfter.startValue-k),k>S.thisStep.startValue?B=S.thisStep.step:S.stepBefore.step===!1?B=!1:B=k-S.stepBefore.highestStep,_===100?A=null:_===0&&(B=null);var $=W.countStepDecimals();return A!==null&&A!==!1&&(A=Number(A.toFixed($))),B!==null&&B!==!1&&(B=Number(B.toFixed($))),[B,A]}function Rr(){return F.map(Ji)}function Gr(v,_){var S=Qi(),k=["margin","limit","padding","range","animate","snap","step","format","pips","tooltips","connect"];k.forEach(function(B){v[B]!==void 0&&(t[B]=v[B])});var A=Bo(t);k.forEach(function(B){v[B]!==void 0&&(n[B]=A[B])}),W=A.spectrum,n.margin=A.margin,n.limit=A.limit,n.padding=A.padding,n.pips?It(n.pips):Et(),n.tooltips?wt():Ct(),ne=[],ni(zi(v.start)?v.start:S,_),v.connect&&en()}function en(){for(;E.firstChild;)E.removeChild(E.firstChild);for(var v=0;v<=n.handles;v++)G[v]=pt(E,n.connect[v]),At(v);Ve({drag:n.events.drag,fixed:!0})}function jr(){tt=!tt,Po(n,n.connect.map(function(v){return!v})),en()}function Wr(){T=Vi(u),ki(n.connect,T),Ve(n.events),ni(n.start),n.pips&&It(n.pips),n.tooltips&&wt(),Zt()}Wr();var oi={destroy:Fr,steps:Rr,on:je,off:Ee,get:Qi,set:ni,setHandle:Nr,reset:Or,disable:Yt,enable:Mt,__moveHandles:function(v,_,S){ti(v,_,ne,S)},options:t,updateOptions:Gr,target:u,removePips:Et,removeTooltips:Ct,getPositions:function(){return ne.slice()},getTooltips:function(){return Y},getOrigins:function(){return P},pips:It};return oi}function Ho(e,n){if(!e||!e.nodeName)throw new Error("noUiSlider: create requires a single element, got: "+e);if(e.noUiSlider)throw new Error("noUiSlider: Slider was already initialized.");var t=Bo(n),o=vs(e,t,n);return e.noUiSlider=o,o}var Xi=class{to(n){return String(parseFloat(parseFloat(String(n)).toFixed(2)))}from(n){return parseFloat(n)}},xe=(()=>{class e{constructor(t,o,i){this.ngZone=t,this.el=o,this.renderer=i,this.handles=[],this.config={},this.change=new We(!0),this.update=new We(!0),this.slide=new We(!0),this.set=new We(!0),this.start=new We(!0),this.end=new We(!0),this.onChange=Function.prototype,this.cleanups=[],this.eventHandler=(l,u,T,E)=>{let P=this.toValues(u),G=!1;if(this.value===void 0){this.value=P;return}Array.isArray(P)&&this.value[T]!=P[T]&&(G=!0),!Array.isArray(P)&&this.value!=P&&(G=!0),G&&this.ngZone.run(()=>{l.observers.length>0&&l.emit(P),this.onChange(P)}),Array.isArray(P)?this.value[T]=P[T]:this.value=P},this.defaultKeyHandler=l=>{let u=this.slider.steps(),T=parseInt(l.target.getAttribute("data-handle")),E=1,P=1,G=0,Q=0;switch(l.which){case 34:P=this.config.pageSteps;break;case 40:case 37:E=-1,G=u[T][0],l.preventDefault();break;case 33:P=this.config.pageSteps;break;case 38:case 39:G=u[T][1],l.preventDefault();break;default:break}Q=E*P*G;let Y;Array.isArray(this.value)?(Y=[...this.value],Y[T]=Y[T]+Q):Y=this.value+Q,this.slider.set(Y)}}ngOnChanges(t){this.slider&&(t.min||t.max||t.step||t.range)&&this.ngZone.runOutsideAngular(()=>{setTimeout(()=>{this.slider.updateOptions({range:Object.assign({},{min:this.min,max:this.max},this.range||{}),step:this.step})})})}ngOnDestroy(){for(this.slider.destroy();this.cleanups.length;)this.cleanups.pop()?.()}toValues(t){let o=t.map(this.config.format.from);return o.length==1?o[0]:o}writeValue(t){this.slider?this.ngZone.runOutsideAngular(()=>{setTimeout(()=>{this.slider.set(t)})}):t!==null&&(this.value=t,this.createSlider(t))}registerOnChange(t){this.onChange=t}registerOnTouched(t){}setDisabledState(t){t?this.renderer.setAttribute(this.el.nativeElement.childNodes[0],"disabled","true"):this.renderer.removeAttribute(this.el.nativeElement.childNodes[0],"disabled")}createSlider(t){let o=JSON.parse(JSON.stringify({behaviour:this.behaviour,connect:this.connect,limit:this.limit,start:t,step:this.step,pageSteps:this.pageSteps,keyboard:this.keyboard,onKeydown:this.onKeydown,range:this.range||this.config.range||{min:this.min,max:this.max},tooltips:this.tooltips,snap:this.snap,animate:this.animate}));if(o.tooltips=this.tooltips||this.config.tooltips,o.format=this.format||this.config.format||new Xi,this.ngZone.runOutsideAngular(()=>{this.slider=Ho(this.el.nativeElement.querySelector("div"),Object.assign(this.config,o))}),this.handles=[].slice.call(this.el.nativeElement.querySelectorAll(".noUi-handle")),this.config.keyboard){this.config.pageSteps===void 0&&(this.config.pageSteps=10);for(let i of this.handles){i.setAttribute("tabindex",0);let l=this.config.onKeydown||this.defaultKeyHandler;this.ngZone.runOutsideAngular(()=>{this.cleanups.push(this.renderer.listen(i,"keydown",l),this.renderer.listen(i,"click",()=>{i.focus()}))})}}this.slider.on("set",(i,l,u)=>{this.eventHandler(this.set,i,l,u)}),this.slider.on("update",(i,l,u)=>{this.update.observers.length>0&&this.ngZone.run(()=>{this.update.emit(this.toValues(i))})}),this.slider.on("change",(i,l,u)=>{this.change.observers.length>0&&this.ngZone.run(()=>{this.change.emit(this.toValues(i))})}),this.slider.on("slide",(i,l,u)=>{this.eventHandler(this.slide,i,l,u)}),this.slider.on("start",(i,l,u)=>{this.start.observers.length>0&&this.ngZone.run(()=>{this.start.emit(this.toValues(i))})}),this.slider.on("end",(i,l,u)=>{this.end.observers.length>0&&this.ngZone.run(()=>{this.end.emit(this.toValues(i))})})}}return e.\u0275fac=function(t){return new(t||e)(ke(_n),ke(rt),ke(ci))},e.\u0275cmp=w({type:e,selectors:[["nouislider"]],hostVars:2,hostBindings:function(t,o){t&2&&yn("ng2-nouislider",!0)},inputs:{disabled:"disabled",behaviour:"behaviour",connect:"connect",limit:"limit",min:"min",max:"max",snap:"snap",animate:"animate",range:"range",step:"step",format:"format",pageSteps:"pageSteps",config:"config",keyboard:"keyboard",onKeydown:"onKeydown",tooltips:"tooltips"},outputs:{change:"change",update:"update",slide:"slide",set:"set",start:"start",end:"end"},features:[mi([{provide:Vn,useExisting:fn(()=>e),multi:!0}]),ot],decls:1,vars:1,template:function(t,o){t&1&&f(0,"div"),t&2&&V("disabled",o.disabled?!0:void 0)},styles:["[_nghost-%COMP%]{display:block;margin-top:1rem;margin-bottom:1rem}"]}),e})(),U0=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=St({type:e}),e.\u0275inj=xt({imports:[xe]}),e})();var xi=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function gs(e,n){if(e&1){let t=z();a(0,"button",6),b("click",function(i){return O(t),g(2).setTargetMode(0),N(i.target.blur())}),a(1,"div",7),f(2,"i",8),s(),c(3),d(4,"translate"),a(5,"div",9),f(6,"i",10),s()()}if(e&2){let t=g(2);r(2),m("ngClass",I(4,xi,t.targetMode===0,t.targetMode!==0)),r(),y(" ",p(4,2,"accessories.control.manual")," ")}}function hs(e,n){if(e&1){let t=z();a(0,"button",6),b("click",function(i){return O(t),g(2).setTargetMode(1),N(i.target.blur())}),a(1,"div",7),f(2,"i",8),s(),c(3),d(4,"translate"),a(5,"div",9),f(6,"i",10),s()()}if(e&2){let t=g(2);r(2),m("ngClass",I(4,xi,t.targetMode===1,t.targetMode!==1)),r(),y(" ",p(4,2,"accessories.control.auto")," ")}}function Cs(e,n){if(e&1&&(a(0,"h6",12),c(1),d(2,"translate"),s(),a(3,"div",13),h(4,gs,7,7,"button",14),h(5,hs,7,7,"button",14),s()),e&2){let t=g();r(),x(p(2,3,"accessories.control.mode")),r(3),C(t.targetModeValidValues.includes(0)?4:-1),r(),C(t.targetModeValidValues.includes(1)?5:-1)}}function _s(e,n){if(e&1){let t=z();a(0,"h6",12),c(1),d(2,"translate"),s(),a(3,"nouislider",15),te("ngModelChange",function(i){O(t);let l=g();return ee(l.targetRotationSpeed.value,i)||(l.targetRotationSpeed.value=i),N(i)}),b("ngModelChange",function(){O(t);let i=g();return N(i.onTargetRotationSpeedChange())}),s()}if(e&2){let t=g();r(),X("",p(2,6,"accessories.control.rotation_speed"),": ",t.targetRotationSpeed.value,"%"),r(2),m("min",t.targetRotationSpeed.min)("max",t.targetRotationSpeed.max)("step",t.targetRotationSpeed.step),J("ngModel",t.targetRotationSpeed.value)}}var Lo=(()=>{class e{$activeModal=L(ce);service;targetState;targetMode;targetModeValidValues=[];targetRotationSpeed;targetRotationSpeedChanged=new re;constructor(){this.targetRotationSpeedChanged.pipe(ue(500)).subscribe(()=>{this.service.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value),this.targetRotationSpeed.value&&!this.service.values.Active?(this.targetState=1,this.service.getCharacteristic("Active").setValue(this.targetMode)):!this.targetRotationSpeed.value&&this.service.values.Active&&(this.targetState=0,this.service.getCharacteristic("Active").setValue(this.targetMode))})}ngOnInit(){this.targetState=this.service.values.Active,this.targetMode=this.service.values.TargetAirPurifierState,this.targetModeValidValues=this.service.getCharacteristic("TargetAirPurifierState").validValues,this.loadRotationSpeed()}loadRotationSpeed(){let t=this.service.getCharacteristic("RotationSpeed");t&&(this.targetRotationSpeed={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #add8e6, #416bdf)"})},10))}setTargetState(t){this.targetState=t,this.service.getCharacteristic("Active").setValue(this.targetState),this.targetState&&this.targetRotationSpeed&&!this.targetRotationSpeed.value&&(this.targetRotationSpeed.value=this.service.getCharacteristic("RotationSpeed").maxValue)}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("TargetAirPurifierState").setValue(this.targetMode)}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-airpurifier-manage"]],inputs:{service:"service"},decls:24,vars:20,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Air Purifier State Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],["role","group","aria-label","Air Purifier Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),d(4,"translate"),b("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5)(7,"button",6),b("click",function(u){return i.setTargetState(0),u.target.blur()}),a(8,"div",7),f(9,"i",8),s(),c(10),d(11,"translate"),a(12,"div",9),f(13,"i",10),s()(),a(14,"button",6),b("click",function(u){return i.setTargetState(1),u.target.blur()}),a(15,"div",7),f(16,"i",8),s(),c(17),d(18,"translate"),a(19,"div",9),f(20,"i",10),s()()(),h(21,Cs,6,5),h(22,_s,4,8),s(),f(23,"div",11),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",p(4,8,"form.button_close")),r(6),m("ngClass",I(14,xi,i.targetState===0,i.targetState!==0)),r(),y(" ",p(11,10,"accessories.control.off")," "),r(6),m("ngClass",I(17,xi,i.targetState===1,i.targetState!==1)),r(),y(" ",p(18,12,"accessories.control.on")," "),r(4),C(i.targetModeValidValues.length?21:-1),r(),C(i.targetRotationSpeed?22:-1))},dependencies:[le,ge,he,xe,D,H],styles:[".switch-off svg .airpurifier_off_grey{stroke:gray;fill:gray} .switch-off svg .airpurifier_off_lgrey{fill:#d9d9d9}"]})}return e})();var ie=(()=>{class e{duration=350;longclick=Oi();shortclick=Oi();downTimeout;done=!1;constructor(){}onEnter(t){this.shortclick.emit(t)}onMouseUp(t){clearTimeout(this.downTimeout),this.done||(this.done=!0,this.shortclick.emit(t))}onTouchEnd(t){clearTimeout(this.downTimeout),t.preventDefault(),t.stopPropagation(),this.done||(this.done=!0,this.shortclick.emit(t))}onMouseDown(t){t instanceof MouseEvent&&t.button!==0||(this.done=!1,t instanceof TouchEvent&&(t.preventDefault(),t.stopPropagation()),this.downTimeout=setTimeout(()=>{this.done||(this.done=!0,this.longclick.emit(t))},this.duration))}onMouseMove(){this.done=!0,clearTimeout(this.downTimeout)}ngOnDestroy(){clearTimeout(this.downTimeout)}static \u0275fac=function(o){return new(o||e)};static \u0275dir=bt({type:e,selectors:[["","appLongclick",""]],hostBindings:function(o,i){o&1&&b("keyup.enter",function(u){return i.onEnter(u)})("mouseup",function(u){return i.onMouseUp(u)})("touchend",function(u){return i.onTouchEnd(u)})("touchstart",function(u){return i.onMouseDown(u)})("mousedown",function(u){return i.onMouseDown(u)})("mousemove",function(u){return i.onMouseMove(u)})("touchmove",function(u){return i.onMouseMove(u)})},inputs:{duration:"duration"},outputs:{longclick:"longclick",shortclick:"shortclick"}})}return e})();var xs=(e,n)=>({"switch-on":e,"switch-off":n});function Ss(e,n){if(e&1&&(f(0,"div",4),d(1,"translate")),e&2){let t=g();m("innerText",p(1,1,t.service.values.Active?"accessories.control.on":"accessories.control.off"))}}function bs(e,n){if(e&1&&(a(0,"div",5),c(1),s()),e&2){let t=g();r(),y("",t.service.values.RotationSpeed,"%")}}var Oo=(()=>{class e{$modal=L(ae);service;constructor(){}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1),!this.service.values.On&&"RotationSpeed"in this.service.values&&!this.service.values.RotationSpeed&&this.service.getCharacteristic("RotationSpeed").setValue(100)}onLongClick(){let t=this.$modal.open(Lo,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-airpurifier"]],inputs:{service:"service"},decls:7,vars:9,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),b("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),h(5,Ss,2,3,"div",4),h(6,bs,2,1,"div",5),s()()),o&2&&(m("ngClass",I(6,xs,i.service.values.Active,!i.service.values.Active)),r(2),m("inlineSVG","/assets/hap-icons/airpurifier.svg"),V("aria-label","Air Purifier"),r(2),x(i.service.customName||i.service.serviceName),r(),C(!i.service.values.RotationSpeed||!i.service.values.Active?5:-1),r(),C(i.service.values.RotationSpeed&&i.service.values.Active?6:-1))},dependencies:[ie,H,K,q,D],styles:[".switch-off svg .airpurifier_off_grey{stroke:gray;fill:gray} .switch-off svg .airpurifier_off_lgrey{fill:#d9d9d9}"]})}return e})();var ys=e=>({"switch-on":e}),Ts=(e,n)=>({"grey-text":e,"red-text":n}),No=(()=>{class e{service;labels=["Unknown","Excellent","Good","Fair","Inferior","Poor"];constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-airqualitysensor"]],inputs:{service:"service"},decls:7,vars:11,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label",3,"ngClass"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),a(5,"div",4),c(6),s()()()),o&2&&(m("ngClass",oe(6,ys,i.service.values.AirQuality>3)),r(2),m("inlineSVG","/assets/hap-icons/airquality.svg"),V("aria-label","Switch"),r(2),x(i.service.customName||i.service.serviceName),r(),m("ngClass",I(8,Ts,i.service.values.AirQuality<4,i.service.values.AirQuality>3)),r(),y(" ",i.labels[i.service.values.AirQuality]," "))},dependencies:[H,K,q],encapsulation:2})}return e})();var Ms=e=>({lowbattery:e}),ws=(e,n)=>({"battery-over":e,"battery-under":n});function ks(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.battery_notcharging")," ")}function Vs(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.battery_charging")," ")}function Es(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.battery_notchargeable")," ")}function Is(e,n){e&1&&(a(0,"span",7),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.battery_low")))}function Ds(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.battery_charged")," ")}var Fo=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-battery"]],inputs:{service:"service"},decls:15,vars:15,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"batterylevel-battery",3,"ngClass"],[1,"battery-level-fill"],[1,"battery-text",3,"ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"red-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1)(2,"div",2),f(3,"div",3),a(4,"span",4),c(5),d(6,"number"),s()(),a(7,"div",5),c(8),s(),a(9,"div",6),h(10,ks,2,3)(11,Vs,2,3)(12,Es,2,3)(13,Is,3,3,"span",7)(14,Ds,2,3),s()()()),o&2&&(r(2),m("ngClass",oe(10,Ms,i.service.values.StatusLowBattery===1)),r(),bn("width",i.service.values.BatteryLevel||0,"%"),r(),m("ngClass",I(12,ws,i.service.values.BatteryLevel>=30,i.service.values.BatteryLevel<30)),r(),x(ve(6,7,i.service.values.BatteryLevel||0,"1.0-0")+"%"),r(3),x(i.service.customName||i.service.serviceName),r(2),C(i.service.values.ChargingState===0?10:i.service.values.ChargingState===1?11:i.service.values.ChargingState===2?12:i.service.values.StatusLowBattery===1||i.service.values.BatteryLevel===0?13:14))},dependencies:[H,Le,D],styles:['.batterylevel-battery[_ngcontent-%COMP%]{position:relative;width:75px;height:30px;border:1px solid rgb(128,128,128);border-radius:4px;margin-bottom:6px;text-align:center;display:flex;align-items:center;justify-content:center;color:#d3d3d3;font-size:14px}.batterylevel-battery[_ngcontent-%COMP%]:after{content:"";position:absolute;top:7px;right:-6px;width:6px;height:13px;background-color:gray;border-radius:2px}.batterylevel-battery[_ngcontent-%COMP%] .battery-level-fill[_ngcontent-%COMP%]{position:absolute;top:0;left:0;height:100%;background-color:gray;z-index:1;transition:width .3s ease-in-out}.batterylevel-battery[_ngcontent-%COMP%] .battery-text[_ngcontent-%COMP%]{position:relative;z-index:2}.batterylevel-battery[_ngcontent-%COMP%] .battery-over[_ngcontent-%COMP%]{color:#fff}.batterylevel-battery[_ngcontent-%COMP%] .battery-under[_ngcontent-%COMP%]{color:gray}@media (max-width: 575px){.batterylevel-battery[_ngcontent-%COMP%]{width:50px;height:25px;font-size:12px}.batterylevel-battery[_ngcontent-%COMP%]:after{top:4px}}.lowbattery[_ngcontent-%COMP%] .battery-level-fill[_ngcontent-%COMP%]{background-color:#e69533}']})}return e})();var Ps=(e,n)=>({"switch-on":e,"switch-off":n});function As(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.detected")))}function Bs(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.not_detected")))}var Ro=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-carbondioxidesensor"]],inputs:{service:"service"},decls:7,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),h(5,As,3,3,"div",4),h(6,Bs,3,3,"div",5),s()()),o&2&&(m("ngClass",I(6,Ps,i.service.values.CarbonDioxideDetected,!i.service.values.CarbonDioxideDetected)),r(2),m("inlineSVG","/assets/hap-icons/co2-sensor.svg"),V("aria-label","Carbon Dioxide Sensor"),r(2),x(i.service.customName||i.service.serviceName),r(),C(i.service.values.CarbonDioxideDetected?5:-1),r(),C(i.service.values.CarbonDioxideDetected?-1:6))},dependencies:[H,K,q,D],styles:[".switch-off svg .smoke_sensor_trigger_lines{display:none} .switch-off svg .smoke_sensor_box{fill:gray} .switch-off svg .label-text{fill:#2b2b2b}"]})}return e})();var Hs=(e,n)=>({"switch-on":e,"switch-off":n});function Ls(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.detected")))}function Os(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.not_detected")))}var Go=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-carbonmonoxidesensor"]],inputs:{service:"service"},decls:7,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),h(5,Ls,3,3,"div",4),h(6,Os,3,3,"div",5),s()()),o&2&&(m("ngClass",I(6,Hs,i.service.values.CarbonMonoxideDetected,!i.service.values.CarbonMonoxideDetected)),r(2),m("inlineSVG","/assets/hap-icons/co-sensor.svg"),V("aria-label","Carbon Monoxide Sensor"),r(2),x(i.service.customName||i.service.serviceName),r(),C(i.service.values.CarbonMonoxideDetected?5:-1),r(),C(i.service.values.CarbonMonoxideDetected?-1:6))},dependencies:[H,K,q,D],styles:[".switch-off svg .smoke_sensor_trigger_lines{display:none} .switch-off svg .smoke_sensor_box{fill:gray} .switch-off svg .label-text{fill:#2b2b2b}"]})}return e})();var Ns=(e,n)=>({"switch-on":e,"switch-off":n});function Fs(e,n){e&1&&f(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/contactsensor-open.svg"),V("aria-label","Switch"))}function Rs(e,n){e&1&&f(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/contactsensor-closed.svg"),V("aria-label","Switch"))}function Gs(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.open")))}function js(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.closed")))}var jo=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-contactsensor"]],inputs:{service:"service"},decls:8,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),h(2,Fs,1,2,"div",2),h(3,Rs,1,2,"div",2),a(4,"div",3),c(5),s(),h(6,Gs,3,3,"div",4),h(7,js,3,3,"div",5),s()()),o&2&&(m("ngClass",I(6,Ns,i.service.values.ContactSensorState,!i.service.values.ContactSensorState)),r(2),C(i.service.values.ContactSensorState?2:-1),r(),C(i.service.values.ContactSensorState?-1:3),r(2),x(i.service.customName||i.service.serviceName),r(),C(i.service.values.ContactSensorState?6:-1),r(),C(i.service.values.ContactSensorState?-1:7))},dependencies:[H,K,q,D],styles:["body.dark-mode .switch-off svg .contact_sensor_split_line{fill:#2b2b2b}"]})}return e})();function Ws(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.closed")," ")}function Us(e,n){if(e&1&&(c(0),d(1,"translate")),e&2){let t=g(2);X(" ",p(1,2,"accessories.control.open")," ",t.service.getCharacteristic("CurrentPosition").value,"% ")}}function $s(e,n){if(e&1&&h(0,Ws,2,3)(1,Us,2,4),e&2){let t=g();C(t.service.values.CurrentPosition===0?0:1)}}function zs(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.opening"),"... ")}function qs(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.closing"),"... ")}var Wo=(()=>{class e{$activeModal=L(ce);service;targetMode;targetPosition;targetPositionChanged=new re;constructor(){this.targetPositionChanged.pipe(ue(500)).subscribe(()=>{this.service.getCharacteristic("CurrentPosition").value<this.targetPosition.value?this.service.values.PositionState=1:this.service.getCharacteristic("CurrentPosition").value>this.targetPosition.value&&(this.service.values.PositionState=0),this.service.getCharacteristic("TargetPosition").setValue(this.targetPosition.value)})}ngOnInit(){this.targetMode=this.service.values.On,this.loadTargetPosition()}loadTargetPosition(){let t=this.service.getCharacteristic("TargetPosition");t&&(this.targetPosition={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #242424, #ffd6aa)"})},10))}onTargetPositionChange(){this.targetPositionChanged.next(this.targetPosition.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-door-manage"]],inputs:{service:"service"},decls:34,vars:34,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"d-flex","justify-content-center","mb-0","p-0"],[1,"mb-0","mx-0","p-3","btn-read","w-100"],[1,"mt-4"],[1,"mb-1",3,"ngModelChange","min","max","step","ngModel"],[1,"d-flex","justify-content-between","align-items-center","mt-0","mb-1"],[1,"grey-text","small"],[1,"mb-1",3,"ngModelChange","min","max","step","disabled","ngModel"],[1,"modal-footer"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),d(4,"translate"),b("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5)(7,"div",6),h(8,$s,2,1)(9,zs,2,3)(10,qs,2,3),s()(),a(11,"h6",7),c(12),d(13,"translate"),s(),a(14,"nouislider",8),te("ngModelChange",function(u){return ee(i.targetPosition.value,u)||(i.targetPosition.value=u),u}),b("ngModelChange",function(){return i.onTargetPositionChange()}),s(),a(15,"div",9)(16,"span",10),c(17),d(18,"translate"),s(),a(19,"span",10),c(20),d(21,"translate"),s()(),a(22,"h6",7),c(23),d(24,"translate"),s(),a(25,"nouislider",11),te("ngModelChange",function(u){return ee(i.service.getCharacteristic("CurrentPosition").value,u)||(i.service.getCharacteristic("CurrentPosition").value=u),u}),s(),a(26,"div",9)(27,"span",10),c(28),d(29,"translate"),s(),a(30,"span",10),c(31),d(32,"translate"),s()()(),f(33,"div",12),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",p(4,20,"form.button_close")),r(5),C(i.service.values.PositionState===2?8:i.service.values.PositionState===1?9:i.service.values.PositionState===0?10:-1),r(4),X("",p(13,22,"accessories.control.target"),": ",i.targetPosition.value,"%"),r(2),m("min",i.targetPosition.min)("max",i.targetPosition.max)("step",i.targetPosition.step),J("ngModel",i.targetPosition.value),r(3),x(p(18,24,"accessories.control.closed")),r(3),x(p(21,26,"accessories.control.open")),r(3),X(" ",p(24,28,"accessories.control.current"),": ",i.service.getCharacteristic("CurrentPosition").value,"% "),r(2),m("min",0)("max",100)("step",1)("disabled",!0),J("ngModel",i.service.getCharacteristic("CurrentPosition").value),r(3),x(p(29,30,"accessories.control.closed")),r(3),x(p(32,32,"accessories.control.open")))},dependencies:[xe,le,ge,he,D],styles:[".door-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();var Ks=e=>({"window-on":e});function Xs(e,n){e&1&&f(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/door-closed.svg"),V("aria-label","Door"))}function Ys(e,n){e&1&&f(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/door-open.svg"),V("aria-label","Door"))}function Zs(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.closed")," ")}function Qs(e,n){if(e&1&&(c(0),d(1,"translate")),e&2){let t=g(2);X(" ",p(1,2,"accessories.control.open")," ",t.service.values.CurrentPosition,"% ")}}function Js(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.open")," ")}function el(e,n){if(e&1&&(a(0,"div",4),h(1,Zs,2,3),h(2,Qs,2,4),h(3,Js,2,3),s()),e&2){let t=g();r(),C(t.service.values.CurrentPosition===0?1:-1),r(),C(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?2:-1),r(),C(t.service.values.CurrentPosition===100?3:-1)}}function tl(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),y("",p(2,1,"accessories.control.opening"),"..."))}function il(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),y("",p(2,1,"accessories.control.closing"),"..."))}var Uo=(()=>{class e{$modal=L(ae);service;constructor(){}onClick(){this.service.values.TargetPosition?this.service.getCharacteristic("TargetPosition").setValue(0):this.service.getCharacteristic("TargetPosition").setValue(100)}onLongClick(){let t=this.$modal.open(Wo,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-door"]],inputs:{service:"service"},decls:9,vars:9,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","red-text"]],template:function(o,i){o&1&&(a(0,"div",0),b("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),h(2,Xs,1,2,"div",2),h(3,Ys,1,2,"div",2),a(4,"div",3),c(5),s(),h(6,el,4,3,"div",4),h(7,tl,3,3,"div",5),h(8,il,3,3,"div",5),s()()),o&2&&(m("ngClass",oe(7,Ks,i.service.values.TargetPosition)),r(2),C(i.service.values.TargetPosition?-1:2),r(),C(i.service.values.TargetPosition?3:-1),r(2),x(i.service.customName||i.service.serviceName),r(),C(i.service.values.PositionState===2?6:-1),r(),C(i.service.values.PositionState===1?7:-1),r(),C(i.service.values.PositionState===0?8:-1))},dependencies:[ie,H,K,q,D],styles:[".door-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();var Si=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function nl(e,n){if(e&1){let t=z();a(0,"h6",12),c(1),d(2,"translate"),s(),a(3,"div",13)(4,"button",6),b("click",function(i){return O(t),g().setRotationDirection(0),N(i.target.blur())}),a(5,"div",7),f(6,"i",8),s(),c(7),d(8,"translate"),a(9,"div",9),f(10,"i",10),s()(),a(11,"button",6),b("click",function(i){return O(t),g().setRotationDirection(1),N(i.target.blur())}),a(12,"div",7),f(13,"i",8),s(),c(14),d(15,"translate"),a(16,"div",9),f(17,"i",10),s()()()}if(e&2){let t=g();r(),x(p(2,5,"accessories.control.rotation_direction")),r(5),m("ngClass",I(11,Si,t.service.values.RotationDirection===0,t.service.values.RotationDirection!==0)),r(),y(" ",p(8,7,"accessories.control.rotation_clockwise")," "),r(6),m("ngClass",I(14,Si,t.service.values.RotationDirection===1,t.service.values.RotationDirection!==1)),r(),y(" ",p(15,9,"accessories.control.rotation_c_clockwise")," ")}}function ol(e,n){e&1&&c(0,"%")}function rl(e,n){if(e&1){let t=z();a(0,"h6",12),c(1),d(2,"translate"),h(3,ol,1,0),s(),a(4,"nouislider",14),te("ngModelChange",function(i){O(t);let l=g();return ee(l.targetRotationSpeed.value,i)||(l.targetRotationSpeed.value=i),N(i)}),b("ngModelChange",function(){O(t);let i=g();return N(i.onTargetRotationSpeedChange())}),s()}if(e&2){let t=g();r(),X(" ",p(2,7,"accessories.control.rotation_speed"),": ",t.targetRotationSpeed.value),r(2),C(t.targetRotationSpeed.unit==="percentage"?3:-1),r(),m("min",t.targetRotationSpeed.min)("max",t.targetRotationSpeed.max)("step",t.targetRotationSpeed.step),J("ngModel",t.targetRotationSpeed.value)}}var $o=(()=>{class e{$activeModal=L(ce);service;targetMode;targetRotationSpeed;targetRotationSpeedChanged=new re;hasRotationDirection=!1;constructor(){this.targetRotationSpeedChanged.pipe(ue(500)).subscribe(()=>{this.service.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value),this.targetRotationSpeed.value&&!this.service.values.On?(this.targetMode=!0,this.service.getCharacteristic("On").setValue(this.targetMode)):!this.targetRotationSpeed.value&&this.service.values.On&&(this.targetMode=!1,this.service.getCharacteristic("On").setValue(this.targetMode))})}ngOnInit(){this.targetMode=this.service.values.On,this.loadRotationSpeed(),this.service.serviceCharacteristics.find(t=>t.type==="RotationDirection")&&(this.hasRotationDirection=!0)}loadRotationSpeed(){let t=this.service.getCharacteristic("RotationSpeed");t&&(this.targetRotationSpeed={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep,unit:t.unit},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #add8e6, #416bdf)"})},10))}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("On").setValue(this.targetMode),this.targetMode&&this.targetRotationSpeed&&!this.targetRotationSpeed.value&&(this.targetRotationSpeed.value=this.service.getCharacteristic("RotationSpeed").maxValue)}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}setRotationDirection(t){this.service.getCharacteristic("RotationDirection").setValue(t)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-fan-manage"]],inputs:{service:"service"},decls:24,vars:20,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Fan Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],["role","group","aria-label","Fan Direction Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),d(4,"translate"),b("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5)(7,"button",6),b("click",function(u){return i.setTargetMode(!1),u.target.blur()}),a(8,"div",7),f(9,"i",8),s(),c(10),d(11,"translate"),a(12,"div",9),f(13,"i",10),s()(),a(14,"button",6),b("click",function(u){return i.setTargetMode(!0),u.target.blur()}),a(15,"div",7),f(16,"i",8),s(),c(17),d(18,"translate"),a(19,"div",9),f(20,"i",10),s()()(),h(21,nl,18,17),h(22,rl,5,9),s(),f(23,"div",11),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",p(4,8,"form.button_close")),r(6),m("ngClass",I(14,Si,!i.targetMode,i.targetMode)),r(),y(" ",p(11,10,"accessories.control.off")," "),r(6),m("ngClass",I(17,Si,i.targetMode,!i.targetMode)),r(),y(" ",p(18,12,"accessories.control.on")," "),r(4),C(i.hasRotationDirection?21:-1),r(),C(i.targetRotationSpeed?22:-1))},dependencies:[le,ge,he,xe,D,H],encapsulation:2})}return e})();var al=e=>({"switch-on":e}),sl=(e,n)=>({spin:e,"spin-counter":n});function ll(e,n){e&1&&f(0,"img",2)}function cl(e,n){if(e&1&&f(0,"img",3),e&2){let t=g();m("ngClass",I(1,sl,!t.hasRotationDirection||t.hasRotationDirection&&t.service.values.RotationDirection===0,!t.hasRotationDirection||t.hasRotationDirection&&t.service.values.RotationDirection===1))}}function dl(e,n){if(e&1&&(f(0,"div",5),d(1,"translate")),e&2){let t=g();m("innerText",p(1,1,t.service.values.On?"accessories.control.on":"accessories.control.off"))}}function pl(e,n){if(e&1&&(a(0,"div",6),c(1),s()),e&2){let t=g();r(),X("",t.service.values.RotationSpeed,"",t.rotationSpeedUnit)}}var zo=(()=>{class e{$modal=L(ae);service;rotationSpeedUnit="";hasRotationDirection=!1;constructor(){}ngOnInit(){let t=this.service.serviceCharacteristics.find(o=>o.type==="RotationSpeed");t&&t.unit==="percentage"&&(this.rotationSpeedUnit="%"),this.service.serviceCharacteristics.find(o=>o.type==="RotationDirection")&&(this.hasRotationDirection=!0)}onClick(){if(this.service.getCharacteristic("On").setValue(!this.service.values.On),!this.service.values.On&&"RotationSpeed"in this.service.values&&!this.service.values.RotationSpeed){let t=this.service.getCharacteristic("RotationSpeed");t.setValue(t.maxValue)}}onLongClick(){let t=this.$modal.open($o,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-fan"]],inputs:{service:"service"},decls:8,vars:8,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],["src","/assets/hap-icons/fan-off.svg","alt","Fan",1,"accessory-img"],["src","/assets/hap-icons/fan-on.svg","alt","Fan",1,"accessory-img",3,"ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),b("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),h(2,ll,1,0,"img",2),h(3,cl,1,4,"img",3),a(4,"div",4),c(5),s(),h(6,dl,2,3,"div",5),h(7,pl,2,2,"div",6),s()()),o&2&&(m("ngClass",oe(6,al,i.service.values.On)),r(2),C(i.service.values.On?-1:2),r(),C(i.service.values.On?3:-1),r(2),x(i.service.customName||i.service.serviceName),r(),C(!i.service.values.RotationSpeed||!i.service.values.On?6:-1),r(),C(i.service.values.RotationSpeed&&i.service.values.On?7:-1))},dependencies:[ie,H,D],encapsulation:2})}return e})();var qo=(e,n)=>({"fa-check-circle":e,"fa-blank":n}),Ko=(e,n)=>({"btn-primary":e,"btn-elegant":n});function ml(e,n){if(e&1){let t=z();a(0,"h6",12),c(1),d(2,"translate"),s(),a(3,"div",13)(4,"button",14),b("click",function(){O(t);let i=g();return N(i.setRotationDirection(0))}),c(5),d(6,"translate"),s(),a(7,"button",14),b("click",function(){O(t);let i=g();return N(i.setRotationDirection(1))}),c(8),d(9,"translate"),s()()}if(e&2){let t=g();r(),x(p(2,5,"accessories.control.rotation_direction")),r(3),m("ngClass",I(11,Ko,t.service.values.RotationDirection===0,t.service.values.RotationDirection!==0)),r(),y(" ",p(6,7,"accessories.control.rotation_clockwise")," "),r(2),m("ngClass",I(14,Ko,t.service.values.RotationDirection===1,t.service.values.RotationDirection!==1)),r(),y(" ",p(9,9,"accessories.control.rotation_c_clockwise")," ")}}function ul(e,n){e&1&&c(0,"%")}function vl(e,n){if(e&1){let t=z();a(0,"h6",12),c(1),d(2,"translate"),h(3,ul,1,0),s(),a(4,"nouislider",15),te("ngModelChange",function(i){O(t);let l=g();return ee(l.targetRotationSpeed.value,i)||(l.targetRotationSpeed.value=i),N(i)}),b("ngModelChange",function(){O(t);let i=g();return N(i.onTargetRotationSpeedChange())}),s()}if(e&2){let t=g();r(),X(" ",p(2,7,"accessories.control.rotation_speed"),": ",t.targetRotationSpeed.value),r(2),C(t.targetRotationSpeed.unit==="percentage"?3:-1),r(),m("min",t.targetRotationSpeed.min)("max",t.targetRotationSpeed.max)("step",t.targetRotationSpeed.step),J("ngModel",t.targetRotationSpeed.value)}}var Xo=(()=>{class e{$activeModal=L(ce);service;targetMode;targetRotationSpeed;targetRotationSpeedChanged=new re;hasRotationDirection=!1;constructor(){this.targetRotationSpeedChanged.pipe(ue(500)).subscribe(()=>{this.service.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value),this.targetRotationSpeed.value&&!this.service.values.Active?(this.targetMode=1,this.service.getCharacteristic("Active").setValue(this.targetMode)):!this.targetRotationSpeed.value&&this.service.values.Active&&(this.targetMode=0,this.service.getCharacteristic("Active").setValue(this.targetMode))})}ngOnInit(){this.targetMode=this.service.values.Active,this.loadRotationSpeed(),this.service.serviceCharacteristics.find(t=>t.type==="RotationDirection")&&(this.hasRotationDirection=!0)}loadRotationSpeed(){let t=this.service.getCharacteristic("RotationSpeed");t&&(this.targetRotationSpeed={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep,unit:t.unit},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #add8e6, #416bdf)"})},10))}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("Active").setValue(this.targetMode),this.targetMode&&this.targetRotationSpeed&&!this.targetRotationSpeed.value&&(this.targetRotationSpeed.value=this.service.getCharacteristic("RotationSpeed").maxValue)}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}setRotationDirection(t){this.service.getCharacteristic("RotationDirection").setValue(t)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-fanv2-manage"]],inputs:{service:"service"},decls:24,vars:20,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Fan Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],["role","group","aria-label","Fan Direction Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","mb-0","mx-0","px-0","py-3",3,"click","ngClass"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),d(4,"translate"),b("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5)(7,"button",6),b("click",function(u){return i.setTargetMode(0),u.target.blur()}),a(8,"div",7),f(9,"i",8),s(),c(10),d(11,"translate"),a(12,"div",9),f(13,"i",10),s()(),a(14,"button",6),b("click",function(u){return i.setTargetMode(1),u.target.blur()}),a(15,"div",7),f(16,"i",8),s(),c(17),d(18,"translate"),a(19,"div",9),f(20,"i",10),s()()(),h(21,ml,10,17),h(22,vl,5,9),s(),f(23,"div",11),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",p(4,8,"form.button_close")),r(6),m("ngClass",I(14,qo,i.targetMode===0,i.targetMode!==0)),r(),y(" ",p(11,10,"accessories.control.off")," "),r(6),m("ngClass",I(17,qo,i.targetMode===1,i.targetMode!==1)),r(),y(" ",p(18,12,"accessories.control.on")," "),r(4),C(i.hasRotationDirection?21:-1),r(),C(i.targetRotationSpeed?22:-1))},dependencies:[le,ge,he,xe,D,H],encapsulation:2})}return e})();var fl=e=>({"switch-on":e}),gl=(e,n)=>({spin:e,"spin-counter":n});function hl(e,n){e&1&&f(0,"img",2)}function Cl(e,n){if(e&1&&f(0,"img",3),e&2){let t=g();m("ngClass",I(1,gl,!t.hasRotationDirection||t.hasRotationDirection&&t.service.values.RotationDirection===0,t.hasRotationDirection&&t.service.values.RotationDirection===1))}}function _l(e,n){if(e&1&&(f(0,"div",5),d(1,"translate")),e&2){let t=g();m("innerText",p(1,1,t.service.values.Active?"accessories.control.on":"accessories.control.off"))}}function xl(e,n){if(e&1&&(a(0,"div",6),c(1),s()),e&2){let t=g();r(),X("",t.service.values.RotationSpeed,"",t.rotationSpeedUnit)}}var Yo=(()=>{class e{$modal=L(ae);service;rotationSpeedUnit="";hasRotationDirection=!1;constructor(){}ngOnInit(){let t=this.service.serviceCharacteristics.find(o=>o.type==="RotationSpeed");t&&t.unit==="percentage"&&(this.rotationSpeedUnit="%"),this.service.serviceCharacteristics.find(o=>o.type==="RotationDirection")&&(this.hasRotationDirection=!0)}onClick(){if(this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1),!this.service.values.On&&"RotationSpeed"in this.service.values&&!this.service.values.RotationSpeed){let t=this.service.getCharacteristic("RotationSpeed");t.setValue(t.maxValue)}}onLongClick(){let t=this.$modal.open(Xo,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-fanv2"]],inputs:{service:"service"},decls:8,vars:8,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],["src","/assets/hap-icons/fan-off.svg","alt","Fan",1,"accessory-img"],["src","/assets/hap-icons/fan-on.svg","alt","Fan",1,"accessory-img",3,"ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),b("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),h(2,hl,1,0,"img",2),h(3,Cl,1,4,"img",3),a(4,"div",4),c(5),s(),h(6,_l,2,3,"div",5),h(7,xl,2,2,"div",6),s()()),o&2&&(m("ngClass",oe(6,fl,i.service.values.Active)),r(2),C(i.service.values.Active?-1:2),r(),C(i.service.values.Active?3:-1),r(2),x(i.service.customName||i.service.serviceName),r(),C(!i.service.values.RotationSpeed||!i.service.values.Active?6:-1),r(),C(i.service.values.RotationSpeed&&i.service.values.Active?7:-1))},dependencies:[ie,H,D],encapsulation:2})}return e})();var Sl=e=>({"switch-on":e}),bl=(e,n)=>({"red-text":e,"grey-text":n});function yl(e,n){if(e&1&&(f(0,"div",4),d(1,"translate")),e&2){let t=g();m("innerText",p(1,2,t.service.values.CurrentDoorState?"accessories.control.closed":"accessories.control.open"))("ngClass",I(4,bl,!t.service.values.CurrentDoorState,t.service.values.CurrentDoorState))}}function Tl(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),y("",p(2,1,"accessories.control.opening"),"..."))}function Ml(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),y("",p(2,1,"accessories.control.closing"),"..."))}function wl(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.stopped")))}var Zo=(()=>{class e{service;constructor(){}onClick(){this.service.getCharacteristic("TargetDoorState").setValue(this.service.values.TargetDoorState?0:1)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-garagedooropener"]],inputs:{service:"service"},decls:9,vars:10,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label",3,"innerText","ngClass"],[1,"accessory-label","red-text"]],template:function(o,i){o&1&&(a(0,"div",0),b("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),h(5,yl,2,7,"div",4),h(6,Tl,3,3,"div",5),h(7,Ml,3,3,"div",5),h(8,wl,3,3,"div",5),s()()),o&2&&(m("ngClass",oe(8,Sl,i.service.values.CurrentDoorState===0||i.service.values.CurrentDoorState===2)),r(2),m("inlineSVG","/assets/hap-icons/garagedoor.svg"),V("aria-label","Garage Door"),r(2),x(i.service.customName||i.service.serviceName),r(),C(i.service.values.CurrentDoorState<2?5:-1),r(),C(i.service.values.CurrentDoorState===2?6:-1),r(),C(i.service.values.CurrentDoorState===3?7:-1),r(),C(i.service.values.CurrentDoorState===4?8:-1))},dependencies:[ie,H,K,q,D],encapsulation:2})}return e})();var kl=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t}),$t=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function Vl(e,n){if(e&1){let t=z();a(0,"button",7),b("click",function(i){return O(t),g(2).setTargetMode(0),N(i.target.blur())}),a(1,"div",8),f(2,"i",9),s(),c(3),d(4,"translate"),a(5,"div",10),f(6,"i",11),s()()}if(e&2){let t=g(2);r(2),m("ngClass",I(4,$t,t.targetMode===0,t.targetMode!==0)),r(),y(" ",p(4,2,"accessories.control.auto")," ")}}function El(e,n){if(e&1){let t=z();a(0,"button",7),b("click",function(i){return O(t),g(2).setTargetMode(1),N(i.target.blur())}),a(1,"div",8),f(2,"i",9),s(),c(3),d(4,"translate"),a(5,"div",10),f(6,"i",11),s()()}if(e&2){let t=g(2);r(2),m("ngClass",I(4,$t,t.targetMode===1,t.targetMode!==1)),r(),y(" ",p(4,2,"accessories.control.heat")," ")}}function Il(e,n){if(e&1){let t=z();a(0,"button",7),b("click",function(i){return O(t),g(2).setTargetMode(2),N(i.target.blur())}),a(1,"div",8),f(2,"i",9),s(),c(3),d(4,"translate"),a(5,"div",10),f(6,"i",11),s()()}if(e&2){let t=g(2);r(2),m("ngClass",I(4,$t,t.targetMode===2,t.targetMode!==2)),r(),y(" ",p(4,2,"accessories.control.cool")," ")}}function Dl(e,n){if(e&1&&(a(0,"h6",13),c(1),d(2,"translate"),s(),a(3,"div",14),h(4,Vl,7,7,"button",15),h(5,El,7,7,"button",15),h(6,Il,7,7,"button",15),s()),e&2){let t=g();r(),x(p(2,4,"accessories.control.mode")),r(3),C(t.targetStateValidValues.includes(0)?4:-1),r(),C(t.targetStateValidValues.includes(1)?5:-1),r(),C(t.targetStateValidValues.includes(2)?6:-1)}}function Pl(e,n){if(e&1){let t=z();a(0,"h6",16),c(1),d(2,"translate"),d(3,"convertTemp"),d(4,"number"),d(5,"uppercase"),d(6,"convertTemp"),d(7,"number"),d(8,"uppercase"),s(),a(9,"nouislider",17),te("ngModelChange",function(i){O(t);let l=g(2);return ee(l.autoTemp,i)||(l.autoTemp=i),N(i)}),b("ngModelChange",function(){O(t);let i=g(2);return N(i.onAutoTemperatureStateChange())}),s()}if(e&2){let t=g(2);r(),pi(" ",p(2,9,"accessories.control.target_auto"),": ",ve(4,13,p(3,11,t.autoTemp[0]),"1.0-1"),"\xB0",p(5,16,t.$settings.env.temperatureUnits)," - ",ve(7,20,p(6,18,t.autoTemp[1]),"1.0-1"),"\xB0",p(8,23,t.$settings.env.temperatureUnits)," "),r(8),m("min",t.HeatingThresholdTemperature.minValue)("max",t.CoolingThresholdTemperature.maxValue)("step",t.CoolingThresholdTemperature.minStep),J("ngModel",t.autoTemp)}}function Al(e,n){if(e&1){let t=z();a(0,"h6",13),c(1),d(2,"translate"),d(3,"convertTemp"),d(4,"number"),d(5,"uppercase"),s(),a(6,"nouislider",17),te("ngModelChange",function(i){O(t);let l=g(2);return ee(l.targetHeatingTemp,i)||(l.targetHeatingTemp=i),N(i)}),b("ngModelChange",function(){O(t);let i=g(2);return N(i.onTemperatureStateChange())}),s()}if(e&2){let t=g(2);r(),et(" ",p(2,7,"accessories.control.target_auto"),": ",ve(4,11,p(3,9,t.targetHeatingTemp),"1.0-1"),"\xB0",p(5,14,t.$settings.env.temperatureUnits)," "),r(5),m("min",t.HeatingThresholdTemperature.minValue)("max",t.HeatingThresholdTemperature.maxValue)("step",t.HeatingThresholdTemperature.minStep),J("ngModel",t.targetHeatingTemp)}}function Bl(e,n){if(e&1){let t=z();a(0,"h6",13),c(1),d(2,"translate"),d(3,"convertTemp"),d(4,"number"),d(5,"uppercase"),s(),a(6,"nouislider",17),te("ngModelChange",function(i){O(t);let l=g(2);return ee(l.targetCoolingTemp,i)||(l.targetCoolingTemp=i),N(i)}),b("ngModelChange",function(){O(t);let i=g(2);return N(i.onTemperatureStateChange())}),s()}if(e&2){let t=g(2);r(),et(" ",p(2,7,"accessories.control.target_auto"),": ",ve(4,11,p(3,9,t.targetCoolingTemp),"1.0-1"),"\xB0",p(5,14,t.$settings.env.temperatureUnits)," "),r(5),m("min",t.CoolingThresholdTemperature.minValue)("max",t.CoolingThresholdTemperature.maxValue)("step",t.CoolingThresholdTemperature.minStep),J("ngModel",t.targetCoolingTemp)}}function Hl(e,n){if(e&1&&h(0,Pl,10,25)(1,Al,7,16)(2,Bl,7,16),e&2){let t=g();C(t.HeatingThresholdTemperature&&t.CoolingThresholdTemperature?0:t.HeatingThresholdTemperature&&!t.CoolingThresholdTemperature?1:!t.HeatingThresholdTemperature&&t.CoolingThresholdTemperature?2:-1)}}var Qo=(()=>{class e{$activeModal=L(ce);$settings=L(Ye);service;targetState;targetMode;targetTemperatureChanged=new re;targetStateValidValues=[];CoolingThresholdTemperature;HeatingThresholdTemperature;targetCoolingTemp;targetHeatingTemp;autoTemp;constructor(){this.targetTemperatureChanged.pipe(ue(500)).subscribe(()=>{this.HeatingThresholdTemperature&&this.service.getCharacteristic("HeatingThresholdTemperature").setValue(this.targetHeatingTemp),this.CoolingThresholdTemperature&&this.service.getCharacteristic("CoolingThresholdTemperature").setValue(this.targetCoolingTemp)})}ngOnInit(){this.targetState=this.service.values.Active,this.targetMode=this.service.values.TargetHeaterCoolerState,this.CoolingThresholdTemperature=this.service.getCharacteristic("CoolingThresholdTemperature"),this.HeatingThresholdTemperature=this.service.getCharacteristic("HeatingThresholdTemperature"),this.targetStateValidValues=this.service.getCharacteristic("TargetHeaterCoolerState").validValues,this.loadTargetTemperature(),setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(o=>{o.style.background="linear-gradient(to right, rgb(80, 80, 179), rgb(173, 216, 230), rgb(255, 185, 120), rgb(139, 90, 60))"})},10)}loadTargetTemperature(){this.targetCoolingTemp=this.service.getCharacteristic("CoolingThresholdTemperature")?.value,this.targetHeatingTemp=this.service.getCharacteristic("HeatingThresholdTemperature")?.value,this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp]}setTargetState(t){this.targetState=t,this.service.getCharacteristic("Active").setValue(this.targetState),this.loadTargetTemperature()}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("TargetHeaterCoolerState").setValue(this.targetMode),this.loadTargetTemperature()}onTemperatureStateChange(){this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp],this.targetTemperatureChanged.next(void 0)}onAutoTemperatureStateChange(){this.targetHeatingTemp=this.autoTemp[0],this.targetCoolingTemp=this.autoTemp[1],this.targetTemperatureChanged.next(void 0)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-heatercooler-manage"]],inputs:{service:"service"},decls:28,vars:33,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"temperature-circle","temperature-circle-big","mb-4",3,"innerText","ngClass"],["role","group","aria-label","Heater Cooler State Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],["role","group","aria-label","Heater Cooler Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control"],[1,"mt-4","mb-1"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),d(4,"translate"),b("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4),f(6,"div",5),d(7,"convertTemp"),d(8,"number"),d(9,"uppercase"),a(10,"div",6)(11,"button",7),b("click",function(u){return i.setTargetState(0),u.target.blur()}),a(12,"div",8),f(13,"i",9),s(),c(14),d(15,"translate"),a(16,"div",10),f(17,"i",11),s()(),a(18,"button",7),b("click",function(u){return i.setTargetState(1),u.target.blur()}),a(19,"div",8),f(20,"i",9),s(),c(21),d(22,"translate"),a(23,"div",10),f(24,"i",11),s()()(),h(25,Dl,7,6),h(26,Hl,3,1),s(),f(27,"div",12),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",p(4,10,"form.button_close")),r(3),m("innerText",ve(8,14,p(7,12,i.service.values.CurrentTemperature),"1.0-1")+"\xB0"+p(9,17,i.$settings.env.temperatureUnits))("ngClass",Ue(23,kl,i.service.values.CurrentHeaterCoolerState===3&&i.service.values.Active===1,i.service.values.CurrentHeaterCoolerState===2&&i.service.values.Active===1,i.service.values.CurrentHeaterCoolerState<2&&i.service.values.Active===1)),r(7),m("ngClass",I(27,$t,i.targetState===0,i.targetState!==0)),r(),y(" ",p(15,19,"accessories.control.off")," "),r(6),m("ngClass",I(30,$t,i.targetState===1,i.targetState!==1)),r(),y(" ",p(22,21,"accessories.control.on")," "),r(4),C(i.targetStateValidValues.length?25:-1),r(),C(i.targetStateValidValues.includes(0)?26:-1))},dependencies:[H,le,ge,he,xe,Le,D,$e,at],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:14px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.temperature-circle-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px}}.temperature-circle-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:80px;font-size:22px}@keyframes _ngcontent-%COMP%_animate-cooling{0%{background-position:0 100%}to{background-position:0 0}}@keyframes _ngcontent-%COMP%_animate-heating{0%{background-position:0 0}to{background-position:0 100%}}.cooling[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-cooling 5s linear infinite;background-image:linear-gradient(0deg,#1e8bbd,#66d6d6,#1e8bbd,#66d6d6);background-size:100% 300%;color:#fff}.heating[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-heating 5s linear infinite;background-image:linear-gradient(0deg,#cc5e00,#e69533,#cc5e00,#e69533);background-size:100% 300%;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var Ll=e=>({"switch-on":e}),Ol=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t});function Nl(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.off")," ")}function Fl(e,n){if(e&1&&(f(0,"i",5),c(1),d(2,"convertTemp"),d(3,"number"),d(4,"uppercase"),d(5,"convertTemp"),d(6,"number"),d(7,"uppercase")),e&2){let t=g(2);r(),Tn(" ",ve(3,6,p(2,4,t.service.values.HeatingThresholdTemperature),"1.0-1"),"\xB0",p(4,9,t.$settings.env.temperatureUnits)," - ",ve(6,13,p(5,11,t.service.values.CoolingThresholdTemperature),"1.0-1"),"\xB0",p(7,16,t.$settings.env.temperatureUnits)," ")}}function Rl(e,n){if(e&1&&(f(0,"i",5),c(1),d(2,"convertTemp"),d(3,"number"),d(4,"uppercase")),e&2){let t=g(2);r(),X(" ",ve(3,4,p(2,2,t.service.values.HeatingThresholdTemperature),"1.0-1"),"\xB0",p(4,7,t.$settings.env.temperatureUnits)," ")}}function Gl(e,n){if(e&1&&(f(0,"i",5),c(1),d(2,"convertTemp"),d(3,"number"),d(4,"uppercase")),e&2){let t=g(2);r(),X(" ",ve(3,4,p(2,2,t.service.values.CoolingThresholdTemperature),"1.0-1"),"\xB0",p(4,7,t.$settings.env.temperatureUnits)," ")}}function jl(e,n){if(e&1&&h(0,Fl,8,18)(1,Rl,5,9)(2,Gl,5,9),e&2){let t=g();C(t.hasHeating&&t.hasCooling?0:t.hasHeating&&!t.hasCooling?1:!t.hasHeating&&t.hasCooling?2:-1)}}function Wl(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.heat")," ")}function Ul(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.cool")," ")}function $l(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.on")," ")}var Jo=(()=>{class e{$modal=L(ae);$settings=L(Ye);service;model=1;hasHeating=!1;hasCooling=!1;constructor(){}ngOnInit(){this.hasHeating=!!this.service.getCharacteristic("HeatingThresholdTemperature"),this.hasCooling=!!this.service.getCharacteristic("CoolingThresholdTemperature")}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1)}onLongClick(){let t=this.$modal.open(Qo,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-heatercooler"]],inputs:{service:"service"},decls:14,vars:18,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"temperature-circle","temperature-circle-collapse",3,"innerText","ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"fa","fas","fa-bullseye"]],template:function(o,i){o&1&&(a(0,"div",0),b("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),d(3,"convertTemp"),d(4,"number"),d(5,"uppercase"),a(6,"div",3),c(7),s(),a(8,"div",4),h(9,Nl,2,3)(10,jl,3,1)(11,Wl,2,3)(12,Ul,2,3)(13,$l,2,3),s()()()),o&2&&(m("ngClass",oe(12,Ll,i.service.values.Active===1)),r(2),m("innerText",ve(4,7,p(3,5,i.service.values.CurrentTemperature),"1.0-1")+"\xB0"+p(5,10,i.$settings.env.temperatureUnits))("ngClass",Ue(14,Ol,i.service.values.CurrentHeaterCoolerState===3&&i.service.values.Active===1,i.service.values.CurrentHeaterCoolerState===2&&i.service.values.Active===1,i.service.values.CurrentHeaterCoolerState<2&&i.service.values.Active===1)),r(5),x(i.service.customName||i.service.serviceName),r(2),C(i.service.values.Active===0?9:i.service.values.TargetHeaterCoolerState===0&&(i.hasHeating||i.hasCooling)?10:i.service.values.TargetHeaterCoolerState===1?11:i.service.values.TargetHeaterCoolerState===2?12:13))},dependencies:[ie,H,Le,D,$e,at],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:14px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.temperature-circle-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px}}.temperature-circle-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:80px;font-size:22px}@keyframes _ngcontent-%COMP%_animate-cooling{0%{background-position:0 100%}to{background-position:0 0}}@keyframes _ngcontent-%COMP%_animate-heating{0%{background-position:0 0}to{background-position:0 100%}}.cooling[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-cooling 5s linear infinite;background-image:linear-gradient(0deg,#1e8bbd,#66d6d6,#1e8bbd,#66d6d6);background-size:100% 300%;color:#fff}.heating[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-heating 5s linear infinite;background-image:linear-gradient(0deg,#cc5e00,#e69533,#cc5e00,#e69533);background-size:100% 300%;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var zl=(e,n,t)=>({dehumidifying:e,humidifying:n,"no-current-state":t}),zt=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function ql(e,n){if(e&1){let t=z();a(0,"button",8),b("click",function(i){return O(t),g(2).setTargetMode(0),N(i.target.blur())}),a(1,"div",9),f(2,"i",10),s(),c(3),d(4,"translate"),a(5,"div",11),f(6,"i",12),s()()}if(e&2){let t=g(2);r(2),m("ngClass",I(4,zt,t.targetMode===0,t.targetMode!==0)),r(),y(" ",p(4,2,"accessories.control.auto")," ")}}function Kl(e,n){if(e&1){let t=z();a(0,"button",8),b("click",function(i){return O(t),g(2).setTargetMode(1),N(i.target.blur())}),a(1,"div",9),f(2,"i",10),s(),c(3),d(4,"translate"),a(5,"div",11),f(6,"i",12),s()()}if(e&2){let t=g(2);r(2),m("ngClass",I(4,zt,t.targetMode===1,t.targetMode!==1)),r(),y(" ",p(4,2,"accessories.control.humidify")," ")}}function Xl(e,n){if(e&1){let t=z();a(0,"button",8),b("click",function(i){return O(t),g(2).setTargetMode(2),N(i.target.blur())}),a(1,"div",9),f(2,"i",10),s(),c(3),d(4,"translate"),a(5,"div",11),f(6,"i",12),s()()}if(e&2){let t=g(2);r(2),m("ngClass",I(4,zt,t.targetMode===2,t.targetMode!==2)),r(),y(" ",p(4,2,"accessories.control.dehumidify")," ")}}function Yl(e,n){if(e&1&&(a(0,"h6",14),c(1),d(2,"translate"),s(),a(3,"div",15),h(4,ql,7,7,"button",16),h(5,Kl,7,7,"button",16),h(6,Xl,7,7,"button",16),s()),e&2){let t=g();r(),x(p(2,4,"accessories.control.mode")),r(3),C(t.targetStateValidValues.includes(0)?4:-1),r(),C(t.targetStateValidValues.includes(1)?5:-1),r(),C(t.targetStateValidValues.includes(2)?6:-1)}}function Zl(e,n){if(e&1){let t=z();a(0,"h6",14),c(1),d(2,"translate"),s(),a(3,"nouislider",17),te("ngModelChange",function(i){O(t);let l=g(2);return ee(l.autoHumidity,i)||(l.autoHumidity=i),N(i)}),b("ngModelChange",function(){O(t);let i=g(2);return N(i.onAutoHumidityStateChange())}),s()}if(e&2){let t=g(2);r(),et(" ",p(2,7,"accessories.control.target_auto"),": ",t.autoHumidity[0],"% - ",t.autoHumidity[1],"% "),r(2),m("min",t.RelativeHumidityHumidifierThreshold.minValue)("max",t.RelativeHumidityDehumidifierThreshold.maxValue)("step",t.RelativeHumidityDehumidifierThreshold.minStep),J("ngModel",t.autoHumidity)}}function Ql(e,n){if(e&1){let t=z();a(0,"h6",14),c(1),d(2,"translate"),s(),a(3,"nouislider",17),te("ngModelChange",function(i){O(t);let l=g(2);return ee(l.targetHumidifierHumidity,i)||(l.targetHumidifierHumidity=i),N(i)}),b("ngModelChange",function(){O(t);let i=g(2);return N(i.onHumidityStateChange())}),s()}if(e&2){let t=g(2);r(),X("",p(2,6,"accessories.control.target_auto"),": ",t.targetHumidifierHumidity,"%"),r(2),m("min",t.RelativeHumidityHumidifierThreshold.minValue)("max",t.RelativeHumidityHumidifierThreshold.maxValue)("step",t.RelativeHumidityHumidifierThreshold.minStep),J("ngModel",t.targetHumidifierHumidity)}}function Jl(e,n){if(e&1){let t=z();a(0,"h6",14),c(1),d(2,"translate"),s(),a(3,"nouislider",17),te("ngModelChange",function(i){O(t);let l=g(2);return ee(l.targetDehumidifierHumidity,i)||(l.targetDehumidifierHumidity=i),N(i)}),b("ngModelChange",function(){O(t);let i=g(2);return N(i.onHumidityStateChange())}),s()}if(e&2){let t=g(2);r(),X("",p(2,6,"accessories.control.target_auto"),": ",t.targetDehumidifierHumidity,"%"),r(2),m("min",t.RelativeHumidityDehumidifierThreshold.minValue)("max",t.RelativeHumidityDehumidifierThreshold.maxValue)("step",t.RelativeHumidityDehumidifierThreshold.minStep),J("ngModel",t.targetDehumidifierHumidity)}}function ec(e,n){if(e&1&&h(0,Zl,4,9)(1,Ql,4,8)(2,Jl,4,8),e&2){let t=g();C(t.RelativeHumidityHumidifierThreshold&&t.RelativeHumidityDehumidifierThreshold?0:t.RelativeHumidityHumidifierThreshold&&!t.RelativeHumidityDehumidifierThreshold?1:!t.RelativeHumidityHumidifierThreshold&&t.RelativeHumidityDehumidifierThreshold?2:-1)}}var er=(()=>{class e{$activeModal=L(ce);service;targetState;targetMode;targetHumidityChanged=new re;targetStateValidValues=[];RelativeHumidityDehumidifierThreshold;RelativeHumidityHumidifierThreshold;targetDehumidifierHumidity;targetHumidifierHumidity;autoHumidity;constructor(){this.targetHumidityChanged.pipe(ue(500)).subscribe(()=>{this.RelativeHumidityHumidifierThreshold&&this.service.getCharacteristic("RelativeHumidityHumidifierThreshold").setValue(this.targetHumidifierHumidity),this.RelativeHumidityDehumidifierThreshold&&this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold").setValue(this.targetDehumidifierHumidity)})}ngOnInit(){this.targetState=this.service.values.Active,this.targetMode=this.service.values.TargetHumidifierDehumidifierState,this.RelativeHumidityDehumidifierThreshold=this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold"),this.RelativeHumidityHumidifierThreshold=this.service.getCharacteristic("RelativeHumidityHumidifierThreshold"),this.targetStateValidValues=this.service.getCharacteristic("TargetHumidifierDehumidifierState").validValues,this.loadTargetHumidity(),setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(o=>{o.style.background="linear-gradient(to left, rgb(80, 80, 179), rgb(173, 216, 230), rgb(255, 185, 120), rgb(139, 90, 60))"})},10)}loadTargetHumidity(){this.targetDehumidifierHumidity=this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold")?.value,this.targetHumidifierHumidity=this.service.getCharacteristic("RelativeHumidityHumidifierThreshold")?.value,this.autoHumidity=[this.targetHumidifierHumidity,this.targetDehumidifierHumidity]}setTargetState(t){this.targetState=t,this.service.getCharacteristic("Active").setValue(this.targetState),this.loadTargetHumidity()}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("TargetHumidifierDehumidifierState").setValue(this.targetMode),this.loadTargetHumidity()}onHumidityStateChange(){this.autoHumidity=[this.targetHumidifierHumidity,this.targetDehumidifierHumidity],this.targetHumidityChanged.next(void 0)}onAutoHumidityStateChange(){this.targetHumidifierHumidity=this.autoHumidity[0],this.targetDehumidifierHumidity=this.autoHumidity[1],this.targetHumidityChanged.next(void 0)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-humidifierdehumidifier-manage"]],inputs:{service:"service"},decls:26,vars:26,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"humidity-drop","humidity-drop-big","mb-3",3,"ngClass"],[1,"humidity-drop-text",3,"innerText"],["role","group","aria-label","Humidifier Dehumidifier State Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],["role","group","aria-label","Humidifier Dehumidifier Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),d(4,"translate"),b("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5),f(7,"div",6),s(),a(8,"div",7)(9,"button",8),b("click",function(u){return i.setTargetState(0),u.target.blur()}),a(10,"div",9),f(11,"i",10),s(),c(12),d(13,"translate"),a(14,"div",11),f(15,"i",12),s()(),a(16,"button",8),b("click",function(u){return i.setTargetState(1),u.target.blur()}),a(17,"div",9),f(18,"i",10),s(),c(19),d(20,"translate"),a(21,"div",11),f(22,"i",12),s()()(),h(23,Yl,7,6),h(24,ec,3,1),s(),f(25,"div",13),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",p(4,10,"form.button_close")),r(3),m("ngClass",Ue(16,zl,i.service.values.CurrentHumidifierDehumidifierState===3&&i.service.values.Active===1,i.service.values.CurrentHumidifierDehumidifierState===2&&i.service.values.Active===1,i.service.values.CurrentHumidifierDehumidifierState===1&&i.service.values.Active===1)),r(),m("innerText",i.service.values.CurrentRelativeHumidity+"%"),r(4),m("ngClass",I(20,zt,i.targetState===0,i.targetState!==0)),r(),y(" ",p(13,12,"accessories.control.off")," "),r(6),m("ngClass",I(23,zt,i.targetState===1,i.targetState!==1)),r(),y(" ",p(20,14,"accessories.control.on")," "),r(4),C(i.targetStateValidValues.length?23:-1),r(),C(i.targetStateValidValues.includes(0)?24:-1))},dependencies:[H,le,ge,he,xe,D],styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:42px;border-radius:5% 55% 70%;font-size:14px;text-align:center;margin-bottom:6px;margin-top:9px;background-color:gray;color:#d3d3d3;transform:rotate(45deg)}@media (max-width: 575px){.humidity-drop-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:28px;font-size:10px;margin-bottom:7px;margin-top:5px}.humidity-drop-collapse[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-2px}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg);margin-left:-5px}.humidity-drop-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:70px;font-size:22px}.humidity-drop-big[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-8px}@keyframes _ngcontent-%COMP%_animate-humidifying{0%{background-position:0 100%}to{background-position:0 0}}@keyframes _ngcontent-%COMP%_animate-dehumidifying{0%{background-position:0 0}to{background-position:0 100%}}.humidifying[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-dehumidifying 5s linear infinite;background-image:linear-gradient(0deg,#1e8bbd,#66d6d6,#1e8bbd,#66d6d6);background-size:100% 300%;color:#fff}.dehumidifying[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-humidifying 5s linear infinite;background-image:linear-gradient(0deg,#cc5e00,#e69533,#cc5e00,#e69533);background-size:100% 300%;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var tc=e=>({"switch-on":e}),ic=(e,n,t)=>({dehumidifying:e,humidifying:n,"no-current-state":t});function nc(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.off")," ")}function oc(e,n){if(e&1&&(f(0,"i",6),c(1)),e&2){let t=g(2);r(),X(" ",t.service.values.RelativeHumidityHumidifierThreshold,"% - ",t.service.values.RelativeHumidityDehumidifierThreshold,"% ")}}function rc(e,n){if(e&1&&(f(0,"i",6),c(1)),e&2){let t=g(2);r(),y(" ",t.service.values.RelativeHumidityHumidifierThreshold,"% ")}}function ac(e,n){if(e&1&&(f(0,"i",6),c(1)),e&2){let t=g(2);r(),y(" ",t.service.values.RelativeHumidityDehumidifierThreshold,"% ")}}function sc(e,n){if(e&1&&h(0,oc,2,2)(1,rc,2,1)(2,ac,2,1),e&2){let t=g();C(t.hasHumidifier&&t.hasDehumidifier?0:t.hasHumidifier&&!t.hasDehumidifier?1:!t.hasHumidifier&&t.hasDehumidifier?2:-1)}}function lc(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.humidify")," ")}function cc(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.dehumidify")," ")}function dc(e,n){e&1&&(c(0),d(1,"translate")),e&2&&y(" ",p(1,1,"accessories.control.on")," ")}var tr=(()=>{class e{$modal=L(ae);service;model=1;hasHumidifier=!1;hasDehumidifier=!1;constructor(){}ngOnInit(){this.hasHumidifier=!!this.service.getCharacteristic("RelativeHumidityHumidifierThreshold"),this.hasDehumidifier=!!this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold")}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1)}onLongClick(){let t=this.$modal.open(er,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-humidifierdehumidifier"]],inputs:{service:"service"},decls:12,vars:11,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"humidity-drop","humidity-drop-collapse",3,"ngClass"],[1,"humidity-drop-text",3,"innerText"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"fa","fas","fa-bullseye"]],template:function(o,i){o&1&&(a(0,"div",0),b("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),f(3,"div",3),s(),a(4,"div",4),c(5),s(),a(6,"div",5),h(7,nc,2,3)(8,sc,3,1)(9,lc,2,3)(10,cc,2,3)(11,dc,2,3),s()()()),o&2&&(m("ngClass",oe(5,tc,i.service.values.Active===1)),r(2),m("ngClass",Ue(7,ic,i.service.values.CurrentHumidifierDehumidifierState===3&&i.service.values.Active===1,i.service.values.CurrentHumidifierDehumidifierState===2&&i.service.values.Active===1,i.service.values.CurrentHumidifierDehumidifierState===1&&i.service.values.Active===1)),r(),m("innerText",i.service.values.CurrentRelativeHumidity+"%"),r(2),x(i.service.customName||i.service.serviceName),r(2),C(i.service.values.Active===0?7:i.service.values.TargetHumidifierDehumidifierState===0&&(i.hasHumidifier||i.hasDehumidifier)?8:i.service.values.TargetHumidifierDehumidifierState===1?9:i.service.values.TargetHumidifierDehumidifierState===2?10:11))},dependencies:[ie,H,D],styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:42px;border-radius:5% 55% 70%;font-size:14px;text-align:center;margin-bottom:6px;margin-top:9px;background-color:gray;color:#d3d3d3;transform:rotate(45deg)}@media (max-width: 575px){.humidity-drop-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:28px;font-size:10px;margin-bottom:7px;margin-top:5px}.humidity-drop-collapse[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-2px}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg);margin-left:-5px}.humidity-drop-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:70px;font-size:22px}.humidity-drop-big[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-8px}@keyframes _ngcontent-%COMP%_animate-humidifying{0%{background-position:0 100%}to{background-position:0 0}}@keyframes _ngcontent-%COMP%_animate-dehumidifying{0%{background-position:0 0}to{background-position:0 100%}}.humidifying[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-dehumidifying 5s linear infinite;background-image:linear-gradient(0deg,#1e8bbd,#66d6d6,#1e8bbd,#66d6d6);background-size:100% 300%;color:#fff}.dehumidifying[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-humidifying 5s linear infinite;background-image:linear-gradient(0deg,#cc5e00,#e69533,#cc5e00,#e69533);background-size:100% 300%;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var ir=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-humiditysensor"]],inputs:{service:"service"},decls:6,vars:2,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"humidity-drop","humidity-drop-collapse"],[1,"humidity-drop-text",3,"innerText"],[1,"accessory-label","mt-auto"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1)(2,"div",2),f(3,"div",3),s(),a(4,"div",4),c(5),s()()()),o&2&&(r(3),m("innerText",i.service.values.CurrentRelativeHumidity+"%"),r(2),x(i.service.customName||i.service.serviceName))},styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:42px;border-radius:5% 55% 70%;font-size:14px;text-align:center;margin-bottom:6px;margin-top:9px;background-color:gray;color:#d3d3d3;transform:rotate(45deg)}@media (max-width: 575px){.humidity-drop-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:28px;font-size:10px;margin-bottom:7px;margin-top:5px}.humidity-drop-collapse[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-2px}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg);margin-left:-5px}"]})}return e})();var pc=(e,n)=>({"switch-on":e,"switch-off":n});function mc(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.running")))}function uc(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.off")))}var nr=(()=>{class e{service;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-irrigationsystem"]],inputs:{service:"service"},decls:7,vars:9,consts:[["appLongclick","",1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),h(5,mc,3,3,"div",4),h(6,uc,3,3,"div",4),s()()),o&2&&(m("ngClass",I(6,pc,i.service.values.InUse,!i.service.values.InUse)),r(2),m("inlineSVG","/assets/hap-icons/irrigation-system.svg"),V("aria-label","Irrigation Valve"),r(2),y(" ",i.service.customName||i.service.values.ConfiguredName||i.service.serviceName," "),r(),C(i.service.values.InUse?5:-1),r(),C(i.service.values.InUse?-1:6))},dependencies:[ie,H,K,q,D],styles:[".switch-off svg .valve_off_hidden{display:none} .switch-off svg .valve_off_grey{fill:gray}"]})}return e})();var vc=(e,n)=>({"switch-on":e,"switch-off":n});function fc(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.detected")))}function gc(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),x(p(2,1,"accessories.control.not_detected")))}var or=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=w({type:e,selectors:[["app-leaksensor"]],inputs:{service:"service"},decls:7,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),h(5,fc,3,3,"div",4),h(6,gc,3,3,"div",5),s()()),o&2&&(m("ngClass",I(6,vc,i.service.values.LeakDetected,!i.service.values.LeakDetected)),r(2),m("inlineSVG","/assets/hap-icons/leaksensor.svg"),V("aria-label","Leak Sensor"),r(2),x(i.service.customName||i.service.serviceName),r(),C(i.service.values.LeakDetected?5:-1),r(),C(i.service.values.LeakDetected?-1:6))},dependencies:[H,K,q,D],styles:[".switch-off svg .leak_sensor_droplet{fill:#e0e0e0} .switch-off svg .leak_sensor_trigger_lines{display:none} .switch-off svg .leak_sensor_background{fill:gray} body.dark-mode .switch-off svg .leak_sensor_droplet{fill:#2b2b2b}"]})}return e})();var rr=(e,n)=>({"fa-check-circle":e,"fa-blank":n}),hc=(e,n)=>({"off-text":e,"on-text":n}),ar=(e,n)=>({"mb-1":e,"":n});function Cc(e,n){if(e&1&&(a(0,"div",11)(1,"div",13)(2,"div",7),f(3,"i",14),s(),c(4),d(5,"translate"),a(6,"div",9),f(7,"i",10),s()()()),e&2){let t=g();r(3),m("ngClass",I(5,hc,!t.isAdaptiveLightingEnabled,t.isAdaptiveLightingEnabled)),r(),X(" ",p(5,3,"accessories.control.adaptive_lighting"),": ",t.isAdaptiveLightingEnabled?"ON":"OFF"," ")}}function _c(e,n){if(e&1){let t=z();a(0,"h6",15),c(1),d(2,"translate"),s(),a(3,"nouislider",16),te("ngModelChange",function(i){O(t);let l=g();return ee(l.targetBrightness.value,i)||(l.targetBrightness.value=i),N(i)}),b("ngModelChange",function(){O(t);let i=g();return N(i.onBrightnessStateChange())}),s()}if(e&2){let t=g();r(),X("",p(2,6,"accessories.control.brightness"),": ",t.targetBrightness.value,"%"),r(2),m("min",t.targetBrightness.min)("max",t.targetBrightness.max)("step",t.targetBrightness.step),J("ngModel",t.targetBrightness.value)}}function xc(e,n){e&1&&(a(0,"div",18)(1,"span",19),c(2),d(3,"translate"),s()()),e&2&&(r(2),x(p(3,1,"accessories.control.adaptive_lighting_note")))}function Sc(e,n){if(e&1){let t=z();a(0,"h6",15),c(1),d(2,"translate"),s(),a(3,"nouislider",17),te("ngModelChange",function(i){O(t);let l=g();return ee(l.targetHue.value,i)||(l.targetHue.value=i),N(i)}),b("ngModelChange",function(){O(t);let i=g();return N(i.onHueStateChange())}),s(),h(4,xc,4,3,"div",18)}if(e&2){let t=g();r(),X("",p(2,8,"accessories.control.hue"),": ",t.targetHue.value,"\xB0"),r(2),m("min",0)("max",360)("step",1),J("ngModel",t.targetHue.value),m("ngClass",I(10,ar,t.isAdaptiveLightingEnabled,!t.isAdaptiveLightingEnabled)),r(),C(t.isAdaptiveLightingEnabled?4:-1)}}function bc(e,n){e&1&&(a(0,"div",18)(1,"span",19),c(2),d(3,"translate"),s()()),e&2&&(r(2),x(p(3,1,"accessories.control.adaptive_lighting_note")))}function yc(e,n){if(e&1){let t=z();a(0,"h6",15),c(1),d(2,"translate"),s(),a(3,"nouislider",17),te("ngModelChange",function(i){O(t);let l=g();return ee(l.targetColorTemperature.value,i)||(l.targetColorTemperature.value=i),N(i)}),b("ngModelChange",function(){O(t);let i=g();return N(i.onColorTemperatureStateChange())}),s(),h(4,bc,4,3,"div",18)}if(e&2){let t=g();r(),X("",p(2,8,"accessories.control.color_temperature"),": ",t.targetColorTemperature.value,"K"),r(2),m("min",t.targetColorTemperature.min)("max",t.targetColorTemperature.max)("step",t.targetColorTemperature.step),J("ngModel",t.targetColorTemperature.value),m("ngClass",I(10,ar,t.isAdaptiveLightingEnabled,!t.isAdaptiveLightingEnabled)),r(),C(t.isAdaptiveLightingEnabled?4:-1)}}var sr=(()=>{class e{$activeModal=L(ce);service;isAdaptiveLightingEnabled$;targetMode;targetBrightness;targetBrightnessChanged=new re;targetHue;targetHueChanged=new re;targetColorTemperature;targetColorTemperatureChanged=new re;hasAdaptiveLighting=!1;isAdaptiveLightingEnabled=!1;sliderIndex=0;constructor(){this.targetBrightnessChanged.pipe(ue(500)).subscribe(()=>{this.service.getCharacteristic("Brightness").setValue(this.targetBrightness.value),this.targetBrightness.value&&!this.service.values.On?(this.targetMode=!0,this.service.getCharacteristic("On").setValue(this.targetMode)):!this.targetBrightness.value&&this.service.values.On&&(this.targetMode=!1,this.service.getCharacteristic("On").setValue(this.targetMode))}),this.targetHueChanged.pipe(ue(500)).subscribe(()=>{this.service.getCharacteristic("Hue").setValue(this.targetHue.value),this.service.values.Saturation!==100&&this.service.getCharacteristic("Saturation").setValue(100)}),this.targetColorTemperatureChanged.pipe(ue(500)).subscribe(()=>{this.service.getCharacteristic("ColorTemperature").setValue(this.kelvinToMired(this.targetColorTemperature.value))})}ngOnInit(){this.targetMode=this.service.values.On,this.loadTargetBrightness(),this.loadTargetHue(),this.loadTargetColorTemperature()}loadTargetBrightness(){let t=this.service.getCharacteristic("Brightness");t&&(this.targetBrightness={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep},setTimeout(()=>{let o=document.querySelectorAll(".noUi-target")[this.sliderIndex];o&&(o.style.background="linear-gradient(to right, #242424, #ffd6aa)",this.sliderIndex+=1)},10))}loadTargetHue(){this.service.getCharacteristic("Hue")&&(this.targetHue={value:this.service.getCharacteristic("Hue").value},setTimeout(()=>{let o=document.querySelectorAll(".noUi-target")[this.sliderIndex];o&&(o.style.background=`linear-gradient(to right,
2
2
  hsl(0, 100%, 50%),
3
3
  hsl(60, 100%, 50%),
4
4
  hsl(120, 100%, 50%),