<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">!function(e,t){"object"==typeof exports&amp;&amp;"object"==typeof module?module.exports=t():"function"==typeof define&amp;&amp;define.amd?define([],t):"object"==typeof exports?exports.Administration=t():e.Administration=t()}(this,(function(){return(this.webpackJsonpAdministration=this.webpackJsonpAdministration||[]).push([[5],{1:function(e,t,r){"use strict";var n=r(41),o=r(75),i=r(624),a=r(1655),s=r(1626),c=r(1627),l=r(831),p=r(1663),u=r(320),d=r(781),m=r(453),f=r.n(m),b=r(332),h=r.n(b),y=r(454),g=r.n(y),v=r(456),_=r.n(v),O=r(335),j=r.n(O),x=r(671),w=r.n(x),k=r(672),S=r.n(k),P=r(458),T=r.n(P),C=r(391),I=r.n(C),A=r(392),D=r.n(A),E=r(673),$=r.n(E),N=r(674),L=r.n(N),R=r(675),q=r.n(R),M=r(676),F=r.n(M),U=r(459),z=r.n(U),B=r(677),H=r.n(B),V=r(678),W=r.n(V),G=r(1657),K=r(681),Y=r.n(K),J=r(49),Q=r(2),X=r.n(Q),Z=r(832),ee=r(7),te=r(1667),re=r(460),ne=r(0);function oe(){return(oe=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function ie(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return ae(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ae(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ae(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var se,ce=J.u.FileCopyIcon,le=J.u.ShareIcon,pe=Object(n.a)()((function(){return{copyIcon:{color:"#232323"}}})),ue=function(e){var t=e.value,r=e.buttonProps,n=e.callback,o=e.isShareButton,i=void 0!==o&amp;&amp;o,a=e.childrenElement,s=Object(ee.b)().t,c=pe().classes,l=ie(Object(Q.useState)(!1),2),p=l[0],u=l[1],d=p&amp;&amp;s?s("copied"):"";return Object(ne.c)(te.a,{title:d,placement:"top",open:p},Object(ne.c)("div",null,Object(ne.c)(Z.CopyToClipboard,{text:t,onCopy:function(){clearTimeout(se),u(!0),se=setTimeout((function(){u(!1)}),700),n&amp;&amp;n()}},a||Object(ne.c)(re.a,oe({size:"small"},r),i?Object(ne.c)(le,{fontSize:"small"}):Object(ne.c)(ce,{className:null!=r&amp;&amp;r.color?"":c.copyIcon,fontSize:"small"})))))},de=r(61),me=Object(n.a)()((function(e){return{title:{display:"flex",alignItems:"center",cursor:"pointer"},icons:{position:"relative",height:"30px",marginLeft:e.spacing(1),"&amp; &gt; svg":{position:"absolute",color:"#86878a",'&amp;[data-testid="ArrowDropUpIcon"]':{top:0},'&amp;[data-testid="ArrowDropDownIcon"]':{bottom:0}}},titleSort:{color:e.palette.primary.main,"&amp; svg":{color:e.palette.primary.main}}}})),fe=J.u.ArrowDropDownIcon,be=J.u.ArrowDropUpIcon,he=function(e){var t=e.sortKey,r=e.label,n=e.handlePaginationChange,o=e.sort,i=Object(ee.b)().t,a=me(),s=a.classes,c=a.cx,l=function(e){n({sort:e})};return o===t?Object(ne.c)(de.a,{variant:"subtitle2",className:c(s.title,s.titleSort),onClick:function(){n({sort:""})}},i(r),Object(ne.c)("div",{className:s.icons},Object(ne.c)(be,{fontSize:"small"}))):o==="-".concat(t)?Object(ne.c)(de.a,{variant:"subtitle2",className:c(s.title,s.titleSort),onClick:function(){return l(t)}},i(r),Object(ne.c)("div",{className:s.icons},Object(ne.c)(fe,{fontSize:"small"}))):Object(ne.c)(de.a,{variant:"subtitle2",className:s.title,onClick:function(){return l("-".concat(t))}},i(r),Object(ne.c)("div",{className:s.icons},Object(ne.c)(be,{fontSize:"small"}),Object(ne.c)(fe,{fontSize:"small"})))},ye=r(1658),ge=r(1651),ve=r(322),_e=function(e){var t=e.title,r=Object(ee.b)().t;return"string"==typeof t?Object(ne.c)(ve.a,{variant:"h6",component:"span",color:"textSecondary"},r(t)):t},Oe=(r(682),function(e){var t=e.settings,r=e.index,n=e.cell;return Object(ne.c)(X.a.Fragment,{key:r},Object(ne.c)(ge.a,{lgUp:!0},Object(ne.c)(ye.a,{item:!0,xs:3,sm:2,md:2,className:"uik-table-cell uik-table-header-cell"},Object(ne.c)(_e,{title:t[r].title}))),Object(ne.c)(ye.a,{item:!0,xs:9,sm:10,md:10,lg:t[r].lg||1,className:"uik-table-cell"},n))}),je=function(e){var t=e.rows,r=e.body,n=e.settings;return Object(ne.c)(ye.a,{container:!0},Object(ne.c)(ge.a,{lgDown:!0},Object(ne.c)(ye.a,{item:!0,container:!0,xs:12,className:"uik-table-block uik-header-block"},n.map((function(e,t){return Object(ne.c)(ye.a,{item:!0,lg:e.lg||1,className:"uik-table-cell uik-table-header-cell",key:t},Object(ne.c)(_e,{title:e.title}))})))),r||t&amp;&amp;t.map((function(e,t){return Object(ne.c)(ye.a,{item:!0,container:!0,xs:12,className:"uik-table-block",key:t,"data-testid":"table-block-".concat(t)},e.map((function(e,t){return Object(ne.c)(Oe,{key:t,index:t,settings:n,cell:e})})))})))},xe=r(1646),we=r(489),ke=r.n(we),Se=r(337),Pe=r.n(Se),Te=r(125),Ce=(r(1183),r(51)),Ie=["estimatedCount","page","limit","nextCursor","prevCursor","handlePaginationChange","handlePageChangeCb"];function Ae(){return(Ae=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function De(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var Ee=function(e){var t=e.estimatedCount,r=e.page,n=e.limit,o=e.nextCursor,i=e.prevCursor,a=e.handlePaginationChange,s=e.handlePageChangeCb,c=De(e,Ie);return t&amp;&amp;n&amp;&amp;null!=r?Object(ne.c)(xe.a,Ae({component:"div",count:t,page:r-1,onPageChange:function(e,t){if(e&amp;&amp;e.stopPropagation(),null!=r){var c="";r-1&lt;t?c=o:r-1&gt;t&amp;&amp;(c=i),a({page:Number(t)+1,cursor:c,limit:n}),s&amp;&amp;s()}},rowsPerPage:Math.abs(n),onRowsPerPageChange:function(e){e.stopPropagation(),a({page:1,cursor:"",limit:parseInt(e.target.value,10)})},rowsPerPageOptions:Te.c,className:"pagination-root",nextIconButtonProps:{"data-testid":"pagination-next"}},c)):Object(ne.c)(Ce.a,null,Object(ne.c)(re.a,{disabled:!i,onClick:function(){return a({cursor:i})},size:"large"},Object(ne.c)(ke.a,null)),Object(ne.c)(re.a,{disabled:!o,onClick:function(){return a({cursor:o})},size:"large"},Object(ne.c)(Pe.a,null)))},$e=r(143),Ne=r(877),Le=r(123),Re=r(66),qe=r(77),Me=r(4),Fe=r(72),Ue=r(497);function ze(e){return(ze="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}var Be=["onChange","path","entity","index","data","templateData","showFullHelperInf","validation","validateOnMount","inputProps","InputProps","dimension","isCalculatedValue","warning","value","getValueFn","error","disabled","readOnly","force","docDescription","className","debounceTime"];function He(){return(He=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function Ve(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function We(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ve(Object(r),!0).forEach((function(t){Ge(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ve(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Ge(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==ze(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==ze(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ze(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ke(e){return function(e){if(Array.isArray(e))return Qe(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Je(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ye(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||Je(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Je(e,t){if(e){if("string"==typeof e)return Qe(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Qe(e,t):void 0}}function Qe(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function Xe(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var Ze=Object(n.a)()((function(e){var t,r,n,o,i,a;return{textField:{"&amp; .MuiInputBase-input":{paddingTop:7,paddingBottom:6},"&amp; .MuiInputBase-root":{paddingLeft:4}},warning:{"&amp; label":{color:"".concat(null===(t=e.palette)||void 0===t?void 0:null===(r=t.warning)||void 0===r?void 0:r.main," !important")},"&amp; .MuiInput-underline:after":{borderBottomColor:null===(n=e.palette)||void 0===n?void 0:null===(o=n.warning)||void 0===o?void 0:o.main,transform:"scaleX(1)"},"&amp; .MuiFormHelperText-root":{color:null===(i=e.palette)||void 0===i?void 0:null===(a=i.warning)||void 0===a?void 0:a.main}}}})),et=function(e){var t=e.onChange,r=void 0===t?function(){}:t,n=e.path,o=void 0===n?[]:n,i=e.entity,a=e.index,s=e.data,c=e.templateData,l=e.showFullHelperInf,p=e.validation,u=e.validateOnMount,d=e.inputProps,m=void 0===d?{}:d,f=e.InputProps,b=void 0===f?{}:f,h=e.dimension,y=e.isCalculatedValue,g=e.warning,v=e.value,_=e.getValueFn,O=e.error,j=e.disabled,x=e.readOnly,w=e.force,k=e.docDescription,S=e.className,P=e.debounceTime,T=Xe(e,Be),C=Object(ee.b)().t,I=Ze(),A=I.classes,D=I.cx,E=Object(Ue.a)(r,P),$=Object(Le.a)(),N=$.onError,L=void 0===N?function(){return function(){}}:N,R=$.onErrorResolve,q=void 0===R?function(){return function(){}}:R,M=$.errors,F=void 0===M?[]:M,U=Ye(Object(Q.useState)(v),2),z=U[0],B=U[1],H=Ye(Object(Q.useState)(!1),2),V=H[0],W=H[1],G=Object(Me.d)(a)?[].concat(Ke(o),[a]):o;G=i?[i].concat(Ke(G)):G;var K=Object(qe.b)(F[Object(Re.c)(G)],C)||"",Y=i?[i].concat(Ke(o)).join("-"):Ke(o).join("-");Object(Q.useEffect)((function(){v===z||V&amp;&amp;!Object(Me.b)(v)&amp;&amp;!w||B(v||"")}),[v]),Object(Q.useEffect)((function(){return u&amp;&amp;p&amp;&amp;p(v)&amp;&amp;L(G)(p(v)),function(){W(!1),q(G)()}}),[]);var J=function(){return k&amp;&amp;Object(ne.c)(Fe.a,{docDescription:k,diskValue:_?_(s):$e.a(o)(s),templateValue:_?_(c):$e.a(o)(c),showFullHelperInf:l})};return Object(ne.c)(Ne.a,He({variant:"standard",fullWidth:!0,label:C(Y),value:z,onChange:function(e){W(!0),E&amp;&amp;(B(e.target.value),E(e)),p&amp;&amp;(p(e.target.value)?L(G)(p(e.target.value)):q(G)())},onClick:function(e){return e.stopPropagation()},error:!!K||!!O,helperText:O||K||g,disabled:j||x,InputProps:We({endAdornment:h?Object(ne.c)(X.a.Fragment,null,Object(ne.c)(ve.a,{component:"span",variant:"body2"},h),J()):J()},b),inputProps:We({"data-testid":Object(Me.d)(a)?"".concat(Y,"-").concat(a):Y,style:{color:!y&amp;&amp;!j||x?"rgba(0, 0, 0, 0.87)":"#b0afaf"}},m),InputLabelProps:{shrink:Object(Me.e)(z)},className:D(A.textField,g&amp;&amp;!O?A.warning:"",S)},T))},tt=r(1677),rt=["docDescription"];function nt(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var ot=Object(n.a)()((function(){return{formControlWrapper:{display:"inline-flex",alignItems:"center"}}})),it=function(e){var t=e.docDescription,r=nt(e,rt),n=ot().classes;return Object(ne.c)("span",{className:n.formControlWrapper},Object(ne.c)(tt.a,r),t&amp;&amp;Object(ne.c)(Fe.a,{docDescription:t}))},at=r(1649),st=r(533),ct=r(15),lt=r(131),pt=Object(ct.a)(st.a)((function(){return{minWidth:260,height:32,paddingTop:5,whiteSpace:"nowrap"}})),ut=Object(ct.a)(st.a)((function(){return{height:32,paddingTop:5,whiteSpace:"nowrap"}})),dt=function(e){var t=e.onClick,r=e["data-testid"],n=e.docDescription;return Object(ne.c)(X.a.Fragment,null,Object(ne.c)(lt.a,{color:"primary",size:"small",variant:"contained",onClick:t,"data-testid":null!=r?r:"add-button"},Object(ne.c)(j.a,{fontSize:"small"})),n&amp;&amp;Object(ne.c)(Fe.a,{docDescription:n}))},mt=["children","maxWidth","title"];function ft(){return(ft=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function bt(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var ht=Object(n.a)()((function(e,t){var r=t.maxWidth;return{tooltip:{backgroundColor:e.palette.common.white,color:e.palette.text.primary,border:"1px solid #D2D9DF",boxShadow:"0px 2px 7px rgba(31, 31, 34, 0.25)",borderRadius:4,fontSize:11,maxWidth:r||"none"}}})),yt=function(e){var t=e.children,r=e.maxWidth,n=e.title,o=bt(e,mt),i=ht({maxWidth:r}).classes;return Object(ne.c)(te.a,ft({classes:i,title:n},o),t)},gt=r(1631),vt=r(487),_t=r(1673),Ot=r(1647),jt=r(1548),xt=r(1632),wt=r(154),kt=r(1660),St=["children"];function Pt(){return(Pt=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function Tt(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var Ct=function(e){var t=e.children,r=Tt(e,St);return Object(ne.c)(kt.a,Pt({},r,{underline:"hover"}),t)};Ct.muiName="Link";var It=r(466),At=r(1633),Dt=r(1678),Et=r(1634),$t=r(870),Nt=r(265),Lt=r(1637),Rt=r(1672),qt=r(1679),Mt=r(1680),Ft=r(1681),Ut=r(1638),zt=r(1666),Bt=r(1682),Ht=r(1683),Vt=r(1648),Wt=["children"];function Gt(){return(Gt=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function Kt(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var Yt=function(e){var t=e.children,r=Kt(e,Wt);return Object(ne.c)(Vt.a,Gt({variant:"standard"},r),t)};Yt.muiName="Select";var Jt=r(1674),Qt=r(1675),Xt=r(1652),Zt=Object(ct.a)(Xt.a)((function(){return{background:"none !important"}})),er=r(1684),tr=r(1551),rr=r(1639),nr=r(1552),or=r(1685),ir=r(613),ar=r(1676),sr=r(467),cr=r(615),lr=r(1686),pr=r(680),ur=r(1628),dr=r(1671),mr=r(333),fr=r.n(mr),br=["buttonText","onButtonClick","items","color","disabled","justify","className"];function hr(){return(hr=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function yr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return gr(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return gr(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function gr(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function vr(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var _r=function(e){var t=e.buttonText,r=e.onButtonClick,n=e.items,o=e.color,i=e.disabled,a=e.justify,s=e.className,c=vr(e,br),l=yr(X.a.useState(!1),2),p=l[0],u=l[1],d=X.a.useRef(null),m=function(){u((function(e){return!e}))},f=function(e){d.current&amp;&amp;d.current.contains(e.target)||u(!1)},b=Object(Q.useCallback)((function(e){return function(t){m(),e(t)}}),[]);return Object(ne.c)(cr.a,null,Object(ne.c)(ye.a,{container:!0},Object(ne.c)(ye.a,{container:!0,item:!0,xs:12,justifyContent:a},Object(ne.c)(lr.a,{color:o,variant:"contained",ref:d,"aria-label":"split button",className:s},Object(ne.c)(st.a,{color:o,variant:"contained",onClick:r||m,"data-testid":"".concat(c["data-testid"],"Button"),disabled:i},t),Object(ne.c)(st.a,{color:o,variant:"contained",size:"small",onClick:m,"data-testid":"".concat(c["data-testid"],"DropdownButton"),disabled:i},Object(ne.c)(fr.a,null))),Object(ne.c)(pr.a,{open:p,anchorEl:d.current,transition:!0,sx:{zIndex:1e3}},(function(e){var t=e.TransitionProps,r=e.placement;return Object(ne.c)(ur.a,hr({},t,{style:{transformOrigin:"bottom"===r?"center top":"center bottom"}}),Object(ne.c)(vt.a,{id:"menu-list-grow"},Object(ne.c)(gt.a,{onClickAway:f},Object(ne.c)(dr.a,null,n&amp;&amp;n.map((function(e){var t=e.text,r=e.onClick,n=e["data-testid"];return Object(ne.c)(_t.a,{key:t,onClick:b(r),"data-testid":n},t)}))))))})))))};_r.defaultProps={onButtonClick:void 0,color:"primary","data-testid":void 0,disabled:!1,justify:"flex-end"};var Or=r(1687),jr=r(1661),xr=r(36),wr=r(42),kr=r.n(wr),Sr=r(1654);function Pr(e){return(Pr="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Tr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Cr(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Tr(Object(r),!0).forEach((function(t){Ir(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Tr(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Ir(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Pr(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Pr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Pr(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Ar=Object(n.a)()((function(e){return{breadcrumbsWrapper:Ir({},e.breakpoints.only("xs"),{display:"none"}),breadcrumbs:{"&amp; .MuiBreadcrumbs-ol":{flexWrap:"nowrap","&amp; &gt; li":Cr({minWidth:"45px"},{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}),"&amp; .MuiBreadcrumbs-separator":{minWidth:"20px"}},minHeight:"33.5px"},breadcrumbLink:Cr({fontSize:"21px",fontWeight:500,textDecoration:"none !important",color:"rgba(152, 162, 178, 0.7)",width:"100%"},{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}),breadcrumbCurrent:Cr({fontSize:"21px",color:e.palette.text.primary},{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}),breadcrumbNavigateIcon:{color:"rgba(152, 162, 178, 0.7)",fontSize:"28px"}}}));function Dr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Er(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Er(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Er(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var $r=function(e){var t,r=e.pageData,n=Ar().classes,o=Object(ee.b)().t,i=kr()().history,a=Dr(Object(Q.useState)([]),2),s=a[0],c=a[1],l=Dr(Object(Q.useState)(""),2),p=l[0],u=l[1];return Object(Q.useEffect)((function(){var e,t=(null==i?void 0:null===(e=i.location)||void 0===e?void 0:e.pathname)||"",n=function(e,t,r){if(r&amp;&amp;r.some((function(e){return!e.isDataLoaded})))return[];var n=e.split("/"),o=n.filter((function(e,t){return 0!==t&amp;&amp;t!==n.length-1})),i=[];return o.reduce((function(e,n){var o="".concat(e,"/").concat(n),a=decodeURIComponent(n),s=null==r?void 0:r.find((function(e){return e.id===a}));return s?i.push({name:s.title||t(a),path:o}):i.push({name:t(a),path:o}),o}),""),i}(t,o,r),a=decodeURIComponent(t.split("/").pop()||""),s="";if(r){if(!r.some((function(e){return!e.isDataLoaded}))){var l=r[r.length-1];s=a===(null==l?void 0:l.id)?(null==l?void 0:l.title)||l.id:o(a)}}else s=o(a);c(n),u(s||"")}),[null==i?void 0:null===(t=i.location)||void 0===t?void 0:t.pathname,o,r]),Object(ne.c)(Ce.a,{mt:2,className:n.breadcrumbsWrapper},Object(ne.c)(Sr.a,{separator:Object(ne.c)(Pe.a,{fontSize:"small",className:n.breadcrumbNavigateIcon}),"aria-label":"breadcrumb",className:n.breadcrumbs},s.map((function(e,t){return Object(ne.c)(Ct,{key:e.path,to:e.path,component:xr.b,className:n.breadcrumbLink,"data-testid":"breadcrumb-link-".concat(t)},e.name)})),Object(ne.c)(de.a,{className:n.breadcrumbCurrent,variant:"h6"},p)))},Nr=r(1688),Lr=r(11);function Rr(e){return(Rr="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function qr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Mr(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?qr(Object(r),!0).forEach((function(t){Fr(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):qr(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Fr(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Rr(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Rr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Rr(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Ur=function(e){return Fr(Fr({width:249},e.breakpoints.only("xs"),{width:"100%"}),"overflowX","hidden")},zr=function(e){return Fr({overflowX:"hidden",width:Lr.l?52:65},e.breakpoints.only("xs"),{width:0,border:0})},Br=Object(ct.a)(Nr.a)((function(e){var t=e.theme,r=e.open;return Mr(Mr({width:249,flexShrink:0,whiteSpace:"nowrap",boxSizing:"border-box"},r&amp;&amp;Mr(Mr({},Ur(t)),{},{"&amp; .MuiDrawer-paper":Ur(t)})),!r&amp;&amp;Mr(Mr({},zr(t)),{},{"&amp; .MuiDrawer-paper":zr(t)}))})),Hr=r(1641),Vr=r(1642),Wr=r(1689),Gr=r(1664),Kr=Object(n.a)()((function(e){return{menuItemLink:{display:"flex",alignItems:"center",width:"100%",padding:"".concat(e.spacing(1)," 0 7px ").concat(e.spacing(2)),textDecoration:"none !important"},profileLink:{padding:"6px 0 6px ".concat(e.spacing(1))},menuItemText:{textDecoration:"none !important","&amp; .MuiTypography-root":{color:e.palette.primary.contrastText,fontWeight:500,fontSize:14}},menuItemTextEllipsis:{textOverflow:"ellipsis",overflow:"hidden"},menuItemIconLink:{color:e.palette.primary.contrastText,textDecoration:"none !important"},menuItemIcon:{color:e.palette.primary.contrastText,minWidth:41,fontSize:15,lineHeight:1},profileIcon:{fontSize:34,minWidth:50},menuItem:{borderRadius:"22px 0 0 22px",padding:0,paddingRight:e.spacing(2),"&amp;:hover":{background:e.palette.primary.main}},menuItemActive:{background:e.palette.primary.main},expandIcon:{color:e.palette.primary.contrastText,fontSize:7,padding:16},submenuItem:{borderRadius:"22px 0 0 22px",marginLeft:41,padding:0,paddingRight:e.spacing(2)},submenuItemLink:{color:e.palette.primary.contrastText,fontSize:14,textDecoration:"none !important",width:"100%",padding:"".concat(e.spacing(1)," 0 ").concat(e.spacing(1)," ").concat(e.spacing(2))}}}));function Yr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Jr(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Jr(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Jr(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Qr=function(e){var t,r=e.item,n=e.handleMenuClose,i=e.isOpen,a=e.activeItemId,s=e.isProfile,l=Kr(),p=l.classes,u=l.cx,d=Object(ee.b)().t,m=Object(o.a)(),f=Object(c.a)(m.breakpoints.down("sm")),b=Object(c.a)(m.breakpoints.only("sm")),h=a===r.id,y=Yr(Object(Q.useState)(h),2),g=y[0],v=y[1],_=function(){Lr.i&amp;&amp;!i||v(!g)},O=function(){v(!0),f&amp;&amp;n()},j=function(){(f||Lr.l&amp;&amp;b)&amp;&amp;n()},x=Object(Q.useMemo)((function(){return"string"==typeof r.icon?Object(ne.c)("span",{className:r.icon}):r.icon}),[r.icon]);return Object(ne.c)(X.a.Fragment,null,Object(ne.c)(Vr.a,{className:u(p.menuItem,h?p.menuItemActive:""),"data-testid":"navMenu-".concat(r.id)},r.isExternal&amp;&amp;!r.subMenu&amp;&amp;Object(ne.c)("a",{href:r.to,className:u(p.menuItemLink,s?p.profileLink:""),onClick:O},Object(ne.c)(Hr.a,{className:u(p.menuItemIcon,s?p.profileIcon:"")},x),Object(ne.c)(Ut.a,{className:p.menuItemText},d(r.item))),!r.isExternal&amp;&amp;!r.subMenu&amp;&amp;Object(ne.c)(Ct,{to:r.to,component:xr.b,className:u(p.menuItemLink,s?p.profileLink:""),onClick:O},Object(ne.c)(Hr.a,{className:u(p.menuItemIcon,s?p.profileIcon:"")},x),Object(ne.c)(Ut.a,{className:p.menuItemText},d(r.item))),r.subMenu&amp;&amp;Object(ne.c)("span",{className:p.menuItemLink,onClick:_},Object(ne.c)(Hr.a,{className:p.menuItemIcon},x),Object(ne.c)(Ut.a,{className:p.menuItemText},d(r.item))),(Lr.i&amp;&amp;i||Lr.l)&amp;&amp;r.subMenu&amp;&amp;Object(ne.c)("span",{className:p.expandIcon,onClick:_},g?Object(ne.c)(J.c,null):Object(ne.c)(J.b,null))),(Lr.i&amp;&amp;i||Lr.l)&amp;&amp;(null===(t=r.subMenu)||void 0===t?void 0:t.map((function(e){return Object(ne.c)(Gr.a,{key:e.id,in:g,timeout:"auto",unmountOnExit:!0},Object(ne.c)(Rt.a,{component:"div",disablePadding:!0},Object(ne.c)(Vr.a,{className:p.submenuItem},e.isExternal?Object(ne.c)("a",{href:e.to,className:p.submenuItemLink,onClick:O},Object(ne.c)(Ut.a,null,"â€¢ ",d(e.item))):Object(ne.c)(Ct,{to:e.to,component:xr.b,className:p.submenuItemLink,onClick:j},Object(ne.c)(Ut.a,null,"â€¢ ",d(e.item))))))}))))};function Xr(e){return(Xr="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Zr(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Xr(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Xr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Xr(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var en=Object(n.a)()((function(e,t){var r=t.isInnerPage;return{drawer:Zr({background:e.palette.primary.dark,display:"flex",justifyContent:"space-between",flexDirection:"column"},e.breakpoints.up("md"),{width:Lr.l?"170px !important":65}),divider:{borderColor:"rgba(255,255,255,0.1)"},burger:{color:r?"#232323":e.palette.primary.contrastText,fontSize:"14px"},logo:{maxWidth:"129px",maxHeight:"52px"},logoBlock:Zr({paddingLeft:e.spacing(2),paddingRight:e.spacing(2),height:"60px"},e.breakpoints.only("xs"),{height:"54px"}),menuItemsBlock:{paddingLeft:Lr.l?0:"7px"},menuItemIcon:{color:e.palette.primary.contrastText,minWidth:"41px",fontSize:"17px"},menuItemText:{color:e.palette.primary.contrastText,fontSize:"14px",fontWeight:500},appBar:Zr({height:"54px",background:r?e.palette.common.white:e.palette.primary.dark,boxShadow:"none"},e.breakpoints.up("sm"),{display:"none"}),appBarLogo:{maxWidth:"129px",maxHeight:"45px"},appBarContent:{height:"100%",width:"100%",position:"relative"},appBarBurger:{position:"absolute",left:r?e.spacing(1):e.spacing(2)},logoLink:{lineHeight:1},title:{marginLeft:e.spacing(7),marginRight:"auto",color:r?"#232323":e.palette.primary.contrastText}}})),tn=X.a.createContext({}),rn=r(349),nn=function(){return"ontouchstart"in window||navigator.maxTouchPoints&gt;0};function on(){return(on=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function an(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return sn(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return sn(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function sn(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var cn=J.u.ArrowBackIcon,ln=function(e,t){var r=null==t?void 0:t.find((function(t){var r=t.to,n=t.paths;return n?n.some((function(t){return e.includes(t)})):e.startsWith(r)}));return null==r?void 0:r.id},pn=function(e){var t=e.logo,r=e.items,n=e.handleLogout,i=e.additionalUI,a=e.name,s=e.title,l=e.pageData,p=e.isInnerPage,u=e.topBarRightSlot,d=e.bottomMenuItems,m=e.contactInformation,f=e.profile,b=Object(o.a)(),h=Object(c.a)(b.breakpoints.only("sm")),y=Object(ee.b)().t,g=kr()(),v=g.location,_=g.history,O=an(Object(Q.useState)(!1),2),j=O[0],x=O[1],w=function(){return x(!0)},k=function(){return x(!1)},S=Object(Q.useContext)(tn),P=S.from,T=S.to,C=Object(Q.useMemo)((function(){return ln(v.pathname,r)}),[r,v]),I=Object(Q.useMemo)((function(){return ln(v.pathname,d)}),[d,v]),A=Object(Q.useMemo)((function(){var e=["profile","company","colleagues"],t=e.some((function(e){return v.pathname.includes(e)}));return{key:"profile",item:{id:"profile",item:a||"",to:(null==f?void 0:f.path)||"/profile",icon:"admin-icon-avatar-02",paths:e,isExternal:null==f?void 0:f.isExternal},handleMenuClose:k,isOpen:j,activeItemId:t?"profile":void 0,isProfile:!0}}),[j,v.pathname,a,f]),D=t?Object(rn.a)(t):"",E=en({isInnerPage:p}),$=E.classes,N=E.cx,L=s;if(l&amp;&amp;l.length&gt;0){var R=l[l.length-1];L=R.isDataLoaded?R.title||R.id:""}return Object(ne.c)(X.a.Fragment,null,Object(ne.c)(Wr.a,{className:$.appBar},Object(ne.c)(Ce.a,{display:"flex",alignItems:"center",justifyContent:"center",className:$.appBarContent},p?Object(ne.c)(lt.b,{onClick:function(){P===T?_.push("/cameras"):_.goBack()},className:N($.burger,$.appBarBurger)},Object(ne.c)(cn,null)):Object(ne.c)(lt.b,{onClick:j?k:w,className:N($.burger,$.appBarBurger)},j?Object(ne.c)(J.f,null):Object(ne.c)(J.l,null)),j&amp;&amp;D&amp;&amp;Object(ne.c)(Ct,{to:"/",component:xr.b,className:$.logoLink},Object(ne.c)("img",{src:D,alt:"",className:$.appBarLogo})),!j&amp;&amp;L&amp;&amp;Object(ne.c)(de.a,{variant:"h5",className:$.title},L),u&amp;&amp;u({isOpen:j}))),Object(ne.c)(Br,{open:j,variant:"permanent",onOpen:w,onClose:k,classes:{paper:$.drawer},onMouseEnter:nn()?void 0:w,onMouseLeave:nn()?void 0:k},Object(ne.c)(Ce.a,null,Object(ne.c)(Ce.a,{display:"flex",justifyContent:j&amp;&amp;!Lr.l||j&amp;&amp;Lr.l&amp;&amp;h?"space-between":"center",alignItems:"center",className:$.logoBlock},j||Lr.l&amp;&amp;!h?Object(ne.c)(Ct,{to:"/",component:xr.b},Object(ne.c)("img",{src:D,alt:"",className:$.logo})):null,(!Lr.l||h)&amp;&amp;Object(ne.c)(lt.b,{onClick:j?k:w,className:$.burger,"data-testid":"main-menu-burger"},j?Object(ne.c)(J.a,null):Object(ne.c)(J.l,null))),Object(ne.c)(rr.a,{className:$.divider}),(Lr.i||Lr.l)&amp;&amp;Object(ne.c)(X.a.Fragment,null,Object(ne.c)(Ce.a,{my:1},Object(ne.c)(Rt.a,{component:"nav",className:$.menuItemsBlock,"data-testid":"avatar"},Object(ne.c)(Qr,on({},A,{handleMenuClose:k})))),Object(ne.c)(rr.a,{className:$.divider})),Object(ne.c)(Ce.a,{className:$.menuItemsBlock},Object(ne.c)(Rt.a,{component:"nav","data-testid":"main-menu-items"},r&amp;&amp;r.map((function(e){return Object(ne.c)(Qr,{key:e.id,item:e,isOpen:j,activeItemId:C,handleMenuClose:k})}))))),Object(ne.c)(Ce.a,null,d&amp;&amp;Object(ne.c)(Ce.a,{className:$.menuItemsBlock},Object(ne.c)(Rt.a,{component:"nav","data-testid":"main-bottom-menu-items"},d&amp;&amp;d.map((function(e){return Object(ne.c)(Qr,{key:e.id,item:e,activeItemId:I,handleMenuClose:k})})))),i&amp;&amp;i({isOpen:j}),n&amp;&amp;Object(ne.c)(X.a.Fragment,null,Object(ne.c)(rr.a,{className:$.divider}),Object(ne.c)(Rt.a,{component:"nav",className:$.menuItemsBlock,"data-testid":"logout"},Object(ne.c)(Vr.a,{onClick:n},Object(ne.c)(Hr.a,{className:$.menuItemIcon},Object(ne.c)(J.k,null)),Object(ne.c)(Ut.a,null,Object(ne.c)(de.a,{className:$.menuItemText},y("layout.logout")))))),m&amp;&amp;m({isOpen:j}))))},un=r(1690),dn=r(1650),mn=r(1665),fn=function(e){var t=e.route,r=e.component,n=Object(ee.b)().t;return Object(ne.c)(Ce.a,{pl:"11px",mt:1,pb:2,sx:{display:{lg:"none",md:"none",sm:"none"}}},Object(ne.c)(ke.a,{fontSize:"small"}),Object(ne.c)(Ct,{to:"/".concat(t),component:r,variant:"body2",color:"#232323","data-testid":"back-to"},"".concat(n("backTo")).concat(t.charAt(0).toUpperCase()+t.slice(1))))};function bn(e){return(bn="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function hn(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==bn(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==bn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===bn(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var yn=Object(n.a)()((function(e){return{tabs:hn({minHeight:32,position:"relative",top:1,borderLeft:"1px solid #D0D7DD",borderRadius:"8px 0 0 0","&amp; .MuiTab-root":{borderRight:"none","&amp;:first-of-type":{borderLeft:0},"&amp;:last-of-type":{borderRight:"1px solid #D0D7DD"}},"&amp; .MuiTabs-indicator":{display:"none"}},e.breakpoints.only("xs"),{marginLeft:e.spacing(2)}),tab:{background:"#F2F4F7",border:"1px solid #D0D7DD",borderRadius:"8px 8px 0 0",textTransform:"none",fontWeight:400,padding:"6px ".concat(e.spacing(2)),minHeight:32,color:e.palette.text.primary,"&amp;.Mui-selected":{background:e.palette.common.white,color:e.palette.text.primary,borderBottom:0,fontWeight:500}},specialTab:{marginRight:e.spacing(2),borderRight:"1px solid #D0D7DD !important",background:e.palette.primary.main,color:e.palette.primary.contrastText,fontWeight:500,whiteSpace:"nowrap",minWidth:40},plus:{lineHeight:1},addWrapper:{display:"flex",alignItems:"center"},addTitle:{fontSize:14,marginLeft:e.spacing(2)}}}));function gn(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return vn(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return vn(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function vn(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var _n=function(e){var t=e.menuItems,r=Object(ee.b)().t,n=kr()().location,o=yn(),i=o.classes,a=o.cx,s=gn(X.a.useState(0),2),c=s[0],l=s[1],p=gn(X.a.useState(""),2),u=p[0],d=p[1],m=new URLSearchParams(n.search).get("entity");Object(Q.useEffect)((function(){t.forEach((function(e,t){m?d(m):null!=n&amp;&amp;n.pathname.includes(e.to)&amp;&amp;(l(t),d(e.entity))}))}),[null==n?void 0:n.pathname,t,m]);return Object(ne.c)(dn.a,{value:c,onChange:function(e,t){l(t)},className:i.tabs,variant:"scrollable",scrollButtons:!1},t.map((function(e,t){return Object(ne.c)(mn.a,{className:a(i.tab,e.isSpecial?i.specialTab:""),key:t,"data-testid":"".concat(t,"-tab"),component:e.isExternal?"a":xr.b,href:e.isExternal?"".concat(e.getHost?e.getHost():window.location.origin).concat(e.to):void 0,label:e.isSpecial?Object(ne.c)(de.a,{component:"span",fontWeight:500,className:i.addWrapper},Object(ne.c)(de.a,{component:"span",variant:"h6",fontWeight:500,className:i.plus},"+"),e.name&amp;&amp;Object(ne.c)("span",{className:i.addTitle},r(e.name))):Object(ne.c)(Ce.a,{display:"flex",gap:1},e.icon," ",r(e.name||"")),to:e.isExternal?void 0:{pathname:e.to,search:e.isSpecial&amp;&amp;u?"?entity=".concat(encodeURIComponent(u)):""}})})))};function On(e){return(On="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function jn(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==On(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==On(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===On(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var xn=Object(n.a)()((function(e){return{pageContainer:jn(jn(jn(jn(jn({},e.breakpoints.only("xs"),{padding:0}),"flex",1),"overflow","hidden"),"display","flex"),"flexDirection","column"),pageContainerContent:jn({border:"1px solid #D2D9DF",padding:"".concat(e.spacing(3)," ").concat(e.spacing(2)),background:e.palette.common.white},e.breakpoints.only("xs"),{borderLeft:0,borderRight:0}),noPadding:{padding:0},noStyles:{padding:0,border:0}}})),wn=r(35);function kn(e){return(kn="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Sn(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==kn(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==kn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===kn(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Pn=Object(Q.lazy)((function(){return r.e(8).then(r.bind(null,1698))})),Tn=function(e){var t=e.children,r=e.menuItems,n=e.buttons,o=e.id,i=e.route,a=e.customHeaderElement,s=e.contentClassName,c=e.noPadding,l=e.noStyles,p=xn(),u=p.classes,d=p.cx,m=Object(Q.useContext)(wn.c);return Object(ne.c)(X.a.Fragment,null,(m===Lr.p||Lr.l)&amp;&amp;Object(ne.c)(Pn,null),Object(ne.c)(xt.a,{maxWidth:!1,className:d(u.pageContainer,Sn({},u.noStyles,l),s),id:o},i&amp;&amp;Object(ne.c)(fn,{route:i,component:xr.b}),Object(ne.c)(Ce.a,{display:"flex",alignItems:"center",justifyContent:"flex-start"},a,r&amp;&amp;Object(ne.c)(_n,{menuItems:r})),Object(ne.c)(Ce.b,{className:d(u.pageContainerContent,Sn(Sn({},u.noPadding,c),u.noStyles,l),s),flex:1},Object(ne.c)(Ce.b,{flex:1},t),n&amp;&amp;Object(ne.c)(Ce.a,{mt:3,display:"flex"},n))))};Object(n.a)()((function(e){return{section:{background:"#F8F9FB",borderRadius:"4px",padding:e.spacing(2)},sectionTitle:{fontSize:"16px"},sectionDivider:{borderColor:"#E7EAEE",marginTop:e.spacing(1.5),marginBottom:e.spacing(1.5)}}}));function Cn(e){return(Cn="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function In(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Cn(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Cn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Cn(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var An=Object(n.a)()((function(e){return{toggleButton:{minWidth:165,height:32,padding:"1px 11px",textTransform:"capitalize","&amp;.Mui-selected":{background:"".concat(e.palette.primary.main),color:e.palette.primary.contrastText,"&amp;.Mui-selected:hover":{background:"".concat(e.palette.primary.main)}},"&amp; .toggle-button-icon":{marginRight:13}},toggleButtonIcon:{fontSize:16},toggleButtonLabel:{fontWeight:500,fontSize:12}}})),Dn=Object(n.a)()((function(e){return{toggleSeparated:In({"&amp; &gt; button":{minWidth:"auto",whiteSpace:"nowrap",padding:"4px 10px",marginRight:e.spacing(2),border:"1px solid #D2D9DF !important",borderRadius:"4px !important","&amp; &gt; .MuiTypography-root":{color:e.palette.text.primary},"&amp; .toggle-button-icon":{marginRight:e.spacing(1)},"&amp;.Mui-selected":{"&amp; &gt; .MuiTypography-root":{color:e.palette.primary.contrastText}}}},e.breakpoints.only("xs"),{flexWrap:"wrap"})}}));function En(){return(En=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}var $n=function(e){var t=e.value,r=e.possibleValues,n=e.onChange,o=e.className,i=e.isNullable,a=e.minWidth,s=e["data-testid"],c=void 0===s?"toggle-button":s,l=An(),p=l.classes,u=l.cx;return Object(ne.c)(jr.a,{value:t,exclusive:!0,onChange:function(e,t){i?n(t):null!==t&amp;&amp;n(t)},className:o,"data-testid":c},r.map((function(e,t){return Object(ne.c)(Or.a,{key:"string"==typeof e.label?e.label:t,value:e.value,className:p.toggleButton,"data-testid":"".concat(c,"-").concat(t),style:{minWidth:a}},e.icon&amp;&amp;Object(ne.c)("span",{className:u(p.toggleButtonIcon,e.label?"toggle-button-icon":"")},e.icon),"string"==typeof e.label?Object(ne.c)(de.a,{className:p.toggleButtonLabel},e.label):e.label)})))},Nn=function(e){var t=En({},(function(e){if(null==e)throw new TypeError("Cannot destructure "+e)}(e),e)),r=Dn().classes;return Object(ne.c)($n,En({className:r.toggleSeparated},t))},Ln=r(177);function Rn(e){return(Rn="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function qn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Mn(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?qn(Object(r),!0).forEach((function(t){Fn(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):qn(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Fn(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Rn(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Rn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Rn(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Un=Object(n.a)()((function(e,t){var r=t.columns,n=t.mobile,o=t.showCheckbox,i={};return n||r.forEach((function(e,t){var r;i["&amp;:nth-of-type(".concat(o?t+2:t+1,")")]={flexGrow:null!==(r=e.grow)&amp;&amp;void 0!==r?r:1}})),{dataGrid:{width:"100%",maxHeight:"100%",overflowY:"auto",border:"1px solid #E8EBF0",position:"relative"},dataGridBlock:{display:"flex","&amp;:nth-of-type(2n+1)":{background:"#f8f9fb"},"&amp;:nth-of-type(2n)":{background:"#fff"},"&amp; .data-grid-cell":Mn(Fn({width:"100px","&amp; .data-grid-header-content":{borderRight:"1px solid #B2B8BF",width:"100%",height:"30px",display:"flex",alignItems:"center",padding:e.spacing(0,1)},"&amp;:last-of-type":{"&amp; .data-grid-header-content":{borderRight:0}}},e.breakpoints.down("lg"),{width:"auto"}),i)},dataGridHeader:{display:"flex",position:"sticky",top:0,left:0,width:"100%",zIndex:10,background:"#E8EBF0 !important"},dataGridHeaderCell:{display:"flex",alignItems:"center",padding:"5px 0"},dataGridBodyCell:Fn({padding:"".concat(e.spacing(2)," ").concat(e.spacing(1))},e.breakpoints.down("lg"),{padding:e.spacing(1),borderTop:"1px solid rgba(212, 214, 221, 0.2)","&amp;:first-of-type":{borderTop:0}}),breakAll:{wordBreak:"break-all"},dataGridFooter:{background:"#E8EBF0 !important",position:"sticky",bottom:0,padding:e.spacing(3)},dataGridCheckboxCell:{display:"flex",width:"50px",justifyContent:"center",alignItems:"flex-start"},mobileColumns:{flex:1,minWidth:0},firstRowBack:{backgroundColor:"".concat(Object(Ln.a)(e.palette.primary.main,.15)," !important")}}}));function zn(e){return(zn="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Bn(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==zn(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==zn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===zn(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Hn=function(e){var t=e.data,r=void 0===t?[]:t,n=e.columns,o=e.showCheckbox,i=void 0!==o&amp;&amp;o,a=e.handleCheckAll,s=e.handleCheck,l=e.checkedAll,p=e.footer,u=e.primaryKey,d=e.titleMobile,m=e.classes,f=e.nextCursor,b=e.prevCursor,h=e.handlePaginationChange,y=e.estimatedCount,g=e.limit,v=e.page,_=e.highlightFirstRow,O=Object(c.a)((function(e){return e.breakpoints.down("lg")})),j=Un({columns:n.items,mobile:O,showCheckbox:i}),x=j.classes,w=j.cx,k=function(e){return"string"==typeof e?Object(ne.c)(de.a,{variant:"subtitle2"},e):e},S=function(e){return Object(ne.c)("div",{className:w("data-grid-cell",x.dataGridHeaderCell)},Object(ne.c)("div",{className:"data-grid-header-content"},k(e)))},P=function(e,t){return n.items.map((function(r,n){return Object(ne.c)("div",{key:n,className:w("data-grid-cell",x.dataGridBodyCell,Bn({},x.breakAll,r.breakWord),null==m?void 0:m.bodyCell)},O&amp;&amp;Object(ne.c)(Ce.a,{mb:.5},k(r.title)),r.renderData(e,t))}))};return Object(ne.c)(X.a.Fragment,null,Object(ne.c)("div",{className:x.dataGrid},Object(ne.c)("div",{className:w(x.dataGridBlock,x.dataGridHeader)},i&amp;&amp;a&amp;&amp;Object(ne.c)("div",{className:w(x.dataGridHeaderCell,x.dataGridCheckboxCell)},Object(ne.c)(Zt,{checked:l,onChange:a,inputProps:{"data-testid":"selectAll_button"},size:"small"})),O?S(d):n.items.map((function(e,t){return Object(ne.c)(X.a.Fragment,{key:t},!e.headerDisabled&amp;&amp;S(e.title))}))),r.map((function(e,t){var r=u?e[u]:t;return Object(ne.c)("div",{className:w(x.dataGridBlock,Bn({},x.firstRowBack,0===t&amp;&amp;_)),key:r},i&amp;&amp;(n.showCheckbox&amp;&amp;!n.showCheckbox(e)||!n.showCheckbox)&amp;&amp;Object(ne.c)("div",{className:w(x.dataGridCheckboxCell,x.dataGridBodyCell,null==m?void 0:m.bodyCell)}),i&amp;&amp;(n.showCheckbox&amp;&amp;n.showCheckbox(e)||!n.showCheckbox)&amp;&amp;s&amp;&amp;Object(ne.c)("div",{className:w(x.dataGridCheckboxCell,x.dataGridBodyCell,null==m?void 0:m.bodyCell)},Object(ne.c)(Zt,{checked:n.checked&amp;&amp;n.checked(e),onChange:s(e),inputProps:{"data-testid":"item_".concat(t,"_checkbox")},size:"small",className:null==m?void 0:m.checkbox})),!O&amp;&amp;P(e,t),O&amp;&amp;Object(ne.c)("div",{className:x.mobileColumns},P(e,t)))})),p&amp;&amp;Object(ne.c)("div",{className:w(x.dataGridBlock,x.dataGridFooter)},p)),(f||b)&amp;&amp;h&amp;&amp;Object(ne.c)(Ee,{nextCursor:f,prevCursor:b,handlePaginationChange:h,estimatedCount:y,limit:g,page:v}))},Vn=r(1550),Wn=Object(n.a)()((function(e,t){var r=t.menuWidth;return{dropdownMenuItem:{borderBottom:"1px solid #D2D9DF",width:"100%"},dropdownMenu:{marginTop:5,"&amp; .MuiMenu-paper":{width:null!=r?r:"auto","&amp; .MuiMenuItem-root:hover, .MuiMenuItem-root:focus":{background:"none"},"&amp; .MuiMenuItem-root:last-of-type .dropdown-menu-item":{border:0}}}}}));function Gn(){return(Gn=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function Kn(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Yn(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Yn(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Yn(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Jn=function(e){var t=e.buttonProps,r=e.label,n=e.dropdownItems,o=e.menuWidth,i=Wn({menuWidth:o}),a=i.classes,s=i.cx,c=Kn(Q.useState(null),2),l=c[0],p=c[1],u=Boolean(l);return Object(ne.c)(Q.Fragment,null,Object(ne.c)(st.a,Gn({id:"dropdown-button-".concat(r),"aria-controls":u?"dropdown-menu-".concat(r):void 0,"aria-haspopup":"true","aria-expanded":u?"true":void 0,onClick:function(e){p(e.currentTarget)}},t),r),Object(ne.c)($t.a,{id:"dropdown-menu-".concat(r),anchorEl:l,open:u,onClose:function(){p(null)},MenuListProps:{"aria-labelledby":"dropdown-button-".concat(r)},PopoverClasses:{root:a.dropdownMenu}},n.map((function(e){return Object(ne.c)(_t.a,{key:Object(Vn.a)()},Object(ne.c)("div",{className:s(a.dropdownMenuItem,"dropdown-menu-item")},e.children))}))))},Qn=r(1662),Xn=r(1630),Zn=function(e){var t=e.label,r=e.radioButtons,n=e.onChange,o=e.value,i=e.radioButtonSize,a=void 0===i?"small":i,s=e.className;return Object(ne.c)(Jt.a,{className:s},Object(ne.c)(Xn.a,{id:"radio-buttons-group-label-".concat(t)},Object(ne.c)(de.a,{variant:"subtitle2",color:"textPrimary"},t)),Object(ne.c)(Qn.a,{"aria-labelledby":"radio-buttons-group-label-".concat(t),value:o,onChange:n},r.map((function(e){return Object(ne.c)(it,{key:e.label.trim(),value:e.value,control:Object(ne.c)(at.a,{size:a}),label:e.label})}))))},eo=r(146),to=r(127),ro=["label","className","fullWidth","helperText","errorText","docDescription","endAdornment","inputProps"];function no(){return(no=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function oo(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var io=Object(ct.a)(to.c)((function(e){var t=e.theme,r=e.multiline;return{"&amp;.MuiInputBase-root":{padding:"0 !important",background:t.palette.common.white,borderRadius:4,position:"relative",border:"1px solid #CACACA",maxHeight:r?"auto":32,"&amp;:hover":{borderColor:"#7b7b7b"},"&amp;.Mui-focused":{borderColor:"#232323"},"&amp;.Mui-disabled":{background:"#f6f6f6",borderColor:"#d4d4d4"},"&amp;.MuiInputBase-readOnly":{borderStyle:"dashed"},"&amp;.MuiInputBase-adornedEnd":{paddingRight:t.spacing(.5)},"&amp; .MuiSvgIcon-root":{fontSize:"1rem"}},"&amp; .MuiInputBase-input":{padding:"5px ".concat(t.spacing(2)," !important"),MozAppearance:"textfield","&amp;::-webkit-outer-spin-button, &amp;::-webkit-inner-spin-button":{WebkitAppearance:"none",margin:0}},"label + &amp;":{marginTop:t.spacing(3)}}})),ao=Object(ct.a)(Qt.a)((function(e){return{"&amp;.MuiFormLabel-root":{transform:"none",color:e.theme.palette.text.primary,fontSize:12,maxWidth:"100%"}}})),so=Object(ct.a)(ar.a)((function(){return{marginLeft:0,marginRight:0}})),co=function(e){var t=e.label,r=e.className,n=e.fullWidth,o=void 0===n||n,i=e.helperText,a=e.errorText,s=e.docDescription,c=e.endAdornment,l=e.inputProps,p=oo(e,ro);return Object(ne.c)(Jt.a,{variant:"standard",fullWidth:o,className:r},Object(eo.a)(t)?null:Object(ne.c)(ao,{shrink:!0},t),Object(ne.c)(io,no({endAdornment:Object(ne.c)(X.a.Fragment,null,c,s&amp;&amp;Object(ne.c)(Fe.a,{docDescription:s})),fullWidth:o,inputProps:l},p)),a&amp;&amp;Object(ne.c)(so,{"data-testid":"".concat(null==l?void 0:l["data-testid"],"-error"),error:!0},a),i&amp;&amp;Object(ne.c)(so,null,i))},lo=["label","items","className","fullWidth","helperText","docDescription","endAdornment","placeholder"];function po(){return(po=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function uo(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}function mo(e){return(mo="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}var fo=Object(ct.a)(Vt.a)((function(e){var t=e.theme;return{"&amp;.MuiInputBase-root":{maxHeight:32,background:t.palette.common.white,"&amp; .MuiSelect-select":{padding:"6px ".concat(t.spacing(2)),lineHeight:2},"&amp;:hover":{"&amp; .MuiOutlinedInput-notchedOutline":{borderColor:"#7b7b7b"}},"&amp;.Mui-focused":{"&amp; .MuiOutlinedInput-notchedOutline":{borderColor:"#232323"}},"&amp;.Mui-disabled":{background:"#f6f6f6","&amp; .MuiOutlinedInput-notchedOutline":{borderColor:"#d4d4d4"}},"&amp; .MuiOutlinedInput-notchedOutline":{border:"1px solid #CACACA",borderRadius:4}},"label + &amp;":{marginTop:t.spacing(3)}}})),bo=Object(ct.a)(Qt.a)((function(e){return{"&amp;.MuiFormLabel-root":{transform:"none",color:e.theme.palette.text.primary,fontSize:12}}})),ho=Object(ct.a)(ar.a)((function(){return{marginLeft:0,marginRight:0}})),yo=function(e){return"object"===mo(e)},go=function(e){var t=e.label,r=e.items,n=void 0===r?[]:r,o=e.className,i=e.fullWidth,a=void 0===i||i,s=e.helperText,c=e.docDescription,l=e.endAdornment,p=e.placeholder,u=uo(e,lo);return Object(ne.c)(Jt.a,{fullWidth:!0,className:o},t&amp;&amp;Object(ne.c)(bo,null,t),Object(ne.c)(fo,po({fullWidth:a},p?{displayEmpty:!0,value:"",renderValue:function(e){if(!e)return p;var t=n.find((function(t){return(yo(t)?t.value:t)===e}));return t?yo(t)?t.label:t:e}}:{},{inputProps:{"data-testid":"".concat(u["data-testid"],"-input")},endAdornment:Object(ne.c)(cr.a,{mr:1},l,c&amp;&amp;Object(ne.c)(Fe.a,{docDescription:c})),MenuProps:{PaperProps:{style:{maxHeight:300,overflowY:"auto"}}}},u),n.map((function(e){return Object(ne.c)(_t.a,{key:yo(e)?e.value:e,value:yo(e)?e.value:e},yo(e)?e.label:e)}))),Object(ne.c)(ho,{error:u.error},s))},vo=r(45),_o=r(184),Oo=function(e){var t=e.saveButtonText,r=e.isSubmitting,n=e.disabled,o=e["data-testid"],i=void 0===o?"saveButton":o,a=Object(ee.b)().t;return Object(ne.c)(st.a,{type:"submit",variant:"contained",color:"primary",size:"small","data-testid":i,disabled:n||r,style:{minWidth:"100px"},endIcon:r&amp;&amp;Object(ne.c)(wt.a,{size:20,color:"primary"})},null!=t?t:a("save"))},jo=function(e){var t=e.saveButtonText,r=e.disabled,n=e["data-testid"],o=Object(vo.g)(),i=o.isSubmitting,a=o.dirty,s=o.isValid;return Object(ne.c)(Oo,{isSubmitting:i,disabled:!a||!s||r,saveButtonText:t,"data-testid":n})},xo=Object(n.a)()((function(e){return{paper:{width:550,maxWidth:"100%",margin:"120px auto 0 auto",backgroundColor:e.palette.background.paper,padding:e.spacing(2,4,3),outline:"none"}}})),wo=function(e){var t=e.open,r=e.handleClose,n=e.onDelete,o=e.title,i=e.notice,a=e.removeButtonText,s=Object(ee.b)().t,c=xo().classes;return Object(ne.c)(jt.a,{open:t,onClose:r},Object(ne.c)("div",{className:c.paper,"data-testid":"deleteItemModal"},Object(ne.c)(ve.a,{variant:"h5"},o),Object(ne.c)("div",{style:{marginTop:"16px"}},Object(ne.c)(ve.a,{variant:"subtitle1"},i)),Object(ne.c)("div",{style:{marginTop:"24px",display:"flex",justifyContent:"space-between"}},Object(ne.c)(st.a,{variant:"contained",color:"primary",onClick:n,"data-testid":"delete-item-button"},a),Object(ne.c)(st.a,{variant:"contained",color:"secondary",onClick:r},s("cancel")))))};function ko(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return So(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return So(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function So(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Po=function(e){var t=e.deleteButtonText,r=e.onDelete,n=e.modalTitle,o=e.modalNotice,i=e.modalButton,a=ko(Object(Q.useState)(!1),2),s=a[0],c=a[1],l=Object(vo.g)().isSubmitting,p=Object(ee.b)().t;return Object(ne.c)(X.a.Fragment,null,Object(ne.c)(st.a,{variant:"contained",color:"secondary",size:"small",onClick:function(){c(!0)},"data-testid":"deleteButton",endIcon:l&amp;&amp;Object(ne.c)(wt.a,{size:20,color:"primary"}),style:{minWidth:"100px"}},null!=t?t:p("delete")),Object(ne.c)(wo,{open:s,handleClose:function(){c(!1)},onDelete:r,title:null!=n?n:p("confirmRemoval"),notice:null!=o?o:"",removeButtonText:null!=i?i:p("delete")}))};function To(e){return(To="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}var Co=["isSubmitting","dirty","isValid"];function Io(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Ao(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==To(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==To(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===To(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Do(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var Eo=function(e){var t=e.initialValues,r=e.onSubmit,n=e.saveButtonText,o=e.onDelete,i=e.deleteButtonText,a=e.modalTitle,s=e.modalNotice,c=e.modalButton,l=e.children,p=e.validationSchema,u=e.hideButtons,d=void 0!==u&amp;&amp;u,m=e.hideCancelButton,f=e.additionalButtons,b=e.initialTouched,h=e.saveButtonTestId,y=e.onCancel,g=Object(ee.b)().t;return Object(ne.c)(vo.d,{enableReinitialize:!0,initialValues:t,onSubmit:function(e,n){var o=Object(_o.a)(t,e);return r(e,n,o)},validationSchema:p,isInitialValid:!1,initialTouched:b},(function(e){var t=e.isSubmitting,r=e.dirty,p=e.isValid,u=Do(e,Co);return Object(ne.c)(vo.c,null,l(function(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Io(Object(r),!0).forEach((function(t){Ao(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Io(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({isSubmitting:t,dirty:r,isValid:p},u)),!d&amp;&amp;Object(ne.c)(cr.a,{mt:4,display:"flex",gap:1,flexWrap:"wrap"},Object(ne.c)(jo,{saveButtonText:n,"data-testid":h}),!m&amp;&amp;Object(ne.c)(st.a,{disabled:t||!r,color:"secondary",size:"small",variant:"contained",type:"reset","data-testid":"cancelButton",onClick:y,style:{minWidth:"100px"}},g("cancel")),"function"==typeof o&amp;&amp;Object(ne.c)(Po,{onDelete:o,deleteButtonText:i,modalTitle:a,modalNotice:s,modalButton:c}),f))}))},$o=r(404),No=["name","label","onChange"];function Lo(){return(Lo=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function Ro(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var qo=function(e){var t=e.name,r=e.label,n=e.onChange,o=Ro(e,No),i=Object(ee.b)().t;return Object(ne.c)(vo.a,{name:t},(function(e){var t,a=e.field,s=e.meta,c=null!==(t=a.value)&amp;&amp;void 0!==t?t:"";return Object(ne.c)(co,Lo({fullWidth:!0,label:r,errorText:s.touched?i(s.error||""):void 0,value:c},$o.a(["value"],a),o,{onChange:function(e){a.onChange(e),n&amp;&amp;n(e)}}))}))},Mo=["name","label","items"];function Fo(){return(Fo=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function Uo(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var zo=function(e){var t=e.name,r=e.label,n=e.items,o=Uo(e,Mo);return Object(ne.c)(vo.a,{name:t},(function(e){var t=e.field,i=o.multiple&amp;&amp;!t.value?[]:t.value;return Object(ne.c)(go,Fo({label:r,items:n},t,o,{value:i}))}))},Bo=r(468);r(504);var Ho=r(1653);function Vo(e){return(Vo="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}var Wo=["name","label","onChange","isSeconds"];function Go(){return(Go=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function Ko(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Yo(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ko(Object(r),!0).forEach((function(t){Jo(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ko(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Jo(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Vo(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Vo(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Vo(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Qo(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var Xo=Object(n.a)()((function(){return{root:{"&amp; .MuiInputAdornment-root":{"&amp; .MuiButtonBase-root.MuiIconButton-root":{marginRight:-8}}}}})),Zo=function(e){var t=e.name,r=e.label,n=e.onChange,o=e.isSeconds,i=Qo(e,Wo),a=Xo().classes;return Object(ne.c)(vo.a,{name:t},(function(e){var s=e.field;return Object(ne.c)(Ho.a,Go({label:r,className:a.root},s,i,{renderInput:function(e){var t=Yo(Yo({},e),{},{inputProps:Yo(Yo({},e.inputProps),{},{"data-testid":i["data-testid"]})});return(Object(ne.c)(co,t))},onChange:function(e){var r=e;o&amp;&amp;r&amp;&amp;(r/=1e3),s.onChange({target:{value:r,name:t}}),n&amp;&amp;n({target:{value:r,name:t}})}}))}))};function ei(e){return(ei="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function ti(e,t){for(var r=0;r&lt;t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&amp;&amp;(n.writable=!0),Object.defineProperty(e,oi(n.key),n)}}function ri(e,t,r){return t&amp;&amp;ti(e.prototype,t),r&amp;&amp;ti(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function ni(e,t,r){return(t=oi(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function oi(e){var t=function(e,t){if("object"!==ei(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==ei(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ei(t)?t:String(t)}var ii=new(ri((function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),ni(this,"units",["S","M","H","D","W"]),ni(this,"timeMultipliers",{S:1,M:60,H:3600,D:86400,W:604800}),ni(this,"getDiskDataUnitMultiplier",(function(e){var r;return null!==(r=t.timeMultipliers[e])&amp;&amp;void 0!==r?r:1})),ni(this,"convertToUnits",(function(e,r){return e/t.getDiskDataUnitMultiplier(r)})),ni(this,"convertFromUnits",(function(e,r){return e*t.getDiskDataUnitMultiplier(r)}))})));function ai(e){return(ai="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function si(e,t){for(var r=0;r&lt;t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&amp;&amp;(n.writable=!0),Object.defineProperty(e,pi(n.key),n)}}function ci(e,t,r){return t&amp;&amp;si(e.prototype,t),r&amp;&amp;si(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function li(e,t,r){return(t=pi(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function pi(e){var t=function(e,t){if("object"!==ai(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==ai(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ai(t)?t:String(t)}var ui=new(ci((function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),li(this,"units",["KB","MB","GB","TB"]),li(this,"getDiskDataUnitMultiplier",(function(e){var r=t.units.indexOf(e);return r&gt;-1?Math.pow(1024,r+1):1})),li(this,"convertToUnits",(function(e,r){return e/t.getDiskDataUnitMultiplier(r)})),li(this,"convertFromUnits",(function(e,r){return e*t.getDiskDataUnitMultiplier(r)}))}))),di=["value","onChange","format","errorText"];function mi(){return(mi=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function fi(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return bi(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return bi(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bi(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function hi(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var yi=function(e){var t=e.value,r=void 0===t?null:t,n=e.onChange,o=e.format,i=e.errorText,a=hi(e,di),s="time"===o?ii:ui,c=fi(Object(Q.useState)(function(e,t,r){if(null===e)return 0;for(var n=0;n&lt;t.length;n++){if(r(e,t[n])&lt;1)return n&gt;0?n-1:0}return 0}(r,s.units,s.convertToUnits)),2),l=c[0],p=c[1],u=s.units[l],d=fi(X.a.useState(null),2),m=d[0],f=d[1],b=Boolean(m),h=function(){f(null)},y=null!==r&amp;&amp;u?s.convertToUnits(r,u):r,g=s.units.length&gt;1;return Object(ne.c)(X.a.Fragment,null,Object(ne.c)(co,mi({fullWidth:!0,value:null!=y?y:"",endAdornment:u&amp;&amp;Object(ne.c)(st.a,{size:"small",disabled:!g,onClick:function(e){f(e.currentTarget)},endIcon:g&amp;&amp;Object(ne.c)(z.a,null)},Object(ne.c)(de.a,{variant:"subtitle1"},u)),onChange:function(e){var t=e.target.value?+e.target.value:null;n&amp;&amp;n(u?null!==t?s.convertFromUnits(t,u):null:t)},errorText:i,type:"number"},a)),Object(ne.c)($t.a,{anchorEl:m,open:b,onClose:h},s.units.map((function(e,t){return Object(ne.c)(_t.a,{disabled:l===t,key:t,onClick:function(){return e=t,r=s.units[e],null!==y&amp;&amp;n&amp;&amp;n(s.convertFromUnits(y,r)),p(e),void h();var e,r}},e)}))))},gi=["name"],vi=["onChange"];function _i(){return(_i=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function Oi(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var ji=function(e){var t=e.name,r=Oi(e,gi),n=Object(ee.b)().t;return Object(ne.c)(vo.a,{name:t},(function(e){var o=e.field,i=e.form,a=e.meta,s=(o.onChange,Oi(o,vi));return Object(ne.c)(yi,_i({onChange:function(e){i.setFieldValue(t,e)},errorText:a.touched?n(a.error||""):void 0},r,s))}))};function xi(e){return(xi="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}var wi=["name","label","docDescription","checked"];function ki(){return(ki=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function Si(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Pi(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Si(Object(r),!0).forEach((function(t){Ti(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Si(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Ti(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==xi(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==xi(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===xi(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ci(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var Ii=function(e){var t=e.name,r=e.label,n=e.docDescription,o=e.checked,i=Ci(e,wi);return Object(ne.c)(vo.a,{name:t},(function(e){var t=e.field;return Object(ne.c)(it,{control:Object(ne.c)(Zt,ki({color:"primary",checked:eo.a(o)?t.value:o,inputProps:Pi(Pi({},i.inputProps),{},{"data-testid":i["data-testid"]})},t,$o.a(["data-testid"],i))),label:r,docDescription:n})}))};function Ai(e){return(Ai="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}var Di=["name","label","items","multiple","placeholder","freeSolo","disabled","error","helperText"];function Ei(){return(Ei=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function $i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Ni(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?$i(Object(r),!0).forEach((function(t){Li(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Li(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Ai(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Ai(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ai(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ri(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var qi=Object(n.a)()((function(e){return{textField:{background:e.palette.common.white,marginTop:"9px !important"}}})),Mi=function(e){var t=e.name,r=e.label,n=e.items,o=e.multiple,i=e.placeholder,a=e.freeSolo,s=e.disabled,c=e.error,l=(e.helperText,Ri(e,Di)),p=qi().classes;return Object(ne.c)(vo.a,{name:t},(function(e){var u,d=e.field,m=e.form,f=d.value,b=null!=f?f:[],h=null!==(u=d.value)&amp;&amp;void 0!==u?u:"",y=o?b:h;return Object(ne.c)(X.a.Fragment,null,Object(ne.c)(ao,{shrink:!0},r),Object(ne.c)(Nt.a,Ei({fullWidth:!0,multiple:o,options:n,freeSolo:a,size:"small",renderInput:function(e){return Object(ne.c)(Ne.a,Ei({className:p.textField,placeholder:i},e,{error:!!c,helperText:c?"".concat(t," incorrect"):"",inputProps:Ni(Ni({},e.inputProps),{},{"data-testid":"".concat(l["data-testid"],"-input")})}))}},d,{value:y,onChange:function(e,r){m.setFieldValue(t,r)},disabled:s},l)))}))},Fi=["value","onChange","checked"];function Ui(){return(Ui=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function zi(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var Bi=function(e){var t=e.name,r=e["data-testid"],n=e.label,o=e.value,i=e.allowUndefined,a=void 0!==i&amp;&amp;i;return Object(ne.c)(vo.a,{name:t},(function(e){var i=e.field,s=e.form,c=i.value,l=(i.onChange,i.checked,zi(i,Fi)),p=i.value===o||a&amp;&amp;void 0===i.value;return Object(ne.c)(it,{control:Object(ne.c)(at.a,Ui({inputProps:{"data-testid":r},checked:p,onChange:function(e,r){r&amp;&amp;s.setFieldValue(t,o)},value:null!=c?c:""},l)),label:n})}))};Object(n.a)()((function(e){return{root:{display:"flex",gap:e.spacing()}}}));var Hi=Object(n.a)()((function(){return{hr:{border:"none",backgroundColor:"#edf0f2",height:1}}})),Vi=function(e){var t=e.mt,r=void 0===t?2:t,n=e.mb,o=void 0===n?2:n,i=Hi().classes;return Object(ne.c)(cr.a,{mt:r,mb:o,width:"100%"},Object(ne.c)("hr",{className:i.hr}))},Wi=r(1538),Gi=["value","textColor"];function Ki(){return(Ki=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function Yi(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var Ji=Object(n.a)()((function(){return{labelWrapper:{top:0,left:0,bottom:0,right:0,position:"absolute",display:"flex",alignItems:"center",justifyContent:"center"}}})),Qi=function(e){var t=e.value,r=e.textColor,n=Yi(e,Gi),o=Ji().classes;return Object(ne.c)(cr.a,{position:"relative",display:"inline-flex"},Object(ne.c)(Wi.a,Ki({variant:"determinate",value:t},n)),Object(ne.c)(cr.a,{className:o.labelWrapper},Object(ne.c)(ve.a,{variant:"subtitle2",component:"div",fontSize:10,color:r},"".concat(Math.round(t),"%"))))},Xi=function(){return Object(ne.c)(Ce.a,{width:"100%",textAlign:"center",my:2},Object(ne.c)(wt.a,{size:30,color:"primary"}))},Zi=function(e){var t=e.isLoading,r=e.children;return Object(ne.c)(Q.Fragment,null,t&amp;&amp;Object(ne.c)(Xi,null),!t&amp;&amp;r)},ea=r(334),ta=r.n(ea);function ra(){return(ra=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}var na=function(e){var t=ra({},(function(e){if(null==e)throw new TypeError("Cannot destructure "+e)}(e),e));return Object(ne.c)(et,ra({variant:"outlined",InputProps:{startAdornment:Object(ne.c)(zt.a,{position:"start"},Object(ne.c)(ta.a,{fontSize:"small",color:"action"}))}},t))},oa=Object(n.a)()((function(){return{showMoreButton:{fontWeight:400,fontSize:14,padding:"4px 6px 2px 6px",height:32},showMoreIcon:{fontSize:"6px !important"},filterIcon:{fontSize:"14px !important"}}})),ia=function(e){var t=e.isOpen,r=e.classes,n=e.onChangeIsOpen,o=oa(),i=o.classes,a=o.cx;return Object(ne.c)(st.a,{color:"primary",variant:"contained",size:"small",className:a(i.showMoreButton,null==r?void 0:r.button),startIcon:Object(ne.c)("span",{className:i.filterIcon},Object(ne.c)(J.j,null)),endIcon:Object(ne.c)("span",{className:i.showMoreIcon},t?Object(ne.c)(J.c,null):Object(ne.c)(J.b,null)),onClick:function(){return n(!t)}})},aa=function(e){var t=e.label,r=e.docDescription,n=e.description,i=e.additional,a=Object(o.a)();return Object(ne.c)(Ce.a,{display:"flex",alignItems:"center",flexWrap:"wrap",columnGap:1,rowGap:0},Object(ne.c)(de.a,{color:a.palette.grey[600],fontWeight:500},t,r&amp;&amp;Object(ne.c)(Fe.a,{docDescription:r,style:{padding:"0 0 0 4px"}})),i,n&amp;&amp;Object(ne.c)(de.a,{color:a.palette.grey[600]},n))};function sa(e){return(sa="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function ca(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return la(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return la(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function la(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function pa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function ua(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?pa(Object(r),!0).forEach((function(t){da(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):pa(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function da(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==sa(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==sa(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===sa(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var ma=J.u.CloseIcon,fa=J.u.InfoIcon,ba=J.u.ErrorIcon,ha=Object(n.a)()((function(e,t){var r={};switch(t.color){case"info":r={background:"#EBEEF8",border:"1px solid #002DAB",".MuiChip-icon":{color:e.palette.primary.main}};break;case"warning":r={background:Object(Ln.a)(e.palette.warning.main,.08),border:"1px solid ".concat(e.palette.warning.main),".MuiChip-icon":{color:e.palette.warning.main}};break;case"error":r={background:Object(Ln.a)(e.palette.error.main,.08),border:"1px solid ".concat(e.palette.error.main),".MuiChip-icon":{color:e.palette.error.main}};break;default:r={}}return{notification:ua(ua({borderRadius:8,color:"#232323",fontWeight:500,width:"100%",padding:e.spacing(2),justifyContent:"flex-start",height:52,fontSize:16},r),{},{".MuiChip-deleteIcon":{color:"#232323",marginLeft:"auto",":hover":{color:"#232323"}}})}})),ya=function(e){var t=e.label,r=e.color,n=e.localStorageKey,o=e.removable,i=e.onRemove,a=ha({color:r}).classes,s=ca(Object(Q.useState)(!!n&amp;&amp;JSON.parse(localStorage.getItem(n)||"false")),2),c=s[0],l=s[1];return c?null:Object(ne.c)(ir.a,{color:r,label:t,className:a.notification,icon:"error"===r?Object(ne.c)(ba,{fontSize:"inherit"}):Object(ne.c)(fa,{fontSize:"inherit"}),deleteIcon:o?Object(ne.c)(ma,null):void 0,onDelete:o?function(){n&amp;&amp;localStorage.setItem(n,JSON.stringify(!0)),null==i||i(),l(!0)}:void 0})},ga=r(94),va=function(e){var t=e.onLocationChange,r=Object(ga.useLocation)();return Object(Q.useEffect)((function(){t()}),[r.pathname]),null},_a=r(103),Oa=r.n(_a),ja=Object(n.a)()((function(e){return{root:{padding:"".concat(e.spacing(1)," ").concat(e.spacing(2)),border:"1px solid ".concat(e.palette.grey[300]),borderRadius:8,boxShadow:"0px 1px 2px rgba(0, 0, 0, 0.15)"},fullHeight:{height:"100%"}}})),xa=function(e){var t=e.title,r=e.children,n=e.mt,o=e.mb,i=e.fullHeight,a=ja().classes;return Object(ne.c)(Ce.a,{className:Oa()(a.root,i&amp;&amp;a.fullHeight),mt:n,mb:o},"string"==typeof t?Object(ne.c)(de.a,{fontSize:15,fontWeight:500,mb:1},t):t,r)},wa=function(e){var t=e.titleText,r=e.button,n=e.variant,o=e.hideHr,i=e.sxHeight;return Object(ne.c)(X.a.Fragment,null,!o&amp;&amp;Object(ne.c)(Vi,null),Object(ne.c)(Ce.a,{display:"flex",alignItems:"center"},Object(ne.c)(de.a,{variant:null!=n?n:"subtitle2",mr:1,sx:{height:i}},t),r))},ka=r(350);r(505);var Sa=function(e){var t=e.testId,r=e.children;return Object(ne.c)("div",{"data-testid":t},r)},Pa=Object(n.a)()((function(e){return{paper:{width:550,maxWidth:"100%",margin:"90px auto",backgroundColor:e.palette.background.paper,padding:e.spacing(2,4,3),outline:"none",maxHeight:"calc(100vh - 120px)",overflow:"auto"}}})),Ta=function(e){var t=e.open,r=e.handleClose,n=e.title,o=e.children,i=Object(ee.b)().t,a=Pa().classes;return Object(ne.c)(jt.a,{open:t,onClose:r},Object(ne.c)(cr.a,{className:a.paper},n&amp;&amp;Object(ne.c)(ve.a,{variant:"h5"},n),Object(ne.c)(cr.a,{mt:2},o),Object(ne.c)(cr.a,{mt:3,display:"flex",justifyContent:"flex-end"},Object(ne.c)(st.a,{variant:"contained",color:"primary",onClick:r},i("ok")))))},Ca=r(846),Ia=r.n(Ca),Aa=r(845),Da=r.n(Aa),Ea=Object(n.a)()((function(e){return{chip:{borderRadius:"4px !important",color:"#232323 !important",fontSize:12,fontWeight:500,height:"22px !important",border:"1px solid ".concat(e.palette.success.main),backgroundColor:Object(Ln.a)(e.palette.success.main,.08),marginLeft:e.spacing(1),lineHeight:1,textTransform:"uppercase","&amp;.grey":{backgroundColor:Object(Ln.a)(e.palette.grey[500],.08),border:"1px solid ".concat(e.palette.grey[500])}},chipIcon:{color:e.palette.success.main,fontSize:14,paddingRight:e.spacing(.5),paddingTop:2,"&amp;.grey":{color:e.palette.grey[500]}},copyButton:{marginRight:e.spacing(1)}}})),$a=["value","startAdornmentLabel","color","link","hideEndAdornment"];function Na(){return(Na=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function La(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var Ra=function(e){var t=e.value,r=e.startAdornmentLabel,n=e.color,o=e.link,i=e.hideEndAdornment,a=La(e,$a),s=Ea().classes,c=Da()();return Object(ne.c)(co,Na({endAdornment:!i&amp;&amp;(o?Object(ne.c)(Ct,{to:"".concat(o),component:xr.b},Object(ne.c)(lt.b,{size:"small",sx:{marginRight:c.spacing(1),color:"black"}},Object(ne.c)(Ia.a,null))):Object(ne.c)(ue,{value:t,buttonProps:{className:s.copyButton}})),value:t,startAdornment:r?Object(ne.c)(ir.a,{label:Object(ne.c)(Ce.a,{display:"flex",alignItems:"center"},Object(ne.c)("span",{className:"".concat(s.chipIcon," ").concat(n)},Object(ne.c)(J.m,null))," ",r),className:"".concat(s.chip," ").concat(n)}):""},a))},qa=r(318);function Ma(e){return(Ma="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Fa(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Ma(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Ma(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ma(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ua(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return za(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return za(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function za(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Ba=Object(n.a)()((function(){return{container:{position:"absolute",top:0,left:0,width:"100%",height:"100%",zIndex:0},content:{objectFit:"fill"},video:{position:"absolute",top:0,width:"100%",height:"100%",opacity:0,zIndex:1,transition:"opacity .3s ease"},videoVisible:{zIndex:0,opacity:1,transition:"none"}}})),Ha=function(e){var t=e.videoSrc,r=e.previewUrl,n=e.classPreview,o=Ua(Object(Q.useState)(0),2),i=o[0],a=o[1],s=Object(Q.useRef)(!0),c=Ua(Object(Q.useState)(),2),l=c[0],p=c[1],u=Ua(Object(Q.useState)(),2),d=u[0],m=u[1],f=Ba(),b=f.classes,h=f.cx;return Object(Q.useEffect)((function(){if(t){var e="data:video/mp4;base64,".concat(t);s.current?p(e):m(e),s.current=!s.current}}),[t]),Object(ne.c)("div",{className:b.container},Object(qa.a)()?Object(ne.c)("img",{width:"100%",height:"100%",alt:"",src:r,crossOrigin:"anonymous",className:b.content}):Object(ne.c)(X.a.Fragment,null,[l,d].map((function(e,t){return Object(ne.c)("video",{key:t,className:h(b.video,n||b.content,Fa({},b.videoVisible,i===t)),crossOrigin:"anonymous",src:e,width:"100%",height:"100%",playsInline:!0,autoPlay:!0,onLoadedData:function(){a(t)}})}))))},Va=(r(1656),r(1546));r(847);function Wa(e){return(Wa="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Ga(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Wa(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Wa(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Wa(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}J.u.CloseIcon,Object(n.a)()((function(e){return{paper:Ga({position:"fixed",bottom:0,left:0,right:0,margin:0,padding:e.spacing(2,0),borderWidth:0,borderTopWidth:1,zIndex:1},e.breakpoints.down("sm"),{padding:e.spacing(3,1,2,1)})}}));window.addEventListener("beforeinstallprompt",(function(e){e.preventDefault(),e}));var Ka=r(1691),Ya=r(1692),Ja=function(){return Object(ne.c)(Ce.a,{display:"flex",alignItems:"center",justifyContent:"center",position:"fixed",top:0,left:0,right:0,bottom:0},Object(ne.c)(wt.a,{color:"primary"}))},Qa=Object(n.a)()((function(){return{dropdownButton:{fontWeight:400,paddingTop:3,paddingBottom:3,whiteSpace:"nowrap",height:32},sortIcon:{fontSize:"12px !important"},radioButtons:{minWidth:"132px"}}}));function Xa(e){return function(e){if(Array.isArray(e))return Za(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Za(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Za(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Za(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var es=J.u.ArrowDropDownIcon,ts=function(e){var t=e.sort,r=e.items,n=e.menuWidth,o=e.onChange,i=e.isMultiple,a=e.defaultSort,s=Object(ee.b)().t,c=Qa().classes,l=function(e,r){var n=e;if(i&amp;&amp;r){var a=t.split(",").map((function(t){return t===r||t==="-".concat(r)?e:t}));n=a.includes(e)?Xa(a).join(","):[].concat(Xa(a),[e]).join(",")}o("sort",n||"")},p=function(){o("sort",null!=a?a:"")},u=Object(Q.useMemo)((function(){return r.map((function(e,n){var o,i=t?t.split(","):t,a=t;return Array.isArray(i)&amp;&amp;i.length&gt;1&amp;&amp;e.field&amp;&amp;(i.includes(e.field)&amp;&amp;(a=e.field),i.includes("-".concat(e.field))&amp;&amp;(a="-".concat(e.field))),{children:Object(ne.c)(X.a.Fragment,null,Object(ne.c)(Zn,{className:c.radioButtons,label:e.label,radioButtons:e.radioButtons,onChange:function(t,r){return l(r,e.field)},value:null!==(o=a)&amp;&amp;void 0!==o?o:""}),t&amp;&amp;n===r.length-1&amp;&amp;Object(ne.c)(Ce.a,{width:"100%",mt:2},Object(ne.c)(st.a,{variant:"contained",color:"secondary",size:"small",onClick:p,fullWidth:!0},s("sort.reset"))))}}))}),[r]);return Object(ne.c)(Jn,{label:"".concat(s("sortBy"),":"),buttonProps:{startIcon:Object(ne.c)("span",{className:c.sortIcon},Object(ne.c)(J.o,null)),endIcon:Object(ne.c)(es,null),variant:"outlined",color:"inherit",className:c.dropdownButton},menuWidth:n,dropdownItems:u})};function rs(e){return(rs="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function ns(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==rs(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==rs(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===rs(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var os=Object(n.a)()((function(e){return{text:ns(ns({},e.breakpoints.down("lg"),{fontSize:22}),"fontSize",26)}})),is=function(){var e=os().classes;return Object(ne.c)(Ce.a,{display:"flex",alignItems:"center",justifyContent:"center",textAlign:"center",position:"absolute",top:0,left:0,right:0,bottom:0,p:2},Object(ne.c)(de.a,{className:e.text},"Something went wrong. We're aware of the problem and solving it now. Please try again later."))};r(1643),Object(n.a)()((function(){return{markDown:{p:{fontWeight:400},strong:{fontWeight:500}}}})),Object(n.a)()((function(){return{container:{display:"flex",flexDirection:"column",gap:"8px"},label:{marginBottom:"4px"},fileRow:{display:"flex",alignItems:"center",justifyContent:"flex-start",gap:"8px"},uploadButton:{maxWidth:"150px",maxHeight:"32px",marginLeft:"auto",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},helperText:{marginTop:"8px"},errorText:{marginTop:"8px"}}}));r.d(t,"xc",(function(){return u.a})),r.d(t,"tc",(function(){return d.a})),r.d(t,"zc",(function(){return o.a})),r.d(t,"sc",(function(){return i.a})),r.d(t,"z",(function(){return s.a})),r.d(t,"hc",(function(){return a.a})),r.d(t,"wc",(function(){return n.a})),r.d(t,"Ib",(function(){return p.a})),r.d(t,"yc",(function(){return c.a})),r.d(t,"vc",(function(){return l.a})),r.d(t,"B",(function(){return f.a})),r.d(t,"pb",(function(){return h.a})),r.d(t,"uc",(function(){return J.u})),r.d(t,"N",(function(){return g.a})),r.d(t,"h",(function(){return _.a})),r.d(t,"e",(function(){return j.a})),r.d(t,"q",(function(){return w.a})),r.d(t,"r",(function(){return S.a})),r.d(t,"M",(function(){return T.a})),r.d(t,"pc",(function(){return I.a})),r.d(t,"oc",(function(){return D.a})),r.d(t,"tb",(function(){return $.a})),r.d(t,"w",(function(){return L.a})),r.d(t,"Zb",(function(){return q.a})),r.d(t,"Ob",(function(){return F.a})),r.d(t,"ub",(function(){return z.a})),r.d(t,"vb",(function(){return H.a})),r.d(t,"j",(function(){return W.a})),r.d(t,"D",(function(){return G.a})),r.d(t,"K",(function(){return Y.a})),r.d(t,"Yb",(function(){return he})),r.d(t,"cc",(function(){return je})),r.d(t,"dc",(function(){return Oe})),r.d(t,"ec",(function(){return Ee})),r.d(t,"fc",(function(){return et})),r.d(t,"l",(function(){return Ce.a})),r.d(t,"eb",(function(){return Ce.b})),r.d(t,"R",(function(){return it})),r.d(t,"Qb",(function(){return at.a})),r.d(t,"n",(function(){return st.a})),r.d(t,"ac",(function(){return pt})),r.d(t,"L",(function(){return ut})),r.d(t,"d",(function(){return dt})),r.d(t,"lc",(function(){return te.a})),r.d(t,"wb",(function(){return yt})),r.d(t,"ib",(function(){return ye.a})),r.d(t,"x",(function(){return gt.a})),r.d(t,"Nb",(function(){return vt.a})),r.d(t,"Gb",(function(){return _t.a})),r.d(t,"f",(function(){return Ot.a})),r.d(t,"mc",(function(){return de.a})),r.d(t,"Hb",(function(){return jt.a})),r.d(t,"mb",(function(){return lt.b})),r.d(t,"k",(function(){return lt.a})),r.d(t,"lb",(function(){return ge.a})),r.d(t,"y",(function(){return xt.a})),r.d(t,"u",(function(){return wt.a})),r.d(t,"yb",(function(){return Ct})),r.d(t,"Pb",(function(){return It.a})),r.d(t,"E",(function(){return At.a})),r.d(t,"G",(function(){return Dt.a})),r.d(t,"I",(function(){return Et.a})),r.d(t,"Fb",(function(){return $t.a})),r.d(t,"g",(function(){return Nt.a})),r.d(t,"xb",(function(){return Lt.a})),r.d(t,"zb",(function(){return Rt.a})),r.d(t,"a",(function(){return qt.a})),r.d(t,"b",(function(){return Mt.a})),r.d(t,"c",(function(){return Ft.a})),r.d(t,"Db",(function(){return Ut.a})),r.d(t,"rb",(function(){return zt.a})),r.d(t,"Ab",(function(){return Bt.a})),r.d(t,"Cb",(function(){return Ht.a})),r.d(t,"Vb",(function(){return Yt})),r.d(t,"Q",(function(){return Jt.a})),r.d(t,"sb",(function(){return Qt.a})),r.d(t,"s",(function(){return Zt})),r.d(t,"Bb",(function(){return er.a})),r.d(t,"i",(function(){return tr.a})),r.d(t,"J",(function(){return rr.a})),r.d(t,"F",(function(){return nr.a})),r.d(t,"H",(function(){return or.a})),r.d(t,"t",(function(){return ir.a})),r.d(t,"T",(function(){return ar.a})),r.d(t,"bc",(function(){return sr.a})),r.d(t,"p",(function(){return _r})),r.d(t,"m",(function(){return $r})),r.d(t,"Eb",(function(){return pn})),r.d(t,"O",(function(){return un.a})),r.d(t,"Lb",(function(){return Tn})),r.d(t,"jc",(function(){return $n})),r.d(t,"kc",(function(){return Nn})),r.d(t,"A",(function(){return Hn})),r.d(t,"Wb",(function(){return co})),r.d(t,"X",(function(){return Eo})),r.d(t,"cb",(function(){return qo})),r.d(t,"ab",(function(){return zo})),r.d(t,"bb",(function(){return Bo.a})),r.d(t,"W",(function(){return Zo})),r.d(t,"db",(function(){return ji})),r.d(t,"V",(function(){return Ii})),r.d(t,"U",(function(){return Mi})),r.d(t,"Y",(function(){return Bi})),r.d(t,"Z",(function(){return jo})),r.d(t,"jb",(function(){return Vi})),r.d(t,"v",(function(){return Qi})),r.d(t,"Ub",(function(){return Zi})),r.d(t,"kb",(function(){return Fe.a})),r.d(t,"Tb",(function(){return na})),r.d(t,"o",(function(){return ia})),r.d(t,"S",(function(){return aa})),r.d(t,"Jb",(function(){return ya})),r.d(t,"qc",(function(){return va})),r.d(t,"Kb",(function(){return xa})),r.d(t,"ic",(function(){return wa})),r.d(t,"fb",(function(){return ka.a})),r.d(t,"gb",(function(){return ka.b})),r.d(t,"hb",(function(){return ka.c})),r.d(t,"rc",(function(){return Ln.a})),r.d(t,"Mb",(function(){return Sa})),r.d(t,"C",(function(){return wo})),r.d(t,"qb",(function(){return Ta})),r.d(t,"gc",(function(){return Ra})),r.d(t,"nc",(function(){return Ha})),r.d(t,"ob",(function(){return Ka.a})),r.d(t,"nb",(function(){return Ya.a})),r.d(t,"Sb",(function(){return Ja})),r.d(t,"Xb",(function(){return ts})),r.d(t,"Rb",(function(){return is})),r.d(t,"P",(function(){return Va.a}))},10:function(e){e.exports=JSON.parse('{"a":{"schemas":{"ts_pid":{"maximum":8191,"minimum":0,"type":"integer"},"loglevel":{"type":"string","description":"The level of logging according to event importance. Several values separated by comma.","example":"debug","oneOf":[{"title":"None","const":"none","description":"Logging disabled.","x-api-deny":["watcher-admin"]},{"title":"Debug","const":"debug","description":"Messages of all types are logged."},{"title":"Info","const":"info","description":"Log info messages."},{"title":"Notice","const":"notice","description":"Log notices.","x-api-deny":["watcher-admin"]},{"title":"Warning","const":"warning","description":"Log warnings."},{"title":"Error","const":"error","description":"Log errors."},{"title":"Alert","const":"alert","description":"Log alerts.","x-api-deny":["watcher-admin"]},{"title":"Critical","const":"critical","description":"Log critical messages."}]},"collection_response":{"type":"object","properties":{"estimated_count":{"description":"Estimated total number of records for the query (regardless of the cursors).\\n","type":"integer","example":5},"next":{"description":"Next cursor: a properly encoded equivalent of offset allowing to read the next bunch of items.\\nLearn more in [Flussonic API design principles](https://flussonic.com/doc/rest-api-guidelines/#api-http-collections-cursor).\\n","example":"JTI0cG9zaXRpb25fZ3Q9MA==","type":"string"},"prev":{"description":"Previous cursor: a properly encoded equivalent of offset allowing to read the previous bunch of items.\\nLearn more in [Flussonic API design principles](https://flussonic.com/doc/rest-api-guidelines/#api-http-collections-cursor).\\n","example":"JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl","type":"string"},"timing":{"description":"An object with a list of different timings measured during this API call.","type":"object"}}},"error_response":{"type":"object","properties":{"errors":{"description":"List of structured errors","type":"array","items":{"$ref":"#/components/schemas/error"}},"error":{"type":"string","deprecated":true,"x-delete-at":23.09,"x-private":true,"description":"This is how flussonic serves errors right now. To be removed as we migrate to new format\\n"}}},"error":{"type":"object","properties":{"id":{"type":"string","description":"a unique identifier for this particular occurrence of the problem\\n"},"status":{"type":"string","description":"the HTTP status code applicable to this problem, expressed as a string value\\n"},"code":{"type":"string","description":"an application-specific error code, expressed as a string value\\n"},"title":{"type":"string","description":"a short, human-readable summary of the problem that SHOULD NOT change from\\noccurrence to occurrence of the problem, except for purposes of localization\\n"},"source":{"description":"an object containing references to the source of the error\\n","type":"object","properties":{"pointer":{"type":"string","description":"a JSON Pointer [RFC6901] to the associated entity in the request document\\n[e.g. `\\"/data\\"` for a primary data object, or `\\"/data/attributes/title\\"` for a specific attribute].\\n"},"parameter":{"type":"string","description":"a string indicating which URI query parameter caused the error."}}},"meta":{"type":"object","description":"a meta object containing non-standard meta-information about the error.\\n","additionalProperties":{"type":"string"}}}},"thumbnails_spec":{"type":"object","properties":{"url":{"description":"*Flussonic* takes a thumbnail from the specified URL on each keyframe.\\nMay reduce CPU usage on IP cameras.\\n","type":"string","example":"http://10.115.23.45/isapi/thumbnail.jpg"},"enabled":{"description":"Whether to generate thumbnails from the video stream.","oneOf":[{"$ref":"#/components/schemas/thumbnails_enabled_spec"}],"default":true},"sizes":{"description":"What sizes will be used for thumbnails generation.","type":"array","items":{"$ref":"#/components/schemas/thumbnails_size_spec"},"default":[]}}},"thumbnails_enabled_spec":{"oneOf":[{"type":"boolean","enum":[true,false],"description":"Configures thumbnails behaviour.\\n- true : \\n\\n    In case of Stream: \\n      Thumbnails are created and stored in DVR during the recording. If thumbnail is requested then it will be returned from DVR.\\n\\n    In case of VOD:\\n      Thumbnails are created and stored in VOD location at thumbnails folder during the VOD opening if they are not created yet.\\n      If VOD location is `readonly` then it will be used only for thumbnails searching. Nothing will be created and stored.  \\n\\n      If thumbnail is requested then it will be returned from thumbnails folder in VOD location.\\n\\n- false : thumbnails are not stored at all. If thumbnail is requested then 403 \'Forbidden\' error will be returned.\\n"},{"type":"string","enum":["ondemand"],"description":"- ondemand : thumbnails are not stored at all. If thumbnail is requested then it will be generated from corresponding video frame.\\n"}]},"thumbnails_size_spec":{"type":"object","properties":{"width":{"type":"integer","description":"The thumbnail width."},"height":{"type":"integer","description":"The thumbnail height."}}},"session_key":{"anyOf":[{"oneOf":[{"title":"IP","const":"ip","description":"IP address"},{"title":"Name","const":"name","description":"Stream name"},{"title":"Proto","const":"proto","description":"Protocol"},{"title":"Token","const":"token","description":"Token"}],"type":"string"},{"allOf":[{"$ref":"#/components/schemas/session_key_query"}]}]},"session_status":{"oneOf":[{"title":"Establishing","const":"establishing"},{"title":"Running","const":"running"},{"title":"Stalling","const":"stalling"},{"title":"Finished","const":"finished"}],"type":"string"},"protocol":{"type":"string","oneOf":[{"title":"copy","const":"copy"},{"title":"fake","const":"fake"},{"title":"RTP","const":"rtp"},{"title":"RTMP","const":"rtmp"},{"title":"RTMPS","const":"rtmps"},{"title":"RTMPE","const":"rtmpe"},{"title":"RTSP","const":"rtsp"},{"title":"RTSP-UDP","const":"rtsp-udp"},{"title":"RTSP2","const":"rtsp2"},{"title":"RTSPS","const":"rtsps"},{"title":"EST","const":"est"},{"title":"SRT","const":"srt"},{"title":"MSE-LD","const":"mseld"},{"title":"SHOUTcast","const":"shoutcast"},{"title":"SHOUTcasts","const":"shoutcasts"},{"title":"WebRTC","const":"webrtc"},{"title":"HLS","const":"hls"},{"title":"HLSS","const":"hlss"},{"title":"HLS2","const":"hls2"},{"title":"HLSS2","const":"hlss2"},{"title":"LL-HLS","const":"llhls"},{"title":"CMAF","const":"cmaf"},{"title":"DASH","const":"dash"},{"title":"MSS","const":"mss"},{"title":"M4S","const":"m4s"},{"title":"M4SS","const":"m4ss"},{"title":"M4F","const":"m4f"},{"title":"M4FS","const":"m4fs"},{"title":"HTTP MPEG-TS","const":"tshttp"},{"title":"HTTPS MPEG-TS","const":"tshttps"},{"title":"TCP MPEG-TS","const":"tstcp"},{"title":"SSL MPEG-TS","const":"tsssl"},{"title":"FLV","const":"flv"},{"title":"annexB","const":"annexb"},{"title":"UDP","const":"udp"},{"title":"UDP1","const":"udp1"},{"title":"UDP2","const":"udp2"},{"title":"UDP3","const":"udp3"},{"title":"UDP MPTS","const":"mpts-udp"},{"title":"HTTP MPTS","const":"mpts-http"},{"title":"HTTPS MPTS","const":"mpts-https"},{"title":"DVB MPTS","const":"mpts-dvb"},{"title":"DVB","const":"dvb"},{"title":"Decklink","const":"decklink"},{"title":"DekTec","const":"dektec"},{"title":"DekTec ASI","const":"dektec-asi"},{"title":"v4l","const":"v4l"},{"title":"v4l2","const":"v4l2"},{"title":"Playlist","const":"playlist"},{"title":"Mixer","const":"mixer"},{"title":"Mosaic","const":"mosaic"},{"title":"Mosaic2","const":"mosaic2"},{"title":"Timeshift","const":"timeshift"},{"title":"File","const":"file"},{"title":"Download","const":"download"},{"title":"MBR","const":"mbr"},{"title":"MP4","const":"mp4"},{"title":"Logo","const":"logo"},{"title":"JPEG","const":"jpeg"},{"title":"MJPEG","const":"mjpeg"},{"title":"H.323","const":"h323"},{"title":"Ad injector","const":"ad_injector"},{"title":"ffmpeg","const":"ffmpeg"},{"title":"Transponder","const":"transponder"},{"title":"API","const":"api"},{"title":"JSON manifest","const":"json_manifest"},{"title":"Player","const":"player"},{"title":"NDI","const":"ndi"},{"title":"ST2110","const":"st2110"}]},"auth_response_v1":{"type":"object","properties":{"ad_inject":{"description":"Configuration of injecting advertising video clips into played stream.","type":"object","properties":{"v":{"description":"The version of ad insertion mechanism used by Flussonic: \\n\\n* `v=1` is an extension of the authorization system, it works with HLS and DASH protocols only. \\nThe ad is inserted to the manifest (playlist), so plugins such as AdBlock can detect and block the advertisement.\\n\\n* `v=2` (default) provides more resistance to ad blockers. \\nThe ad replaces the stream segments within the play session so that it is impossible to distinguish \\nwhether it is a main stream segment or an ad segment. \\nIt also allows you to customize the advertisements for a particular user. \\nBesides, it works with a single-period as well as a multi-period DASH.\\n","type":"integer","default":2,"example":2},"preroll":{"description":"The paths to the pre-roll advertising files in a VOD location.\\n\\nAll the pre-roll files are played before switching to the main stream:\\n\\n* live main stream is *replaced* by the pre-roll so the content may be overlapped by the ads.\\n* VOD main stream is entirely played after the pre-roll without overlapping like in a playlist.\\n\\nThe order of pre-roll playback is defined by the order of values in the array.\\n","type":"array","items":{"type":"string"},"example":["ad_vod/preroll1.mp4"]},"midroll":{"description":"The paths to the mid-roll advertising files in a VOD location.\\n\\nYou may choose the mid-roll mode using the `midroll_insert_by` parameter.\\n\\nThe order of mid-roll playback is defined by the order of values in the array.\\n","type":"array","items":{"type":"string"},"example":["ad_vod/midroll1.mp4","ad_vod/midroll2.mp4"]},"midroll_insert_by":{"description":"When to perform midrolls.\\n","type":"string","oneOf":[{"title":"Interval","const":"interval","description":"All ad files are played in the specified order once every `midroll_interval`.\\n"},{"title":"Splicing","const":"splicing","description":"You can use this option if your stream has SCTE-35 or SCTE-104 markers.\\n\\nThe ad files are played in the specified order (looped, from the beginning of the array) \\nuntil a marker for switching to the main stream is received,\\nor until the end of the advertisement slot (whichever comes first).\\n"}],"default":"interval"},"midroll_interval":{"description":"The interval between showing mid-roll advertisement files. \\nUse with `midroll_insert_by=interval` only.\\n","type":"integer","example":180},"midroll_program_id":{"description":"You can use this option to choose SCTE-35 or SCTE-104 markers having this program_id only for this mid-roll.\\nUse with `midroll_insert_by=splicing` only.\\n","type":"integer","example":1}}},"allowed_dvr_ranges":{"type":"array","description":"Permitted DVR intervals.\\nBy default when no allowed_dvr_ranges defined all archive is available for requests.\\nEmpty list means no access.\\n","items":{"type":"object","description":"\'opened_at\' or \'closed_at\' can be omitted (not both), which means open interval.\\n","properties":{"opened_at":{"type":"integer","format":"utc","description":"Start of the interval, inclusive.\\n","example":1710010000,"x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000},"closed_at":{"type":"integer","format":"utc","description":"End of the interval, exclusive.\\n","example":1710020000,"x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000}}}},"label":{"type":"string","description":"A label that can be used to mark a session.","x-private":true,"example":"watcher_shared_token"}}},"playback_headers":{"type":"object","properties":{"playback":{"type":"string","description":"Playback type for which the HTTP headers apply.","oneOf":[{"title":"Live","const":"live"},{"title":"DVR","const":"dvr"}],"example":"live"},"protocols":{"description":"Configuration to allow/forbid headers for various playback protocols.","allOf":[{"$ref":"#/components/schemas/play_protocols_spec"}]},"headers":{"additionalProperties":{"type":"string","minLength":1,"maxLength":64},"type":"object","maxItems":10,"x-key-type":"string","description":"HTTP headers in name-value format for manifest requests.","example":{"Cache-Control":"max-age=3600"}},"segment_headers":{"additionalProperties":{"type":"string","minLength":1,"maxLength":64},"type":"object","maxItems":10,"x-key-type":"string","description":"HTTP headers in name-value format for segment requests.","example":{"Cache-Control":"max-age=3600"}}}},"frame_video_codec":{"type":"string","oneOf":[{"title":"H.264","const":"h264"},{"title":"HEVC (H.265)","const":"hevc"},{"title":"MP2V","const":"mp2v"},{"title":"VP9","const":"vp9","deprecated":true,"x-delete-at":23.09},{"title":"MJPEG","const":"mjpeg"},{"title":"Screen","const":"screen"},{"title":"JPEG","const":"jpeg"},{"title":"AV1","const":"av1"}]},"frame_audio_codec":{"type":"string","oneOf":[{"title":"AAC","const":"aac","x-api-allow":["watcher-client","watcher-admin"]},{"title":"MP3","const":"mp3"},{"title":"MP2A","const":"mp2a"},{"title":"Opus","const":"opus"},{"title":"AC3","const":"ac3"},{"title":"EAC3","const":"eac3"},{"title":"PCMA","const":"pcma"},{"title":"PCMU","const":"pcmu"}]},"frame_text_codec":{"type":"string","oneOf":[{"title":"TTXT","const":"ttxt"},{"title":"Text","const":"text"},{"title":"WVTT","const":"wvtt"},{"title":"TTML","const":"ttml"},{"title":"Subtitle","const":"subtitle"},{"title":"ID3T","const":"id3t"},{"title":"ONVIF","const":"onvif"},{"title":"TX3G","const":"tx3g"}]},"frame_raw_codec":{"type":"string","oneOf":[{"title":"YUV","const":"yuv"},{"title":"UYVY422","const":"uyvy422"},{"title":"YUYV422","const":"yuyv422"},{"title":"YUV422p10","const":"yuv422p10"},{"title":"ARGB","const":"argb"},{"title":"RGB48","const":"rgb48"},{"title":"V210","const":"v210"},{"title":"PCM","const":"pcm"}]},"frame_audio_raw_codec":{"type":"string","oneOf":[{"const":"pcm"}]},"frame_app_codec":{"oneOf":[{"title":"MPEG-TS","const":"mpegts"},{"title":"Object","const":"object"},{"title":"EIT","const":"eit"},{"title":"SCTE-27","const":"scte27"},{"title":"SCTE-35","const":"scte35"},{"title":"KLV","const":"klv"},{"title":"Empty","const":"empty"}],"type":"string"},"frame_codec":{"anyOf":[{"$ref":"#/components/schemas/frame_video_codec"},{"$ref":"#/components/schemas/frame_audio_codec"},{"$ref":"#/components/schemas/frame_raw_codec"},{"$ref":"#/components/schemas/frame_text_codec"},{"$ref":"#/components/schemas/frame_app_codec"},{"type":"string","readOnly":true,"x-private":true,"description":"We will show recieved codec, but it could not be configured."}]},"frame_content":{"type":"string","oneOf":[{"title":"Audio","const":"audio"},{"title":"Video","const":"video"},{"title":"Text","const":"text"},{"title":"Metadata","const":"metadata"},{"title":"Application","const":"application"}]},"frame_video_pix_fmt":{"type":"string","oneOf":[{"title":"YUV420P","const":"yuv420p"},{"title":"YUVJ420P","const":"yuvj420p"},{"title":"YUV422P","const":"yuv422p"},{"title":"YUV444P","const":"yuv444p"},{"title":"YUV420P10","const":"yuv420p10"},{"title":"YUV422P10","const":"yuv422p10"},{"title":"YUV444P10","const":"yuv444p10"},{"title":"YUV420P12","const":"yuv420p12"},{"title":"YUV422P12","const":"yuv422p12"},{"title":"YUV444P12","const":"yuv444p12"},{"title":"Gray8","const":"gray8"},{"title":"Gray10","const":"gray10"},{"title":"Gray12","const":"gray12"},{"title":"NV12","const":"nv12"},{"title":"P016","const":"p016"},{"title":"V210","const":"v210"},{"title":"UYVY422","const":"uyvy422"},{"title":"YUYV422","const":"yuyv422"},{"title":"RGB48","const":"rgb48"},{"title":"ARGB","const":"argb"}]},"track_info":{"oneOf":[{"$ref":"#/components/schemas/track_info_video"},{"$ref":"#/components/schemas/track_info_audio"},{"$ref":"#/components/schemas/track_info_text"},{"$ref":"#/components/schemas/track_info_metadata"},{"$ref":"#/components/schemas/track_info_application"}],"discriminator":{"propertyName":"content","mapping":{"video":"#/components/schemas/track_info_video","audio":"#/components/schemas/track_info_audio","text":"#/components/schemas/track_info_text","metadata":"#/components/schemas/track_info_metadata","application":"#/components/schemas/track_info_application"}},"x-record-definition":"#/components/schemas/track_info_full"},"track_info_base":{"type":"object","properties":{"track_id":{"description":"Track identifier assigned by Flussonic.","anyOf":[{"type":"integer"},{"type":"string"}],"example":"v1"},"frame_duration":{"description":"For video track, it is the time between the beginning of a frame and the beginning of the next frame.\\n\\nThis parameter is important for some protocols. Normally, frame duration is a difference between timestamps of two neighbouring frames.\\nHowever, sometimes (when the connection is broken) video breakups are possible.\\nAs result, the delta between two consequent frame timestamps will not be equal to the frame duration.\\nThis situation is considered as a frame gap and is handled differently across different protocols.\\n","type":"number","format":"ticks","x-format-description":"ticks"},"avg_fps":{"description":"Actual average FPS - the number of frames diplayed per second (calculated for the last 200 frames).\\nThe higher FPS is, the smoother the video playback is. \\nUsually, standard values of FPS for films and video are used in different countries (for example, in Russia and Europe it is 25 FPS).\\n","type":"number","x-notice":"calculated fps for statistic"},"bandwidth":{"description":"Bandwidth necessary to transfer this track.\\nThis is slightly grater than bitrate because transport (e.g. MPEG TS) adds some overhead\\n","type":"integer","format":"speed","example":2600,"x-format-description":"speed"}}},"track_info_base_configurable":{"type":"object","required":["content"],"properties":{"content":{"description":"Content of the track (audio, video, or text).","allOf":[{"$ref":"#/components/schemas/frame_content"}],"x-api-allow":["smartcam","iris-hal"]},"title":{"description":"Human-readable localized title of the track.","type":"string","x-notice":"Human-readable localized title for HDS/HLS","example":"Video1"},"bitrate":{"description":"Bitrate of the track in kbit/s.\\nWhen using sdtv/hdtv/uhdtv transcoder target, for video tracks\\nthis field sets the desired transport bandwidth instead of raw video bitrate.\\n","type":"integer","format":"speed","example":2543,"x-api-allow":["smartcam","iris-hal"],"x-format-description":"speed"},"pid":{"description":"This parameter sets PIDs values for outgoing MPEG-TS streams.\\nPID identifies separate data stream inside the multiplexed MPEG-TS stream.\\nIt is possible to set PID values for PMT, SDT, video, and audio tracks.\\nTracks are numbered starting from one. The code a1=123 sets a PID value for the first audio track.\\n\\nIt is possible to set the base index for the tracks of a certain type using the 0 (zero) index.\\nFor example, t0=100 sets PID=101 for the first track, 102 for the second, and so on.\\nNumbers can be given in decimal form (by default) or hexadecimal with 16# prefix.\\n","allOf":[{"$ref":"#/components/schemas/ts_pid"}]}}},"track_info_video":{"allOf":[{"$ref":"#/components/schemas/track_info_base"},{"$ref":"#/components/schemas/track_info_base_configurable"},{"type":"object","properties":{"codec":{"description":"Codec of the track. Different codecs do **not** get the same track.","allOf":[{"$ref":"#/components/schemas/frame_codec"}],"example":"h264","x-api-allow":["smartcam","iris-hal"]}}},{"$ref":"#/components/schemas/track_info_video_specific"},{"$ref":"#/components/schemas/track_info_video_configurable"}]},"track_info_video_specific":{"type":"object","properties":{"last_gop":{"description":"Last GOP size (expressed in number of frames).\\nThis parameter is used to monitor the quality of encoding: normally, average GOP size should be equal to the last GOP size.\\nIf this value is floating, this means that your transcoder is working in a flexible GOP size mode and some players may have problems.\\nThis is not acceptable by most ABR usecases and it will not pass DVB validation protocol.\\n","type":"integer","example":28},"avg_gop":{"type":"integer","description":"Average GOP size (expressed in number of frames) of the last 1000-2000 frames.\\nThis parameter is used to monitor the quality of encoding: normally, average GOP size should be equal to the last GOP size.\\nIf this value is floating, this means that your transcoder is working in flexible GOP size mode and some players may have problems.\\nThis is not acceptable by most ABR usecases and it will not pass DVB validation protocol.\\n","example":25},"length_size":{"enum":[2,4],"default":4,"type":"integer","x-notice":"H264 private option","description":"The size of the length field for H264 bitstream without start codes."},"is_progressive":{"description":"Indicates if progressive scanning method is used for all frames of the track\\n","type":"boolean","default":true},"closed_captions":{"description":"Parameters of closed captions.","items":{"allOf":[{"$ref":"#/components/schemas/closed_captions"}]},"type":"array","default":[]}}},"track_info_video_configurable":{"type":"object","properties":{"width":{"description":"The picture width in pixels on the display where it will be played by a player.\\nIf you need to insert a web-player into a web page, use this value for choosing the player size.\\n","type":"integer","format":"pixels","x-api-allow":["smartcam"],"x-format-description":"pixels"},"height":{"description":"The picture height in pixels on the display where it will be played by a player.\\nIf you need to insert a web-player into a web page, use this value for choosing the player size.\\n","type":"integer","format":"pixels","x-api-allow":["smartcam"],"x-format-description":"pixels"},"fps":{"description":"Frame rate (frames per second) - the speed at which a sequence of images is displayed on a screen.\\nHigher frame rates capture more images per second, which makes for smoother video.\\nThe standard frame rate for color television in the Phase Alternating Line (PAL) format is 25 fps.\\nThe standard frame rate for color television in the National Television System Committee (NTSC) format is 29,97 fps\\n(a little bit lower than the original frame rate of black and white NTSC television, equal to 30 fps.)\\nIf interlaced TV is used, two fields of each frame (with odd-numbered lines and with even-numbered lines) are displayed consequently,\\nbut the frame rate is actually not doubled (50 half-frames are still equal to 25 original frames). \\n","type":"number","x-api-allow":["smartcam"]},"pix_fmt":{"allOf":[{"$ref":"#/components/schemas/frame_video_pix_fmt"}],"default":"yuv420p","description":"The color model of the video."},"num_refs_frames":{"type":"integer","maximum":32,"minimum":0,"description":"The number of I-frames to be used for encoding."},"sar_width":{"description":"The first number in SAR. SAR is the ratio of the width of the display video representation to the width of the pixel representation.\\nSAR is used for creating non-anamorphic video from anamorphic video.\\n","default":1,"type":"integer","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/transcoder-internals/#transcoder-options_sar"}},"sar_height":{"description":"The second number in SAR. SAR is the ratio of the width of the display video representation to the width of the pixel representation.\\nSAR is used for creating non-anamorphic video from anamorphic video.\\n","default":1,"type":"integer","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/transcoder-internals/#transcoder-options_sar"}},"pixel_width":{"description":"The picture width in pixels of the original video before transcoding.","type":"integer","format":"pixels","x-format-description":"pixels"},"pixel_height":{"description":"The picture width in pixels of the original video before transcoding.","type":"integer","format":"pixels","x-format-description":"pixels"},"level":{"type":"string","description":"A set of constraints that indicate a degree of required decoder performance.\\nThis parameter is used for compatibility with old devices.\\n","x-api-allow":["smartcam"]},"profile":{"description":"A specific codec-dependent profile of the output video.\\nThe profile allows to assume if the track can be played on a particular device.\\n","type":"string","x-api-allow":["smartcam"]},"bframes":{"description":"Average number of B-frames in a GOP. B-frames contain links to keyframes and P-frames before and after themselves.\\nB-frames help to compress the video. However, some players impose limitations on this number: usually no more than 2 B-frames are used.\\nThis value also defines the GOP structure - the repeated pattern of frames after the keyframe: P, BP, BBP, BBBP, or BBBBP.\\n","type":"integer","x-notice":"calculated number of bframes for statistic","example":3},"gop_size":{"description":"The number of frames in a group of pictures (GOP). \\nThe encoder will create all GOPs of an exactly identical size - as specified in this option.\\nA bigger GOP can be good for video compression but it can result in big zap-time (the duration of time between changing a channel and displaying a new channel.)\\n","type":"integer","x-api-allow":["smartcam"]}}},"track_info_audio":{"allOf":[{"$ref":"#/components/schemas/track_info_base"},{"$ref":"#/components/schemas/track_info_base_configurable"},{"type":"object","properties":{"codec":{"description":"Codec of the track. Different codecs do **not** get the same track.","allOf":[{"$ref":"#/components/schemas/frame_codec"}],"example":"h264","x-api-allow":["smartcam","iris-hal"]}}},{"$ref":"#/components/schemas/track_info_audio_specific"}]},"track_info_audio_specific":{"type":"object","properties":{"channels":{"description":"The number of audio channels.","type":"integer","example":2,"x-api-allow":["smartcam"]},"sample_rate":{"description":"Sample rate, in hertz -\\nthe number of samples per second taken from a continuous signal to make a discrete or digital signal.\\n","type":"integer","example":8000,"x-api-allow":["smartcam"]},"language":{"description":"Language value of the track, if applicable.","type":"string","example":"eng"}}},"ti_audio_aac_spec":{"type":"object","title":"AAC codec","properties":{"sample_rate":{"description":"Sample rate, in hertz - \\nthe number of samples per second taken from a continuous signal to make a discrete or digital signal.\\nThe allowed values are: \\n`0` - to copy input sample rate, a number (input audio is resampled with equalization)\\n","type":"integer","example":48000,"oneOf":[{"const":96000},{"const":88200},{"const":64000},{"const":48000},{"const":44100},{"const":32000},{"const":24000},{"const":22050},{"const":16000},{"const":12000},{"const":11025},{"const":8000},{"const":0}]},"channels":{"description":"The number of audio channels in an output stream.","type":"integer","example":2,"oneOf":[{"const":1},{"const":2},{"const":3},{"const":4},{"const":5},{"const":6},{"const":7}]}}},"ti_audio_ac3_spec":{"type":"object","title":"AC3/EAC3 codec","properties":{"sample_rate":{"description":"Sample rate, in hertz - \\nthe number of samples per second taken from a continuous signal to make a discrete or digital signal.\\nThe allowed values are: \\n`0` - to copy input sample rate, a number (input audio is resampled with equalization)\\n","type":"integer","example":48000,"oneOf":[{"const":48000},{"const":44100},{"const":32000},{"const":0}]},"channels":{"description":"The number of audio channels in an output stream.","type":"integer","example":2,"oneOf":[{"const":1},{"const":2},{"const":3},{"const":4},{"const":5},{"const":6}]}}},"ti_audio_mp2a_spec":{"type":"object","title":"MP2 audio codec","properties":{"sample_rate":{"description":"Sample rate, in hertz - \\nthe number of samples per second taken from a continuous signal to make a discrete or digital signal.\\nThe allowed values are: \\n`0` - to copy input sample rate, a number (input audio is resampled with equalization)\\n","type":"integer","example":48000,"oneOf":[{"const":48000},{"const":44100},{"const":32000},{"const":24000},{"const":22050},{"const":16000},{"const":0}]},"channels":{"description":"The number of audio channels in an output stream.","type":"integer","example":2,"oneOf":[{"const":1},{"const":2}]}}},"ti_audio_mp3_spec":{"type":"object","title":"MP3 codec","properties":{"sample_rate":{"description":"Sample rate, in hertz - \\nthe number of samples per second taken from a continuous signal to make a discrete or digital signal.\\nThe allowed values are: \\n`0` - to copy input sample rate, a number (input audio is resampled with equalization)\\n","type":"integer","example":8000,"oneOf":[{"const":48000},{"const":44100},{"const":32000},{"const":24000},{"const":22050},{"const":16000},{"const":12000},{"const":11025},{"const":8000},{"const":0}]},"channels":{"description":"The number of audio channels in an output stream.","type":"integer","example":2,"oneOf":[{"const":1},{"const":2}]}}},"ti_audio_opus_spec":{"type":"object","title":"OPUS codec","properties":{"sample_rate":{"description":"Sample rate, in hertz - \\nthe number of samples per second taken from a continuous signal to make a discrete or digital signal.\\nThe allowed values are: \\n`0` - to copy input sample rate, a number (input audio is resampled with equalization)\\n","type":"integer","example":48000,"oneOf":[{"const":48000},{"const":24000},{"const":16000},{"const":12000},{"const":8000},{"const":0}]},"channels":{"description":"The number of audio channels in an output stream.","type":"integer","example":2,"oneOf":[{"const":1},{"const":2},{"const":3},{"const":4},{"const":5},{"const":6}]}}},"ti_audio_pcma_spec":{"type":"object","title":"PCM A-law/PCM mu-law codec","properties":{"sample_rate":{"description":"Sample rate, in hertz - \\nthe number of samples per second taken from a continuous signal to make a discrete or digital signal.\\nThe allowed values are: \\n`0` - to copy input sample rate, a number (input audio is resampled with equalization)\\n","type":"integer","example":8000,"oneOf":[{"const":8000},{"const":0}]},"channels":{"description":"The number of audio channels in an output stream.","type":"integer","example":1,"oneOf":[{"const":1}]}}},"ti_audio_pcm_spec":{"type":"object","title":"RAW PCM","properties":{"sample_rate":{"description":"Sample rate, in hertz - \\nthe number of samples per second taken from a continuous signal to make a discrete or digital signal.\\n","type":"integer","example":8000},"channels":{"description":"The number of audio channels in an output stream.","type":"integer","example":1}}},"ti_audio_aac":{"allOf":[{"$ref":"#/components/schemas/track_info_base_configurable"},{"$ref":"#/components/schemas/transcoder_track_info_audio_spec"},{"$ref":"#/components/schemas/ti_audio_aac_spec"}]},"ti_audio_ac3":{"allOf":[{"$ref":"#/components/schemas/track_info_base_configurable"},{"$ref":"#/components/schemas/transcoder_track_info_audio_spec"},{"$ref":"#/components/schemas/ti_audio_ac3_spec"}]},"ti_audio_mp2a":{"allOf":[{"$ref":"#/components/schemas/track_info_base_configurable"},{"$ref":"#/components/schemas/transcoder_track_info_audio_spec"},{"$ref":"#/components/schemas/ti_audio_mp2a_spec"}]},"ti_audio_mp3":{"allOf":[{"$ref":"#/components/schemas/track_info_base_configurable"},{"$ref":"#/components/schemas/transcoder_track_info_audio_spec"},{"$ref":"#/components/schemas/ti_audio_mp3_spec"}]},"ti_audio_opus":{"allOf":[{"$ref":"#/components/schemas/track_info_base_configurable"},{"$ref":"#/components/schemas/transcoder_track_info_audio_spec"},{"$ref":"#/components/schemas/ti_audio_opus_spec"}]},"ti_audio_pcma":{"allOf":[{"$ref":"#/components/schemas/track_info_base_configurable"},{"$ref":"#/components/schemas/transcoder_track_info_audio_spec"},{"$ref":"#/components/schemas/ti_audio_pcma_spec"}]},"ti_audio_pcm":{"allOf":[{"$ref":"#/components/schemas/track_info_base_configurable"},{"$ref":"#/components/schemas/transcoder_track_info_audio_spec"},{"$ref":"#/components/schemas/ti_audio_pcm_spec"}]},"track_info_text":{"allOf":[{"$ref":"#/components/schemas/track_info_base"},{"$ref":"#/components/schemas/track_info_base_configurable"},{"type":"object","properties":{"codec":{"description":"Codec of the track. Different codecs do **not** get the same track.","allOf":[{"$ref":"#/components/schemas/frame_codec"}],"example":"h264","x-api-allow":["smartcam","iris-hal"]}}},{"$ref":"#/components/schemas/track_info_text_specific"}]},"track_info_text_specific":{"type":"object","properties":{"language":{"description":"Language value of the track, if applicable.","type":"string","example":"eng"}}},"track_info_application":{"allOf":[{"$ref":"#/components/schemas/track_info_base"},{"$ref":"#/components/schemas/track_info_base_configurable"},{"type":"object","properties":{"codec":{"description":"Codec of the track. Different codecs do **not** get the same track.","allOf":[{"$ref":"#/components/schemas/frame_codec"}],"example":"h264","x-api-allow":["smartcam","iris-hal"]}}},{"$ref":"#/components/schemas/track_info_application_specific"}]},"track_info_application_specific":{"type":"object","properties":{"language":{"description":"Language value of the track, if applicable.","type":"string","example":"eng"}}},"track_info_metadata":{"allOf":[{"$ref":"#/components/schemas/track_info_base"},{"$ref":"#/components/schemas/track_info_base_configurable"},{"type":"object","properties":{"codec":{"description":"Codec of the track. Different codecs do **not** get the same track.","allOf":[{"$ref":"#/components/schemas/frame_codec"}],"example":"h264","x-api-allow":["smartcam","iris-hal"]}}}]},"track_info_full":{"allOf":[{"$ref":"#/components/schemas/track_info_base"},{"$ref":"#/components/schemas/track_info_base_configurable"},{"type":"object","properties":{"codec":{"description":"Codec of the track. Different codecs do **not** get the same track.","allOf":[{"$ref":"#/components/schemas/frame_codec"}],"example":"h264","x-api-allow":["smartcam","iris-hal"]}}},{"$ref":"#/components/schemas/track_info_audio_specific"},{"$ref":"#/components/schemas/track_info_video_specific"},{"$ref":"#/components/schemas/track_info_video_configurable"}]},"closed_captions":{"type":"object","properties":{"language":{"description":"Language of closed captions.","type":"string","example":"eng"},"name":{"description":"Under what name the audio track will be displayed on the player.","type":"string","example":"English"},"type":{"x-private":true,"description":"The standard of the closed captions. \\nThe value is either 608 or 708 for CEA-608 and CEA-708 standards respectively.\\n\\nThis value is important for HLS and DASH players to display closed captions. \\nFor such players the presence should be explicit in the manifest files.\\n","type":"string","x-notice":"CC 608, 708","example":"608"},"id":{"x-private":true,"description":"The number of the channel that has closed captions. \\nIt\'s an integer between 1 and 4 for CEA-608 and between 1 and 63 for CEA-708.\\n","type":"string","x-notice":"CC 608 channel, CC 708 service num","example":"3"}}},"media_info":{"allOf":[{"$ref":"#/components/schemas/media_info_specific"},{"$ref":"#/components/schemas/media_info_common"}]},"media_info_specific":{"type":"object","properties":{"flow_type":{"description":"Whether it is a file with a finite start and end time or a live stream.","oneOf":[{"const":"file"},{"const":"stream"},{"const":"dvr_file"},{"const":"dvr_stream"}],"type":"string","example":"stream"},"tracks":{"description":"Information about available tracks (video, audio, or text).","items":{"allOf":[{"$ref":"#/components/schemas/track_info"}]},"type":"array","default":[],"x-api-allow":["smartcam"]},"duration":{"type":"number","format":"ticks","description":"Duration of the media, if applicable.","x-format-description":"ticks"}}},"media_info_common":{"type":"object","properties":{"provider":{"description":"The media provider of this content.","type":"string","example":"Netflix"},"title":{"description":"Human-readable title of the media.","type":"string","example":"Bunny"},"stream_id":{"type":"integer","example":253,"description":"The identifier of the transport stream for MPEG TS streams."},"program_id":{"type":"integer","example":110,"description":"The program ID for MPEG TS streams."}}},"transcoder_track_info":{"oneOf":[{"$ref":"#/components/schemas/transcoder_track_info_audio"},{"$ref":"#/components/schemas/transcoder_track_info_video"}],"discriminator":{"propertyName":"content","mapping":{"video":"#/components/schemas/transcoder_track_info_video","audio":"#/components/schemas/transcoder_track_info_audio"}}},"transcoder_track_info_audio":{"oneOf":[{"$ref":"#/components/schemas/ti_audio_aac"},{"$ref":"#/components/schemas/ti_audio_opus"},{"$ref":"#/components/schemas/ti_audio_mp2a"},{"$ref":"#/components/schemas/ti_audio_mp3"},{"$ref":"#/components/schemas/ti_audio_ac3"},{"$ref":"#/components/schemas/ti_audio_pcma"},{"$ref":"#/components/schemas/ti_audio_pcm"}],"discriminator":{"propertyName":"codec","mapping":{"aac":"#/components/schemas/ti_audio_aac","opus":"#/components/schemas/ti_audio_opus","mp2a":"#/components/schemas/ti_audio_mp2a","mp3":"#/components/schemas/ti_audio_mp3","ac3":"#/components/schemas/ti_audio_ac3","eac3":"#/components/schemas/ti_audio_ac3","pcmu":"#/components/schemas/ti_audio_pcma","pcma":"#/components/schemas/ti_audio_pcma","pcm":"#/components/schemas/ti_audio_pcm"}},"x-record-definition":"#/components/schemas/ti_audio_aac"},"transcoder_track_info_video":{"allOf":[{"$ref":"#/components/schemas/track_info_base_configurable"},{"type":"object","properties":{"codec":{"description":"Codec of the track. Different codecs do **not** get the same track.","allOf":[{"$ref":"#/components/schemas/frame_codec"}],"example":"h264","x-api-allow":["smartcam","iris-hal"]},"preset":{"description":"A set of values that determine a certain encoding speed, which influences a compression ratio.\\nA slower preset will provide better compression (compression is quality per file size).\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/transcoder-internals/#transcoder-options_preset"},"default":"veryfast","allOf":[{"$ref":"#/components/schemas/tc_preset"}],"example":"medium"},"profile":{"description":"Limits the output to a specific H.264 profile.","x-api-allow":["iris-hal","smartcam"],"allOf":[{"$ref":"#/components/schemas/tc_profile"}]},"level":{"description":"A set of constraints that indicate a degree of required decoder performance.\\nThis parameter is used for compatibility with old devices.\\n","x-api-allow":["iris-hal","smartcam"],"anyOf":[{"allOf":[{"$ref":"#/components/schemas/h264_level"}]},{"allOf":[{"$ref":"#/components/schemas/hevc_level"}]},{"allOf":[{"$ref":"#/components/schemas/mp2v_level"}]}]},"size":{"description":"Target size of the image and the strategy to achieve it.","x-api-allow":["smartcam"],"allOf":[{"$ref":"#/components/schemas/tc_size"}]},"sar":{"description":"Target aspect ratio.","allOf":[{"$ref":"#/components/schemas/tc_sar"}]},"logo":{"description":"The configuration of a logo \\"burned\\" into the video track.\\nThe transcoder adds the logo before the video is resized as specified in the `size` option. \\nThis means that the logo can be visibly stretched if the size was changed significantly.\\n","allOf":[{"$ref":"#/components/schemas/tc_logo"}]},"alogo":{"description":"The configuration of a logo added to the video track after the video was resized as specified in the `size` option.\\n\\nThis prevents the logo picture from stretching that might occur when the `logo` option is used.\\nYou will need to prepare and specify a separate file with a logo for each size of the resulting video track.\\n","allOf":[{"$ref":"#/components/schemas/tc_logo"}]},"fps":{"description":"Frame rate (frames per second) - the speed at which a sequence of images is displayed on a screen.\\n\\nHigher frame rates capture more images per second, which makes for smoother video.\\nThe standard frame rate for color television in the Phase Alternating Line (PAL) format is 25 fps.\\nThe standard frame rate for color television in the National Television System Committee (NTSC) format is 29,97 fps\\n(a little bit lower than the original frame rate of black and white NTSC television, equal to 30 fps.)\\nIf interlaced TV is used, two fields of each frame (with odd-numbered lines and with even-numbered lines) are displayed consequently,\\nbut the frame rate is actually not doubled (50 half-frames are still equal to 25 original frames).\\n","x-api-allow":["smartcam","iris-hal"],"allOf":[{"$ref":"#/components/schemas/tc_fps"}]},"bframes":{"description":"Number of B-frames between I and P-frames. B-frames contain links to keyframes and P-frames before and after themselves.\\nB-frames help to compress the video. However, some players impose limitations on this number: usually no more than 2 B-frames are used.\\nThis value also defines the GOP structure - the repeated pattern of frames after the keyframe: P, BP, BBP, BBBP, or BBBBP.\\n\\nWhen set to 0, this option disables b-frames. This may be necessary, for example, when broadcasting to RTSP.\\n","enum":[0,1,2,3,4],"type":"integer","example":3},"refs":{"description":"The number of reference frames in a GOP.\\nReference frames are frames of a compressed video that are used to define other frames (P-frames and B-frames).\\n","maximum":6,"minimum":1,"type":"integer"},"gop":{"description":"Sets the number of frames in a GOP.\\nThe encoder will create all GOPs of an exactly identical size - as specified in this option.\\n","x-api-allow":["smartcam"],"type":"integer","example":150},"qp_range":{"description":"The ranges of the quantization parameter for different types of frames in a GOP.\\n\\nQuantization is an algorithm used for video compression. It is based on fragmentation of video frames.\\nIncreasing this parameter allows to improve the compression but may lower the picture quality.\\nUsually, these ranges are defined automatically by the transcoder, but for some types of transcoders it makes sense to set them manually.\\n","allOf":[{"$ref":"#/components/schemas/tc_qp_range"}]},"threads":{"description":"Number of threads used by the encoder when transcoding with CPU (it is not used for other types of transcoder).\\nThis parameter allows to increase performance by adding new threads. By default, it is autodetected.\\n","type":"integer"},"open_gop":{"description":"Whether open GOP is used. Open GOP contains P-frames that refer to the frames before the keyframe.\\nIt allows to decrease bitrate to 5-7%, but can result in breaking the picture.\\n\\nDo not enable this option if the track will be played over segment-based protocols (HLS, DASH, etc.) because \\nabsence of keyframes or IDR frames in the same segment with P-frames may prevent playback. \\n[Read more about tracks, GOP and segments](https://flussonic.com/doc/live-stream-internals/).\\n","default":false,"type":"boolean"},"interlace":{"description":"This parameter is used to get an interlaced stream from a progressive one.\\nThe allowed values are `true` (interlaced video), `false` (progressive video), or one of the methods for producing interlaced video supported for the selected type of transcoder.\\n","allOf":[{"$ref":"#/components/schemas/interlace_settings"}]},"rc_method":{"description":"A method for creating output video with constant bitrate suitable for broadcasting to television networks.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/transcoder-internals/#transcoder-rc_method"},"allOf":[{"$ref":"#/components/schemas/rc_method"}]},"temporal_tradeoff":{"description":"Drop some frames in dynamic scenes when the transcoder does not have time to code all frames.\\nThe allowed values are:\\n\\n* `15` - drop 1 from 5\\n* `13` - drop 1 from 3\\n* `12` - drop 1 from 2\\n* `23` - drop 2 from 3\\n* `0` - do not drop frames\\n","type":"integer"},"vbv_bufsize":{"description":"Virtual buffer size, it bits. The default value is `gop / fps * bitrate`.\\n","type":"integer"},"resize_mode":{"description":"The mode to be used for resizing video tracks. It is one of the computing platforms for Flussonic Coder:\\n\\n* vic -  Video Image Converter, specific for Jetson Nvidia\\n* cuda - CUDA (or Compute Unified Device Architecture)\\n","allOf":[{"$ref":"#/components/schemas/transcoder_resize_mode"}]},"burn":{"description":"Configuration of burn-in text, timestamp, or subtitles to video frames.","x-api-allow":["smartcam","iris-hal"],"allOf":[{"$ref":"#/components/schemas/tc_burn"}]},"extra":{"additionalProperties":{"type":"string"},"type":"object","description":"Some additional options."}}}]},"transcoder_track_info_audio_spec":{"type":"object","properties":{"codec":{"description":"Audio codec (the AAC codec is used by default).","anyOf":[{"$ref":"#/components/schemas/frame_audio_codec"}],"type":"string","example":"opus","default":"aac","x-api-allow":["smartcam","iris-hal"]},"language":{"description":"Language value of the track, if applicable.","type":"string","example":"eng"},"input_track":{"description":"Input audio track to be transcoded.\\n","anyOf":[{"type":"integer"}],"example":1},"volume":{"description":"Output audio volume. The value can be specified in decibels (dB) or it can be an integer/float (3, 0.5, etc.).\\n\\nIf it is just an integer or a float, the output audio volume is calculated by this formula:\\n\\n`output_volume = volume * input_volume`\\n\\nIf specified in decibels (dB), the output audio volume is calculated as follows:\\n\\n`output_volume = input_volume +/- volume`\\n\\ndepending whether it is a positive (+9dB) or a negative value (-6dB).\\n\\nBy default it equals to 1 (the input audio volume).\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/change-stream-volume/"},"type":"string","pattern":"^([0-9]+(\\\\.[0-9]+)?|(\\\\+|\\\\-)[0-9]+(\\\\.[0-9]+)?dB)$","example":"-6dB"},"split_channels":{"description":"This option allows to split each audio track with multiple channels into several mono tracks.\\n","type":"boolean","default":false}}},"webrtc_prefer_video_codec":{"type":"string","enum":["h264","av1"]},"webrtc_transport":{"type":"string","oneOf":[{"title":"UDP","const":"udp"},{"title":"TCP","const":"tcp"}]},"output_audio":{"type":"string","oneOf":[{"title":"Keep","const":"keep","description":"Keep the original audio codec."},{"title":"AAC","const":"aac","description":"Keep AAC if available or transcode to AAC; delete other tracks if any."},{"title":"Add_AAC","const":"add_aac","description":"Add AAC if it was not available already while keeping the original track."}]},"h264_level":{"enum":["1","1b","1.1","1.2","1.3","2","2.1","2.2","3","3.0","3.1","3.2","4","4.0","4.1","4.2","5","5.1","5.2","6","6.1","6.2"],"type":"string"},"hevc_level":{"enum":["1","2","2.1","3","3.1","4","4.1","5","5.1","5.2","6","6.1","6.2"],"type":"string"},"mp2v_level":{"oneOf":[{"title":"Low","const":"low"},{"title":"Main","const":"main"},{"title":"High","const":"high"},{"title":"High 1440","const":"high1440"}],"type":"string"},"video_adapter_device_stats":{"type":"object","properties":{"hw":{"description":"The type of the device.","type":"string","oneOf":[{"const":"dektec","title":"DekTec card"},{"const":"decklink","title":"Blackmagic Decklink Card"},{"const":"v4l","title":"Video4Linux device detected on the server"},{"const":"tbs","title":"TBS product series include DVB-S2/S, DVB-C, DVB-T,ATSC digital TV Tuner PCI-e card"}],"example":"dektec"},"id":{"type":"string","description":"The ID of the device. It could be serial number or any other ID.\\n","examples":{"default":{"value":"serial"},"dektec":{"value":"2174220024"},"v4l":{"value":"/dev/video1"}}},"title":{"type":"string","description":"The name/model of the device.","example":"Decklink Quad 2"}}},"transcoder_device":{"oneOf":[{"title":"CPU","const":"cpu"},{"title":"Intel Quick Sync Video","const":"qsv"},{"title":"Nvidia NVENC (encoder only)","const":"nvenc"},{"title":"Nvidia NVENC 2","const":"nvenc2","x-private":true},{"title":"Flussonic Coder","const":"coder"},{"title":"Raspberry Pi OMX","const":"omx","x-private":true},{"title":"L4T2","const":"l4t2","x-private":true}],"type":"string"},"transcoder_device_stats":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/transcoder_device"}],"description":"The type of the device used for transcoding.","example":"cpu"},"id":{"allOf":[{"$ref":"#/components/schemas/tc_deviceid"}],"description":"The ID of the device used for transcoding.\\n\\nIn PUT requests, you can use `auto` for Flussonic to set the ID itself. \\nIn the response to GET requests, the `id` will always be a number.\\n"},"name":{"type":"string","description":"The name of the transcoder device."},"can_logo":{"type":"boolean","description":"Shows if the device can put a logo on the image."},"can_interlace":{"type":"boolean","description":"Shows if the device can make an interlaced stream from a progressive one."},"can_internal":{"type":"boolean","description":"Shows if the transcoder with this device can run in the same process as Flussonic Media Server."},"memTotal":{"type":"integer","description":"Total RAM on the device."},"memFree":{"type":"integer","description":"Free RAM."},"memUsed":{"type":"integer","description":"Utilized RAM."},"reconfig_support":{"allOf":[{"$ref":"#/components/schemas/tc_reconfig_support"}],"description":"The ability of the device to be reconfigured online, i.e. without complete restart of the transcoder.\\n\\n`full` means that both decoder and encoder can be reconfigured online.\\n`encoder` means that only encoder can be reconfigured online.\\n`decoder` means that only decoder can be reconfigured online.\\n`false` means that online reconfiguration is not supported.\\n"},"gpu_temp":{"type":"integer","description":"GPU temperature, C."},"gpu_enc":{"type":"integer","description":"GPU encoder load percentage."},"gpu_dec":{"type":"integer","description":"GPU decoder load percentage."},"gpu_sm":{"type":"integer","description":"GPU shared memory amount."}}},"transcoder_resize_mode":{"oneOf":[{"title":"VIC","const":"vic"},{"title":"CUDA","const":"cuda"}],"type":"string"},"tc_bitrate":{"anyOf":[{"oneOf":[{"title":"Copy the input track as-is without any processing.","const":"copy","type":"string"}]},{"type":"integer"}]},"tc_reconfig_support":{"anyOf":[{"type":"string","oneOf":[{"title":"Full","const":"full"},{"title":"Decoder","const":"decoder"},{"title":"Encoder","const":"encoder"}]},{"type":"boolean","oneOf":[{"title":"False","const":false}]}]},"tc_deviceid":{"anyOf":[{"oneOf":[{"title":"Auto","const":"auto","type":"string"}]},{"type":"integer"}]},"tc_fps":{"anyOf":[{"oneOf":[{"title":"Any","const":"any","type":"string"},{"title":"Auto","const":"auto","type":"string"}]},{"type":"integer"}]},"tc_preset":{"oneOf":[{"title":"Slow","const":"slow"},{"title":"Medium","const":"medium"},{"title":"Fast","const":"fast"},{"title":"Very fast","const":"veryfast"},{"title":"Ultra fast","const":"ultrafast"}],"type":"string"},"tc_profile":{"oneOf":[{"title":"Simple","const":"simple"},{"title":"Baseline","const":"baseline"},{"title":"Main","const":"main"},{"title":"Main 10","const":"main10"},{"title":"High","const":"high"},{"title":"High 10","const":"high10"},{"title":"High 422","const":"high422"},{"title":"High 444","const":"high444"}],"type":"string"},"rc_method":{"oneOf":[{"title":"VBR","const":"vbr","description":"The encoder will not encode a stream to be DVB compliant.\\nHowever, VBR (Variable Bit Rate) produces better compression compared to CBR at about the same quality.\\n"},{"title":"CBR","const":"cbr","description":"The encoder will produce a DVB compliant stream.\\nThe bitrate of the output stream will be stable to fit the fixed-bandwidth channel. \\nIn other words, we guarantee that the bitrate has a certain upper bound in a sliding window.\\n"},{"title":"CBR2pass","const":"cbr2pass","description":"The encoder will encode the video once in CBR, \\nthen it will encode it second time in CBR but using the information from the previous pass to improve quality.\\n"}],"type":"string"},"tc_label_box":{"type":"object","properties":{"borderw":{"description":"The width, in pixel, of the border to be drawn around the text, timestamp, or subtitles.","type":"integer","example":10},"color":{"description":"Box color.","anyOf":[{"type":"string","examples":{"default":{"value":"black"},"mylive/bunny":{"value":"white"}}},{"type":"string","format":"hexcolor","example":"#d62d20","x-format-description":"hexcolor"}]},"alpha":{"description":"Box opacity (use values from 0.1 to 1.0, 0.0 - completely transparent, 1.0 - completely opaque).","maximum":1,"minimum":0,"type":"number","example":0}}},"tc_label_font":{"type":"object","properties":{"file":{"description":"The subpath to the `.ttf` font file in the `font` subdirectory of the `/etc/flussonic/` directory. \\nThis means you can place the font file like `/etc/flussonic/font/SomeFont.ttf`.\\n\\nIf the font file specified is missing in `/etc/flussonic/font/`, the default `FiraCode-Regular.ttf` font will be used, which is included in Flussonic.\\n\\nYou can also specify the full path to a font file. Make sure you put the font file in the directory you specified. \\n","type":"string","example":"/usr/share/fonts/truetype/freefont/FONT_NAME.ttf"},"size":{"description":"The font size in pixel.","type":"integer","example":24},"color":{"description":"Font color.","anyOf":[{"type":"string","examples":{"default":{"value":"black"},"mylive/bunny":{"value":"white"}}},{"type":"string","format":"hexcolor","example":"#d62d20","x-format-description":"hexcolor"}]},"alpha":{"description":"Font opacity (use values from 0.1 to 1.0, 0.0 - completely transparent, 1.0 - completely opaque).","maximum":1,"minimum":0,"type":"number","example":1}}},"tc_label":{"type":"object","properties":{"text":{"description":"Text, time, or subtitles to burn-in to video frames.\\n\\n* For text - it is the text\\n* For subtitles - it is the subtitles track, e.g., `t1`.\\n* For time - it is the time in one of the formats:\\n** `%T` - the time in 24-hour notation (`%H:%M:%S`).\\n** `%F` - equivalent to `%Y-%m-%d` (the ISO 8601 date format).\\n","type":"string"},"x":{"description":"The offset of the text, timestamp, or subtitles position, in pixel, to the right or left to the center of the screen.","type":"integer"},"y":{"description":"The offset of the text, timestamp, or subtitles position, in pixel, up or down to the center of the screen.","type":"integer"},"position":{"description":"Position to burn text.","oneOf":[{"title":"Top left","const":"tl"},{"title":"Bottom left","const":"bl"},{"title":"Top right","const":"tr"},{"title":"Bottom right","const":"br"},{"title":"Center","const":"c"},{"title":"Center top","const":"ct"},{"title":"Center bottom","const":"cb"}],"type":"string"},"font":{"description":"Font to be used for text, timestamp, or subtitles burn-in to video frames.","allOf":[{"$ref":"#/components/schemas/tc_label_font"}]},"box":{"description":"Parameters of the box around the text, timestamp, or subtitles.","allOf":[{"$ref":"#/components/schemas/tc_label_box"}]}}},"tc_burn":{"type":"object","properties":{"text":{"description":"Configuration of burn-in text to video frames. \\n","allOf":[{"$ref":"#/components/schemas/tc_label"}]},"time":{"description":"Configuration of burn-in timestamp to video frames. \\n","allOf":[{"$ref":"#/components/schemas/tc_label"}]},"sub":{"description":"Configuration of burn-in subtitles to video frames. \\n","allOf":[{"$ref":"#/components/schemas/tc_label"}]}}},"tc_global":{"type":"object","properties":{"target":{"description":"What use is the stream intended for.\\nSpecifying this option applies useful defaults in conformance with standards\\n","type":"string","oneOf":[{"title":"UHD television","const":"uhdtv","description":"The resulting stream is ready to be transmitted over Ultra HD television networks\\ni.e. H.264 4K (2160p) with higher bitrate, BT.2020 colors\\nand AAC audio\\n"},{"title":"HD television","const":"hdtv","description":"The resulting stream is ready to be transmitted over HD television networks,\\ni.e. H.264 1080p with BT.709 colors\\nand AAC audio\\n"},{"title":"SD television (PAL)","const":"sdtv_pal","description":"The resulting stream is ready to be transmitted over older European (PAL) television networks,\\ni.e. H.264 576i video with lower bitrate, BT.470 colors, 16:11 SAR\\nand AAC audio\\n"},{"title":"SD television (NTSC)","const":"sdtv_ntsc","description":"The resulting stream is ready to be transmitted over older American (NTSC) television networks,\\ni.e. H.264 480i video with lower bitrate, SMPTE 170M colors, 40:33 SAR\\nand AC-3 audio\\n"}]},"hw":{"description":"Transcoder hardware device type to be used for transcoding a stream.","allOf":[{"$ref":"#/components/schemas/transcoder_device"}]},"deviceid":{"description":"Identifier of hardware device to be used for transcoding a stream.","allOf":[{"$ref":"#/components/schemas/tc_deviceid"}]},"external":{"description":"If this parameter is se to `true` (by default), the transcoder runs in a separate process from Flussonic.\\n\\nIf it is set to `false`, the transcoder will run in the same process as Flussonic. \\nThis mode speeds up encoding, especially when encoding audio or when using an Nvidia device. \\nHowever, a transcoder error may cause Flussonic to crash.\\n","type":"boolean"},"keep_ts":{"x-private":true,"description":"Do not bind frames timestamps to realtime before transcoding (disables timestamps being monotonic even if source switches/restarts).","type":"boolean"},"fps":{"description":"FPS (frames per second) value to be applied for any video track in the stream. May be overridden for a track.","x-private":true,"allOf":[{"$ref":"#/components/schemas/tc_fps"}],"example":24},"gop":{"description":"GOP (group of pictures) size (in frames) to be applied for any video track in the stream.\\nThe encoder will create all GOPs of an exactly identical size - as specified in this option.\\nMay be overridden for a track. \\n","type":"integer","example":150},"resize_mode":{"description":"The mode to be used for resizing video tracks. It is one of the computing platforms for Flussonic Coder:\\n\\n* vic -  Video Image Converter, specific for Jetson Nvidia\\n* cuda - CUDA (or Compute Unified Device Architecture)\\n","x-private":true,"allOf":[{"$ref":"#/components/schemas/transcoder_resize_mode"}]},"burn":{"description":"Configuration of text, timestamp or subtitles burn-in to video frames. \\n","allOf":[{"$ref":"#/components/schemas/tc_burn"}]}}},"tc_crop":{"type":"object","properties":{"left":{"description":"The `x` coordinate of the upper-left corner of the output video withing the input video.","type":"integer"},"top":{"description":"The `y` coordinate of the upper-left corner of the output video withing the input video.","type":"integer"},"width":{"description":"The width of the output video.","type":"integer"},"height":{"description":"The height of the output video.","type":"integer"}},"required":["left","top","width","height"]},"deinterlace_settings":{"anyOf":[{"oneOf":[{"title":"Enabled","const":true,"description":"Deinterlacing enabled."},{"title":"Disabled","const":false,"description":"Deinterlacing disabled."}],"type":"boolean"},{"oneOf":[{"title":"Adaptive","const":"adaptive","description":"Use adaptive deinterlacing method."},{"title":"CUDA yadif","const":"yadif","description":"Use CUDA yadif deinterlacing method."}],"type":"string"}]},"tc_decoder":{"type":"object","properties":{"pix_fmt":{"description":"The required pixel format according to a color model.","allOf":[{"$ref":"#/components/schemas/frame_video_pix_fmt"}]},"deinterlace":{"description":"Activate deinterlacing, i.e., converting an interlaced image to a progressive image. \\nIt is necessary for comfortable viewing of legacy TV video on PC/mobile devices.\\n","allOf":[{"$ref":"#/components/schemas/deinterlace_settings"}],"example":true},"deinterlace_rate":{"description":"This parameter is used when encoding with Nvidia NVENC.\\nYou can remove duplicate frames that were produced after deinterlacing, preventing increased bitrate, by one of two methods.\\n","oneOf":[{"title":"Frame","const":"frame","description":"From field sequence `1a 1b 2a 2b 3a 3b` we get frame sequence `1a1b 2a2b 3a3b`. \\nThe FPS stays the same.\\n"},{"title":"Field","const":"field","description":"Fields `1a 1b 2a 2b 3a 3b` transform into `1a1b 1b2a 2a2b 2b3a` frames. \\nThe FPS increases two times after transcoding.\\n"}],"type":"string","example":"frame"},"crop":{"description":"Video cropping options.","allOf":[{"$ref":"#/components/schemas/tc_crop"}]},"drop_frame_interval":{"description":"This parameter is applicable for NVIDIA Jetson transcoder only.\\nThis is the number of frames after wich the decoder skips a frame and, thus, allows to save the resources. For example:\\n\\n* 1 - sip each frame\\n* 2 - skip each second frame\\n* 3 - skip each third frame, etc.\\n\\nThis option can be useful for streams with high FPS (e.g., 60) as it allows to increase the bandwidth.\\n","maximum":1000,"minimum":1,"type":"integer","example":3},"no_dpb":{"description":"Switch off the decoded picture buffer. Works for the streams with 1 reference frame.\\nThe default value is `false`.\\n","type":"boolean","example":false},"streaming_frame":{"description":"Allow receiving incomplete frames from the input buffer.\\nIf it is set to `true`, the decoder can start decoding before the complete frame is received.\\n","type":"boolean","example":false}}},"tc_audio_opts":{"oneOf":[{"$ref":"#/components/schemas/tc_audio_aac"},{"$ref":"#/components/schemas/tc_audio_opus"},{"$ref":"#/components/schemas/tc_audio_mp2a"},{"$ref":"#/components/schemas/tc_audio_mp3"},{"$ref":"#/components/schemas/tc_audio_ac3"},{"$ref":"#/components/schemas/tc_audio_pcma"},{"$ref":"#/components/schemas/tc_audio_pcm"}],"discriminator":{"propertyName":"codec","mapping":{"aac":"#/components/schemas/tc_audio_aac","opus":"#/components/schemas/tc_audio_opus","mp2a":"#/components/schemas/tc_audio_mp2a","mp3":"#/components/schemas/tc_audio_mp3","ac3":"#/components/schemas/tc_audio_ac3","eac3":"#/components/schemas/tc_audio_ac3","pcmu":"#/components/schemas/tc_audio_pcma","pcma":"#/components/schemas/tc_audio_pcma","pcm":"#/components/schemas/tc_audio_pcm"}},"x-record-definition":"#/components/schemas/tc_audio_all"},"tc_audio_all":{"allOf":[{"$ref":"#/components/schemas/tc_audio_aac"}]},"tc_audio_base":{"type":"object","properties":{"codec":{"description":"Audio codec (the AAC codec is used by default).","anyOf":[{"$ref":"#/components/schemas/frame_audio_codec"},{"$ref":"#/components/schemas/frame_audio_raw_codec"}],"type":"string","example":"opus","default":"aac"},"bitrate":{"description":"Audio bitrate. The allowed values are:\\n\\n* `copy` - the bitrate or the original stream is copied to the outgoing stream.\\n* a full number of bits (e.g., 64000) or a short form of the number with `k` (e.g., 64k).\\n","allOf":[{"$ref":"#/components/schemas/tc_bitrate"}],"example":64000},"avol":{"description":"Output audio volume. The value can be specified in decibels (dB) or it can be an integer/float (3, 0.5, etc.).\\n\\nIf it is just an integer or a float, the output audio volume is calculated by this formula:\\n\\n`output_volume = avol * input_volume`\\n\\nIf specified in decibels (dB), the output audio volume is calculated as follows:\\n\\n`output_volume = input_volume +/- avol`\\n\\ndepending whether it is a positive (+9dB) or a negative value (-6dB).\\n\\nBy default it equals to 1 (the input audio volume).\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/change-stream-volume/"},"type":"string","pattern":"^([0-9]+(\\\\.[0-9]+)?|(\\\\+|\\\\-)[0-9]+(\\\\.[0-9]+)?dB)$","example":"-6dB"},"split_channels":{"description":"This option allows to split each audio track with multiple channels into several mono tracks.\\n","type":"boolean","default":false}}},"tc_audio_aac":{"allOf":[{"$ref":"#/components/schemas/tc_audio_base"},{"$ref":"#/components/schemas/ti_audio_aac_spec"}]},"tc_audio_opus":{"allOf":[{"$ref":"#/components/schemas/tc_audio_base"},{"$ref":"#/components/schemas/ti_audio_opus_spec"}]},"tc_audio_ac3":{"allOf":[{"$ref":"#/components/schemas/tc_audio_base"},{"$ref":"#/components/schemas/ti_audio_ac3_spec"}]},"tc_audio_pcma":{"allOf":[{"$ref":"#/components/schemas/tc_audio_base"},{"$ref":"#/components/schemas/ti_audio_pcma_spec"}]},"tc_audio_pcm":{"allOf":[{"$ref":"#/components/schemas/tc_audio_base"},{"$ref":"#/components/schemas/ti_audio_pcm_spec"}]},"tc_audio_mp3":{"allOf":[{"$ref":"#/components/schemas/tc_audio_base"},{"$ref":"#/components/schemas/ti_audio_mp3_spec"}]},"tc_audio_mp2a":{"allOf":[{"$ref":"#/components/schemas/tc_audio_base"},{"$ref":"#/components/schemas/ti_audio_mp2a_spec"}]},"tc_size":{"type":"object","properties":{"width":{"description":"The picture width in pixels on the display where it will be played by a player.\\nIf you need to insert a web-player into a web page, use this value for choosing the player size.\\n","type":"integer"},"height":{"description":"The picture height in pixels on the display where it will be played by a player.\\nIf you need to insert a web-player into a web page, use this value for choosing the player size.\\n","type":"integer"},"strategy":{"description":"The algorithm of the picture resizing: crop, scale, or fit.\\n","default":"fit","oneOf":[{"title":"Crop","const":"crop"},{"title":"Scale","const":"scale"},{"title":"Fit","const":"fit"}],"type":"string","example":"crop"},"background":{"description":"The color of the area in the player that is not occupied by the video after resizing. \\nIt is used only with the \'fit\' strategy.\\n","anyOf":[{"oneOf":[{"title":"Blur","const":"blur"}],"type":"string"},{"type":"string","format":"hexcolor","x-format-description":"hexcolor"}]}}},"tc_sar":{"type":"object","properties":{"x":{"description":"The first number in SAR. SAR is the ratio of the width of the display video representation to the width of the pixel representation.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/transcoder-internals/#transcoder-options_sar"},"type":"integer"},"y":{"description":"The second number in SAR. SAR is the ratio of the width of the display video representation to the width of the pixel representation.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/transcoder-internals/#transcoder-options_sar"},"type":"integer"}}},"tc_logo":{"type":"object","properties":{"path":{"description":"Path to the logo image.","type":"string","pattern":"^.+\\\\.png$","example":"@chan.png"},"x":{"description":"The offset of the logo position, in pixel, to the right or left to the center of the screen.","type":"integer","example":10},"y":{"description":"The offset of the logo position, in pixel, up or down to the center of the screen.","type":"integer","example":10},"position":{"description":"Position to place the logo.\\n","oneOf":[{"title":"Top left","const":"tl"},{"title":"Top right","const":"tr"},{"title":"Bottom left","const":"bl"},{"title":"Bottom right","const":"br"},{"title":"Center","const":"c"}],"type":"string","example":"tl"}}},"tc_qp_range":{"type":"object","properties":{"qpmini":{"description":"Minimal quantization parameter for I-frames.","maximum":100,"minimum":0,"type":"integer"},"qpmaxi":{"description":"Maximal quantization parameter for I-frames.","maximum":100,"minimum":0,"type":"integer"},"qpminp":{"description":"Minimal quantization parameter for P-frames.","maximum":100,"minimum":0,"type":"integer"},"qpmaxp":{"description":"Maximal quantization parameter for P-frames.","maximum":100,"minimum":0,"type":"integer"},"qpminb":{"description":"Minimal quantization parameter for B-frames.","maximum":100,"minimum":0,"type":"integer"},"qpmaxb":{"description":"Maximal quantization parameter for B-frames.","maximum":100,"minimum":0,"type":"integer"}}},"interlace_settings":{"anyOf":[{"oneOf":[{"title":"Top field first","const":"tff","description":"Top field first. This method is used with hw=qsv, nvenc."},{"title":"Bottom field first","const":"bff","description":"Bottom field first. This method is used with hw=qsv, nvenc."},{"title":"Top field first separated","const":"tff_separated","description":"Top field first, separated fields. This method is used with hw=qsv."},{"title":"Bottom field first separated","const":"bff_separated","description":"Bottom field first, separated fields. This method is used with hw=qsv."},{"title":"MBAFF","const":"mbaff","description":"Interlaced libx264 MBAFF method. This method is used only with hw=cpu."}],"type":"string"},{"type":"boolean","description":"Enables encoding into interlaced video by using the default method for the encoder specified\\n(`mbaff` is the default method for `hw=cpu`, `tff` is the default method for `hw=qsv`, `hw=nvenc`)\\n"}]},"tc_video_opts":{"type":"object","required":["track"],"properties":{"track":{"description":"Number of a video track.","type":"integer","example":1},"bitrate":{"description":"The bitrate of a video track.","allOf":[{"$ref":"#/components/schemas/tc_bitrate"}],"example":1000000},"codec":{"description":"The video codec.","default":"h264","oneOf":[{"title":"H.264","const":"h264"},{"title":"HEVC","const":"hevc"},{"title":"AV1","const":"av1"},{"title":"MP2V","const":"mp2v"}],"type":"string"},"preset":{"description":"A set of values that determine a certain encoding speed, which influences a compression ratio. \\nA slower preset will provide better compression (compression is quality per file size).\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/transcoder-internals/#transcoder-options_preset"},"default":"veryfast","allOf":[{"$ref":"#/components/schemas/tc_preset"}],"example":"medium"},"profile":{"description":"Limits the output to a specific H.264 profile.","allOf":[{"$ref":"#/components/schemas/tc_profile"}]},"level":{"description":"A set of constraints that indicate a degree of required decoder performance.\\nThis parameter is used for compatibility with old devices.\\n","anyOf":[{"allOf":[{"$ref":"#/components/schemas/h264_level"}]},{"allOf":[{"$ref":"#/components/schemas/hevc_level"}]},{"allOf":[{"$ref":"#/components/schemas/mp2v_level"}]}]},"size":{"description":"Target size of the image and the strategy to achieve it.","allOf":[{"$ref":"#/components/schemas/tc_size"}]},"sar":{"description":"Target aspect ratio.","allOf":[{"$ref":"#/components/schemas/tc_sar"}]},"logo":{"description":"The configuration of a logo \\"burned\\" into the video track.\\nThe transcoder adds the logo before the video is resized as specified in the `size` option. \\nThis means that the logo can be visibly stretched if the size was changed significantly.\\n","allOf":[{"$ref":"#/components/schemas/tc_logo"}]},"alogo":{"description":"The configuration of a logo added to the video track after the video was resized as specified in the `size` option.\\n\\nThis prevents the logo picture from stretching that might occur when the `logo` option is used. \\nYou will need to prepare and specify a separate file with a logo for each size of the resulting video track.\\n","allOf":[{"$ref":"#/components/schemas/tc_logo"}]},"fps":{"description":"Frame rate (frames per second) - the speed at which a sequence of images is displayed on a screen.\\n\\nHigher frame rates capture more images per second, which makes for smoother video.\\nThe standard frame rate for color television in the Phase Alternating Line (PAL) format is 25 fps.\\nThe standard frame rate for color television in the National Television System Committee (NTSC) format is 29,97 fps\\n(a little bit lower than the original frame rate of black and white NTSC television, equal to 30 fps.)\\nIf interlaced TV is used, two fields of each frame (with odd-numbered lines and with even-numbered lines) are displayed consequently,\\nbut the frame rate is actually not doubled (50 half-frames are still equal to 25 original frames).\\n","allOf":[{"$ref":"#/components/schemas/tc_fps"}]},"bframes":{"description":"Number of B-frames in a GOP. B-frames contain links to keyframes and P-frames before and after themselves.\\nB-frames help to compress the video. However, some players impose limitations on this number: usually no more than 2 B-frames are used.\\nThis value also defines the GOP structure - the repeated pattern of frames after the keyframe: P, BP, BBP, BBBP, or BBBBP.\\n\\nWhen set to 0, this option disables b-frames. This may be necessary, for example, when broadcasting to RTSP.\\n","enum":[0,1,2,3,4],"type":"integer","example":3},"refs":{"description":"The number of reference frames in a GOP.\\nReference frames are frames of a compressed video that are used to define other frames (P-frames and B-frames).\\n","maximum":6,"minimum":1,"type":"integer"},"gop":{"description":"Sets the number of frames in a GOP. \\nThe encoder will create all GOPs of an exactly identical size - as specified in this option.\\n","type":"integer","example":150},"qp_range":{"description":"The ranges of the quantization parameter for different types of frames in a GOP.\\n\\nQuantization is an algorithm used for video compression. It is based on fragmentation of video frames.\\nIncreasing this parameter allows to improve the compression but may lower the picture quality.\\nUsually, these ranges are defined automatically by the transcoder, but for some types of transcoders it makes sense to set them manually.\\n","allOf":[{"$ref":"#/components/schemas/tc_qp_range"}]},"threads":{"description":"Number of threads used by the encoder when transcoding with CPU (it is not used for other types of transcoder).\\nThis parameter allows to increase performance by adding new threads. By default, it is autodetected.\\n","type":"integer"},"open_gop":{"description":"Whether open GOP is used. Open GOP contains P-frames that refer to the frames before the keyframe.\\nIt allows to decrease bitrate to 5-7%, but can result in breaking the picture.\\n","default":false,"type":"boolean"},"interlace":{"description":"This parameter is used to get an interlaced stream from a progressive one.\\nThe allowed values are `true` (interlaced video), `false` (progressive video), or one of the methods for producing interlaced video supported for the selected type of transcoder.\\n","allOf":[{"$ref":"#/components/schemas/interlace_settings"}]},"rc_method":{"description":"A method for creating output video with constant bitrate suitable for broadcasting to television networks.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/transcoder-internals/#transcoder-rc_method"},"allOf":[{"$ref":"#/components/schemas/rc_method"}]},"temporal_tradeoff":{"description":"Drop some frames in dynamic scenes when the transcoder does not have time to code all frames.\\nThe allowed values are: \\n\\n* `15` - drop 1 from 5\\n* `13` - drop 1 from 3\\n* `12` - drop 1 from 2\\n* `23` - drop 2 from 3\\n* `0` - do not drop frames\\n","type":"integer"},"vbv_bufsize":{"description":"Virtual buffer size, it bits. The default value is `gop / fps * bitrate`.\\n","type":"integer"},"resize_mode":{"description":"The mode to be used for resizing video tracks. It is one of the computing platforms for Flussonic Coder:\\n\\n* vic -  Video Image Converter, specific for Jetson Nvidia\\n* cuda - CUDA (or Compute Unified Device Architecture)\\n","allOf":[{"$ref":"#/components/schemas/transcoder_resize_mode"}]},"burn":{"description":"Configuration of burn-in text, timestamp, or subtitles to video frames.","allOf":[{"$ref":"#/components/schemas/tc_burn"}]},"extra":{"additionalProperties":{"type":"string"},"type":"object","description":"Some additional options."}}},"transcoder_opts":{"type":"object","properties":{"global":{"description":"Transcoder settings to be used for transcoding. \\n","allOf":[{"$ref":"#/components/schemas/tc_global"}],"x-default":{"$ref":"#/components/schemas/tc_global"}},"decoder":{"description":"Decoder settings to be used for transcoding. \\n","allOf":[{"$ref":"#/components/schemas/tc_decoder"}],"x-default":{"$ref":"#/components/schemas/tc_decoder"}},"audio":{"description":"List of audio tracks the stream audio track will be transcoded into.\\n","allOf":[{"$ref":"#/components/schemas/tc_audio_opts"}],"x-default":{"$ref":"#/components/schemas/tc_audio_opts"},"deprecated":true,"x-delete-at":23.09},"video":{"description":"List of video tracks the stream video track will be transcoded into. \\n","items":{"allOf":[{"$ref":"#/components/schemas/tc_video_opts"}]},"type":"array","default":[],"deprecated":true,"x-delete-at":24.08},"tracks":{"description":"Info on the tracks. In the case of iris-hal, the first video track must be\\nhigh-resolution track, second one (if present) must be lower-resolution\\n","items":{"allOf":[{"$ref":"#/components/schemas/transcoder_track_info"}]},"type":"array","default":[],"x-api-allow":["smartcam","iris-hal"]}}},"dvr_schedule_range":{"items":{"type":"integer"},"type":"array"},"dvr_range":{"type":"object","properties":{"from":{"description":"The beginning of the recorded DVR range. Use opened_at instead.\\nMention that opened_at has milliseconds\\n","type":"integer","format":"utc","example":1525186456,"deprecated":true,"x-delete-at":24.11,"x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000},"duration":{"description":"The duration of the recorded DVR range.\\nUse closed_at instead of this field. \\n","type":"integer","format":"seconds","example":28800,"deprecated":true,"x-delete-at":24.11,"x-format-description":"seconds"},"opened_at":{"type":"integer","format":"utc_ms","description":"The time when this range was started. Naming is standard for whole flussonic ecosystem.\\n\\nIs a replacement for field `from`\\n","examples":{"default":{"value":1637094994000}},"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"closed_at":{"type":"integer","format":"utc_ms","description":"The the of the last recorded data.\\n\\nPlease notice that closed_at could be changed. There are two reasons.\\n- Cleaner process reduced data. Read [more](https://flussonic.com/doc/api/reference/#tag/stream/operation/stream_get/response%7Cdvr%7Cepisodes_url).\\n- Recording is still working. Near real-time value means that DVR is active at the moment.\\n\\nThis is a replacement for `duration` field\\n","examples":{"default":{"value":1637094994000}},"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000}}},"dvr_base_config":{"type":"object","properties":{"storage_limit":{"description":"Maximum disk consumption in bytes. When this limit is reached, \\nthe oldest segment of the recording will be overridden by later data.\\n\\nThis option affects both continuous recording and locked episodes (see `episodes_url`).\\n\\nIf `episodes_url` does not respond, the archive clean-up by `storage_limit` is not performed\\nto avoid deleting the recordings that should not be deleted.\\n","type":"integer","format":"bytes","example":400000000000,"x-format-description":"bytes"},"expiration":{"description":"Archive depth - a period (in seconds) back from the current moment during which the \\ncontigious part of archive is stored. \\nAs time goes, the parts of the recording which are older than the archive depth are deleted.\\n\\nIf you have option `episodes_expiration` enabled, then some parts of DVR that are \\nlocked by episode signalling mechanism may be kept more than this `expiration` depth.\\n\\nIf `episodes_url` does not respond, the archive clean-up by `expiration` is not performed;\\nonly the archive with expired episodes (`episodes_expiration`) is cleaned up until the `episodes_url` restores.\\n","type":"integer","format":"seconds","examples":{"default":{"value":604800}},"x-api-allow":["central-layouter"],"x-format-description":"seconds"},"episodes_expiration":{"description":"Additional archive depth in seconds for episodes. If set, episodes and their corresponding DVR record\\nwill be saved for `expiration + episodes_expiration` seconds.\\n\\nThe archive clean-up within `[expiration, expiration+episodes_expiration]` seconds of the\\nrecording performed depending on [external_episodes_list](https://flussonic.com/doc/api/config-external/#tag/dvr/operation/external_episodes_list)\\nresponse of `episodes_url`.\\n\\nAnything older than `expiration+episodes_expiration` seconds will\\nbe cleaned even if `episodes_url` does not respond.\\n","type":"integer","format":"seconds","examples":{"default":{"value":6048000}},"x-format-description":"seconds"},"episodes_url":{"description":"External URL that will be triggered for fetching episodes list.\\nTake a look at config_external API for method `external_episodes_list`.\\n\\nIf the `episodes_url` not set or responds with any HTTP code other than `200` or `501` or does not respond within a timeout,\\nthe archive clean-up is only performed by `episodes_expiration` time while `expiration` and `storage_limit` are ignored until the `episodes_url` restores.\\n\\n\\nIf `episodes_url` is a blank string, then current config_external API endpoint will be used to request episodes.\\nIt is most common usage of this field.\\n","type":"string","examples":{"default":{"value":"http://central-host.local/config-external/episodes"},"simple":{"value":""}}},"schedule":{"description":"One or several time intervals for recording by schedule.\\nThe beginning and the end of each interval are set in \\"hhmm\\" format (without leading zeros ) according to UTC standard. \\nFor example, `2330` is for 23:30, `800` - for 08:00. The interval can go over midnight, e.g. 22:00-1:30. In this case it is set as follows: `[2200,130]`.\\n\\nScheduled recording can be useful for the channels with part-time broadcasting. \\nIt allows to save disk space significantly.\\n","items":{"allOf":[{"$ref":"#/components/schemas/dvr_schedule_range"}]},"type":"array","example":[[800,1600],[2200,130]]},"disk_usage_limit":{"description":"Maximum disk consumption in percents. When this limit is reached, \\nthe oldest segment of the recording will be overridden by later data.\\n\\nIt important to understand that this is not a \\"per-stream\\" option, this option means\\nthat cleaning of this stream will be triggered if overall disk usage reaches this number.\\n\\nIf you have all streams with configuration 98% and one stream with 95%, it will be permanently\\nempty.\\n","type":"integer","format":"percent","example":98,"x-format-description":"percent"},"dvr_replicate":{"description":"Whether DVR replication is used. Replication means that a DVR archive is stored on two (or more) Flussonic servers.\\nIt can be used for reliability or for broadcasting with a time shift. Learn more in [Flussonic documentation](https://flussonic.com/doc/scale-dvr-playback-with-new-server/).\\n","type":"boolean","example":true},"replication_speed":{"x-private":true,"description":"Replication speed limitation. \\nThe secondary server can limit the total speed of replication in order not to interrupt the live broadcast or reduce its quality. \\n","type":"integer","format":"speed","x-format-description":"speed"},"replication_port":{"description":"Replication port. \\nBy default, replication is enabled on the port specified when configuring the M4F source. \\nYou can specify a separate port for replication.\\n","allOf":[{"$ref":"#/components/schemas/network_port"}],"example":8002},"no_index":{"x-private":true,"description":"Don\'t generate a file with the list of streams and their depths.","type":"boolean"},"dvr_offline":{"description":"If this option is enabled, Flussonic detects DVR at the start of the stream,\\nbut does not start recording immediately and waits for external API request.\\n","type":"boolean"},"copy":{"description":"The URL of another storage to copy the blobs (hours of the archive) into. \\nCopying is done when a blob is complete (i.e., once an hour), and therefore helps significantly reduce the number of network requests to a cloud storage.\\n","type":"string","format":"dvr_url","example":"s3://token@minio.mycompany.com/dvr-bucket","x-format-description":"dvr_url"},"keep_locks":{"description":"Whether the locked DVR recordings will be kept when disk usage limit is reached (in bytes or percents).\\n\\nThis option will be now always enabled, consider managing your free space.\\n\\nSwitch to `episodes_url` mechanism instead.\\n","type":"boolean","example":false,"deprecated":true,"x-delete-at":23.11}}},"dvr_storage_config":{"type":"object","properties":{"name":{"description":"DVR configuration name.","type":"string","format":"dvr_name","openmetrics_label":"dvr_name","x-primary-key":true,"readOnly":true,"x-api-allow":["central-layouter"],"x-format-description":"dvr_name"},"root":{"description":"A path where the DVR archive is stored.","type":"string","format":"dvr_url","x-api-allow":["central-layouter"],"x-format-description":"dvr_url"},"raid":{"description":"This value is present if RAID (redundant array of independent disks) is enabled. Learn more in [Flussonic RAID for DVR](https://flussonic.com/doc/extend-video-storage-on-fly/). \\n","allOf":[{"$ref":"#/components/schemas/dvr_raid_level"}]},"check_mount":{"description":"If this parameter is set to \'true\' (by default), \\nFlussonic will check if the disks were mounted properly before writing to them.\\n","type":"boolean"},"active":{"description":"The number of disks to write the archive.","type":"integer"},"index":{"description":"A directory on an SSD disk where the data will be cached.","type":"string","format":"disk_path","x-format-description":"disk_path"},"disks":{"description":"RAID disks mounted on the server.","type":"array","items":{"$ref":"#/components/schemas/raid_disk_config"}},"stats":{"description":"The runtime statistics about DVR.\\n","allOf":[{"$ref":"#/components/schemas/dvr_storage_stats"},{"$ref":"#/components/schemas/dvr_capacity_stats"}],"readOnly":true,"x-api-allow":["central-layouter"]}},"required":["name","root"]},"dvr_raid_level":{"type":"integer","oneOf":[{"title":0,"const":0,"description":"RAID level 0"}]},"dvr_storage_stats":{"type":"object","properties":{"errors":{"description":"The runtime DVR errors.\\n","allOf":[{"$ref":"#/components/schemas/dvr_storage_errors"}]}}},"dvr_storage_errors":{"type":"object","properties":{"read_errors":{"description":"Total number of errors while reading the archive.","type":"integer"},"write_errors":{"description":"Total number of errors while writing to the archive.","type":"integer"},"delete_errors":{"description":"Total number of errors while deleting from the archive.","type":"integer"},"collapsed_write_count":{"description":"Total number of collapsed segments while writing to the archive. Collapsed segments are pack of segments written together occur due to lack of storage performance.","type":"integer"},"drop_write_count":{"description":"Total number of dropped segments while writing to the archive.","type":"integer"}}},"dvr_config":{"allOf":[{"$ref":"#/components/schemas/dvr_storage_config"},{"$ref":"#/components/schemas/dvr_base_config"}]},"dvr_capacity_stats":{"type":"object","description":"This list of stats can be used to monitor health of invidiual disk in storage.\\n\\nThere are several layers of indexes in internal database, here you can validate\\nintegrity of data.\\n","properties":{"blobs_count_db":{"description":"The number of blobs on the disk according to centralized Raid DB that is\\nused to allocate blobs across whole storage.\\n","type":"integer","openmetrics_metric":"storage_blobs_count_db","x-metric-type":"gauge"},"blobs_count":{"description":"The number of blobs on the disk that are enlisted in individual stream indexes.\\nIt must be equal to blobs_count_db and can be different in case of software\\nor hardware errors.\\n","type":"integer","openmetrics_metric":"storage_blobs_count","x-metric-type":"gauge"},"size":{"description":"Disk capacity in bytes.\\n","type":"integer","format":"bytes","openmetrics_metric":"storage_size","x-metric-type":"gauge","x-api-allow":["central-layouter"],"x-format-description":"bytes"},"used":{"description":"Used disk space in bytes according to linux metrics. It must be equal (almost equal) to\\n`used_index`. If it differs more than in 1%, then it means that there are lot of unknown files.\\n\\nIf this disk is used exclusively for Raid, then it may mean that some blobs are lost from\\ndatabase and repairing is required.\\n","type":"integer","format":"bytes","openmetrics_metric":"storage_used","x-metric-type":"gauge","x-api-allow":["central-layouter"],"x-format-description":"bytes"},"used_index":{"description":"Used disk space in bytes according to internal database index.\\n","type":"integer","format":"bytes","openmetrics_metric":"storage_used_index","x-metric-type":"gauge","x-format-description":"bytes"},"usage":{"description":"Disk utilization percentage.","type":"integer","format":"percent","openmetrics_metric":"storage_usage","x-metric-type":"gauge","x-api-allow":["central-layouter"],"x-format-description":"percent"}}},"raid_disk_config":{"type":"object","properties":{"path":{"description":"The path to a mounted disk. \\n","example":"volume1","type":"string","format":"disk_path","openmetrics_label":"disk","x-primary-key":true,"readOnly":true,"x-format-description":"disk_path"},"mode":{"description":"The mode of using the disk.\\n","example":"keep","allOf":[{"$ref":"#/components/schemas/raid_disk_mode"}]},"stats":{"description":"The runtime statistics about RAID. The statistics shows the state of disks.\\nLearn more in [Flussonic RAID for DVR](https://flussonic.com/doc/extend-video-storage-on-fly/#dvr-flussonic-raid-stats)\\n","allOf":[{"$ref":"#/components/schemas/raid_disk_stats"},{"$ref":"#/components/schemas/dvr_capacity_stats"}],"readOnly":true}},"required":["path"]},"raid_disk_mode":{"type":"string","oneOf":[{"title":"Normal","const":"normal","description":"Flussonic reads the data from and writes it to the hard drive, removing the data according to the DVR settings.\\nThe default mode.\\n"},{"title":"Migrate","const":"migrate","description":"Flussonic migrates the data from the current hard drive to other hard drives in the array on the fly, cleaning up the current hard drive.\\nYou can check that Flussonic finished migrating the data, when there aren\'t any calls to this hard drive.\\nIn the meantime, Flussonic continues archive recording, so it isn\'t interrupted. You don\'t need to restart Flussonic after you remove the disk.\\nUse this option if you need to extract the hard drive and don\'t want to lose the data.\\n"},{"title":"Readonly","const":"readonly","description":"Flussonic reads the data from the hard drive, restricting any writing to it. Use this option in the following cases:  \\nFlussonic reads the data from the hard drive until the data on it expires. Then Flussonic deletes the data.\\n* If the hard drive is worn out and you can\'t write the data to the hard drive, delete files, update the index, or copy the data to another hard drive.\\n* If the hard drive stores the records written in the `keep` mode and you want to store the data permanently.\\n"},{"title":"Rescue","const":"rescue","description":"Flussonic copies all the data from the old hard drive that\'s going to fail and stops writing the data to this hard drive.\\nFlussonic doesn\'t delete the data from the hard drive, unlike in `migrate` mode, so you can still access the archive.\\nUse this option in an emergency.\\n"},{"title":"Abandon","const":"abandon","description":"Flussonic stops writing new data on this hard drive. When the data becomes obsolete, Flussonic deletes it, updating the index. \\nUse this option when you want to replace a hard drive, for example, with a larger one.\\n"},{"title":"Keep","const":"keep","description":"Flussonic writes the data to the hard drive, but doesn\'t delete it.\\nUse this option if you need to store the entire archive permanently.\\n"}]},"raid_disk_errors":{"type":"object","properties":{"eacces":{"description":"Total number of permission denied errors\\n","example":1,"type":"integer"},"eagain":{"description":"Total number of temporarily unavailable errors\\n","example":1,"type":"integer"},"ebusy":{"description":"Total number of file busy errors\\n","example":1,"type":"integer"},"edquot":{"description":"Total number of disk quota exceeded errors\\n","example":1,"type":"integer"},"emfile":{"description":"Total number of too many open files errors\\n","example":1,"type":"integer"},"enoent":{"description":"Total number of no such file or directory errors\\n","example":1,"type":"integer"},"enodev":{"description":"Total number of no such device errors\\n","example":1,"type":"integer"},"enospc":{"description":"Total number of no space left on device errors\\n","example":1,"type":"integer"},"erofs":{"description":"Total number of read-only file system errors\\n","example":1,"type":"integer"},"connection_timeout":{"description":"Total number of connection timeout errors\\n","example":1,"type":"integer"},"ssl_error":{"description":"Total number of SSL errors\\n","example":1,"type":"integer"},"nxdomain":{"description":"Total number of non-existing domain errors\\n","example":1,"type":"integer"},"econnrefused":{"description":"Total number of connection refused errors\\n","example":1,"type":"integer"},"other":{"description":"Total number of other errors\\n","example":1,"type":"integer"}}},"raid_disk_stats":{"type":"object","properties":{"mounted":{"description":"Whether the disk is mounted correctly.","type":"boolean"},"mode":{"description":"The mode of using the disk.\\n","example":"keep","allOf":[{"$ref":"#/components/schemas/raid_disk_mode"}]},"io_usage":{"description":"Disk I/O utilization percentage from `/proc/devstat`.","type":"integer","format":"percent","openmetrics_metric":"raid_disk_io_usage","x-metric-type":"gauge","x-format-description":"percent"},"migration_speed":{"description":"The speed of copying the last blob, in bytes per second.","type":"integer","format":"speed","x-format-description":"speed"},"migration_eta":{"description":"The estimated migration end time, in UTC seconds.","type":"integer","format":"utc","x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000},"migration_updated":{"description":"The time when the values of `migration_speed` and `migration_eta` were last updated.","type":"integer","format":"utc","x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000},"errors":{"description":"Errors of using the disk.\\n","allOf":[{"$ref":"#/components/schemas/raid_disk_errors"}]}}},"debug_stream_spec":{"type":"object","properties":{"ips":{"description":"Client IP addresses which data is recorded.","type":"array","items":{"allOf":[{"$ref":"#/components/schemas/network_addr"}]},"example":["10.10.10.9"]},"tracepoints":{"description":"Points in stream pipeline where data is recorded.\\n","type":"array","items":{"$ref":"#/components/schemas/debug_stream_tracepoints"},"default":["input"],"example":["input","stream","webrtc_play_network"]},"root":{"description":"The path to the directory where the session data will be recorded.\\nRecommended for debugging needs **only**.\\n","type":"string","format":"dvr_url","example":"/tmp/debug","x-format-description":"dvr_url"},"storage_limit":{"description":"Maximum disk consumption in bytes. When this limit is reached, \\nthe oldest segment of the recording will be overridden by later data.\\n","type":"integer","format":"bytes","example":400000000000,"x-format-description":"bytes"},"expiration":{"description":"A period (in seconds) back from the current moment during which the files are stored.\\nAs time goes, the files which are older than this period are being overridden by the later files.\\n","type":"integer","format":"seconds","example":604800,"x-format-description":"seconds"},"duration":{"description":"Time for recording in milliseconds.","type":"integer","format":"milliseconds","example":6000,"x-format-description":"milliseconds"}},"required":["root"]},"debug_stream_tracepoints":{"anyOf":[{"oneOf":[{"title":"Input","const":"input","description":"Record raw bytes at stream input. Not all protocols support this."},{"title":"Stream","const":"stream","description":"Record frames after all pre-processing, as would be output via push or play."},{"title":"WEBRTC network output data","const":"webrtc_play_network","description":"Record webrtc play session rtp packets"},{"title":"WEBRTC frames before encoding","const":"webrtc_play_frame","description":"Record webrtc play session frames"},{"title":"RTSP network output data","const":"rtsp_play_network","description":"Record rtsp play session packets"}],"type":"string"}]},"motion_detector_spec":{"type":"object","properties":{"enabled":{"description":"This parameter allows Flussonic to receive motion detection events from cameras via ONVIF protocol. \\nFlussonic adds corresponding marks in the archive recordings in the places when motion was detected.    \\n","default":true,"type":"boolean","example":true},"pull":{"description":"The address from which Flussonic will get motion detection events.\\nThe events are taken from the ONVIF pull point provided by the cameras.\\n\\nThe format of the address is `onvif://{login}:{password}@{address}:{port}/onvif/device_service`\\n","externalDocs":{"description":"Find more information here","url":"http://www.onvif.org/specs/core/ONVIF-Core-Specification.pdf"},"type":"string","examples":{"default":{"value":"onvif://admin:admin@127.0.0.1:80"},"iris":{"value":"http+iris://localhost"}}}}},"vbi_line":{"anyOf":[{"maximum":23,"minimum":6,"type":"integer"},{"maximum":335,"minimum":318,"type":"integer"}]},"ttxt_descriptors":{"properties":{"page":{"description":"Page number of the teletext received from an SDI card.\\nIt is defined according to ETS 300 706 teletext specification.\\n\\nThe information about the pages is received from the stream provider.\\n","type":"integer","x-primary-key":true,"example":100},"lang":{"description":"The language code of the teletext.","anyOf":[{"$ref":"#/components/schemas/language_value"}]},"type":{"description":"Teletext page type defined according to the Specification for Service Information (SI) in DVB systems, 6.2.32 Teletext descriptor in EN 300 468 Digital Video Broadcasting (DVB).","enum":["initial","subtitle","impaired"],"type":"string","example":"initial"}},"required":["page","lang","type"],"type":"object"},"vbi_service":{"enum":["ttxt"],"type":"string"},"srt_config":{"allOf":[{"type":"object","properties":{"port":{"description":"Listening port or a `host:port` pair for the SRT configuration.\\nMust be unique on the whole server.\\n","allOf":[{"$ref":"#/components/schemas/listen_spec"}],"example":9050},"v":{"description":"What implementation to use.\\n","oneOf":[{"const":"srt1","description":"libsrt bindings"},{"const":"srt2","description":"erlang implementation"}],"x-private":true},"timeout":{"description":"Data transmission timeout in seconds. \\nIf set to `false` then data transmission time is unlimited. This is a defalut behavior.\\n","anyOf":[{"type":"integer","format":"seconds","x-format-description":"seconds"},{"enum":[false],"type":"boolean"}],"x-notice":"SRTO_RCVTIMEO SRTO_SNDTIMEO (ms, -1 no limit)","example":10}}},{"$ref":"#/components/schemas/srt_config_base"}]},"srt_config_base":{"type":"object","properties":{"minversion":{"description":"The minimum SRT version that is required from the peer for SRT publication.\\n","type":"string","pattern":"^[0-9]+\\\\.[0-9]+\\\\.[0-9]+$","example":"1.1.0"},"version":{"description":"Required SRT version.\\n","type":"string","pattern":"^[0-9]+\\\\.[0-9]+\\\\.[0-9]+$","example":"1.3.0"},"enforcedencryption":{"description":"Whether both connection parties must have the same password set (including empty, in other words, with no encryption). \\nIf the passwords do not match or only one side is unencrypted, the connection is rejected. \\nThe default value is `true`.\\n","type":"boolean","example":true},"passphrase":{"description":"The password for the encrypted transmission. \\nIts length should be not less than 10 and not more than 79 characters.\\n\\nUnlike [password](https://flussonic.com/doc/api/reference/#tag/stream/operation/stream_save%7Cbody%7Cpassword),\\nthe passphrase is not transmitted openly but is used to encrypt the key that is transmitted by the Caller\\nand decoded by Listener.\\n","type":"string","minLength":10,"maxLength":79,"example":"9876543210","x-notice":"SRTO_PASSPHRASE (\\"\\")"},"linger":{"description":"The time, in seconds, that the socket waits for the unsent data before closing. \\nThe default value is 180.\\n","type":"integer","format":"seconds","x-notice":"SRTO_LINGER on, (180s) (off - 0s)","example":15,"x-format-description":"seconds"},"latency":{"description":"The latency value for both directions of the socket.\\nBy default initial value latency is 0 when transmitting and 120ms when receiving video.\\nActual value established after connection handshake.\\nIncreased value helps tolerate network losses and delays.\\n","type":"integer","format":"milliseconds","x-notice":"SRTO_LATENCY","example":150,"x-format-description":"milliseconds"},"streamid":{"description":"A string of maximum 512 characters set on the socket before the connection. \\n\\nThis string is a part of a callback that is sent by the caller and regisered by the listener. \\nBased on this information the listener can accept or reject the connection, select the desired data stream, or set an appropriate passphrase for the connection.\\n\\nIts format is `#!::` optionally followed by the parameters:\\n* `r=` - stream name\\n* `m=` - mode expected for the connection: `publish` (if the caller wants to send the stream data) or `request` (if the caller wants to receive the stream).\\n* `password=` - a password for the authorization in a publish session (not recommended, better use `passphrase` option instead)\\n\\nDuring SRT sessions the following parameters are automaticly added to streamid:\\n* `s=` - the identifier of a session\\n* `a=` - Flussonic version\\n\\nNOTE: you can specify a string in the format you need; to disable this extension, you need specify empty string.\\n","type":"string","maxLength":512,"example":"#!::r=my-stream,m=publish"}}},"mpegts_lang_track":{"anyOf":[{"enum":["default"],"type":"string"},{"type":"string"}]},"audio_track":{"type":"object","required":["channels"],"properties":{"track":{"description":"The audio track name in Media Server.","type":"string","example":"a1","x-primary-key":true},"sample_type":{"description":"The audio track format.","type":"string","oneOf":[{"const":"pcm"},{"const":"smpte337"}],"default":"pcm"},"channels":{"description":"The list of SDI audio channels from which you want to assemble the audio track.","type":"array","items":{"type":"integer"}},"lang":{"description":"The audio track language.","anyOf":[{"$ref":"#/components/schemas/language_value"}]}}},"push_audio_track":{"properties":{"track":{"description":"The audio track name.","type":"string","example":"a1"},"sample_type":{"description":"The audio track output format.","type":"string","oneOf":[{"const":"pcm"}],"default":"pcm"},"channels":{"description":"The list of SDI audio channel numbers to which the audio track shall be pushed.","type":"array","items":{"type":"integer"}}},"type":"object","required":["track","channels"]},"stream_dvr_specific_spec":{"type":"object","properties":{"reference":{"description":"Stream can refer to the globally declared DVR. This option referres to a single DVR entry.","type":"string","format":"dvr_name","example":"localdvr0","x-format-description":"dvr_name"},"remotes":{"description":"The address of the source from which Media server will read the archive. This address will not be used for capturing live video, it is strictly for data exchange on the availability of the archive and the transmission of segments.","type":"array","items":{"type":"string","format":"dvr_url","pattern":"^(m4f|m4fs|m4s|m4ss|hls)://.*$","examples":{"default":{"value":"m4f://clusterkey@secondserver/otherstream"}},"x-format-description":"dvr_url"}},"redundancy_factor":{"description":"How many servers will contain a copy of the DVR archive.\\nYou can find more information [here](https://flussonic.com/doc/api/layouter/#tag/stream/operation/streams_list/response%7Cstreams%7Cdvr%7Credundancy_factor)\\n","x-api-description":{"central-layouter":"How many servers will contain a copy of the DVR archive.\\nLayouter will select nodes to copy the stream archive based on the load of the node and [labels](https://flussonic.com/doc/api/layouter/#tag/stream/operation/streams_list/response%7Cstreams%7Clabels).\\nThe hostname of the selected nodes will be contained in the [layout.dvr_backup](https://flussonic.com/doc/api/layouter/#tag/stream/operation/streams_list/response%7Cstreams%7Clayout%7Cdvr_backup) field\\n"},"type":"integer","example":1,"minimum":0,"x-api-allow":["central-layouter"]},"root":{"description":"If no `reference` specified, then `root` must be specified. Video recording will be made to `root/name` directory.\\nThis option works only in media server and should be used only as a quickstart mechanism. Should be avoided in large installations, because it mixes infrastructure and content setup and lacks configurability.","type":"string","format":"dvr_url","examples":{"default":{"value":"/storage"}},"x-format-description":"dvr_url"}}},"stream_dvr_spec":{"allOf":[{"$ref":"#/components/schemas/stream_dvr_specific_spec"},{"$ref":"#/components/schemas/dvr_base_config"}]},"subtitle_style":{"type":"object","properties":{"align":{"description":"Horizontal alignment of subtitles.\\nAllowed values: `left`, `center`, `right`.\\n","type":"string","example":"middle"},"valign":{"description":"Vertical alignment of subtitles.\\nAllowed values: `top`, `middle`, `bottom `.\\n","type":"string","example":"bottom"}}},"transponder_pid":{"type":"object","properties":{"pid":{"description":"A PID to assign to a matched track or system table.\\nPID identifies the payload (media or service) in the resulting MPTS stream.\\n\\nMultiplexer will include only the tracks with specified PIDs.\\n\\nIt is possible to set PID values for video, audio and other media tracks, as well as for PMT and SDT.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/multiplex-several-streams-into-mpts-for-contribution/#choosing-output-tracks"},"allOf":[{"$ref":"#/components/schemas/ts_pid"}],"x-primary-key":true,"openmetrics_label":"pid"},"content":{"description":"Content of the track.","enum":["system","video","audio","application","metadata"],"type":"string","example":"audio"},"codec":{"description":"Codec for this pid. Use this if just content+track is not enough.","allOf":[{"$ref":"#/components/schemas/frame_codec"}],"example":"scte35"},"track":{"description":"Index of a track with specified content and maybe codec.\\nE.g. when you specify content=audio and track=2 the second audio track will be selected.\\nIf you specify content=audio, codec=aac and track=1, the first AAC track will be selected\\neven if it is a third audio track and fifth track in stream media_info\\n","type":"integer","example":1},"bitrate":{"description":"Bitrate of the track.","type":"integer","format":"speed","example":2543,"x-format-description":"speed"},"stream_type":{"description":"Custom program element type in PMT\\nCombined with bypass (content=metadata, track=0) this option makes\\nproprietary PSI streams appear in PMT program info with given stream_type field\\n\\nThis is an optional parameter for advanced users. By default, the media Server\\nis automatically sets the stream_type according to the track codec.\\n","type":"integer","minimum":1,"maximum":255,"example":12},"es_info":{"description":"Raw elementary stream descriptors to describe proprietary stream in PMT program info\\nPlese refer to ISO/IEC 13818-1 section 2.6 for syntax\\n\\nThis is an optional parameter for advanced users. By default, the media Server\\nis automatically sets the stream_type according to the track codec.\\n","type":"string","format":"hexbinary","example":"52010D","x-format-description":"hexbinary"},"stats":{"description":"Detailed runtime information about the multiplexer pid.","allOf":[{"$ref":"#/components/schemas/transponder_pid_stats"}],"readOnly":true}},"required":["pid","content","track"]},"transponder_pid_stats":{"type":"object","properties":{"payload":{"description":"The payload bytes count.","type":"integer","format":"bytes","openmetrics_metric":"pid_payload","x-metric-type":"counter","x-format-description":"bytes"},"fillers":{"description":"The filler bytes count.","type":"integer","format":"bytes","openmetrics_metric":"pid_fillers","x-metric-type":"counter","x-format-description":"bytes"},"stuffing":{"description":"The stuff packets count.","type":"integer","openmetrics_metric":"pid_stuffing","x-metric-type":"counter"},"trimmed_bytes":{"description":"The trimmed bytes count.","type":"integer","format":"bytes","openmetrics_metric":"pid_trimmed_bytes","x-metric-type":"counter","x-format-description":"bytes"},"trimmed_frames":{"description":"The trimmed frames count.","type":"integer","openmetrics_metric":"pid_trimmed_frames","x-metric-type":"counter"}}},"vision_spec":{"type":"object","properties":{"alg":{"description":"The algorithm used for video analytics.\\n","type":"string","oneOf":[{"const":"faces","description":"The algorithm for face recognition is used."},{"const":"plates","description":"The algorithm for license plate recognition is used."}],"example":"faces","x-api-allow":["vision-config-external","vision"]},"areas":{"description":"This parameter allows you to select specific polygonal area(s) for detection.\\nBy default, it is empty, and the recognition system searches over the entire camera field of view.\\n\\nEach area is specified as a sequence of comma-separated coordinates of vertices of the polygon: `x0,y0,x1,y1,x2,y2,...`.\\nThe vertices are specified in a counter-clockwise direction. Multiple areas are separated by `:`.\\n","type":"string","x-api-allow":["vision-config-external","vision"]},"stats":{"description":"Runtime information about the vision process.","allOf":[{"$ref":"#/components/schemas/vision_stats"}],"readOnly":true,"x-api-allow":["vision"]}}},"vision_stats":{"type":"object","properties":{"status":{"description":"Indicates the analytics status of the stream on inference node.\\n","allOf":[{"$ref":"#/components/schemas/stream_status"}]},"last_detection_at":{"type":"integer","format":"utc","description":"The time when there was the last detection.","example":1643789953,"x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000}}},"auth_spec":{"type":"object","properties":{"url":{"description":"The URL of an HTTP backend.","allOf":[{"$ref":"#/components/schemas/auth_url"}],"example":"http://middleware-address/auth/v2"},"domains":{"description":"Specifying the domains, within which playing this video is allowed. \\nThis does not work for those clients that do not pass the value of Referer HTTP header.\\n","items":{"type":"string"},"type":"array","example":["mycompany.com"]},"max_sessions":{"description":"The maximal number of streams or files the user can view simultaneously.\\nThis limitation allows to prevent users from full restreaming to their servers.\\n","type":"integer","example":5000},"allowed_countries":{"description":"Explicit list of countries (two-letter country codes according to ISO 3166-1) that have access to the content without any other checks. \\n\\nFlussonic uses the MaxMind GeoLite2 Country database to map a country to a block of IP addresses. \\nNew releases of GeoIP2 databases come out more often than the releases of Flussonic server, so sometimes the used database can become outdated. \\nTherefore we recommend you to install a separate GeoIP2 library and set up Flussonic to use it.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/restrict-viewer-country-with-geoip/"},"items":{"type":"string","format":"iso3166","x-format-description":"iso3166"},"type":"array","example":["US","DE","GB"]},"disallowed_countries":{"description":"Explicit list of countries (two-letter country codes according to ISO 3166-1) that are banned from accessing the content. \\n\\nFlussonic uses the MaxMind GeoLite2 Country database to map a country to a block of IP addresses. \\nNew releases of GeoIP2 databases come out more often than the releases of Flussonic server, so sometimes the used database can become outdated. \\nTherefore we recommend you to install a separate GeoIP2 library and set up Flussonic to use it.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/restrict-viewer-country-with-geoip/"},"items":{"type":"string","format":"iso3166","x-format-description":"iso3166"},"type":"array","example":["US","DE","GB"]},"soft_limitation":{"description":"If this option is enabled and `max_sessions` limitation is used, the extra sessions are interrupted not immediately, but in 30 or 90 seconds.\\nThis can be useful for middlewares that cannot generate a new token for every new stream or file request \\nand therefore need time to understand that all sessions are being used.\\n","type":"boolean","example":false},"session_keys":{"description":"A list of keys to generate a session ID value, allowing to configure the authorization scheme \\nwhich is a hash sum calculated as follows: `hash(name + ip + proto)`.\\nThis parameter allows to finish one session and start another one with the same authorization token.\\nThe keys `name`,`ip`, and `proto` are required.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/authorize-clients/#auth-session-keys"},"items":{"allOf":[{"$ref":"#/components/schemas/session_key"}]},"type":"array","example":["name","token","proto","ip"]},"extra":{"additionalProperties":{"type":"string"},"type":"object","description":"Some additional options."}}},"stream_stats":{"type":"object","properties":{"lifetime":{"type":"number","format":"milliseconds","description":"The time period in seconds during which the stream is being captured.\\nCan be calculated from `opened_at`\\n","x-api-allow":["central","watcher-core","watcher-client","watcher-admin"],"example":71977,"x-format-description":"milliseconds"},"last_dts_at":{"type":"number","format":"utc_ms","description":"The time when the last time frame was sent to the stream output (in UTC).","example":1636383841974,"x-api-allow":["watcher-client","watcher-core","watcher-admin","central"],"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"media_info":{"allOf":[{"$ref":"#/components/schemas/media_info"}],"description":"Technical information about the output media content.","x-api-allow":["watcher-client","watcher-core","watcher-admin","central","smartcam"]},"ts_delay":{"type":"number","format":"ticks","example":1284,"description":"The time period during which no frames were received from the stream\'s input.","x-api-allow":["central","watcher-core","watcher-client","watcher-admin"],"x-format-description":"ticks"},"status":{"description":"Indicates the status of the stream.\\n","allOf":[{"$ref":"#/components/schemas/stream_status"}],"x-api-allow":["watcher-client","watcher-core","watcher-admin","central","vision"]},"last_running_at":{"type":"integer","format":"utc_ms","description":"The last time when the stream was running.\\n","example":1737975543123,"x-api-allow":["central","central-layouter"],"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"input_error_rate":{"type":"integer","description":"The number of packets dropped per second.\\n\\nSwitch to `stream.stats.input.errors`\\n","example":0,"x-api-allow":["central","watcher-core","watcher-client","watcher-admin"],"deprecated":true,"x-delete-at":25.03},"bytes_in":{"type":"integer","format":"bytes","description":"The amount of stream data received from the input.\\n\\nUse `stream.stats.input.bytes`\\n","openmetrics_metric":"stream_bytes_in","x-metric-type":"counter","example":2445568,"x-api-allow":["watcher-core","central"],"deprecated":true,"x-delete-at":25.03,"x-format-description":"bytes"},"retry_count":{"type":"integer","description":"The number of attempts to restore the stream if `alive=false`.\\nUse `input.retries` instead\\n","openmetrics_metric":"stream_retry_count","x-metric-type":"counter","example":0,"x-api-allow":["central","watcher-core","watcher-client","watcher-admin"],"deprecated":true,"x-delete-at":25.03},"current_agent_id":{"type":"string","format":"agent_id","description":"The identifier of the Agent that is currently serving the stream.","x-api-allow":["watcher-core","central","watcher-client","watcher-admin"],"x-format-description":"agent_id"},"agent_status":{"enum":["connected","not_connected","rproxy_not_configured"],"type":"string","description":"The status of the Agent serving the stream.","x-api-allow":["watcher-core","central","watcher-client","watcher-admin"]},"dvr_info":{"description":"The information about the recorded DVR archive.","allOf":[{"$ref":"#/components/schemas/dvr_info"}],"x-api-allow":["watcher-client","watcher-core","watcher-admin","central","central-layouter"]},"alive":{"default":false,"type":"boolean","example":true,"description":"Becomes `false` when `ts_delay` &gt; 12000 (= 12 seconds)","x-api-allow":["watcher-client","watcher-core","watcher-admin","central"]},"bitrate":{"type":"integer","format":"speed","description":"Stream bitrate.","openmetrics_metric":"stream_bitrate","x-metric-type":"gauge","example":186,"x-api-allow":["watcher-core","central","watcher-client","watcher-admin"],"x-format-description":"speed"},"running_on":{"type":"array","items":{"type":"string","format":"server_name","x-format-description":"server_name"},"description":"List of servers hostnames where the stream is running on.","example":["streamer1.example.com"],"x-api-allow":["central","watcher-core"]},"streaming_endpoint":{"description":"HTTP(s) URL that can be used for streaming API of this stream","type":"string","x-api-allow":["watcher-core","central","watcher-client","watcher-admin"]},"online_clients":{"type":"integer","format":"client_count","description":"The number of clients receiving the stream.\\nUse play.play_opened_sessions instead\\n","openmetrics_metric":"stream_online_clients","x-metric-type":"gauge","example":3,"x-api-allow":["watcher-core","central","watcher-client","watcher-admin"],"deprecated":true,"x-delete-at":25.04,"x-format-description":"client_count"},"bytes_out":{"type":"integer","format":"bytes","description":"The amount of stream data sent to the clients.","openmetrics_metric":"stream_bytes_out","x-metric-type":"counter","example":0,"x-api-allow":["watcher-core","central","watcher-client","watcher-admin"],"x-format-description":"bytes"},"id":{"type":"string","format":"uuid","description":"Runtime stream ID. Was used to identify different stream instances","example":"61893ba6-07b3-431b-b2f7-716ac1643953","deprecated":true,"x-delete-at":25.06,"x-format-description":"uuid"},"source_id":{"type":"string","format":"uuid","description":"Use `stream.stats.input.id` if you still need it. This is deprecated\\n","example":"61893be1-054e-4acc-8d24-8ed92efe6ad0","deprecated":true,"x-delete-at":25.04,"x-format-description":"uuid"},"opened_at":{"type":"integer","format":"utc_ms","description":"The time when the stream opened before authorization/connection completed(in UTC milliseconds).\\n","example":1636383729002,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"last_dts":{"type":"number","format":"ticks","description":"Last frame timestamp read from the stream.","example":383835646,"x-format-description":"ticks"},"backup_running":{"description":"Whether a backup is currently running.","type":"boolean"},"push":{"type":"array","items":{"$ref":"#/components/schemas/push_counters"},"description":"Per pusher statistic for the stream\\n"},"input":{"description":"Accumulated stats of stream input.\\n\\nThis is not a duplicate of `streams.inputs[N].stats`, but an accumulator of all active inputs.\\n","allOf":[{"$ref":"#/components/schemas/input_stats"}]},"inputs_duration":{"default":0,"format":"seconds","x-metric-type":"counter","title":"Input Duration","description":"Total duration of all inputs successfully captured since `opened_at`  (counter)","type":"integer","deprecated":true,"x-delete-at":25.03,"x-format-description":"seconds"},"inputs_bytes":{"default":0,"format":"bytes","title":"Input Traffic","x-metric-type":"counter","description":"Total amount of data in all inputs captured since `opened_at`  (counter)\\nUse `stream.stats.input.bytes`\\n","type":"integer","deprecated":true,"x-delete-at":25.03,"x-format-description":"bytes"},"input_bitrate":{"type":"integer","format":"speed","description":"Input bitrate.\\n\\nBetter calculate from input.bytes\\n","example":186,"x-format-description":"speed"},"dvr_enabled":{"description":"If DVR is enabled for the stream.","type":"boolean"},"dvr_replication":{"description":"If DVR replication is enabled for the stream.\\nReplication means that a DVR archive is stored on two (or more) Flussonic servers for reliability.\\n","type":"integer","format":"percent","deprecated":true,"x-delete-at":25.03,"x-format-description":"percent"},"dvr_replication_running":{"description":"If DVR replication is in progress for the stream.\\nReplication means that a DVR archive is stored on two (or more) Flussonic servers for reliability.\\n\\nRead `dvr_write_stats.segments_written_from_replication` instead\\n","type":"boolean","deprecated":true,"x-delete-at":25.03},"dvr_write":{"description":"Various statistics for DVR archive writing\\n","allOf":[{"$ref":"#/components/schemas/dvr_write_counters"}]},"coder_error":{"type":"boolean","description":"Shows if there was any encoding error.\\nWas not fully implemented.\\n","deprecated":true,"x-delete-at":25.03},"running_transcoder":{"default":false,"type":"boolean","description":"If the transcoder is enabled for the stream."},"transcoder_overloaded":{"type":"boolean","openmetrics_metric":"stream_transcoder_overloaded","x-metric-type":"gauge","description":"If the transcoder is overloaded."},"start_running_at":{"type":"number","format":"utc_ms","description":"Date and time when `status = running` was set.","x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"srt_port_resolve":{"type":"boolean","example":false,"description":"This flag shows that the stream name was resolved via srt_port_resolve call.\\nSee [endpoint](https://flussonic.com/doc/api/config-external/#tag/srt/operation/srt_port_resolve)\\nand [listener](https://flussonic.com/doc/api/reference/#tag/config/operation/config_save%7Cbody%7Clisteners%7Csrt)\\nfor feature description.\\n"},"play":{"description":"Playback statistics\\n","allOf":[{"$ref":"#/components/schemas/play_counters"}]},"last_access_at":{"type":"number","format":"utc_ms","description":"Date and time the stream was accessed the last time.","example":1669106270979,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"output_bandwidth":{"type":"integer","format":"bps","x-metric-type":"gauge","title":"Output Bandwidth","description":"Upstream bandwidth on the time of the request.\\nThe same as `out_bandwidth`, but this is bits/s\\n\\nConsider using bytes_out instead.\\n","x-format-description":"bps"}}},"stream_status":{"type":"string","oneOf":[{"title":"Running","const":"running","description":"Input is OK, stream is ready to be served to your audience."},{"title":"Waiting","const":"waiting","description":"Flussonic awaits for input (publish) or it\'s an \'on demand\' stream waiting for client."},{"title":"Error","const":"error","description":"Something is wrong and Flussonic is not able to serve the stream to your audience."}]},"pusher_status":{"anyOf":[{"enum":["starting","pending","retry","error"],"type":"string"},{"allOf":[{"$ref":"#/components/schemas/session_status"}]}]},"pusher_standby_status":{"oneOf":[{"title":"Pusher is sending right now packets, because it does not see any traffic from main source.","const":"active"},{"title":"Pusher can see traffic from main source, so it is holding and does not send any packets.","const":"waiting"}]},"play_protocols_spec":{"type":"object","properties":{"whitelist":{"description":"- If set to `True`, server **allows** a playback only for listed protocols;\\n- If set to `False`, server **forbids** a playback only for listed protocols;\\n","default":false,"type":"boolean"},"hls":{"description":"Whether to allow or deny an HLS stream playback, depending on the `whitelist` properties.","type":"boolean"},"cmaf":{"description":"Whether to allow or deny an LL-HLS stream playback, depending on the `whitelist` properties.","type":"boolean"},"dash":{"description":"Whether to allow or deny a DASH stream playback, depending on the `whitelist` properties.","type":"boolean"},"player":{"description":"Whether to allow or deny playback in embed.html, depending on the `whitelist` properties.","type":"boolean"},"mss":{"description":"Whether to allow or deny an MSS stream playback, depending on the `whitelist` properties.","type":"boolean"},"rtmp":{"description":"Whether to allow or deny an RTMP stream playback, depending on the `whitelist` properties.","type":"boolean"},"rtsp":{"description":"Whether to allow or deny an RTSP stream playback, depending on the `whitelist` properties.","type":"boolean"},"m4f":{"description":"Whether to allow or deny an M4F stream playback, depending on the `whitelist` properties.","type":"boolean"},"m4s":{"description":"Whether to allow or deny an M4S stream playback, depending on the `whitelist` properties.","type":"boolean"},"mseld":{"description":"Whether to allow or deny an MSE-LD stream playback, depending on the `whitelist` properties.","type":"boolean"},"tshttp":{"description":"Whether to allow or deny an MPEG-TS stream playback over HTTP(S), depending on the `whitelist` properties.","type":"boolean"},"webrtc":{"description":"Whether to allow or deny an WebRTC stream playback, depending on the `whitelist` properties.","type":"boolean"},"srt":{"description":"Whether to allow or deny an SRT stream playback, depending on the `whitelist` properties.","type":"boolean"},"shoutcast":{"description":"Whether to allow or deny a SHOUTcast/Icecast stream playback, depending on the `whitelist` properties.","type":"boolean"},"mp4":{"description":"Whether to allow or deny an MP4 file download over HTTP(S), depending on the `whitelist` properties.\\nUsed to export DVR segment(s) in MP4 file.\\n","type":"boolean"},"jpeg":{"description":"Whether to allow or deny delivering JPEG thumbnails over HTTP(S), depending on the `whitelist` properties.","type":"boolean"},"api":{"description":"Whether to allow or deny API requests, depending on the `whitelist` properties.","type":"boolean"}}},"stream_config":{"allOf":[{"$ref":"#/components/schemas/stream_config_specific"},{"$ref":"#/components/schemas/stream_config_base"},{"$ref":"#/components/schemas/stream_config_input"},{"$ref":"#/components/schemas/stream_config_media"},{"$ref":"#/components/schemas/stream_config_onpremises"},{"$ref":"#/components/schemas/stream_config_single_media"},{"$ref":"#/components/schemas/stream_config_deprecated"},{"$ref":"#/components/schemas/stream_config_additional"}]},"stream_config_stripped":{"description":"This is a reduced configuration of stream that contains only actual used config.\\nCan compare it with stream_config that includes some runtime information and \\ninterpretation of stream config information, like config_on_disk\\n","allOf":[{"$ref":"#/components/schemas/stream_config_specific"},{"$ref":"#/components/schemas/stream_config_base"},{"$ref":"#/components/schemas/stream_config_input"},{"$ref":"#/components/schemas/stream_config_media"},{"$ref":"#/components/schemas/stream_config_onpremises"},{"$ref":"#/components/schemas/stream_config_single_media"},{"$ref":"#/components/schemas/stream_config_deprecated"}]},"stream_config_specific":{"type":"object","properties":{"name":{"type":"string","format":"media_name","description":"Globally unique stream name.","readOnly":true,"x-primary-key":true,"openmetrics_label":"name","examples":{"default":{"value":"hockey1"},"mylive/bunny":{"value":"mylive/bunny"},"decklink":{"value":"Decklink-Stream"},"dektec":{"value":"Dektec-Stream"},"test_stream":{"value":"test_stream"}},"x-api-allow":["watcher-client","watcher-core","watcher-admin","vision-config-external","smartcam","central-layouter","vision"],"x-format-description":"media_name"},"comment":{"description":"Human-readable description of the stream.\\n","type":"string","example":"This is a test stream","x-api-allow":["watcher-client","watcher-core","watcher-admin"]},"title":{"description":"Human-readable title of the stream. Provided for SDT MPEG-TS table or\\nSDP RTSP title parameter.\\n","type":"string","example":"Hockey channel","x-api-allow":["watcher-client","watcher-core","watcher-admin"]},"position":{"type":"integer","format":"sort_index","description":"Position of the stream in order of streams in the config file, if declared.","example":2,"x-format-description":"sort_index"},"named_by":{"allOf":[{"$ref":"#/components/schemas/named_by"}],"description":"Where the stream is initialized: config, user play/publication, or remote\\ncluster server.\\n","example":"config","readOnly":true},"srt_port_resolve":{"type":"boolean","example":false,"readOnly":true,"deprecated":true,"x-delete-at":24.06,"description":"Stream name was resolved via `srt_port_resolve` call.\\n\\nSee [endpoint](https://flussonic.com/doc/api/config-external/#tag/srt/operation/srt_port_resolve)\\nand [listener](https://flussonic.com/doc/api/reference/#tag/config/operation/config_save%7Cbody%7Clisteners%7Csrt)\\nfor feature description.\\n\\nThis parameter now lives in `stats` object.\\n"},"template":{"description":"Template of the stream.","type":"string","format":"media_name","example":"sports-hd","x-format-description":"media_name"},"recheck_secondary_inputs_interval":{"description":"How often to re-check secondary inputs. If this option is not set than check is never performed.","type":"integer","format":"seconds","example":120,"x-format-description":"seconds"}},"required":["name"]},"stream_config_base":{"type":"object","properties":{"static":{"default":true,"description":"Whether a stream is `static` or not. \\nIf set to `True` the server will try to keep this stream running even if\\nthere are no viewers or errors encountered.\\n\\nStreamer restarts *all* `static` streams even if any internal errors occur\\nand the `static` streams crash.\\n","type":"boolean","example":true,"x-api-allow":["watcher-core","watcher-client","watcher-admin"]},"disabled":{"description":"Whether a stream is disabled. Disabled streams are inactive and do not run. \\nDisplayed only with the API calls.\\n","type":"boolean","example":false,"x-api-allow":["watcher-core","watcher-client","watcher-admin","central-layouter"]}}},"stream_config_input":{"type":"object","properties":{"inputs":{"description":"List of stream inputs. \\n***Important:*** A stream without any inputs can receive video frames **only** if backup file is specified.\\n","items":{"allOf":[{"$ref":"#/components/schemas/stream_input"}]},"type":"array","x-api-allow":["smartcam","watcher-core","vision-config-external","watcher-client","watcher-admin","central-layouter"]},"input_media_info":{"description":"Use this option for fine-grained control over each input track.\\n\\nYou can select, rename, change name and title for each video, audio track.\\n","allOf":[{"$ref":"#/components/schemas/input_media_info"}]},"provider":{"description":"Human-readable name of the content provider. Used, for example, for MPEG-TS.\\n\\nDeprecated, use `input_media_info.provider` instead\\n","type":"string","example":"SportsTV","deprecated":true,"x-delete-at":25.03},"dvbocr":{"description":"This parameter allows to manage subtitles in an output stream.\\n","oneOf":[{"const":"replace","description":"An output stream will have a track containing subtitles converted to a text format (WebVTT)."},{"const":"add","description":"An output stream will have two tracks containing subtitles: \\nthe original track with subtitles in DVB and a new track with text subtitles.\\n"}],"example":"replace"},"source_timeout":{"description":"If a connected source does not send any data within this timeout period (in seconds), \\nthe source connection is considered to be lost.\\nThis is a default configuration for a stream, can be modified for any input.\\n","anyOf":[{"type":"integer","format":"seconds","x-format-description":"seconds"},{"enum":[false],"type":"boolean"}],"example":10,"x-api-allow":["watcher-core"]},"video_timeout":{"description":"If a connected source does not send video data within this timeout period (in seconds), \\nthe source connection is considered to be lost.\\nThis is a default configuration for a stream, can be modified for any input.\\n","type":"integer","format":"seconds","example":20,"x-api-allow":["watcher-core"],"x-format-description":"seconds"},"audio_timeout":{"description":"If a connected source does not send audio data within this timeout period (in seconds), \\nthe source connection is considered to be lost.\\nThis is a default configuration for a stream, can be modified for any input.\\n","type":"integer","format":"seconds","example":20,"x-api-allow":["watcher-core"],"x-format-description":"seconds"},"max_retry_timeout":{"description":"The maximum time that Media Server will set for attempts to reconnect to sources when source problems occur.\\nThe time between attempts is not linear and may increase if source problems are not fixed. This parameter limits this value, but the time itself between attempts may be longer.\\n","type":"integer","format":"seconds","example":30,"minimum":1,"x-api-allow":["watcher-core"],"x-format-description":"seconds"},"silencedetect":{"x-private":true,"description":"Configuration of silence detection for the stream.","allOf":[{"$ref":"#/components/schemas/silencedetect_spec"}]},"motion_detector":{"x-private":true,"description":"Configuration of motion detection for a stream.","allOf":[{"$ref":"#/components/schemas/motion_detector_spec"}],"x-api-allow":["watcher-core"]},"backup":{"description":"When all inputs are down, this can be used to show at least something to users.\\nIt is important to understand that backup video behaves differently, not as inputs. \\nIt is not a _last input_ in the list. After any input stops sending frames, timer starts.\\nAfter `source_timeout` seconds backup starts working, while all other inputs are still trying to\\nconnect and start working.\\nSo backup and all inputs are working in parallel.\\n","allOf":[{"$ref":"#/components/schemas/backup_config"}],"x-api-allow":["watcher-core"]},"epg_enabled":{"description":"Whether to extract EPG from the input.","type":"boolean","example":true},"nomedia":{"x-private":true,"description":"The stream does not expected to have video or audio tracks.\\nWe need this flag to receive mpegts consisting of EIT PSIs only and pass it to mutiplexor.\\n","default":false,"type":"boolean"},"mpegts_ac3":{"description":"It allows to specify pack information about ac3 for outgoing MPEGTS-TS streams. The default value is `system_b`.","allOf":[{"$ref":"#/components/schemas/output_mpegts_ac3"}]},"password":{"description":"Specify a password when publishing a password-protected stream.\\n\\nThe password is passed unencrypted in a query string. \\nSome protocols may additionally offer built-in tools for stream protection, \\nfor example you can use `passphrase` for SRT publications.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/publish-video-on-media-server/#live-publish-on_publish"},"type":"string"}}},"stream_config_media":{"type":"object","properties":{"clients_timeout":{"description":"Stream\'s lifetime after the last client was disconnected (can be expressed in *seconds* or set to `False`). \\nApplicable to on-demand streams **only**.      \\n","anyOf":[{"type":"integer"},{"type":"boolean"}],"example":485,"x-api-allow":["watcher-core"]},"retry_limit":{"description":"Number of attempts for the server to reconnect to a data source.\\nApplicable to on-demand streams **only**. If not defined, server will constantly try to reconnect (unlimited number of retries). \\nIf the input does not become active after specified amount of attempts, stream shuts down till the next user request.\\n","type":"integer","x-api-allow":["watcher-core"]},"transcoder":{"description":"Configuration of the transcoder settings.","allOf":[{"$ref":"#/components/schemas/transcoder_opts"}],"examples":{"mylive/bunny":{"value":{}}},"x-api-allow":["smartcam","central-layouter"]},"logo":{"x-private":true,"x-notice":"not documented yet","description":"Overlay logo.","allOf":[{"$ref":"#/components/schemas/web_logo_spec"}]},"thumbnails":{"description":"Configuration of thumbnails generator.","allOf":[{"$ref":"#/components/schemas/thumbnails_spec"}],"x-api-allow":["watcher-core"]},"jpeg_snapshot_sign_key":{"description":"A key to sign jpeg_snapshot requests","type":"string","x-api-allow":["watcher-core"]},"dvr":{"description":"DVR configuraton.","allOf":[{"$ref":"#/components/schemas/stream_dvr_spec"}],"x-api-allow":["watcher-core","watcher-admin","watcher-client","central-layouter"]},"on_play":{"description":"Configuration of authorization backend for play sessions.","externalDocs":{"description":"Find more information about `on_play` and `on_publish` here.","url":"https://flussonic.com/doc/authorize-clients/#auth-on_play-on_publish"},"allOf":[{"$ref":"#/components/schemas/auth_spec"}],"x-api-allow":["watcher-core"]},"on_publish":{"description":"Configuration of authorization backend for publish sessions.","allOf":[{"$ref":"#/components/schemas/auth_spec"}]},"drm":{"description":"Configuraton of Digital Rights Management system (DRM).","allOf":[{"$ref":"#/components/schemas/drm_spec"}]},"protocols":{"description":"Configuration to allow/forbid playing the stream via various protocols. \\n- If the `whitelist` option is set to \'true\', the server allows a playback only for listed protocols;\\n- If the `whitelist` option is set to \'false\', the server forbids a playback for listed protocols;\\n- Server allows a playback for all the protocols by default.\\n","allOf":[{"$ref":"#/components/schemas/play_protocols_spec"}]},"prepush":{"description":"The time (in seconds) that Media Server reserves for preloading the data, i. e. *buffering*.\\nPrepush is always defined through GoP, but this option provides you with a more flexible way\\nto configure the buffer size, e. g. a 1-3 or 7-10 seconds time interval.\\n\\nThe bigger the buffer size, the better the user experience is for the users\\nwith a bad internet connection. However, the latency also increases.\\n\\nIf set to `False` to remove the latency, the stream\'s start time \\nincreases. To decrease it, reduce the GoP size and make the bitrate higher \\nor the video quality lower.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/technology-glossary/#glossary-prepush"},"anyOf":[{"type":"boolean"},{"type":"integer"}],"example":false,"x-api-allow":["watcher-core"]},"cmaf_enabled":{"x-private":true,"x-notice":"this should be opt-out in `protocols`, not here","description":"Whether CMAF is enabled for the HLS protocol.","type":"boolean","example":true,"deprecated":true,"x-deleted-at":24.05},"segment_count":{"description":"Number of segments stored in memory for the segment-based protocols, such as HLS and DASH.\\nAdded to HLS live manifest. Do not forget that one more segment is stored for stale clients\\nthat come too late, but the latest segment is not shown in the manifest.\\n","type":"integer","example":4},"segment_duration":{"description":"The time of the segment duration. Used for the protocols like HLS or DASH. \\nThe disk config offers this value in seconds.\\n","allOf":[{"$ref":"#/components/schemas/segment_duration"}],"example":5000},"chunk_duration":{"description":"Chunk duration in LL-HLS manifest to be used for tunning latency.","type":"integer","format":"milliseconds","example":200,"x-format-description":"milliseconds"},"dash_update_period":{"description":"The option allows to override \\"minimumUpdatePeriod\\" attribute in DASH manifest.\\nIn fact the option controls how often a client will request an updated manifest.\\nPlease notice that it may broke playback, we recommend use it at your own risk.\\n","type":"integer","format":"milliseconds","example":270000000,"x-private":true,"x-format-description":"milliseconds"},"url_prefix":{"description":"A string starting the addresses of separate segments within a *segment-based* playlists (HLS or DASH).\\nEach sub-playlist is stored on Media Server.\\n\\nIf set to `false`, the configured value in a template will be disabled. \\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/configure-similar-streams-with-templates/#global-options-of-streams"},"allOf":[{"$ref":"#/components/schemas/url_prefix"}]},"hls_scte35":{"description":"Whether to enable SCTE-35 ad insertion markers signaling in HLS manifest.\\nAd markers can be included in SCTE-35 (`scte35`), AWS (`aws`), EXT-X-DATERANGE (`rfc8216`) formats or not included (`false`).\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/advertisement-scte-markers/","type":"string"},"oneOf":[{"title":"aws","const":"aws","description":"AWS format"},{"title":"scte35","const":"scte35","description":"ANSI SCTE35 format"},{"title":"rfc8216","const":"rfc8216","description":"Apple RFC 8216 EXT-X-DATERANGE format"}],"example":"scte35"},"add_audio_only":{"description":"Whether to add an audio-only version of an HLS stream. \\nUsed to create App Store compliant HLS streams to deliver the content to Apple iOS devices.      \\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/what-is-live-stream/#live-audio_only_hls"},"type":"boolean","example":true},"substyle":{"x-private":true,"x-notice":"This option should be renamed to something more clear","description":"Subtitles style configuration.","allOf":[{"$ref":"#/components/schemas/subtitle_style"}]},"webrtc_abr":{"description":"WebRTC play configuration for a stream.","allOf":[{"$ref":"#/components/schemas/webrtc_abr_opts"}]},"pushes":{"description":"A list of pushes. When a server initiates the connection and sends a stream \\nto other server(s), it is called a `push`.      \\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/push-video-from-media-server/"},"items":{"allOf":[{"$ref":"#/components/schemas/stream_push"}]},"type":"array","x-api-allow":["watcher-core","watcher-admin"]},"mpegts_pids":{"description":"This parameter sets PIDs values for outgoing MPEG-TS streams. PID contains information about the TS package content and can be decoded according to special service tables. \\nIt is possible to set PID values for PMT, SDT, video, and audio tracks. Tracks are numbered starting from one. \\nThe code `a1=123` sets a PID value for the first audio track. It is possible to set the base index for the tracks of a certain type using the 0 (zero) index. \\nFor example, `t0=100` sets PID=101 for the first track, 102 for the second, and so on. Numbers can be given in decimal form (by default) or hexadecimal with 16# prefix.       \\n","allOf":[{"$ref":"#/components/schemas/output_mpegts_pids"}]},"labels":{"type":"object","additionalProperties":{"type":"string","maxLength":40,"minLength":1},"maxItems":10,"x-key-type":"string","description":"Stream labels in key value format.","x-api-description":{"central-layouter":"Stream labels in key value format.\\nYou can use labels to control the desired stream layout.\\n\\nNote, that if you are using a multi-stream agent (i.e. multiple streams use the same agent in their inputs),\\nthen the labels of these streams **must** be the same. Otherwise, one or more streams will not work.\\n\\nLayouter can process next labels:\\n\\n- With `required_` prefix. If stream has `required_x=y` label, layouter will provision stream only to nodes with label `x=y`.\\nIf there are no available nodes with label `x=y`, then the stream will not be provisioned. \\n\\n**Use cases**\\n\\nSuppose you have a server used to test new hardware models, and you want the new streams to be provisioned only to the test nodes.\\nTo provide this layout you can add the `required_env=test` label for stream and the `env=test` label for test nodes.\\n"},"examples":[{"key1":"value1","key2":"value2"},{"required_env":"test","location":"eu"}],"x-api-allow":["watcher-core","central-layouter","watcher-admin"]},"playback_headers":{"description":"This parameter sets playback HTTP headers for streams.\\n","items":{"$ref":"#/components/schemas/playback_headers"},"maxItems":10,"type":"array"}}},"stream_config_onpremises":{"type":"object","properties":{"debug_stream":{"x-private":true,"description":"Configuration of recording the stream sessions data. Recommended for debugging needs **only**.","allOf":[{"$ref":"#/components/schemas/debug_stream_spec"}]},"meta":{"additionalProperties":{"type":"string"},"type":"object","description":"The param is deprecated and now used only for onvif_url and onvif_profile options.","deprecated":true,"x-delete-at":23.12},"vision":{"allOf":[{"$ref":"#/components/schemas/vision_spec"}],"description":"Video analytics parameters.","x-api-allow":["vision-config-external","smartcam","vision","watcher-core","watcher-admin","watcher-client","central-layouter"]},"cluster_ingest":{"description":"Server configuration for a cluster ingest group.\\nUsed to connect several servers between each other to capture the stream(s) and prevent the failover when one of the servers (peers) fails.\\nLearn more about cluster ingest in [How to add failover to input](https://flussonic.com/doc/ingest-failover-with-cluster/#ingest-failover-with-cluster).\\n","allOf":[{"$ref":"#/components/schemas/cluster_ingest_config"}]},"cache":{"description":"Configuration of DVR cache.","allOf":[{"$ref":"#/components/schemas/cache_spec"}]},"pulse_off":{"description":"If this option is enabled, the data about playing the stream is not collected for the Pulse tab in Flussonic UI.","x-private":true,"type":"boolean","x-notice":"Do not collect pulse data for this stream."}}},"stream_config_single_media":{"type":"object","properties":{"srt_publish":{"description":"SRT publishing configuration for a stream.","allOf":[{"$ref":"#/components/schemas/srt_config"}]},"srt2_publish":{"description":"SRT2 publishing configuration for a stream.","allOf":[{"$ref":"#/components/schemas/srt_config"}]},"srt":{"description":"A port used for playing SRT streams. Can be set in global settings or for a particular stream. \\nIf it is used in the configuration, Flussonic works as a \\"Listener\\" and receives connection requests from a source working as a \\"Caller\\".\\nLearn more in [SRT port](https://flussonic.com/doc/srt-protocol/#srt_ports).\\n","allOf":[{"$ref":"#/components/schemas/listen_spec"}],"example":9060},"srt2":{"description":"A port used for playing SRT2 streams. Can be set in global settings or for a particular stream.\\nIf it is used in the configuration, Flussonic works as a \\"Listener\\" and receives connection requests from a source working as a \\"Caller\\".\\nLearn more in [SRT port](https://flussonic.com/doc/srt-protocol/#srt_ports).\\n","allOf":[{"$ref":"#/components/schemas/listen_spec"}],"example":9062},"srt_play":{"description":"SRT play configuration for a stream.","allOf":[{"$ref":"#/components/schemas/srt_config"}]},"srt2_play":{"description":"SRT2 play configuration for a stream.","allOf":[{"$ref":"#/components/schemas/srt_config"}]}}},"stream_config_deprecated":{"type":"object","properties":{"aac_ab":{"type":"integer","description":"Bitrate of the AAC audio track."},"output_audio":{"allOf":[{"$ref":"#/components/schemas/output_audio"}],"description":"Audio transcoding options."},"prefer_codec":{"allOf":[{"$ref":"#/components/schemas/webrtc_prefer_video_codec"}],"description":"Preferred codec for WebRTC."},"transport":{"allOf":[{"$ref":"#/components/schemas/webrtc_transport"}],"description":"Transport protocol for WebRTC."},"max_bitrate":{"type":"integer","format":"speed","description":"Maximum bitrate for WebRTC.","x-format-description":"speed"},"min_bitrate":{"type":"integer","description":"Minimum bitrate for WebRTC."},"frames_timeout":{"type":"integer","description":"Specifies the period of time, in seconds, \\nfor which Flussonic Media Server waits for new frames to come from the data source \\nbefore it generates the `frames_timed_out` event that informs you that the source might soon be lost. \\nThis period of time must be smaller than `source_timeout`. \\nIf frames come again from this source, before `source_timeout` has passed, Flussonic issues the `frames_restored` event.\\n"},"abr_stepup":{"type":"integer","description":"Increment step for raising the bitrate to the maximum, in percent. The default step is 30%. \\nIf the loss is less than `abr_loss_lower`, \\nFlussonic makes the publisher to step up from the current bitrate to the maximum one with the rate of `abr_stepup percent`.\\n"},"abr_correction":{"type":"integer","description":"The correction between the target bitrate (Receiver Estimated Maximum Bitrate, calculated in Flussonic) and browser bitrate, in kbit/s.\\nFlussonic sends the target bitrate to the browser from which the publication is carried out so that the browser adjusts the bitrate of the publication by this value.\\nThe default value is 300 kbit/s.\\n"},"abr_loss_lower":{"type":"number","description":"The lower limit of packet loss. When it is reached, Flussonic raises the bitrate. \\nThat is, if packet loss is less than `abr_loss_lower`, Flussonic makes the publisher to step up from the current bitrate to the maximum one with the rate of `abr_stepup` percent.\\n"},"abr_loss_upper":{"type":"number","description":"The upper limit of packet loss. When it is reached, Flussonic reduces the bitrate. \\nThat is, if packet loss is greater than `abr_loss_upper`, Flussonic makes the publisher to reduce the current bitrate in steps with the maximum rate of `abr_stepdown` percent.\\n"},"abr_stepdown":{"type":"number","description":"A step of reducing the bitrate to the minimum. \\nIf packet losses are greater than `abr_loss_upper`, Flussonic makes the publisher to reduce the current bitrate in steps with the maximum rate of `abr_stepdown` percent.\\n"},"abr_mode":{"type":"integer","description":"The algorithm for determining the need to change the bitrate of the published stream and for calculating the target bitrate. \\nTwo options are possible:\\n\\n* `abr_mode=0` - This mode takes into account the packet losses, target bitrate, browser bitrate and the number of auto-adjustment cycles.\\n* `abr_mode=1` - This mode considers only packet losses and target bitrate.\\n"},"abr_debug":{"type":"integer","description":"Whether adaptive bitrate process is logged."},"abr_cycles":{"type":"integer","description":"The number of cycles of bitrate auto-adjustment.\\nAfter the specified number of auto-adjustment cycles passes, Flussonic considers the bitrate to be optimal, and it is no longer analyzed. \\nBy default, `abr_cycles`=5. \\nIf `abr_cycles`=0, the adjustment process takes place all the time while the publication lasts.\\n"}}},"stream_config_additional":{"type":"object","properties":{"config_on_disk":{"description":"Part of the effective config from the configuration file.","allOf":[{"$ref":"#/components/schemas/stream_config_stripped"}]},"stats":{"description":"Stream\'s metrics and other statistical information.","allOf":[{"$ref":"#/components/schemas/stream_stats"}],"readOnly":true,"x-api-allow":["watcher-client","watcher-core","watcher-admin","smartcam","vision","central-layouter"]},"project_id":{"type":"string","format":"base62","example":"aBc","description":"Project ID","x-format-description":"base62"},"egress_hostnames":{"allOf":[{"$ref":"#/components/schemas/cloud_hostnames"}],"description":"Egress hostname (hls, dash, ...) only for Admin UI, not public API.\\nNeed for cloud only for replace window.location\\n","x-private":true,"example":["egress-1.example.com","egress-2.example.com"]},"ingress_hostnames":{"allOf":[{"$ref":"#/components/schemas/cloud_hostnames"}],"description":"Igress hostname (hls, dash, ...) only for Admin UI, not public API.\\nNeed for cloud only for replace window.location \\n","x-private":true,"example":["igress-1.example.com","igress-2.example.com"]}}},"push_counters":{"type":"object","properties":{"url":{"description":"Obfuscated URL where to push to","type":"string","format":"input_url","x-format-description":"input_url"},"opened_at":{"type":"integer","format":"utc_ms","description":"The time in milliseconds when the pusher instance was created.","x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"status":{"description":"State of the push session.","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/sessions-in-media-server/#events-and-session-states"},"allOf":[{"$ref":"#/components/schemas/pusher_status"}]},"standby_status":{"description":"State of the standby push.","allOf":[{"$ref":"#/components/schemas/pusher_standby_status"}]},"bytes":{"type":"integer","format":"bytes","description":"Total amount of bytes sent since the pusher was created.","x-format-description":"bytes"},"frames":{"type":"integer","description":"Number of frames sent by this pusher.\\n"},"segments":{"type":"integer","description":"Number of segments sent by this pusher.\\n"},"pusher_restarts":{"description":"How many times pusher was restarted","type":"integer"},"errors_stop_overloaded":{"description":"How many times pusher was stopped due to overload","type":"integer"},"errors_dropped_frames":{"description":"Number of dropped frames","type":"integer"},"errors_dropped_segments":{"description":"Number of dropped segments","type":"integer"},"pids":{"type":"array","items":{"$ref":"#/components/schemas/push_pid_counters"},"description":"Per pid statistics for MPEG-TS encoding calculated for the pusher\\n"},"sys_fillers_bytes":{"description":"The fillers bytes count for system traffic.","type":"integer","format":"bytes","x-format-description":"bytes"},"sys_payload_bytes":{"description":"The payload bytes count for system traffic.","type":"integer","format":"bytes","x-format-description":"bytes"},"sys_stuffing_packets":{"description":"The stuff packets count for system traffic.","type":"integer"},"encoded_bytes":{"description":"The encoded bytes count.","type":"integer","format":"bytes","x-format-description":"bytes"},"resent_packets":{"description":"Number of retries since the last successful push.","type":"integer"},"errors_device_not_opened":{"description":"How much times pusher was unable to open (attach to) device for pushing","type":"integer"},"errors_device_buffer_overflow":{"description":"How many times internal device buffer was overflowed.","type":"integer"},"errors_audio_frame_decode":{"description":"Number of errors during of audio frame decoding to raw format.","type":"integer"},"errors_video_frame_decode":{"description":"Number of errors during of video frame decoding to raw format.","type":"integer"},"errors_no_destination":{"description":"How many times pusher did not establish connection because of destination peer is not reached","type":"integer"},"errors_tls":{"description":"How many times pusher got TLS errors.","type":"integer"},"errors_connection_lost":{"description":"How many times pusher unexpectedly lost connection with peer","type":"integer"},"errors_401":{"type":"integer","description":"How many times we\'ve got 401 (unauthorized).\\n"},"errors_403":{"type":"integer","description":"How many times we\'ve got 403 (forbidden).\\n"},"errors_404":{"type":"integer","description":"How many times we\'ve got 404 (enoent).\\n"},"errors_409":{"type":"integer","description":"How many times we\'ve got 409 (double_publish_denied).\\n"},"errors_500":{"type":"integer","description":"How many times we\'ve got 500 (server_error).\\n"},"errors_redirect_limit":{"type":"integer","description":"How many times pusher was stopped because of redirect limit is reached\\n"},"errors_not_authorized":{"description":"How many times pusher did not establish connection because of missing or wrong credentials","type":"integer"},"genlock_status":{"description":"SDI card output clock-lock state.","allOf":[{"$ref":"#/components/schemas/genlock_status"}]},"genref_status":{"description":"SDI card reference port (Ref In Port) status.","allOf":[{"$ref":"#/components/schemas/genref_status"}]}}},"push_pid_counters":{"type":"object","required":["pid"],"properties":{"pid":{"description":"Related MPEG-TS pid","type":"integer"},"pnr":{"description":"What program does have this pid","type":"integer"},"packets":{"description":"How many MPEG-TS packets with 188 bytes on this pid produced\\n","type":"integer"},"payload_bytes":{"description":"The payload bytes count.","type":"integer","format":"bytes","x-format-description":"bytes"},"fillers_bytes":{"type":"integer","format":"bytes","description":"How many bytes were seen in NAL fillers\\n","x-format-description":"bytes"},"stuffing_packets":{"description":"The stuff packets count.","type":"integer"},"trimmed_bytes":{"description":"The trimmed bytes count.","type":"integer","format":"bytes","x-format-description":"bytes"},"trimmed_frames":{"description":"The trimmed frames count.","type":"integer"}}},"silencedetect_spec":{"type":"object","required":["noise"],"properties":{"duration":{"description":"The duration, in seconds, of a continuous time interval during which silence must last for Flussonic to generate the `audio_silence_detected` event.","type":"integer","format":"seconds","example":20,"x-format-description":"seconds"},"interval":{"description":"Flussonic will keep sending the `audio_silence_detected` event once upon the specified time interval until the sound reappears in the source.","type":"integer","example":10},"noise":{"description":"The threshold value of the sound level, in dB. \\nSound of this and lower level will be considered by Flussonic as silence.\\n","type":"number","format":"decibels","example":-30,"x-format-description":"decibels"}}},"vbi_lines":{"type":"object","properties":{"service":{"description":"The service information passed to VBI of the output analog stream.\\nThe allowed value is `ttxt` - teletext.\\n","allOf":[{"$ref":"#/components/schemas/vbi_service"}]},"lines":{"description":"Numbers of VBI lines that will carry a teletext track.","items":{"allOf":[{"$ref":"#/components/schemas/vbi_line"}]},"type":"array"}}},"scale_algorithm":{"enum":["fast_bilinear","bilinear","bicubic","experimental","neighbor","area","bicublin","gauss","sinc","lanczos","spline"],"type":"string"},"web_logo_spec":{"type":"object","properties":{"path":{"description":"Path to the logo file.\\nIf specified without the `@` in the beginning, the logo will be served from the webroot (***not recommended***).\\nIf specified with the `@` in the beginning, the logo will be served from the special directory and can be\\nmanaged by the logo API.\\n","type":"string","format":"logo_path","example":"@chan.png","x-format-description":"logo_path"},"height":{"description":"Set the specified height for the logo.","type":"integer","example":100},"width":{"description":"Set the specified width for the logo.","type":"integer","example":200},"left":{"description":"Change the position of the logo to the left.","type":"integer","example":15},"top":{"description":"Change the position of the logo to the top.","type":"integer","example":15},"right":{"description":"Change the position of the logo to the right.","type":"integer"},"bottom":{"description":"Change the position of the logo to the bottom.","type":"integer"}}},"map_spec":{"type":"object","properties":{"latitude":{"description":"Geographic latitude.","type":"number","example":55.7512},"longitude":{"description":"Geographic longitude.","type":"number","example":37.6184}},"required":["latitude","longitude"]},"network_port":{"maximum":65535,"minimum":0,"type":"integer"},"listen_spec":{"anyOf":[{"allOf":[{"$ref":"#/components/schemas/network_port"}]},{"type":"string","format":"hostport","x-format-description":"Hostname with port"}]},"listeners":{"type":"object","properties":{"http":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/listen_http_config"}]},"description":"List of HTTP ports or `host:port` pairs that will be used for listening.","examples":{"default":{"value":[{"port":80,"api":false}]}},"x-api-allow":["watcher-admin"]},"https":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/listen_https_config"}]},"description":"List of HTTPS ports or `host:port` pairs that will be used for listening.","examples":{"default":{"value":[{"port":443}]}}},"rtmp":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/listen_config"}]},"description":"List of RTMP ports or `host:port` pairs that will be used for listening.","examples":{"default":{"value":[{"port":1935}]}}},"rtmps":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/listen_rtmps_config"}]},"description":"List of RTMPS ports or `host:port` pairs that will be used for listening.","examples":{"default":{"value":[{"port":1936}]}}},"rtsp":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/listen_config"}]},"description":"List of RTSP ports or `host:port` pairs that will be used for listening.","examples":{"default":{"value":[{"port":554}]}}},"rtsps":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/listen_rtsps_config"}]},"description":"List of RTSPS ports or `host:port` pairs that will be used for listening.","examples":{"default":{"value":[{"port":555}]}}},"turn":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/listen_config"}]},"description":"List of TURN ports or `host:port` pairs that will be used for listening.","examples":{"default":{"value":[{"port":3478}]}}},"snmp":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/listen_config"}]},"description":"List of SNMP ports or `host:port` pairs that will be used for listening.","examples":{"default":{"value":[{"port":161}]}}},"sip":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/listen_config"}]},"description":"List of SIP ports or `host:port` pairs that will be used for listening.","examples":{"default":{"value":[{"port":5060}]}}},"srt":{"description":"The list of port ranges or `host:port-range` pairs that may be in use for playing SRT or accepting SRT publications \\n(depending on the `mode` parameter).\\n\\nWhen playing from or publishing to one of the ports from the range using `srt://server:port` URL with `stream_id` not specified,\\nMedia Server requests the stream name from `config_external` backend using \\n[GET /srt_port_resolve/{port}](https://flussonic.com/doc/api/config-external/#tag/srt/operation/srt_port_resolve) endpoint\\nand uses the stream with such name for further playback or publishing.\\n\\nSo for resolving a stream name by SRT port you need:\\n\\n* `srt` ranges set (this option)\\n* `config_external` option set in Media Server\\n* `/streams` and `/srt_port_resolve` endpoints implemented on the config backend side\\n* a stream name in the provisioned external config equals to the name returned by `/srt_port_resolve` for the specified port.\\n\\nNote that you should use `stream.srt_publish` and `stream.srt_play` options \\nfor SRT-specific settings of streams involved to `/srt_port_resolve` logics.\\n","type":"array","items":{"allOf":[{"$ref":"#/components/schemas/listen_srt_config"}]}}}},"listen_config":{"type":"object","properties":{"port":{"type":"integer","format":"network_port","description":"Port that will be used for listening.","example":80,"x-primary-key":true,"x-format-description":"network_port"},"address":{"type":"string","description":"Network address that will be used for listening.","example":"10.0.35.1"}},"required":["port"]},"listen_ssl_config":{"type":"object","properties":{"ssl_protocols":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/tls_version"}]},"description":"List of SSL protocol versions that will be used for listening.","example":["tlsv1.1","tlsv1.2"]},"certificate":{"type":"string","description":"Path to ssl certificate","example":"/etc/letsencrypt/live/central/fullchain.pem"},"certificate_key":{"type":"string","description":"Path to ssl certificate key","example":"/etc/letsencrypt/live/central/privkey.pem"}}},"listen_http_config":{"allOf":[{"$ref":"#/components/schemas/listen_config"},{"$ref":"#/components/schemas/listen_http_config_params"}]},"listen_http_config_params":{"type":"object","properties":{"api":{"type":"boolean","default":true,"description":"If false, listener do not serve api calls."},"read_timeout":{"type":"integer","description":"Time from when the connection is accepted to when the request body is fully read","example":5},"write_timeout":{"type":"integer","description":"Time from the end of the request header read to the end of the response write","example":5}}},"listen_https_config":{"allOf":[{"$ref":"#/components/schemas/listen_http_config"},{"$ref":"#/components/schemas/listen_ssl_config"}]},"session_key_query":{"format":"query_session_key","type":"string","x-format-description":"query_session_key"},"input_stats":{"allOf":[{"type":"object","properties":{"ip":{"type":"string","description":"IP address of the connected peer.","example":"172.16.25.73"},"proto":{"allOf":[{"$ref":"#/components/schemas/protocol"}],"description":"Protocol used for the data transmission in the session.","example":"dash"},"opened_at":{"type":"number","format":"utc_ms","description":"The time when this session was created.","example":1637094994000,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"media_info":{"allOf":[{"$ref":"#/components/schemas/media_info"}],"description":"Technical description of the input content.\\n"},"ts_delay":{"type":"number","format":"ticks","example":1284,"description":"The time period during which no frames were received from the stream\'s input.\\n","x-format-description":"ticks"},"ts_delay_per_tracks":{"type":"array","items":{"type":"number","format":"ticks","x-format-description":"ticks"},"example":[1284],"description":"The time period during which no frames were received per each track according to `media_info`\\n"},"url":{"type":"string","format":"url","description":"Final URL after redirects.\\n\\nDeprecated because was never actually used.\\n","example":"udp://239.0.0.1:1234","deprecated":true,"x-delete-at":25.03,"x-format-description":"url"},"user_agent":{"type":"string","description":"Client\'s user agent for selected protocol.","example":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML. like Gecko) Chrome/90.0.4430.72 Safari/537.36"},"active":{"description":"Whether this input is selected as active for the stream.","type":"boolean","example":true},"dvr_info":{"description":"Information about DVR that this input has\\n","allOf":[{"$ref":"#/components/schemas/dvr_info"}]}}},{"$ref":"#/components/schemas/input_counters"}]},"input_counters":{"type":"object","description":"Here are grouped different counters for sessions: generic and errors\\n","properties":{"bytes":{"type":"integer","format":"bytes","default":0,"description":"Number of bytes received by this stream from outside.\\nIt will be counted before transcoding and will sum all inputs working together.\\n","openmetrics_metric":"stream_input_bytes","x-format-description":"bytes"},"frames":{"type":"integer","default":0,"description":"Number of frames passed to this stream from the inputs.\\n"},"retries":{"type":"integer","description":"How many times has this stream retried to connect to source"},"media_info_changes":{"type":"integer","description":"Indicates, how often does media_info changes\\n"},"valid_secondary_inputs":{"description":"Number of secondary inputs that have no problems.","type":"integer","example":2},"invalid_secondary_inputs":{"description":"Number of secondary inputs that have some problems.","type":"integer","example":0},"resync_count_normal":{"type":"integer","description":"Stream timestamps are synchronized with real time. This counter tells, how many times\\nit was syncronized after source reconnect.\\n"},"resync_count_jump":{"type":"integer","description":"Source may change timestamps without any signalling. This counter indicates how bad is the source\\n"},"resync_count_drift":{"type":"integer","description":"Source may send frames timestamps faster or slower than realtime.\\nLive stream will catch it and resync. This counter indicates how many times did it happened.\\n"},"reorder_count":{"type":"integer","description":"Source may send frames not in the order they should be played. It will be catched and reordered.\\nThis counter indicates how many times did it happened.\\n"},"ad_splices_ingested":{"type":"integer","description":"How many Ad markers passed to this stream from the inputs.\\n"},"ad_splices_inserted":{"type":"integer","description":"How many Ad markers inserted to this stream by user.\\n"},"srt":{"type":"object","$ref":"#/components/schemas/input_srt_counters"},"errors":{"type":"integer","description":"Sum of all other specific errors. Can be used for triggering alert on any error\\n","example":0},"errors_lost_packets":{"type":"integer","description":"RTP, MPEG-TS or other protocols have enough information to tell how many packets were lost\\n"},"errors_decoder_reset":{"type":"integer","description":"Decoder reset count due to abnormal DTS change. Can happen in MPEG-TS, RTP.\\n"},"errors_broken_payload":{"type":"integer","description":"Demultiplexing was done right, but content is broken.\\n"},"errors_dropped_frames":{"type":"integer","description":"Dropped frames count due timestamp adjustment.\\n"},"errors_desync":{"type":"integer","description":"This can be used as a `TS_sync_loss` - how many times MPEG-TS sync was lost.\\n\\nAlso this counter refers to RTSP desync, when camera starts dropping TCP data and\\nwe have to find packet boundaries.\\n\\nHere we write count of such resynchronizations.\\n"},"errors_ts_pat":{"type":"integer","description":"how many times PAT was missing during 0,5 seconds or pid 0 misses PAT\\n\\n`PAT_error`\\n"},"pids":{"type":"array","items":{"$ref":"#/components/schemas/input_pid_counters"},"description":"Per pid statistics calculated for MPEG-TS input\\n"},"rtp_channels":{"type":"array","items":{"$ref":"#/components/schemas/input_rtp_counters"},"description":"Per channel statistics calculated for RTP input\\n"},"errors_ts_service_lost":{"type":"integer","description":"How many times have received PAT that was missing required service (program)\\n"},"errors_ts_stuck_restarts":{"type":"integer","description":"Number of connection restarts to fix ts_stuck issue. Can happen in RTSP.\\n"},"errors_404":{"type":"integer","description":"How many times we\'ve got 404 (enoent).\\n"},"errors_403":{"type":"integer","description":"How many times we\'ve got 403 (eaccess).\\n"},"errors_500":{"type":"integer","description":"How many times we\'ve got 500 (backend error).\\n"},"errors_crashed":{"type":"integer","description":"How many times input was restarted due to internal crash.\\n\\nThis may happen due to unhandled input.\\n"}}},"input_pid_counters":{"type":"object","required":["pid"],"properties":{"pid":{"description":"Related MPEG-TS pid with following problems\\n","type":"integer"},"pnr":{"description":"What program does have this pid\\n","type":"integer"},"packets":{"description":"How many MPEG-TS packets with 188 bytes on this pid received\\n","type":"integer"},"frames":{"description":"Frame count on this pid\\n","type":"integer"},"empty_packets":{"description":"Packets without payload and adaptation field\\n","type":"integer"},"errors_adaptation_broken":{"description":"Packets with adaptation field larger than packet size\\n","type":"integer"},"errors_ts_scrambled":{"type":"integer","description":"Amount of scrambled TS packets\\n"},"errors_ts_pmt":{"type":"integer","description":"how many times PMT was not received after 0,5 seconds\\n\\n`PMT_error`\\n"},"errors_ts_cc":{"type":"integer","description":"how many MPEG-TS packets were received with non-contigious contiuity counters.\\n\\n`Continuity_count_error`\\n","example":0},"errors_ts_tei":{"type":"integer","description":"How many MPEG-TS packets with Transport Error Indicator were received\\n\\n`Transport_error`, 2.1\\n"},"errors_ts_psi_checksum":{"type":"integer","description":"How many times have received PSI entry with broken checksum\\n\\n`CRC_error`\\n"},"broken_pes_count":{"type":"integer","description":"How many PES packets were started not from startcode\\n"},"broken_pes_sum":{"type":"integer","description":"How many bytes were discarded due to lack of PES startcode\\n"},"time_corrections":{"type":"integer","description":"Jumps of timestamps inside a MPEG-TS stream\\n"},"repeated_frames":{"type":"integer","description":"In case of CC error last frame can be repeated. This is a count of repeated frames\\n"},"corrected_backward_pts":{"type":"integer","description":"How many times PTS was less than PCR or previous PTS\\n"},"pcr_resync":{"type":"integer","description":"If PTS is drifting away from PCR, it can be resynchronized with PCR. This is a resync count\\n"},"discarded_buffer_count":{"type":"integer","description":"How many times was discarded too big ES buffer without making a frame of it\\n"},"discarded_buffer_sum":{"type":"integer","description":"How many bytes were lost due to discarding ES buffer\\n"},"fillers_count":{"type":"integer","description":"How many H264(5) NAL fillers were seen in the input\\n"},"fillers_sum":{"type":"integer","description":"How many bytes were seen in NAL fillers\\n"},"padding_pes_count":{"type":"integer","description":"How many PES packets were on the Padding streamId\\n"},"padding_pes_sum":{"type":"integer","description":"How many bytes were in PES packets on the Padding streamId\\n"},"crashed":{"type":"integer","description":"Unhandled crashes inside mpegts decoding process due\\n"},"dts_goes_backwards":{"type":"integer","description":"Time on this PID jumped back from reference PTS and it was not a roll over zero\\n"},"dts_jump_forward":{"type":"integer","description":"Time on this PID jumped forward too far away from reference PTS\\n"},"too_large_dts_jump":{"type":"integer","description":"Jump of the PTS was so big from previous, that had to flush all frames and restart parsing\\n"}}},"input_rtp_counters":{"allOf":[{"$ref":"#/components/schemas/rtp_counters_base"},{"$ref":"#/components/schemas/h26x_decoder_counters"}]},"input_srt_counters":{"type":"object","description":"SRT specific counters\\n","properties":{"rtt":{"type":"integer","description":"Round-trip time\\n"},"latency":{"type":"integer","description":"Receiver buffering delay"},"packets":{"type":"integer","description":"Total incoming SRT packets counter\\n"},"retransmitted_packets":{"type":"integer","description":"How many packets were retransmitted\\n"},"error_lost_packets":{"type":"integer","description":"How many SRT packets were lost\\n"},"error_dropped_packets":{"type":"integer","description":"How many SRT packets were dropped by various reasons\\n"}}},"rtp_counters_base":{"type":"object","required":["channel_id"],"properties":{"channel_id":{"description":"RTP channel number\\n","type":"integer","example":0},"content":{"description":"Content of the track transmitted in the channel\\n","type":"string","example":"video"},"rtp_packets":{"type":"integer","description":"How many RTP packets received for this channel\\n"},"rtcp_packets":{"type":"integer","description":"How many RTCP packets received for this channel\\n"},"bytes":{"type":"integer","description":"How many bytes received for this channel\\n"},"frames":{"type":"integer","description":"How many frames received for this channel\\n"},"pt_reject_count":{"type":"integer","description":"Number of rtp packets rejected due to wrong payload type\\n"},"pt_reject_sum":{"type":"integer","description":"Total size of rejected packets due to wrong payload type (pt_reject_count) rtp packets\\n"},"ts_goes_backwards":{"type":"integer","description":"Time on this channel is jumped back from reference wallclock.\\n"},"ts_jump_forward":{"type":"integer","description":"Time on this channel is jumped forward from reference wallclock.\\n"},"ts_stuck":{"type":"integer","description":"https://datatracker.ietf.org/doc/html/rfc6184#section-4.1\\n\\naccess unit: A set of NAL units always containing a primary coded picture.  In addition to the primary coded\\npicture, an access unit may also contain one or more redundant coded pictures or other NAL units not containing\\nslices or slice data partitions of a coded picture.  The decoding of an access unit always results in a\\ndecoded picture.\\n\\nThere is `marker bit` in RTP packet which is set for the very last packet of the access unit indicated by the RTP timestamp.\\n\\nIt is protocol violation if received RTP packet has the same timestamp as previous marker bit packet.\\n\\nThis counter is a number of RTP packets which `RTP timestamp` is equal to previous RTP marker bit packet.\\n"},"errors_dts_stuck":{"type":"integer","description":"Number of frames which dts is same as previous frame dts.\\n"},"sr_ts_stuck":{"type":"integer","description":"Number of rtcp SR packets which `RTP timestamp` is equal to the previous rtcp SR packet `RTP timestamp`. \\n"},"sender_clock_deviation":{"type":"integer","description":"Sender wallclock deviation from server time in ms. Positive value means that sender time is ahead of server time.\\n"},"marker_packets_count":{"type":"integer","description":"Number of RTP packets which marker bit is set to one.\\n"},"no_marker_mode_flag":{"type":"boolean","description":"If no marker bit packet is received after 400 RTP packets then decoder switches to `no_marker_mode` and\\nmakes frame on each timecode change. \\n\\nThis flag shows if decoder works in `no_marker_mode`.\\n"}}},"h26x_decoder_counters":{"type":"object","description":"Here are counters for h264/h265 decoder.\\n","properties":{"nal_count":{"type":"integer","description":"How many NAL units handled by this decoder.\\n"},"discarded_broken_nal_count":{"type":"integer","description":"Number of NAL units, which `forbidden_zero_bit` is set to one.\\n"},"discarded_not_allowed_nal_count":{"type":"integer","description":"Number of NAL units, which type is not allowed in `non-interleaved packetization mode`.\\n"},"nal_fu_count":{"type":"integer","description":"`Fragmentation Unit` used to fragment a single NAL unit over multiple RTP packets.\\n`H.264` uses `FU-A` NAL. `H.265` has its own fragmentation unit.\\n\\nThis counter shows how many `Fragmentation Units` handled by this decoder. \\n"},"nal_stap_a_count":{"type":"integer","description":"How many NAL `STAP_A` units handled by this decoder.\\n"},"nal_aggregation_count":{"type":"integer","description":"How many NAL `AGGREGATION` units handled by this decoder.\\n"},"fu_pattern_is_broken_count":{"type":"integer","description":"`Fragmentation Unit` used to fragment a single NAL unit over multiple RTP packets.\\n`H.264` uses `FU-A` NAL. `H.265` has its own fragmentation unit.\\n\\n`Fragmentation Units` pattern must have a `Start FU`, `End FU` and could have `FUs` between these ones. \\n\\nThis counter indicates how many times pattern was broken.\\n"},"fu_has_both_start_end_bits_count":{"type":"integer","description":"`Fragmentation Unit` used to fragment a single NAL unit over multiple RTP packets.\\n`H.264` uses `FU-A` NAL. `H.265` has its own fragmentation unit.\\n\\nThis counter shows number of `Fragmentation Units` which `Start bit` and `End bit` are set to one in the same `FU` header\\n"},"incomplete_nal_count":{"type":"integer","description":"NAL deframentation could be interrupted by unexpected NAL or broken/incomplete packet.\\nIf NAL deframentation is interrupted then incomplete fragment of NAL is not discarded and used in decoding process.\\n\\nThis counter indicates how many incomplete NALs were used.  \\n"},"discarded_fu_count":{"type":"integer","description":"`Fragmentation Unit` used to fragment a single NAL unit over multiple RTP packets.\\n`H.264` uses `FU-A` NAL. `H.265` has its own fragmentation unit.\\n\\nThis counter shows number of discarded `Fragmentation Units`\\n"},"fu_end_then_middle_workaround_count":{"type":"integer","description":"There is workaround to not interrupt `FU` sequence if `end-FU` followed by `middle-FU`. \\nThis counter shows how many time the workaround was applied.\\n"},"nal_sei_count":{"type":"integer","description":"How many NAL `SEI` units handled by this decoder.\\n"},"invalid_sei_type_count":{"type":"integer","description":"Number of `SEI` NAL units with invalid type\\n"},"invalid_sei_size_count":{"type":"integer","description":"Number of `SEI` NAL units with invalid size\\n"},"invalid_sei_payload_count":{"type":"integer","description":"Number of `SEI` NAL units with bad payload\\n"},"discarded_sei_count":{"type":"integer","description":"Number of discarded `SEI` NAL units\\n"},"nal_idr_count":{"type":"integer","description":"How many NAL `IDR` units handled by this decoder.\\n"},"nal_single_count":{"type":"integer","description":"How many NAL `SINGLE` units handled by this decoder. \\n"},"nal_sps_count":{"type":"integer","description":"How many NAL `SPS` units handled by this decoder.\\n"},"nal_pps_count":{"type":"integer","description":"How many NAL `PPS` units handled by this decoder.\\n"},"nal_aud_count":{"type":"integer","description":"How many NAL `AUD` units handled by this decoder.\\n"},"nal_filler_count":{"type":"integer","description":"How many NAL `FILLER` units handled by this decoder.\\n"},"nal_slice_count":{"type":"integer","description":"How many NAL `SLICE` units handled by this decoder.\\n"},"nal_vps_count":{"type":"integer","description":"How many NAL `VPS` units handled by this decoder.\\n"},"nal_other_count":{"type":"integer","description":"How many other NAL units handled by this decoder.\\n"},"discarded_nal_count":{"type":"integer","description":"Number of discarded NAL units.\\n"}}},"segment_duration":{"type":"integer","format":"milliseconds","minimum":1000,"maximum":15000,"x-format-description":"milliseconds"},"stream_push":{"oneOf":[{"$ref":"#/components/schemas/stream_push_rtmp","x-api-allow":["watcher-admin"]},{"$ref":"#/components/schemas/stream_push_udp"},{"$ref":"#/components/schemas/stream_push_m4f"},{"$ref":"#/components/schemas/stream_push_m4s"},{"$ref":"#/components/schemas/stream_push_decklink"},{"$ref":"#/components/schemas/stream_push_dektec"},{"$ref":"#/components/schemas/stream_push_dektec_asi"},{"$ref":"#/components/schemas/stream_push_tshttp"},{"$ref":"#/components/schemas/stream_push_hls"},{"$ref":"#/components/schemas/stream_push_srt"},{"$ref":"#/components/schemas/stream_push_st2110"}],"x-pattern-discriminator":"url"},"stream_push_base":{"type":"object","properties":{"comment":{"description":"Human-readable description of the pusher.\\n","type":"string","example":"This is a test push","x-api-allow":["watcher-admin"]},"stats":{"description":"Detailed runtime information about the push.","allOf":[{"$ref":"#/components/schemas/push_counters"}],"readOnly":true,"x-api-allow":["watcher-admin"]},"retry_limit":{"description":"The maximum number of times *Flussonic* retries to push the stream.","type":"integer","x-api-allow":["watcher-admin"]},"retry_timeout":{"description":"How often *Flussonic* should retry attempts to send the stream, e.g., if it has become offline. \\nIt is an interval in seconds, 5 seconds by default. \\nYou can increase this value to reduce server load.\\n","type":"integer","format":"seconds","example":7,"x-api-allow":["watcher-admin"],"x-format-description":"seconds"},"timeout":{"description":"Time interval, in seconds, after which the pusher is stopped if the source stream or publishing is stopped.\\n","type":"integer","format":"seconds","example":10,"x-api-allow":["watcher-admin"],"x-format-description":"seconds"},"connect_timeout":{"description":"Connection timeout, in seconds. Equals to 0 by default.","type":"integer","format":"seconds","example":2,"x-format-description":"seconds"},"disabled":{"description":"Disable pushing the stream.\\n\\nTemporary disabling, or pausing, an offline stream eliminates the necessity to remove it from the the configuration in order to stop Flussonic trying to push it. \\nIn this way, the URL and other settings of a disabled stream remain in Flussonic.\\n","type":"boolean","x-api-allow":["watcher-admin"]}}},"stream_push_rtmp":{"allOf":[{"type":"object","title":"RTMP","required":["url"],"properties":{"url":{"description":"RTMP URL where to push.\\nYou can publish to RTMP servers. Usually it is a social network streaming.\\n","type":"string","x-api-allow":["watcher-admin"],"format":"input_url","examples":{"default":{"value":"rtmp://your-server.com/app/stream1"}},"pattern":"^rtmps?://.*$","x-format-description":"input_url"},"service":{"description":"The name of the service.\\nThe value will be sent within FlashVer string when establishing a connection.\\nString template is `FMLE/3.0 (compatible; #{encoder}; Streamer #{streamer_version}; #{service}`.\\nExample of the resulting FlashVer string is `FMLE/3.0 (compatible; Lavf56.40.101; Streamer 25.01; My service)`.\\n","type":"string","example":"My service"},"domain":{"description":"Service public domain name.\\nThe value will be sent within notify message with command name \'onMetaData\'\\nMetadata also will contain the name `Streamer`, streamer version, the type and version of the operating system.\\nMetadata will be sent as map with associated map key `yt_project`.\\nString template is `Streamer #{streamer_version} #{encoder} #{os_type} #{os_version} #{domain}`.\\nExample of the resulting string is `{\\"yt_project\\" : \\"Streamer 25.01 Lavf56.40.101 unix-linux 6.1.0 officialdomain.com\\"}`.\\n","type":"string","example":"officialdomain.com"},"encoder":{"description":"The name of the encoder used by the pusher. Can also be used as a device name.\\nThe value will be sent within notify message with command name \'onMetaData\' and within FlashVer string (see above).\\n","type":"string","example":"Lavf57"}}},{"$ref":"#/components/schemas/stream_push_base"}]},"stream_push_udp":{"allOf":[{"type":"object","title":"Multicast MPEG-TS","required":["url"],"properties":{"url":{"description":"UDP URL of multicast group\\n","type":"string","format":"input_url","examples":{"default":{"value":"udp://239.0.0.1:1234"},"interface":{"value":"udp://eth0@239.0.0.1:1234"},"bind_ip":{"value":"udp://239.0.0.1:1234/192.168.20.24"}},"pattern":"^udp[12]?://([^@]+\\\\@)?[0-9]+\\\\.[0-9]+\\\\.[0-9]+\\\\.[0-9]+:[0-9]+.*$","x-format-description":"input_url"}}},{"$ref":"#/components/schemas/stream_push_base"},{"$ref":"#/components/schemas/stream_push_udp_base"},{"$ref":"#/components/schemas/stream_push_mpegts_base"}]},"stream_push_m4f":{"allOf":[{"type":"object","title":"M4F","required":["url"],"properties":{"url":{"description":"Another Flussonic URL where to push video to.\\n","type":"string","format":"input_url","examples":{"default":{"value":"m4f://your-server.com/app/stream1"}},"pattern":"^m4fs?://.*$","x-format-description":"input_url"}}},{"$ref":"#/components/schemas/stream_push_base"}]},"stream_push_m4s":{"allOf":[{"type":"object","title":"M4S","required":["url"],"properties":{"url":{"description":"Flussonic stream URL where to push to.\\n","type":"string","format":"input_url","examples":{"default":{"value":"m4s://your-server.com/app/stream1"}},"pattern":"^m4ss?://.*$","x-format-description":"input_url"}}},{"$ref":"#/components/schemas/stream_push_base"}]},"stream_push_decklink":{"allOf":[{"type":"object","title":"Decklink SDI","required":["url"],"properties":{"url":{"description":"Specify Blackmagic Decklink SDI card as a destination for this stream.\\n\\nYou need to specify exact number of output, refer to decklink manual to find\\nenumeration rules.\\n","type":"string","format":"input_url","examples":{"default":{"value":"decklink://0"}},"pattern":"^decklink://[0-9]+$","x-format-description":"input_url"}}},{"$ref":"#/components/schemas/stream_push_base"},{"$ref":"#/components/schemas/stream_push_sdi_base"}]},"stream_push_dektec":{"allOf":[{"type":"object","title":"Dektec SDI","required":["url"],"properties":{"url":{"description":"Select which Dektec SDI card to use as a sink for this stream.\\n\\nDektec url is combined of card serial # and number of output port on this card.\\n\\nOutput ports on a card are numbered starting from 1.\\nSerial numbers are uniq for each produced card. Take a look at admin UI or use\\nnative dektec tools to find the serial number.\\n","type":"string","format":"input_url","examples":{"default":{"value":"dektec://2174223350:1"}},"pattern":"^dektec://[0-9]+:[0-9]+$","x-format-description":"input_url"},"push_audio_tracks":{"description":"Configuration of an audio track push to DekTec SDI.","items":{"allOf":[{"$ref":"#/components/schemas/push_audio_track"}]},"type":"array","x-private":true},"genlock":{"description":"Enable clock-lock feature (if supported). See also genlock_status property in pusher stats.","type":"boolean"},"pixel_offset":{"description":"Adjusting genlock timing pixel offset.","type":"integer"}}},{"$ref":"#/components/schemas/stream_push_base"},{"$ref":"#/components/schemas/stream_push_sdi_base"}]},"stream_push_dektec_asi":{"allOf":[{"type":"object","title":"Dektec ASI","required":["url"],"properties":{"url":{"description":"Select which Dektec ASI card to use as a sink for this stream.\\n\\nDektec url is combined of card serial # and number of output port on this card.\\n\\nOutput ports on a card are numbered starting from 1.\\nSerial numbers are uniq for each produced card. Take a look at admin UI or use\\nnative dektec tools to find the serial number.\\n\\nMention that ASI is a MPEG-TS transport\\n","type":"string","format":"input_url","examples":{"default":{"value":"dektec-asi://"}},"pattern":"^dektec-asi://.*$","x-format-description":"input_url"}}},{"$ref":"#/components/schemas/stream_push_base"},{"$ref":"#/components/schemas/stream_push_mpegts_base"}]},"stream_push_tshttp":{"allOf":[{"type":"object","title":"HTTP MPEG-TS","required":["url"],"properties":{"url":{"description":"Content will be similar to multicast MPEG-TS, but endless HTTP POST will be used to upload content.\\n","type":"string","format":"input_url","examples":{"default":{"value":"tshttp://your-server.com/app/stream1"},"https":{"value":"tshttps://your-server.com/app/stream1"}},"pattern":"^tshttps?://.*$","x-format-description":"input_url"}}},{"$ref":"#/components/schemas/stream_push_base"},{"$ref":"#/components/schemas/stream_push_mpegts_base"}]},"stream_push_hls":{"allOf":[{"type":"object","title":"HLS","required":["url"],"properties":{"url":{"description":"It is possible to publish HLS to a CDN. Segments will be uploaded together with manifests.\\n","type":"string","format":"input_url","examples":{"default":{"value":"hls://your-server.com/app/stream1"}},"pattern":"^hlss?://.*$","x-format-description":"input_url"}}},{"$ref":"#/components/schemas/stream_push_base"}]},"stream_push_srt":{"allOf":[{"type":"object","title":"SRT","required":["url"],"properties":{"url":{"description":"SRT URL where to push video.\\n","type":"string","format":"input_url","examples":{"default":{"value":"srt://my-server.com:8994"}},"pattern":"^srt[12]?://[^:]+:[0-9]+.*$","x-format-description":"input_url"}}},{"$ref":"#/components/schemas/stream_push_base"},{"$ref":"#/components/schemas/stream_push_udp_base"},{"$ref":"#/components/schemas/stream_push_mpegts_base"},{"$ref":"#/components/schemas/srt_config_base"}]},"stream_push_udp_base":{"type":"object","properties":{"multicast_loop":{"description":"Whether to capture multicast back to the *Flussonic* host. \\nThis option allows you to ingest the sent stream on the sending host by *Flussonic* or other application.\\nSet to `True` for a UDP MPEG-TS push.\\n","type":"boolean","example":true},"standby":{"description":"Monitoring multicast group and stop pushing if another publisher presented","type":"boolean"},"v":{"description":"This option allows to enable non-default, probably experimental, version of udp pusher.","x-private":true,"type":"string","enum":["timed"]},"bind_to_core":{"description":"Timed pusher option. CPU core to bind sending thread to. Will not bind by default.","x-private":true,"type":"integer"},"timed_wait":{"description":"Timed pusher option. How to wait to send a packet.","x-private":true,"type":"string","enum":["sleep","busy"]}}},"stream_push_mpegts_base":{"type":"object","properties":{"vb":{"description":"Average bitrate per second that you can send of a video track, including all the headers and encapsulation in the transport stream. \\nSo, for example, the value of vb=2720 approximately corresponds to the bitrate 2600 specified in the transcoder settings.\\n","type":"integer","format":"speed","example":2720,"x-format-description":"speed"},"bitrate":{"description":"The bitrate of the whole stream.","type":"integer","format":"speed","example":3200,"x-format-description":"speed"},"pnr":{"description":"Program number in the outgoing MPEG-TS stream. A program may represent a television channel.\\n","type":"integer"},"pids":{"description":"This parameter sets PIDs values for outgoing MPEG-TS streams. \\nIt is possible to set PID values for PMT, STD and video and audio tracks.\\n","allOf":[{"$ref":"#/components/schemas/output_mpegts_pids"}]},"mpegts_ac3":{"description":"It allows to specify pack information about ac3 for outgoing MPEGTS-TS streams. The default value is `system_b`.","allOf":[{"$ref":"#/components/schemas/output_mpegts_ac3"}]},"service":{"description":"Service name. Used to fill in the field service name within SDT MPEG-TS table.\\n","type":"string","example":"My service name"},"provider":{"description":"Provider name. Used to fill in the field service provider within SDT MPEG-TS table.\\n","type":"string","example":"My provider name"}}},"stream_push_sdi_base":{"type":"object","properties":{"volume":{"description":"Audio volume coefficient.\\nThe output audio volume is given by the relation: `output_volume = volume * input_volume`.\\nThe maximum volume value is 1.0 (default value).\\n","type":"number","example":0.5},"deinterlace":{"description":"Activate deinterlacing, i.e., converting an interlaced image to a progressive image. \\nIt is necessary for comfortable viewing of legacy TV video on PC/mobile devices.\\n","type":"boolean"},"video_format":{"description":"Specify SDI/HDMI output format","anyOf":[{"$ref":"#/components/schemas/video_format"}]},"vbi_lines":{"description":"Lines of VBI (vertical blanking interval) of an output analog stream that will contain teletext.\\nIt is used for passing teletext from MPEG-TS to analog streams.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/push-teletext-to-sdi-vbi/"},"items":{"allOf":[{"$ref":"#/components/schemas/vbi_lines"}]},"type":"array"},"dthreads":{"description":"Defines a number of threads in a decoder. \\nOne thread uses one core. \\nThe default value equals 4, but you can set it equal to the number of cores of your CPU.\\n","type":"integer","x-notice":"video decoder threads number"},"scale":{"description":"Defines a scaling algorithm.\\nYou can choose only one algorithm at a time. \\nIf a pushing stream has the same video resolution as an ingest stream, the `fast_bilinear` algorithm is used by default. \\nIf a video resolution of a pushing stream does not equal the video resolution of an ingest stream, the bicubic algorithm is used by default. \\nIf the algorithm is specified explicitly, it applies to all the formats.\\n","allOf":[{"$ref":"#/components/schemas/scale_algorithm"}]}}},"stream_push_st2110":{"allOf":[{"type":"object","title":"SMPTE 2110","required":["url"],"properties":{"url":{"description":"UDP URL of multicast group\\n","type":"string","format":"input_url","examples":{"default":{"value":"st2110://239.0.0.1:1234"},"interface":{"value":"st2110://eth0@239.0.0.1:1234"},"bind_ip":{"value":"st2110://239.0.0.1:1234/192.168.20.24"}},"pattern":"^st2110?://([^@]+\\\\@)?[0-9]+\\\\.[0-9]+\\\\.[0-9]+\\\\.[0-9]+:[0-9]+.*$","x-format-description":"input_url"}}},{"$ref":"#/components/schemas/stream_push_base"}]},"stream_input":{"oneOf":[{"$ref":"#/components/schemas/stream_input_fake"},{"$ref":"#/components/schemas/stream_input_file"},{"$ref":"#/components/schemas/stream_input_h323"},{"$ref":"#/components/schemas/stream_input_hls"},{"$ref":"#/components/schemas/stream_input_rtmp"},{"$ref":"#/components/schemas/stream_input_rtsp"},{"$ref":"#/components/schemas/stream_input_srt"},{"$ref":"#/components/schemas/stream_input_tshttp"},{"$ref":"#/components/schemas/stream_input_mixer"},{"$ref":"#/components/schemas/stream_input_mosaic"},{"$ref":"#/components/schemas/stream_input_m4f"},{"$ref":"#/components/schemas/stream_input_m4s"},{"$ref":"#/components/schemas/stream_input_rtp"},{"$ref":"#/components/schemas/stream_input_shoutcast"},{"$ref":"#/components/schemas/stream_input_timeshift"},{"$ref":"#/components/schemas/stream_input_playlist"},{"$ref":"#/components/schemas/stream_input_copy"},{"$ref":"#/components/schemas/stream_input_spts"},{"$ref":"#/components/schemas/stream_input_mpts"},{"$ref":"#/components/schemas/stream_input_publish"},{"$ref":"#/components/schemas/stream_input_v4l"},{"$ref":"#/components/schemas/stream_input_decklink"},{"$ref":"#/components/schemas/stream_input_dektec"},{"$ref":"#/components/schemas/stream_input_external"},{"$ref":"#/components/schemas/stream_input_ndi"},{"$ref":"#/components/schemas/stream_input_st2110"}],"x-pattern-discriminator":"url"},"stream_input_base":{"type":"object","properties":{"comment":{"description":"Human-readable description of the input.\\n","type":"string","example":"This is a test input"},"source_timeout":{"description":"The period of time, in seconds, for which Media Server will wait for new frames until it considers the source as lost.","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/add-secondary-source-for-redundancy/#source_timeout"},"anyOf":[{"type":"integer","format":"seconds","x-format-description":"seconds"},{"enum":[false],"type":"boolean"}],"example":20,"x-api-allow":["watcher-core"]},"audio_timeout":{"description":"The period of time, in seconds, for which Media Server will wait for new audio frames until it considers the source as lost.","externalDocs":{"description":"Find more information here"},"type":"integer","format":"seconds","example":20,"x-api-allow":["watcher-core"],"x-format-description":"seconds"},"video_timeout":{"description":"The period of time, in seconds, for which Media Server will wait for new video frames until it considers the source as lost.","type":"integer","format":"seconds","example":20,"x-api-allow":["watcher-core"],"x-format-description":"seconds"},"max_retry_timeout":{"description":"The maximum time that Media Server will set for attempts to reconnect to source when source problems occur.\\nThe time between attempts is not linear and may increase if source problems are not fixed. This parameter limits this value, but the time itself between attempts may be longer.\\n","type":"integer","format":"seconds","example":30,"minimum":1,"x-api-allow":["watcher-core"],"x-format-description":"seconds"},"timeout":{"description":"The time, in seconds, for Media Server to switch to the fallback source if the main source stops sending frames (video or audio). \\nThe important thing here is that the source remains active (connected), allowing for a client-publisher to stay on the socket.\\n","type":"integer","example":10,"x-api-allow":["watcher-core"]},"frames_timeout":{"description":"Specifies the period of time, in seconds, for which Media Server waits for new frames to come from the data source before it generates the `frames_timed_out` event that informs you that the source might soon be lost. \\nThis period of time must be smaller than `source_timeout`. \\nIf frames come again from this source, before `source_timeout` has passed, Media Server issues the `frames_restored` event.\\n","type":"integer","example":3,"x-api-allow":["watcher-core"]},"priority":{"description":"The priority that Media Server takes into account when switching to another source.\\nThe source with `priority=1` has the first priority, the source with `priority=2` has the second priority, and so on.\\n\\nBy default, the first source in the list has the highest priority and the last source in the list has the lowest priority. \\nIf priority is not specified for some sources, or if some sources have equal priorities, then the default order is applied. \\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/add-secondary-source-for-redundancy/#priority"},"type":"integer","example":1,"x-api-allow":["watcher-core"]},"stats":{"description":"Detailed runtime information about the input.","allOf":[{"$ref":"#/components/schemas/input_stats"}],"readOnly":true,"x-api-allow":["watcher-core"]},"user_agent":{"type":"string","description":"User agent. Can be modified if a protocol allows it.","x-api-allow":["watcher-core"]},"via":{"type":"string","format":"agent_url","description":"Agent ID. Used as a proxy to connect to the input server.","x-api-allow":["watcher-core","central-layouter"],"x-format-description":"agent://ID identification for `via` configuration option\\n"},"output_audio":{"description":"Enables transcoding of the published audio to another codec.\\nThe option is useful when you want to get an AAC audio track from WebRTC publish with OPUS or RTSP camera with PCMU.\\n","allOf":[{"$ref":"#/components/schemas/output_audio"}],"x-api-allow":["watcher-core"]},"headers":{"additionalProperties":{"type":"string"},"type":"object","description":"Request headers as key-value pairs.","example":{"User-Agent":"curl/7.85.0","Authorization":"Basic dXNlcjpwYXNzd29yZA=="},"x-api-allow":["watcher-core"]},"no_clients_reconnect_delay":{"type":"integer","description":"Skip input start if the stream has no clients."},"allow_if":{"type":"string","description":"Path to a file. The input will be allowed if you put `1` in the file, or denied if `0` (reverse logic to `deny_if`).\\nThis option allows you to manage inputs without API requests.\\n\\nFor example, your stream has two inputs and you set `allow_if = /path/to/file` for the first input.\\nThe `/path/to/file` file contains only the digit `1`. That means that the first input is used when you play the stream.\\nWhen you put `0` to the `/path/to/file` file, the first input is denied, so the second one is played.\\n\\nIf no such file, the input is allowed.\\n"},"deny_if":{"type":"string","description":"Path to a file. The input will be denied if you put `1` in the file, or allowed if `0` (reverse logic to `allow_if`).\\nThis option allows you to manage inputs without API requests.\\n\\nFor example, your stream has two inputs and you set `deny_if = /path/to/file` for the first input.\\nThe `/path/to/file` file contains only the digit `1`. \\nThat means that the first input will not be used when you play the stream, so the second one will.\\nWhen you put `0` to the `/path/to/file` file, the first input is allowed to be played.\\n\\nIf no such file, the input is allowed.\\n"},"bind_ip":{"type":"string","x-private":true,"description":"Interface ip address, to bind socket to."},"mbr":{"x-private":true,"type":"string","deprecated":true,"description":"Enables the multi-bitrate mode for transcoding the input.\\nNeed to remove it, but must offer some replacement to Watcher\\n","x-api-allow":["watcher-core"]},"max_bitrate":{"description":"Maximum bitrate value. Media Server checks the input bitrate value, and if it overflows this value, the input will be disconnected.","type":"integer","format":"speed","x-format-description":"speed"},"cluster_key":{"type":"string","description":"Authorization key used to fetch the stream from another streamer in a cluster."},"remote_dvr":{"enum":["nochain","chain","none"],"type":"string","description":"Mode to describe the interconnection with a DVR on a remote server.\\nAllows to chain requests to other servers or read-only from a peer.\\n"},"output_dts_shift":{"x-private":true,"type":"integer","description":"Allow to hardcode some additional DTS shift to the stream. Required for mixing\\ninside transponder and forcing DTS jump.\\n"}}},"stream_input_fake":{"allOf":[{"type":"object","title":"Demo source","properties":{"url":{"description":"URL to get a demo stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"fake://fake","pattern":"^fake://.*$","x-format-description":"input_url"},"width":{"type":"integer","description":"Width of an artificially created test video stream. \\nApplicable to the `fake://fake` URL.\\n"},"height":{"type":"integer","description":"Height of an artificially created test video stream. \\nApplicable to the `fake://fake` URL.\\n"},"bitrate":{"type":"integer","format":"speed","description":"Bitrate of an artificially created test video stream. \\nApplicable to the `fake://fake` URL.\\n","x-format-description":"speed"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_file":{"allOf":[{"type":"object","title":"File","properties":{"url":{"description":"URL to get a stream from file.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"file://vod/bunny.mp4","pattern":"^file://.*$","x-format-description":"input_url"},"raw":{"x-private":true,"description":"If this option is enabled, file source produce raw stream.","type":"boolean"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_mpegts_specific"},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_h323":{"allOf":[{"type":"object","title":"H323","properties":{"url":{"description":"URL to connect to the H323 source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"h323://192.168.100.150","pattern":"^h323://.*$","x-format-description":"input_url"},"id":{"type":"string","description":"H323 input ID."},"video_bitrate":{"type":"integer","format":"speed","description":"H323 input bitrate.","x-format-description":"speed"},"audio_bitrate":{"type":"integer","format":"speed","description":"H323 audio bitrate.","x-format-description":"speed"},"connections":{"type":"integer","description":"H323 connections."}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_hls":{"allOf":[{"type":"object","title":"HLS","properties":{"url":{"description":"URL to get a stream from HLS source.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"hls://remote.host.com/example/video.m3u8"},"apple_standard":{"value":"hls://remote.host.com/example/index.m3u8"},"secure":{"value":"hlss://remote.host.com/example/video.m3u8"},"hls2":{"value":"hls2://remote.host.com/example/video.m3u8"},"hlss2":{"value":"hlss2://remote.host.com/example/video.m3u8"},"http":{"value":"http://remote.host.com/index.m3u8"},"https":{"value":"https://remote.host.com/index.m3u8"}},"pattern":"^(hls|hlss|hls2|hlss2)://.*$|^(http|https)://.*\\\\.m3u8((#|\\\\?).*)?$","x-format-description":"input_url"},"skip_stalled_check":{"description":"By default Flussonic will wait for at least 2-3 new segments before making stream available.\\n\\nThis parameter allows to disable this protection. Use it at your own risk - with it enabled, old content might be repeated over and over.\\n","type":"boolean"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_mpegts_specific"},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_rtmp":{"allOf":[{"type":"object","title":"RTMP","properties":{"url":{"description":"URL to connect to the RTMP source and get the stream.\\n\\nRTMP uses a special URL consisting of at least two segments. *Flussonic* parses the URL and splits it into parts, \\nusing the first segment as an RTMP application name.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"rtmp://remote.host.com/static/example"},"secure":{"value":"rtmps://remote.host.com/static/example"}},"pattern":"^(rtmp|rtmps)://.*$","x-format-description":"input_url"},"pageUrl":{"description":"URL of the web page from where the SWF file was loaded. \\nThis is an RTMP header (Referer) used for establishing connection.\\n","type":"string","format":"url","example":"http://somehost/sample.html","x-format-description":"url"},"swfUrl":{"description":"URL of the source SWF file making the connection by RTMP.","type":"string","example":"file://C:/FlvPlayer.swf"},"tcUrl":{"description":"URL of the remote Server for entering credentials. \\nIt has the following format: `protocol://servername:port/appName/appInstance`.\\n","type":"string","format":"url","example":"rtmp://localhost:1935/testapp/instance1","x-format-description":"url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_rtsp":{"allOf":[{"type":"object","title":"RTSP","properties":{"url":{"description":"URL to connect to the RTSP source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"rtsp://remote.host.com/example"},"secure":{"value":"rtsps://remote.host.com/example"},"rtsp-udp":{"value":"rtsp-udp://remote.host.com/example"},"rtsp2":{"value":"rtsp2://remote.host.com/example"}},"pattern":"^(rtsp|rtsps|rtsp-udp|rtsp2)://.*$","x-format-description":"input_url"},"rtp":{"enum":["udp"],"type":"string","description":"Whether to force UDP to capture a video from RTSP cameras.","x-api-allow":["watcher-core"]},"tracks":{"x-private":true,"type":"array","items":{"type":"integer"},"description":"List of track numbers to receive when capturing a stream from an RTSP camera.","example":[1],"x-api-allow":["watcher-core"]},"wait_rtcp":{"type":"boolean","description":"Whether to wait for the full RTP time synchronization before the processing of frames from the RTSP camera.\\n","x-api-allow":["watcher-core"]}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_v4l":{"allOf":[{"type":"object","title":"V4L","required":["url"],"properties":{"url":{"description":"URL to connect to the Video4Linux source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"v4l2://"},"v4l":{"value":"v4l://"}},"pattern":"^(v4l|v4l2)://.*$","x-format-description":"input_url"},"audio_device":{"description":"The audio device to capture audio from Stream Labs SDI cards.\\n\\nThis parameter is specified for ALSA devices in the following format `interface:card,device`.\\n","type":"string","example":"plughw:1,0"},"video_device":{"description":"The video device to capture video from Stream Labs SDI cards.\\nIt is actually a path to a device file created on the disk by Video4Linux.\\n","type":"string","example":"/dev/video0"},"vbi_device":{"description":"The VBI device to capture raw VBI data from Stream Labs SDI cards. VBI data can contain information about teletext or closed captions.\\nIt is actually a path to a VBI device file created on the disk by Video4Linux.\\n","type":"string","example":"/dev/vbi"},"ttxt_descriptors":{"description":"This information is necessary for adding into the PMT table to identify streams which carry teletext data in the resulting MPEG-TS stream.","items":{"allOf":[{"$ref":"#/components/schemas/ttxt_descriptors"}]},"type":"array"},"vbi_threshold":{"description":"This parameter is used for debugging when reading teletext from VBI.\\nThis is a threshold, in seconds, for turning on the decoder.\\n","type":"integer"},"vbi_debug":{"description":"This parameter allows logging the decoded data when reading teletext from VBI.","type":"boolean"},"vbi_decoder":{"description":"This parameter is used for debugging when reading teletext from VBI.\\nIt allows to specify which decoder is used.\\n","x-private":true,"oneOf":[{"const":"erl","description":"The decoder in Erlang is used."},{"const":"nif","description":"The decoder in C is used."}]},"sample_rate":{"x-private":true,"type":"integer","description":"The input sample rate."}}},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_decklink":{"allOf":[{"type":"object","title":"Decklink SDI","properties":{"url":{"description":"URL to connect to the Decklink SDI source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"decklink://0","pattern":"^decklink://.*$","x-format-description":"input_url"},"mode":{"description":"Mode of the input stream captured from the Decklink card. It is composed of the size and FPS of the captured video. \\n\\nUsually, it is autodetected, but for some Decklink models you\'ll need to specify it manually.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/ingest-sdi-with-blackmagic/#live-sdi-capture"},"anyOf":[{"$ref":"#/components/schemas/bm_display_mode"}],"example":"4d30"},"ainput":{"description":"Audio interface for capturing from the Decklink card.\\n\\nUsually, it is autodetected, but for some Decklink models you should specify it manually.\\n","anyOf":[{"type":"integer","enum":[1,2,3,4,5,6,7]},{"enum":["embedded","aes_ebu","analog","analog_xlr","analog_rca","microphone","headphones"],"type":"string"}],"example":"microphone"},"vinput":{"description":"Video interface for capturing from the Decklink card.\\n\\nUsually, it is autodetected, but for some Decklink models you should specify it manually.\\n","anyOf":[{"type":"integer","enum":[1,2,3,4,5,6]},{"enum":["sdi","hdmi","optical_sdi","component","composite","s_video"],"type":"string"}],"example":"hdmi"},"vpts":{"description":"Synchronization mode for video captured from the Decklink card.\\n","oneOf":[{"const":"audio","description":"Synchronization by audio."},{"const":"ref","description":"Synchronization according to the timing reference signal."},{"const":2,"description":"Equivalent of \'audio\'."},{"const":3,"description":"Equivalent of \'ref\'."}]},"apts":{"description":"Synchronization mode for audio captured from the Decklink card.\\n","oneOf":[{"const":"video","description":"Synchronization by video."},{"const":"ref","description":"Synchronization according to the timing reference signal."},{"const":1,"description":"Equivalent of \'video\'."},{"const":3,"description":"Equivalent of \'ref\'."}]},"pixel":{"description":"Preferred pixel format for captured video.","oneOf":[{"const":"rgb8","description":"rgb color model and 8 bits per pixel."},{"const":"rgb10","description":"rgb color model and 10 bits per pixel."},{"const":"rgb12","description":"rgb color model and 12 bits per pixel."},{"const":"yuv8","description":"YUV color model and 8 bits per pixel."},{"const":"yuv10","description":"YUV color model and 10 bits per pixel."},{"const":"8","description":"equivalent of `yuv8`."},{"const":"10","description":"equivalent of `yuv10`."}]},"sar":{"description":"The ratio of the width of the display representation to the width of the pixel representation of video.\\n\\nThis parameter is used for creating non-anamorphic video from anamorphic video.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/transcoder-internals/#transcoder-options_sar"},"type":"string","example":"16:9"},"ttxt_descriptors":{"description":"This information is necessary for adding into the PMT table to identify streams which carry teletext data in the resulting MPEG-TS stream.","items":{"allOf":[{"$ref":"#/components/schemas/ttxt_descriptors"}]},"type":"array"},"vbi_threshold":{"description":"This parameter is used for debugging when reading teletext from VBI.\\nThis is a threshold, in seconds, for turning on the decoder.\\n","type":"integer"},"vbi_debug":{"description":"This parameter allows logging the decoded data when reading teletext from VBI.","type":"boolean"},"audio_tracks":{"description":"The configuration of an audio track received from DekTec SDI.","items":{"allOf":[{"$ref":"#/components/schemas/audio_track"}]},"type":"array","x-private":true}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_dektec":{"allOf":[{"type":"object","title":"DekTec SDI","properties":{"url":{"description":"URL to connect to the DekTec SDI source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"dektec://2174220025:2","pattern":"^dektec://.*$","x-format-description":"input_url"},"pixel":{"description":"Preferred pixel format for captured video.","oneOf":[{"const":"rgb8","description":"rgb color model and 8 bits per pixel."},{"const":"rgb10","description":"rgb color model and 10 bits per pixel."},{"const":"rgb12","description":"rgb color model and 12 bits per pixel."},{"const":"yuv8","description":"YUV color model and 8 bits per pixel."},{"const":"yuv10","description":"YUV color model and 10 bits per pixel."},{"const":"8","description":"equivalent of `yuv8`."},{"const":"10","description":"equivalent of `yuv10`."}]},"sar":{"description":"The ratio of the width of the display representation to the width of the pixel representation of video.\\n\\nThis parameter is used for creating non-anamorphic video from anamorphic video.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/transcoder/#video-options"},"type":"string","example":"16:9"},"ttxt_descriptors":{"description":"This information is necessary for adding into the PMT table to identify streams which carry teletext data in the resulting MPEG-TS stream.","items":{"allOf":[{"$ref":"#/components/schemas/ttxt_descriptors"}]},"type":"array"},"vbi_debug":{"description":"This parameter allows logging the decoded data when reading teletext from VBI.","type":"boolean"},"audio_tracks":{"description":"The configuration of an audio track received from DekTec SDI.","items":{"allOf":[{"$ref":"#/components/schemas/audio_track"}]},"type":"array","x-private":true},"scte35":{"description":"This option disables processing of SCTE-35 markers from an MPEG-TS input stream.\\nDeprecated since 22.12.\\nAvailable ways to disable processing of SCTE-35 markers:\\n1. pids option to select tracks without SCTE-35 markers\\n2. hls_scte35 option from stream_config_media for hls output\\n3. performing appropriate tuning pids in the transponder\\n","type":"boolean","default":true,"example":true,"deprecated":true,"x-delete-at":23.09}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_srt":{"allOf":[{"type":"object","title":"SRT","required":["url"],"properties":{"url":{"description":"Artificial URL to connect to the SRT source and get the stream.\\n\\nSRT requires IP and port, so we create an artificial URL to specify the options to manage the data interchange.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"srt://remote.host.com:1234?bind_ip=10.77.0.100"},"srt1":{"value":"srt1://remote.host.com:1234?bind_ip=10.77.0.100"},"srt2":{"value":"srt2://remote.host.com:1234?bind_ip=10.77.0.100"}},"pattern":"^(srt|srt1|srt2)://.*$","x-format-description":"input_url"},"closed_captions":{"additionalProperties":{"type":"string"},"type":"object","x-key-type":"string","description":"The rules for handling the closed captions.\\n"}}},{"$ref":"#/components/schemas/stream_input_srt_publish_specific"},{"$ref":"#/components/schemas/stream_input_base"},{"$ref":"#/components/schemas/srt_config_base"}]},"stream_input_srt_publish_specific":{"type":"object","properties":{"subtitles":{"description":"This configuration is deprecated. Use `dvbocr` configuration field in stream.\\n\\nThis parameter allows to manage subtitles in an output stream.\\n","oneOf":[{"const":"drop","description":"An output stream will have no subtitles track."},{"const":"accept","description":"An output stream will have a subtitles track in DVB, without conversion to text (default behavior)."},{"const":"ocr_replace","description":"An output stream will have a track containing subtitles converted to a text format (WebVTT)."},{"const":"ocr_add","description":"An output stream will have two tracks containing subtitles: \\nthe original track with subtitles in DVB and a new track with text subtitles.\\n"}],"example":"drop","deprecated":true,"x-delete-at":25.03},"scte35":{"description":"This option disables processing of SCTE-35 markers from SRT input stream.\\n","type":"boolean","default":true,"example":true}}},"stream_input_tshttp":{"allOf":[{"type":"object","title":"TSHTTP","properties":{"url":{"description":"URL for ingest and pass a stream \\"as is\\" without repackaging.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"tshttp://ADMIN:PASSWORD@FLUSSONIC_IP/flussonic/api/dvbts/a0"},"secure":{"value":"tshttps://127.0.0.1:8080"},"mpegts":{"value":"http://remote.host.com/mpegts"},"mpegts_secure":{"value":"https://remote.host.com/mpegts"},"ts":{"value":"http://remote.host.com/example.ts"},"ts_secure":{"value":"https://remote.host.com/example.ts"}},"pattern":"^(tshttp|tshttps)://.*$|^(http|https)://.*(\\\\.ts|/mpegts)$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_mpegts_specific"},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_webrtc_publish_specific":{"type":"object","title":"WebRTC","properties":{"prefer_codec":{"description":"Choose one of the listed video codecs at the start of the publication via WebRTC.\\n","deprecated":true,"x-delete-at":24.11,"x-alias":"prefer_video_codec","allOf":[{"$ref":"#/components/schemas/webrtc_prefer_video_codec"}],"example":"av1"},"prefer_video_codec":{"description":"Prefer one of the listed video codecs at the start of the publication via WebRTC.\\n","allOf":[{"$ref":"#/components/schemas/webrtc_prefer_video_codec"}],"example":"av1"},"prefer_video_profile":{"description":"Prefer one of the listed video profiles at the start of the publication via WebRTC.\\nThis option should help if the client\'s equipment cannot encode correctly to the automatically selected profile. Use with option if the publication does not work.\\n","type":"string","example":"42e01f","x-private":true},"transport":{"description":"Choose the prefered transport of the publication via WebRTC: UDP or TCP.\\n","allOf":[{"$ref":"#/components/schemas/webrtc_transport"}],"example":"udp"},"min_bitrate":{"description":"The minimum bitrate threshold, in kbit/s. The default value is 100 kbit/s.","type":"integer","example":150},"webrtc_abr":{"description":"Whether the adaptive bitrate mechanism is used for WebRTC publications.","type":"boolean","example":true},"abr_stepup":{"description":"Increment step for raising the bitrate to the maximum, in percent. The default step is 30%. \\nIf the loss is less than `abr_loss_lower`, Flussonic makes the publisher to step up from the current bitrate to the maximum one with the rate of `abr_stepup percent`.\\n","type":"integer"},"abr_correction":{"description":"The correction between the target bitrate (Receiver Estimated Maximum Bitrate, calculated in Flussonic) and browser bitrate, in kbit/s.\\nFlussonic sends the target bitrate to the browser from which the publication is carried out so that the browser adjusts the bitrate of the publication by this value.\\nThe default value is 300 kbit/s.\\n","type":"integer","example":200},"abr_loss_lower":{"type":"number","description":"The lower limit of packet loss. When it is reached, Flussonic raises the bitrate. \\nThat is, if packet loss is less than `abr_loss_lower`, Flussonic makes the publisher to step up from the current bitrate to the maximum one with the rate of `abr_stepup` percent.\\n","example":2},"abr_loss_upper":{"description":"The upper limit of packet loss. When it is reached, Flussonic reduces the bitrate. \\nThat is, if packet loss is greater than `abr_loss_upper`, Flussonic makes the publisher to reduce the current bitrate in steps with the maximum rate of `abr_stepdown` percent.\\n","type":"number","example":10},"abr_stepdown":{"description":"A step of reducing the bitrate to the minimum. \\nIf packet losses are greater than `abr_loss_upper`, Flussonic makes the publisher to reduce the current bitrate in steps with the maximum rate of `abr_stepdown` percent.\\n","type":"number"},"abr_mode":{"description":"The algorithm for determining the need to change the bitrate of the published stream and for calculating the target bitrate. \\nTwo options are possible:\\n\\n* `abr_mode=0` - This mode takes into account the packet losses, target bitrate, browser bitrate and the number of auto-adjustment cycles.\\n* `abr_mode=1` - This mode considers only packet losses and target bitrate.\\n","type":"integer","example":1},"abr_debug":{"description":"Whether adaptive bitrate process is logged.","type":"integer","example":1},"abr_cycles":{"description":"The number of cycles of bitrate auto-adjustment.\\nAfter the specified number of auto-adjustment cycles passes, Flussonic considers the bitrate to be optimal, and it is no longer analyzed. \\nBy default, `abr_cycles`=5. \\nIf `abr_cycles`=0, the adjustment process takes place all the time while the publication lasts.\\n","type":"integer","example":3},"abr_max_bitrate":{"description":"Maximum bitrate for adjustment process, in kbit/s.\\nFlussonic will keep the publication bitrate equal or below of the specified value.\\n","type":"integer","default":2500,"example":1000}}},"stream_input_mixer":{"allOf":[{"type":"object","title":"Mixer","properties":{"url":{"description":"URL to make a mixer stream from other streams.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"mixer://stream1,stream2","pattern":"^mixer://.*$","x-format-description":"input_url"},"sync":{"description":"This parameter is used for a mixer stream that uses other streams as its video and audio sources.\\n\\nIf the parameter is set to `realtime`, audio frames will be played in sync with video frames: \\nif the difference between timestamps of an audio frame and a corresponding video frame is more than 2 seconds, \\nthe audio frame will be played at the timestamp of the video frame. \\n\\nIf this parameter is set to `dts`, no synchronization is performed.\\n","enum":["dts","realtime"],"type":"string","example":"dts","default":"dts","x-api-allow":["watcher-core"]},"audio_add":{"type":"integer","description":"Moves audio timestamp forwards or backwards on a specified number of milliseconds.","deprecated":true,"x-delete-at":23.09,"format":"milliseconds","x-alias":"audio_offset","x-api-allow":["watcher-core"],"x-format-description":"milliseconds"},"audio_offset":{"type":"integer","description":"Rename audio_add, worked only for dts sync method","x-private":true,"format":"milliseconds","x-format-description":"milliseconds"},"mixer_strategy":{"description":"The mixing mode for the `mixer://` input type.\\n","oneOf":[{"const":"all","description":"Mix all input tracks."},{"const":"first_video_audio","description":"Mix only a first video track of the first input with a first audio track of the second input."}],"default":"first_video_audio","type":"string"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_timeshift":{"allOf":[{"type":"object","title":"Timeshift","properties":{"url":{"description":"Special URL to play the archive record of a stream with a fixed delay.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"timeshift://channel/7200"}},"pattern":"^timeshift://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_m4f":{"allOf":[{"type":"object","title":"M4F","properties":{"url":{"description":"URL to get a stream from m4f source.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"m4f://remote.host.com/example"},"secure":{"value":"m4fs://remote.host.com/example"}},"pattern":"^(m4f|m4fs)://.*$","x-format-description":"input_url"},"closed_captions":{"additionalProperties":{"type":"string"},"type":"object","x-key-type":"string","description":"The rules for handling the closed captions.\\n"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_copy":{"allOf":[{"type":"object","title":"Copy source","properties":{"url":{"description":"URL to connect to the source and get a copy of the original stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"copy://stream1","pattern":"^copy://.*$","x-format-description":"input_url"},"closed_captions":{"additionalProperties":{"type":"string"},"type":"object","x-key-type":"string","description":"The rules for handling the closed captions.\\n"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_shoutcast":{"allOf":[{"type":"object","title":"SHOUTcast","properties":{"url":{"description":"URL to connect to the SHOUTcast source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"shoutcast://remote.host.com/example/shoutcast"},"secure":{"value":"shoutcasts://remote.host.com/example/shoutcast"}},"pattern":"^(shoutcast|shoutcasts)://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_rtp":{"allOf":[{"type":"object","title":"RTP","properties":{"url":{"description":"URL to connect to RTP source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"rtp://remote.host.com","pattern":"^rtp://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_m4s":{"allOf":[{"type":"object","title":"M4S","properties":{"url":{"description":"URL to get a stream from m4s source.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"m4s://remote.host.com/example"},"secure":{"value":"m4ss://remote.host.com/example"}},"pattern":"^(m4s|m4ss)://.*$","x-format-description":"input_url"},"closed_captions":{"additionalProperties":{"type":"string"},"type":"object","x-key-type":"string","description":"The rules for handling the closed captions.\\n"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_mosaic":{"allOf":[{"type":"object","title":"Mosaic","properties":{"url":{"description":"Special URL to make a mosaic stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"mosaic://cam1,cam2,cam3,cam4?fps=20&amp;preset=ultrafast&amp;bitrate=1024k&amp;size=340x240&amp;mosaic_size=16"},"mosaic2":{"value":"mosaic2://"}},"pattern":"^(mosaic|mosaic2)://.*$","x-format-description":"input_url"},"disable_video":{"x-private":true,"type":"boolean","description":"Whether to show video from streams included into the mosaic."},"samples":{"x-private":true,"type":"integer","description":"The input samples."},"sample_rate":{"x-private":true,"type":"integer","description":"The input sample rate."},"bitrate":{"type":"integer","format":"speed","description":"Bitrate of the audio. \\n","x-format-description":"speed"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_publish":{"allOf":[{"type":"object","title":"Publish","properties":{"url":{"description":"The publish:// URL used to indicate where this stream started in publish mode.\\n\\nYou can publish videos to Flussonic using the following URLs:  \\n  __RTSP__: rtsp://FLUSSONIC-IP/stream_name  \\n  __HTTP MPEG-TS__: http://FLUSSONIC-IP/stream_name/mpegts  \\n  __RTMP__: rtmp://flussonic-ip/published or rtmp://flussonic-ip/static/published  \\n  __WebRTC__: http://FLUSSONIC-IP/stream_name/whip  \\n  __SRT__: srt://FLUSSONIC-IP:SRT_PORT?streamid=#!::r=STREAM_NAME,m=publish\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"publish://","pattern":"^publish://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_webrtc_publish_specific"},{"$ref":"#/components/schemas/stream_input_srt_publish_specific"},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_playlist":{"allOf":[{"type":"object","title":"Playlist","properties":{"url":{"description":"URL to get a stream from playlist.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"playlist://remote.host.com/example.m3u8","pattern":"^playlist://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_ndi":{"allOf":[{"type":"object","title":"NDI","properties":{"url":{"description":"URL to get a stream from NDI source. Usually NDI software display sources like `My PC (Camera1)`, convert it into `ndi://My PC/Camera1`.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"ndi://hostname/Source1","pattern":"^ndi://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_spts":{"allOf":[{"type":"object","title":"SPTS","properties":{"url":{"description":"URL to connect to the SPTS source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"udp://239.0.0.1:1234"},"udp1":{"value":"udp1://239.0.0.1:1234"},"udp2":{"value":"udp2://239.0.0.1:1234"},"udp3":{"value":"udp3://239.0.0.1:1234"}},"pattern":"^(udp|udp1|udp2|udp3)://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_mpegts_specific"},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_mpts":{"allOf":[{"type":"object","title":"MPTS","properties":{"url":{"description":"URL to get a stream from MPTS source.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"mpts-udp://239.0.0.1:1234"},"mpts-http":{"value":"mpts-http://239.0.0.1:1234"},"mpts-https":{"value":"mpts-https://239.0.0.1:1234"},"mpts-dvb":{"value":"mpts-dvb://asi_10?program=15"},"dvb":{"value":"dvb://asi_10?program=15"}},"pattern":"^(mpts-udp|mpts-http|mpts-https|mpts-dvb|dvb)://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_mpegts_specific"},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_mpegts_specific":{"type":"object","properties":{"programs":{"description":"Choose a program to ingest from an MPEG-TS stream.","items":{"type":"integer"},"type":"array","example":[1]},"pids":{"description":"Choose a specific PID to ingest from an MPEG-TS stream. \\nPID identifies separate data stream inside the multiplexed MPEG-TS stream. \\nIt is possible to set PID values for PMT, SDT, video, and audio tracks.\\n","items":{"type":"integer"},"type":"array","example":[211]},"no_fix_subs_dts":{"x-private":true,"description":"If this option is enabled, Flussonic will not try to fix subtitles DTS.","type":"boolean"},"cc_check":{"x-private":true,"description":"This parameter defines the behavior when getting a CC (Continuity Counter) error.\\n","oneOf":[{"const":"no","description":"Do nothing."},{"const":"log","description":"Write to the log."},{"const":"repeat","description":"Try again."}]},"subtitles":{"description":"This configuration is deprecated. Use `dvbocr` configuration field in stream.\\n\\nThis parameter allows to manage subtitles in an output stream.\\n","oneOf":[{"const":"drop","description":"An output stream will have no subtitles track."},{"const":"accept","description":"An output stream will have a subtitles track in DVB, without conversion to text (default behavior)."},{"const":"ocr_replace","description":"An output stream will have a track containing subtitles converted to a text format (WebVTT)."},{"const":"ocr_add","description":"An output stream will have two tracks containing subtitles: \\nthe original track with subtitles in DVB and a new track with text subtitles.\\n"}],"example":"drop","deprecated":true,"x-delete-at":25.03},"closed_captions":{"additionalProperties":{"type":"string"},"type":"object","x-key-type":"string","description":"The rules for handling the closed captions.\\n"},"scte35":{"description":"This option disables processing of SCTE-35 markers from an MPEG-TS input stream.\\nDeprecated since 22.12.\\nAvailable ways to disable processing of SCTE-35 markers:\\n1. pids option to select tracks without SCTE-35 markers\\n2. hls_scte35 option from stream_config_media for hls output\\n3. performing appropriate tuning pids in the transponder\\n","type":"boolean","default":true,"example":true,"deprecated":true,"x-delete-at":23.09},"languages":{"additionalProperties":{"type":"string"},"type":"object","x-key-type":"mpegts_lang_track","description":"An array of MPEG-TS language descriptors in format `[{key: track, value: language}]`\\n"},"bypass_psis":{"x-private":true,"description":"The list of PIDs that will transmit PSI tables as video frames (content=metadata).","items":{"type":"integer"},"type":"array"},"try_adts":{"x-private":true,"description":"If this option is enabled, the decoder tries to decode LATM as ADTS.","type":"boolean"}}},"stream_input_external":{"allOf":[{"type":"object","title":"External","x-private":true,"properties":{"url":{"description":"URL to make an External stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"ffmpeg -i mmsh://wideo.umk.um","pattern":"^ffmpeg .*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_st2110":{"allOf":[{"type":"object","title":"SMPTE 2110\\n","required":["url"],"properties":{"url":{"description":"SMPTE 2110 UDP multicast group\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","central-layouter"],"examples":{"default":{"value":"st2110://239.0.0.1:1234"},"interface":{"value":"st2110://eth0@239.0.0.1:1234"},"bind_ip":{"value":"st2110://239.0.0.1:1234/192.168.20.24"}},"pattern":"^st2110://.*$","x-format-description":"input_url"},"width":{"type":"integer","description":"Must specify received pixel width\\n"},"height":{"type":"integer","description":"Must specify received pixel height\\n"},"bind_to_core":{"type":"integer","description":"Optional bind core\\n"}}},{"$ref":"#/components/schemas/stream_input_base"}]},"webrtc_abr_opts":{"type":"object","properties":{"start_track":{"description":"Video track number from which playback starts. Possible values: `v1`, `v2`, `v3` and so on.\\n\\nIf not specified, or an audio track specified (`start_track=a3`), or a video track number does not exist, \\nplayback starts with the track number in the middle of the list (e.g. `v2` if you have tracks `v1`, `v2`, and `v3`) \\nand then adjusts to the bandwidth availability.\\n\\nIf some tracks are excluded by the query parameter `?filter=tracks:...`, Flussonic searches for an available track with a lower number up to v0. \\nIf no track with a lower number was found, Flussonic searches for a closest track with a higher number.\\n","type":"string","example":"v2"},"loss_count":{"description":"Number of recent packet loss events to consider when switching bitrate.","default":2,"type":"integer","x-private":true},"up_window":{"description":"Switch bitrate to a higher value if in the last `up_window` number of seconds there were less than `loss_count` lost packets.","default":20,"type":"integer","x-private":true,"example":17},"down_window":{"description":"Switch bitrate to a lower value if in the last `down_window` number of seconds there were more than `loss_count` lost packets.","default":5,"type":"integer","x-private":true,"example":6},"ignore_remb":{"description":"If `true`, Flussonic ignores REMB (Receiver Estimated Maximum Bitrate) reported by the client when switching bitrate to a higher value.\\nIf false, the bitrate will not exceed the one sent by the client in the REMB.\\n","default":true,"type":"boolean","x-private":true,"example":true},"bitrate_prober":{"description":"If `true`, Flussonic periodically sends `probe` packets to measure available bandwidth and switches bitrate to a higher value if it possible.\\n","default":true,"type":"boolean","x-private":true,"example":true},"bitrate_probing_interval":{"description":"How often Flussonic sends `probe` packets in seconds\\n","default":5,"type":"integer","x-private":true,"example":6}}},"named_by":{"type":"string","oneOf":[{"const":"config","description":"Media is described in file on local disk"},{"const":"user","description":"Media was started and configured by user request: play or publish\\n"},{"const":"remote","description":"Media was sourced from another streamer via `source` directive"},{"const":"external","description":"Media was configured via config_external backend"}]},"backup_config":{"type":"object","properties":{"file":{"description":"Path to the backup file in a VOD location on the server (**not on the local disk!**). \\nThe backup file is played to fill in a time interval when the source is down.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/add-secondary-source-for-redundancy/#live-sources-url_file"},"type":"string","example":"vod/blank.mp4"},"timeout":{"description":"The time (in seconds) for Flussonic to switch to the fallback source if the main source stops sending frames. \\nThe important thing here is that the source remains active (connected), allowing for a client-publisher to stay on the socket.\\nThis option takes any type of frames into account. \\n\\nIf you do not specify timeout specifically for a fallback source, then in the absence of frames, `source_timeout` of the main source will be used.\\n","type":"integer","example":10},"audio_timeout":{"description":"The time (in seconds) for Flussonic to switch to the fallback source if the main source stops sending audio frames.","type":"integer","example":5},"video_timeout":{"description":"The time (in seconds) for Flussonic to switch to the fallback source if the main source stops sending video frames.","type":"integer","example":4},"transcode":{"description":"Whether or not to transcode the backup file. Set to `True` by default. \\nIf set to `False`, backup file frames will bypass as-is to the output stream.\\n\\nShould not be set to `False` unless the backup file has the same stream characteristics\\nas the live stream.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/add-secondary-source-for-redundancy/#live-sources-backup_transcode"},"type":"boolean"},"dvr":{"description":"Whether or not to record a backup to DVR. \\nSet to `False` by default (backup is not recorded).\\n","type":"boolean"}}},"auth_url":{"anyOf":[{"type":"string","format":"auth_url","x-format-description":"This may be a limited amount of schemas or a .lua file on disk\\n"},{"type":"string","oneOf":[{"const":"true","description":"Allow all playback sessions. Use the value to override template value."}]}]},"dvr_info":{"type":"object","properties":{"from":{"type":"integer","format":"utc","description":"The UTC timestamp of the first recording in this archive.","example":1641045644,"x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000},"depth":{"type":"integer","format":"seconds","description":"The time interval between the start of the *first* recording segment and the end of the *last* one.","example":259200,"x-format-description":"seconds"},"ranges":{"deprecated":true,"x-delete-at":24.09,"description":"The list of DVR ranges. The param is replaced with `ranges_list` method.","items":{"allOf":[{"$ref":"#/components/schemas/dvr_range"}]},"type":"array"},"bytes":{"description":"The size of the recorded archive.","type":"integer","format":"bytes","example":129600000000,"x-format-description":"bytes"},"disk_size":{"description":"The size of the recorded archive. Please, use bytes instead.","type":"integer","format":"bytes","example":1099511627776,"deprecated":true,"x-delete-at":25.07,"x-format-description":"bytes"},"duration":{"type":"integer","format":"seconds","description":"A total duration of the recorded segments, excluding recording gaps.\\nIt can be smaller than depth if you have gaps.\\n","example":172800,"x-format-description":"seconds"}},"required":["from","depth","ranges"]},"url_prefix":{"anyOf":[{"enum":[false],"type":"boolean"},{"type":"string"}]},"output_mpegts_pids":{"type":"object","properties":{"pmt":{"description":"PID  of the elementary stream that contains Program Map Table (PMT) in the outgoing MPEG-TS stream.\\n\\nPMT contains the description of each program and lists the PIDs of elementary streams associated with that program.\\nFor instance, a transport stream used in digital television might contain three programs, to represent three television channels. \\nSuppose each channel consists of one video stream, one or two audio streams, and any necessary metadata. \\nA receiver wishing to decode one of the three channels merely has to decode the payloads of each PID associated with its program. \\nIt can discard the contents of all other PIDs.\\n","allOf":[{"$ref":"#/components/schemas/ts_pid"}]},"pcr":{"description":"PID of the elementary stream that contains PCR (Program Clock Reference) in the outgoing MPEG-TS stream.\\n\\nPCR is the time label used for synchronization of a stream playback with real time. \\nAdditionally, for DVB streams it is used for managing a decoder and its buffer. \\nIn this case, PCR gives a signal to the frames with DTS&lt;PCR to be sent to the decoder from the buffer. \\nThis mechanism allows to compensate different sizes of frames: if a frame is too big to be played in time with a specified FPS, the frames from the buffer are played.\\n","allOf":[{"$ref":"#/components/schemas/ts_pid"}]},"sdt":{"description":"PID  of the elementary stream that contains Service Description Table (SDT) in the outgoing MPEG-TS stream.\\nSDT provides information about services contained in MPEG-TS stream.\\n","allOf":[{"$ref":"#/components/schemas/ts_pid"}]},"media":{"description":"Information about a particular media track.","items":{"allOf":[{"$ref":"#/components/schemas/transponder_pid"}]},"type":"array"},"default":{"description":"The default algorithm of selecting PID for a track.\\n\\n* `auto`: track PID = PMT PID + track ID, \\nwhere PMT PID is the PID of Program Map Table and track ID is a number of the track set by Flussonic \\n(usually, all video tracks and then all audio tracks are numbered starting from 1).\\n* `increment`: track PID = previous track PID + 1.\\n","enum":["auto","increment"],"type":"string"}}},"output_mpegts_ac3":{"type":"string","oneOf":[{"const":"system_b"},{"const":"system_a"},{"const":"keep"}],"example":"keep"},"bm_display_mode":{"enum":["ntsc","nt23","pal","ntsp","palp","23ps","24ps","Hp25","Hp29","Hp30","Hp47","Hp48","Hp50","Hp59","Hp60","Hp95","Hp96","Hp10","Hp11","Hp12","Hi50","Hi59","Hi60","hp50","hp59","hp60","2k23","2k24","2k25","2d23","2d24","2d25","2d29","2d30","2d47","2d48","2d50","2d59","2d60","2d95","2d96","2d10","2d11","2d12","4k23","4k24","4k29","4k30","4k47","4k48","4k50","4k59","4k60","4k95","4k96","4k10","4k11","4k12","4d23","4d24","4d25","4d29","4d30","4d47","4d48","4d50","4d59","4d60","4d95","4d96","4d10","4d11","4d12","8k23","8k24","8k25","8k29","8k30","8k47","8k48","8k50","8k59","8k60","8d23","8d24","8d25","8d29","8d30","8d47","8d48","8d50","8d59","8d60","vga6","svg6","wxg5","wxg6","sxg5","sxg6","uxg5","uxg6","wux5","wux6","1945","1946","wqh5","wqh6","wqx5","wqx6","rwci","rwcc"],"type":"string"},"video_format":{"type":"string","oneOf":[{"const":"pal","description":"pal 720x576 @ 50Hz interlace SMPTE-259"},{"const":"625i50","description":"Similar PAL"},{"const":"ntsc","description":"NTSC 720x480 @ 59.94Hz interlace SMPTE-259"},{"const":"525i29.97","description":"Similar NTSC"},{"const":"525i29","description":"Similar NTSC"},{"const":"720p23.98","description":"1280x720 @ 23.98Hz progressive SMPTE-296"},{"const":"720p23","description":"Similar 720p23.98"},{"const":"720p24"},{"const":"720p25"},{"const":"720p29.97"},{"const":"720p29"},{"const":"720p30"},{"const":"720p50"},{"const":"720p59.94"},{"const":"720p59"},{"const":"720p60"},{"const":"1080p23.98","description":"1920x1080 @ 23.98Hz progressive SMPTE-274"},{"const":"1080p23"},{"const":"1080p24"},{"const":"1080p25"},{"const":"1080p29.97"},{"const":"1080p29"},{"const":"1080p30"},{"const":"1080psf23.98","description":"1920x1080 @ 23.98Hz progressive Progressive segmented Frame SMPTE-274"},{"const":"1080psf23"},{"const":"1080psf24"},{"const":"1080psf25"},{"const":"1080psf29.97"},{"const":"1080psf29"},{"const":"1080psf30"},{"const":"1080i50"},{"const":"1080i59.94"},{"const":"1080i60"},{"const":"1080p50","description":"1920x1080 @ 50Hz progressive annex A or annex B depending hardware SMPTE-274"},{"const":"1080p50b","description":"1920x1080 @ 50Hz progressive annex B SMPTE-274"},{"const":"1080p59.94"},{"const":"1080p59"},{"const":"1080p59.94b"},{"const":"1080p59b"},{"const":"1080p60"},{"const":"1080p60b"},{"const":"2160p50","description":"4k 3840x2160 @ 50Hz progressive SMPTE-2036"},{"const":"2160p50b"},{"const":"2160p59.94"},{"const":"2160p59"},{"const":"2160p59.94b"},{"const":"2160p59b"},{"const":"2160p60"},{"const":"2160p60b"},{"const":"2160p23"},{"const":"2160p24"},{"const":"2160p25"},{"const":"2160p29"},{"const":"2160p30"}]},"language_value":{"type":"string","description":"The language of the teletext received from an SDI card. \\nSpecified according to the ISO 639-2 standard.\\n","pattern":"^[a-zA-Z]{2,3}","example":"ita"},"input_media_info":{"allOf":[{"type":"object","description":"This structure looks like a regular `media_info`, but it is designed to be a\\nmatching filter. It will be used as a mask for matching over incoming tracks with\\npatterns.\\n\\nMatched track templates will be used to rewrite settings of input media_info tracks.\\n","properties":{"tracks":{"description":"Just like a regular `track_info`, but with matching rules,\\nthat allow to select which input track must be mapped to output\\n","type":"array","items":{"allOf":[{"$ref":"#/components/schemas/input_track_info"}]}}}},{"$ref":"#/components/schemas/media_info_common"}]},"input_track_info":{"allOf":[{"type":"object","description":"Almost the same as track_info, but with match rules for matching with\\nother media_info\\n","properties":{"match":{"allOf":[{"$ref":"#/components/schemas/input_track_info_match"}],"description":"Set of matching rules that will be checked\\nto select from input tracks\\n"}}},{"$ref":"#/components/schemas/track_info"}]},"input_track_info_match":{"type":"object","properties":{"language":{"type":"string","description":"Select input track language\\n","example":"eng"},"codec":{"allOf":[{"$ref":"#/components/schemas/frame_codec"}],"description":"Select input codec\\n","example":"ac3"},"index":{"type":"integer","description":"SUnfortunately, the sources may change the index of track without notice.\\nPlease, use matching by index only and only if no other match option is suitable.\\n","example":2}}},"drm_spec":{"discriminator":{"propertyName":"vendor","mapping":{"aes128":"#/components/schemas/drm_vendor_aes128","axinom":"#/components/schemas/drm_vendor_axinom","buydrm":"#/components/schemas/drm_vendor_buydrm","conax":"#/components/schemas/drm_vendor_conax","cpix":"#/components/schemas/drm_vendor_cpix","drmtoday":"#/components/schemas/drm_vendor_drmtoday","ezdrm":"#/components/schemas/drm_vendor_ezdrm","ezdrm_classic":"#/components/schemas/drm_vendor_ezdrm_classic","gsdrm":"#/components/schemas/drm_vendor_gsdrm","irdeto":"#/components/schemas/drm_vendor_irdeto","keyos":"#/components/schemas/drm_vendor_keyos","pallycon":"#/components/schemas/drm_vendor_pallycon","playready":"#/components/schemas/drm_vendor_playready","sample_aes":"#/components/schemas/drm_vendor_sample_aes","sample_aes_identity":"#/components/schemas/drm_vendor_sample_aes_identity","solocoo":"#/components/schemas/drm_vendor_solocoo","verimatrix":"#/components/schemas/drm_vendor_verimatrix","widevine":"#/components/schemas/drm_vendor_widevine"}},"oneOf":[{"$ref":"#/components/schemas/drm_vendor_aes128"},{"$ref":"#/components/schemas/drm_vendor_axinom"},{"$ref":"#/components/schemas/drm_vendor_buydrm"},{"$ref":"#/components/schemas/drm_vendor_conax"},{"$ref":"#/components/schemas/drm_vendor_cpix"},{"$ref":"#/components/schemas/drm_vendor_drmtoday"},{"$ref":"#/components/schemas/drm_vendor_ezdrm"},{"$ref":"#/components/schemas/drm_vendor_ezdrm_classic"},{"$ref":"#/components/schemas/drm_vendor_gsdrm"},{"$ref":"#/components/schemas/drm_vendor_irdeto"},{"$ref":"#/components/schemas/drm_vendor_keyos"},{"$ref":"#/components/schemas/drm_vendor_pallycon"},{"$ref":"#/components/schemas/drm_vendor_playready"},{"$ref":"#/components/schemas/drm_vendor_sample_aes"},{"$ref":"#/components/schemas/drm_vendor_sample_aes_identity"},{"$ref":"#/components/schemas/drm_vendor_solocoo"},{"$ref":"#/components/schemas/drm_vendor_verimatrix"},{"$ref":"#/components/schemas/drm_vendor_widevine"}]},"drm_system":{"enum":["widevine","fairplay","playready"],"type":"string"},"drm_systems":{"type":"object","properties":{"systems":{"description":"This parameter is used to specify applicable DRM systems.\\nIf you turned off some of the systems (FairPlay, PlayReady, or Widevine) you should specify the systems that remain in use.\\n","items":{"allOf":[{"$ref":"#/components/schemas/drm_system"}]},"type":"array"}}},"drm_iv":{"type":"object","properties":{"iv":{"description":"Initialization vector (IV) - an arbitrary number that can be used along with a secret key for data encryption.\\nIt is employed only one time in any session.\\nThe use of an IV prevents repetition in data encryption, making it more difficult for a hacker to break a cipher.\\n\\nUsually, IV is received from a DRM provider.\\n","type":"string"}}},"drm_enc_key_url":{"type":"object","properties":{"url":{"description":"Http link which specifies how to obtain the key. It is URI attribute of HLS manifest EXT-X-KEY method.\\n","type":"string"}}},"drm_enc_key":{"type":"object","properties":{"key":{"description":"Encryption Key in hex or file\\n","type":"string"}}},"drm_base":{"type":"object","properties":{"keyserver":{"description":"DRM key server.","type":"string","example":"https://keyserver1.mycompany.com"},"resource_id":{"description":"The ID of a resource (a stream or a VOD file) in DRM system, usually it is a UUID.\\nThe DRM system keeps track of viewing each resource by clients.\\n\\nA resource ID is automatically generated for each stream or VOD file by Flussonic but it changes after renaming.\\nIt is possible to set it manually to attach a stream to a particular resource or to combine several streams into one.\\n","type":"string","format":"drm_resource_id","example":"L2sItm6","x-format-description":"drm_resource_id"},"expires":{"description":"Key rotation interval, in minutes.\\n\\nBy default, Flussonic does not rotate enryption keys.\\nSpecify this parameter to enable encryption key rotation and thus to provide a better securtiy.\\n","type":"integer"},"encryption":{"description":"If this parameter is set to `full`, all frames are encrypted.\\nIf it is set to `sparse` (or empty), only the keyframes are encrypted.\\n\\nBy default, Flussonic encrypts only key frames. In most cases this is enough to protect the stream from an unauthorized access.\\nIt also reduces the power consumption, when decrypting on the client side.\\nHowever, some Smart TVs and STBs require all frames to be encrypted.\\n","type":"string","default":"sparse","enum":["full","sparse"]},"save_template":{"x-private":true,"description":"A path to the file to save the request to the keyserver or the response from the keyserver.\\nIt can contain the following placeholders:\\n\\n* `$kind$` - the type of request (`hls` or `dash`).\\n* `$number$` - the key number.\\n* `$now$` - current time in UTC format.\\n* `$name$` - stream name.\\n* `$vendor$` - DRM provider.\\n* `$type$` - request or response.\\n","type":"string","example":"save_template=/var/log/flussonic/drm/$name$-$type$-$now$.xml"},"dump_url":{"x-private":true,"description":"Whether the requested encryption URL is logged.\\n","type":"boolean"}}},"drm_cpix_base":{"allOf":[{"$ref":"#/components/schemas/drm_base"},{"$ref":"#/components/schemas/drm_systems"},{"$ref":"#/components/schemas/drm_iv"}]},"drm_keyos_base":{"type":"object","properties":{"userkey":{"description":"A unique identifier of the user\\n","type":"string","deprecated":true,"x-delete-at":"25.04"},"content_id":{"description":"A unique identifier of the content, used for Widevine DRM.\\nBy default, it is equal to the stream name.\\n","type":"string"},"end_user_cert":{"description":"Path to end user certificate file.\\n","type":"string"},"end_user_private_key":{"description":"Path to end user private key file\\n","type":"string"}}},"drm_vendor_axinom":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Axinom\\n","type":"string","x-atom":true},"tenant_id":{"description":"Axinom Tenant Id","type":"string"},"management_key":{"description":"Axinom Management Key","type":"string"}}},{"$ref":"#/components/schemas/drm_cpix_base"}]},"drm_vendor_solocoo":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Solocoo\\n","type":"string","x-atom":true},"secret":{"description":"A part of the keyserver\'s URL: `https://SITE.solocoo.tv/SITEadmintools/papi/SECRET/method`.\\n","type":"string"},"site":{"description":"A part of the keyserver\'s URL: `https://SITE.solocoo.tv/SITEadmintools/papi/SECRET/method`.\\n","type":"string"},"fp":{"description":"Whether to use FairPlay system for key generation.\\nIf set to `false`, the requests for FairPlay encryption key are disabled.\\n","type":"string"}}},{"$ref":"#/components/schemas/drm_base"}]},"drm_vendor_ezdrm":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Ezdrm\\n","type":"string","x-atom":true},"user":{"description":"A user name for authorization of a user on a key server.","type":"string"},"password":{"description":"A password for authorization of a user on a key server.","type":"string"}}},{"$ref":"#/components/schemas/drm_base"}]},"drm_vendor_conax":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Conax\\n","type":"string","x-atom":true},"user_path":{"description":"A custom key server path","type":"string","example":"12345/nks/conax"}}},{"$ref":"#/components/schemas/drm_base"},{"$ref":"#/components/schemas/drm_systems"}]},"drm_vendor_cpix":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Cpix\\n","type":"string","x-atom":true}}},{"$ref":"#/components/schemas/drm_cpix_base"}]},"drm_vendor_drmtoday":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: DRMtoday\\n","type":"string","x-atom":true},"auth_server":{"description":"Authentication server for DRMtoday.","type":"string","example":"https://auth.drmtoday.com"},"merchant_id":{"description":"The uuid of the merchant at DRMtoday.","type":"string"},"cpix_config_id":{"description":"The uuid of the CPIX/SPEKE ingest configuration","type":"string"},"username":{"description":"The login name of an API account.","type":"string"},"password":{"description":"A password for API account.","type":"string"}}},{"$ref":"#/components/schemas/drm_cpix_base"}]},"drm_vendor_pallycon":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Pallycon\\n","type":"string","x-atom":true},"enc_token":{"description":"An API authentication token that is generated when you sign up for the PallyCon service at https://login.pallycon.com/.\\n","type":"string"}}},{"$ref":"#/components/schemas/drm_cpix_base"}]},"drm_vendor_keyos":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"KeyOs\\n","type":"string","x-atom":true}}},{"$ref":"#/components/schemas/drm_keyos_base"},{"$ref":"#/components/schemas/drm_base"}]},"drm_vendor_verimatrix":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Verimatrix\\n","type":"string","x-atom":true},"user_keyserver":{"description":"The URL sent to the client for watching the content.","type":"string","example":"https://public-keyserver.mycompany.com"}}},{"$ref":"#/components/schemas/drm_base"}]},"drm_vendor_irdeto":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Irdeto\\n","type":"string","x-atom":true},"account_id":{"description":"ID of the Irdeto DRM account.","type":"string"},"ic_host":{"description":"A hostname of Irdeto DRM key server.","type":"string"},"password":{"description":"A password for authorization of a user on a key server.","type":"string"},"user_name":{"description":"A user name of the Irdeto DRM user.","type":"string"}}},{"$ref":"#/components/schemas/drm_cpix_base"}]},"drm_vendor_gsdrm":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: GS DRM\\n","type":"string","x-atom":true}}},{"$ref":"#/components/schemas/drm_base"}]},"drm_vendor_aes128":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Aes128\\n","type":"string","x-atom":true},"hls_ext_x_key_iv":{"description":"This parameter is used for encryption of HLS streams.\\nFor successful playback of an AES128 encrypted HLS streams on some modern devices (running on Tizen 5),\\nset this pareameter to `false`.\\n","type":"boolean"}}},{"$ref":"#/components/schemas/drm_base"}]},"drm_vendor_sample_aes":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Sample AES\\n","type":"string","x-atom":true}}},{"$ref":"#/components/schemas/drm_base"}]},"drm_vendor_sample_aes_identity":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"Sample AES which uses KEYFORMAT=identity. It allows to encrypt and decrypt content using clear text AES key.\\nThe identity value for KEYFORMAT should be used only for testing.\\n","type":"string","x-atom":true}}},{"$ref":"#/components/schemas/drm_iv"},{"$ref":"#/components/schemas/drm_enc_key"},{"$ref":"#/components/schemas/drm_enc_key_url"}]},"drm_vendor_widevine":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Widevine\\n","type":"string","x-atom":true},"aes_key":{"description":"AES (Advanced Encryption Standard) key. Used for Widevine DRM.\\n","type":"string"},"signer":{"description":"A unique ID of the signer.\\nFlussonic uses it to connect to the key server when using test key for Widevine DRM.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/drm-widevine/"},"type":"string"}}},{"$ref":"#/components/schemas/drm_base"},{"$ref":"#/components/schemas/drm_iv"}]},"drm_vendor_buydrm":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"BuyDRM\\n","type":"string","x-atom":true}}},{"$ref":"#/components/schemas/drm_keyos_base"},{"$ref":"#/components/schemas/drm_base"}]},"drm_vendor_ezdrm_classic":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Ezdrm classic\\n","type":"string","x-atom":true},"user":{"description":"A user name for authorization of a user on a key server.","type":"string"},"password":{"description":"A password for authorization of a user on a key server.","type":"string"}}},{"$ref":"#/components/schemas/drm_base"}]},"drm_vendor_playready":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Playready\\n","type":"string","x-atom":true},"keyseed":{"description":"An arbitrary Base64-encoded string of 30 bytes.\\nIt is necessary for PlayReady to create an encryption key.\\n","type":"string"},"la_url":{"description":"License URL, used for PlayReady DRM.","type":"string","format":"url","x-format-description":"url"}}},{"$ref":"#/components/schemas/drm_base"}]},"peer_stats":{"allOf":[{"$ref":"#/components/schemas/server_stats_whoami"},{"$ref":"#/components/schemas/server_stats_streamer"},{"$ref":"#/components/schemas/server_stats_network"},{"type":"object","properties":{"error":{"description":"Description of an error, if any.","type":"string","x-api-allow":["central-layouter"]}}}]},"peer_config":{"type":"object","properties":{"hostname":{"type":"string","format":"server_name","description":"Streamer\'s identifier in the cluster.\\n\\nThe managing server may try using this hostname to access the streamer \\nif API URL is not specified.\\n","x-primary-key":true,"readOnly":true,"example":"peer.example.com","x-api-allow":["central-layouter"],"x-format-description":"server_name"},"stats":{"description":"Statistics on peers in the cluster.","allOf":[{"$ref":"#/components/schemas/peer_stats"}],"readOnly":true,"x-api-allow":["central-layouter"]},"api_url":{"type":"string","format":"url","example":"http://streamer.local:8080","description":"The URL for provisioning of configuration from the managing server to the streamer.\\nThis URL does not have to be public but must be accessible from the managing server.\\n\\nThe API URL can also be used as Public and/or Private payload URL if they are not set.\\nWhen used as Public payload URL, the API URL shall be public to allow playback from this streamer.\\n","x-format-description":"url"},"fetch_timeout":{"description":"How often the peer will try to get the data from the remote server via internal API.","type":"integer","format":"milliseconds","example":1000,"x-format-description":"milliseconds"},"stale_timeout":{"description":"The time after which deleted streams on this server are considered to be inactive \\nand cannot be used in the `cluster_ingest` mechanism.\\n","type":"integer","format":"milliseconds","example":1000,"x-format-description":"milliseconds"},"channel_limit":{"description":"Maximal number of streams.","type":"integer","example":5,"x-api-allow":["central-layouter"]},"cpu_limit":{"description":"CPU limit in percents.","type":"integer","format":"percent","example":10,"x-format-description":"percent"},"cluster_key":{"description":"The key for authorization for inter-Flussonic connections.\\nAll cluster peers should have the same cluster key.\\n","type":"string","example":"xS6i6Q3DCc5nEvnu","x-api-allow":["central-layouter"]},"max_bitrate":{"description":"Maximal output bitrate of the peer.","type":"integer","format":"speed","deprecated":true,"x-delete-at":23.09,"x-format-description":"speed"},"public_payload_url":{"description":"Clients will be redirected to this URL and port when requesting (via UI or shared URL)\\nfor playback of camera captured on this streamer. \\nThis URL shall be accessible from the Internet and conform to the specifications of the FQDN.\\n\\nIf not specified, API URL is used.\\n","type":"string","example":"http://public.example.com"},"private_payload_url":{"description":"The internal address for video transfer between streamers in a local network.\\nIf not specified, API URL is used. \\n\\nThe Private payload URL will be used when accessing archive of a stream \\nthat is currently ingested on other streamer due to layout change.\\nOr, when other streamer restreams a camera from this streamer. \\n","type":"string","format":"url","example":"http://streamer.local","x-format-description":"url"}}},"locale":{"description":"The locale","type":"string","format":"ISO 639-1","example":"en"},"map_base":{"type":"object","description":"Properties of the map","required":["provider"],"properties":{"center":{"description":"Coordinates of map center.","allOf":[{"$ref":"#/components/schemas/map_spec"}]},"api_key":{"description":"Map server API Key if required.","type":"string"},"provider":{"type":"string","description":"Provider of the maps."}}},"map_custom":{"allOf":[{"$ref":"#/components/schemas/map_base"},{"type":"object","required":["url"],"properties":{"url":{"description":"Custom map server url.","type":"string","format":"url","x-format-description":"url"}}}]},"map":{"oneOf":[{"$ref":"#/components/schemas/map_base"},{"$ref":"#/components/schemas/map_custom"}],"discriminator":{"propertyName":"provider","mapping":{"yandex":"#/components/schemas/map_base","google":"#/components/schemas/map_base","osm":"#/components/schemas/map_base","custom":"#/components/schemas/map_custom"}}},"genlock_status":{"oneOf":[{"title":"No reference input signal is detected on the reference source input port.","const":"no_ref"},{"title":"A valid reference input signal is detected on the reference source input.","const":"locking"},{"title":"Full clock-lock has been achieved.","const":"locked"},{"title":"Invalid reference input signal is detected on the reference source input.","const":"invalid"},{"title":"Clock-lock feature not supported.","const":"not_supported"},{"title":"Unknown clock-lock state.","const":"unknown"}]},"genref_status":{"type":"object","properties":{"port":{"description":"Detected genref input port number.","type":"integer"},"external":{"description":"If true genref port is a physical port, else genref port is a virtual port (internal clock-lock feature).","type":"boolean"},"vstd":{"description":"Configured reference signal video standard.","anyOf":[{"$ref":"#/components/schemas/video_format"}]},"vstd_detected":{"description":"Detected (actual) reference signal video standard.","anyOf":[{"$ref":"#/components/schemas/video_format"}]}}},"event_sink_filter":{"type":"object","additionalProperties":{"description":"A set of filters for event fields.\\nYou can specify an event field and its possible values.\\n","type":"array","items":{"type":"string","example":"stream_stopped"}}},"event_sink_config":{"type":"object","required":["name","url"],"properties":{"name":{"type":"string","format":"event_sink_name","description":"Globally unique event sink name.","x-primary-key":true,"readOnly":true,"example":"my_json_sink","x-format-description":"event_sink_name"},"url":{"type":"string","description":"Path where events are sent.\\n\\n* For event handler, it is the URL of an HTTP handler or the path to a lua script:  `http://URL`, `https://URL`, or `path_to_lua_script.lua`.\\n* For event logging, it is the path to a log file (human-readable text file or JSON): `log://path_to_log_file.log` or `jsonlog://path_to_log_file.json`.\\n","example":"jsonlog:///var/log/events-json.log","pattern":"^(log|jsonlog|http|https)://.+$|^pid://&lt;[0-9]+\\\\.[0-9]+\\\\.[0-9]+&gt;$"},"only":{"description":"If specified, only the events that match **every** filter in the filter set will be passed to the event sink target.\\n\\nThat is, if even one of the conditions is not satisfied, an event will **not** be processed. \\nEach filter (condition) has several possible values. For an event to satisfy the condition, \\nan event should match **any** of the specified values, not all of them.\\n","type":"array","items":{"$ref":"#/components/schemas/event_sink_filter"},"examples":{"default":{"value":[{"event":["listener_start"],"group":["system_overloaded"]}]}}},"except":{"description":"If specified, only the events that match **every** filter in the filter set will not be be passed to the event sink target.\\n\\nThat is, if even one of the conditions is not satisfied, an event will be processed.\\n\\nEach filter (condition) has several possible values. For an event to satisfy the condition, \\nan event should match **any** of the specified values, not all of them.\\n","type":"array","examples":{"default":{"value":[{"event":["stream_stopped","stream_started","source_*"]}]}},"items":{"$ref":"#/components/schemas/event_sink_filter"}},"throttle_delay":{"description":"The delay (in seconds) before sending an event to the sink after saving it into the buffer. \\nThis parameter allows to lower frequency of sending events.\\n\\nIf there are more than 100 events in the buffer, all of them will be sent to the sink without any delay.  \\n","type":"integer","format":"seconds","example":1,"x-format-description":"seconds"},"max_size":{"description":"Maximum size of a log file. \\n\\nWhen this limit is reached, log rotation is performed: the oldest events will be overridden by later data.\\n","type":"integer","format":"bytes","example":10000,"x-format-description":"bytes"},"max_depth":{"description":"Maximal number of log files with events (JSON or text) that can be stored on a disk.\\n\\nWhen this limit is reached, log rotation is performed: the oldest files will be overridden by later data.\\n","type":"integer","example":100},"resend_limit":{"description":"If an error occurs (`HTTP 500` or any other error), then *Flussonic* will try to buffer events and send them later.\\n\\nThe option defines the **number** of events to keep in memory for further delivery.\\n\\nThe default value is `unlimited`.\\n","type":"integer","example":1000},"resend_timeout":{"description":"How often *Flussonic* will try to resend non-confirmed events to the handler (in seconds).","type":"integer","example":10},"level":{"allOf":[{"$ref":"#/components/schemas/loglevel"}],"description":"Specify logging level for this sink. Anything more verbose than it will not get into this sink.\\n"},"extra":{"additionalProperties":{"type":"string"},"type":"object","description":"Some additional options."}}},"event_default":{"type":"object","properties":{"utc_ms":{"type":"integer","format":"utc_ms","description":"The time of the event registration on the server.\\n","x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"event_id":{"type":"integer","description":"Event identifier.\\n"},"trace_id":{"type":"string","format":"uuid","description":"Unique identifier of the operation.\\nYou can use this field to search for events related to same operation.\\nValue of this field is taken from the `X-Trace-Id` header.\\nIf `X-Trace-Id` header is not set, it will be generated automatically.\\nService will use the value of this field to make outgoing requests.\\n","example":"05cec7ee-fbd0-11ed-be56-0242ac120002","x-format-description":"uuid"},"server":{"type":"string","description":"Originator of event.\\nThis field is present if [event_sink.url](https://flussonic.com/doc/api/reference/#tag/events/operation/event_sink_get/response%7Curl)\\nis configured as HTTP/HTTPS url.\\n","example":"flussonic.host"}}},"event_media":{"type":"object","properties":{"media":{"type":"string","description":"The name of the stream or file where the event was captured.\\n"},"submedia":{"description":"Some additional info on the media, may vary depending on the media type.\\n","type":"string"}}},"server_starting":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Server started booting."},"version":{"description":"Version of service.","type":"string"},"full_version":{"description":"Full version of service with the build number.","type":"string"}}},{"$ref":"#/components/schemas/event_default"}]},"server_started":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Server started successfully."},"previous_state":{"$ref":"#/components/schemas/previous_server_state"},"version":{"description":"Version of Service.","type":"string"},"instance_id":{"description":"The ID of the started instance.","type":"string"}}},{"$ref":"#/components/schemas/event_default"}]},"motion_base":{"type":"object","properties":{"motion_id":{"type":"string","description":"Uniq motion id.","example":"b639b21f-3926-4a9f-812e-4eb57e283d59"},"motion_data":{"type":"string","description":"Non-structured data received from source.","example":"#{&lt;&lt;\\\\\\"Message\\\\\\"&gt;&gt; =&gt; #{&lt;&lt;\\\\\\"Topic\\\\\\"&gt;&gt; =&gt; &lt;&lt;\\\\\\"tns1:VideoSource/MotionAlarm\\\\\\"&gt;&gt;}]"}}},"motion_started":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Motion started.","example":"stream_motion_started"}}},{"$ref":"#/components/schemas/motion_base"},{"$ref":"#/components/schemas/event_media"}]},"motion_stopped":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Motion stopped.","example":"stream_motion_stopped"},"duration":{"type":"integer","description":"How long has the movement been active.","example":15}}},{"$ref":"#/components/schemas/motion_base"},{"$ref":"#/components/schemas/event_media"}]},"api_call_event":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"The api call.","const":"api_call"},"path":{"description":"The api call path.","type":"string"},"qs":{"description":"The api call query string.","type":"string"}}},{"$ref":"#/components/schemas/api_call"},{"$ref":"#/components/schemas/entity_event"}]},"auth_backend_url":{"type":"object","properties":{"url":{"description":"The URL of an HTTP backend.      \\n","example":"http://stalker-1.iptv.net/auth.php","type":"string"},"extra":{"x-private":true,"type":"object","additionalProperties":{"type":"string"},"description":"Some additional options."}},"required":["url"]},"auth_backend_config":{"type":"object","required":["name"],"properties":{"name":{"type":"string","format":"auth_backend_name","description":"Globally unique [`auth_backend`](https://flussonic.com/doc/complex-authorization-with-backends/) name.","x-primary-key":true,"readOnly":true,"x-format-description":"auth_backend_name"},"allow_tokens":{"description":"Explicit list of tokens that give access to the content without any other checks.\\n","example":["test_token1","test_token2"],"type":"array","items":{"type":"string"}},"deny_tokens":{"description":"Explicit list of tokens that deny access to the content and stop any other checks.\\n","example":["test_token3","test_token4"],"type":"array","items":{"type":"string"}},"allow_ips":{"description":"Explicit list of IP-addresses or subnet masks that have access to the content without any other checks.\\n","example":["127.0.0.1","10.10.0.0/24"],"type":"array","items":{"type":"string"}},"deny_ips":{"description":"Explicit list of IP-addresses or subnet masks that are banned from accessing the content.      \\n","example":["8.8.8.8","10.10.0.0/24"],"type":"array","items":{"type":"string"}},"allow_countries":{"description":"Explicit list of countries (two-letter country codes according to ISO 3166-1) that have access to the content without any other checks.\\nFlussonic uses the MaxMind GeoLite2 Country database to map a country to a block of IP addresses. \\nNew releases of GeoIP2 databases come out more often than the releases of Flussonic server, so sometimes the used database can become outdated.\\nTherefore we recommend you to install a separate GeoIP2 library and set up Flussonic to use it.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/restrict-viewer-country-with-geoip/"},"example":["RU","US"],"type":"array","items":{"type":"string"}},"deny_countries":{"description":"Explicit list of countries (two-letter country codes according to ISO 3166-1) that are banned from accessing the content.\\nFlussonic uses the MaxMind GeoLite2 Country database to map a country to a block of IP addresses. \\nNew releases of GeoIP2 databases come out more often than the releases of Flussonic server, so sometimes the used database can become outdated.\\nTherefore we recommend you to install a separate GeoIP2 library and set up Flussonic to use it.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/restrict-viewer-country-with-geoip/"},"example":["RU","GB"],"type":"array","items":{"type":"string"}},"allow_uas":{"description":"Explicit list of user agents (set-top boxes or browsers) that have access to the content without any other checks.    \\n","example":["AppleWebKit/533.3 (KHTML, like Gecko)","VLC/3.0.8 LibVLC/3.0.8"],"type":"array","items":{"type":"string"}},"deny_uas":{"description":"The list of user agents (set-top boxes or browsers) that are banned from accessing the content.      \\n","example":["Mobile Safari/533.3","VLC/3.0.8 LibVLC/3.0.8"],"type":"array","items":{"type":"string"}},"backends":{"description":"URL(s) of the HTTP backend(s).","type":"array","items":{"$ref":"#/components/schemas/auth_backend_url"}},"allow_default":{"description":"This option defines the default behavior when all backends are not responding (usually, because of errors in HTTP responses) and the session is not started yet.\\nIf this option is enabled, all clients or devices except those listed in `deny` option will have access to the content.\\nIf this option is disabled, all clients or devices except those listed in `allow` option will not have access to the content. \\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/complex-authorization-with-backends/#auth-configurator-allowdefault"},"type":"boolean","default":false}}},"http_proxy_config":{"type":"object","properties":{"prefix":{"type":"string","format":"media_name","x-primary-key":true,"description":"HTTP prefix that will be intercepted by this http proxy configuration\\n","x-format-description":"media_name"},"url":{"type":"string","format":"url","description":"Upstream url\\n","x-format-description":"url"},"mainpage":{"type":"boolean","default":false,"description":"If this flag is set, then streamer will redirect from \\"/\\" to this proxy configuration.\\n"},"stats":{"description":"The runtime statistics about http proxy\\n","allOf":[{"$ref":"#/components/schemas/http_proxy_stats"}],"readOnly":true}},"required":["prefix","url"]},"http_proxy_stats":{"type":"object","properties":{"requests":{"description":"Total number of requests this prefix received\\n","type":"integer","openmetrics_metric":"http_proxy_requests","x-metric-type":"counter","example":1000},"protocol_upgrades":{"description":"Total number of requests with protocol upgrade (e.g. websocket)\\n","type":"integer","openmetrics_metric":"http_proxy_protocol_upgrades","x-metric-type":"counter","example":1000},"proxy_error":{"description":"Number of requests with error on proxy itself\\n","type":"integer","example":10,"openmetrics_metric":"http_proxy_error","x-metric-type":"counter"},"proxy_error_connection":{"description":"Number of requests with connection errors - econnrefused, etc\\n","type":"integer","example":10,"openmetrics_metric":"http_proxy_error_connection","x-metric-type":"counter"},"http_100":{"description":"Number of requests with HTTP code 1xx (e.g. protocol upgrades)\\n","type":"integer","example":1000,"openmetrics_metric":"http_proxy_100","x-metric-type":"counter"},"http_200":{"description":"Number of requests with HTTP code 2xx\\n","type":"integer","example":1000,"openmetrics_metric":"http_proxy_200","x-metric-type":"counter"},"http_300":{"description":"Number of requests with HTTP code 3xx\\n","type":"integer","example":10,"openmetrics_metric":"http_proxy_300","x-metric-type":"counter"},"http_400":{"description":"Number of requests with HTTP code 4xx\\n","type":"integer","example":10,"openmetrics_metric":"http_proxy_400","x-metric-type":"counter"},"http_500":{"description":"Number of requests with HTTP code 5xx\\n","type":"integer","example":10,"openmetrics_metric":"http_proxy_500","x-metric-type":"counter"},"time_100ms":{"type":"integer","description":"Number of API calls that took less than 100ms","example":10,"openmetrics_metric":"http_proxy_time_100ms","x-metric-type":"counter"},"time_500ms":{"type":"integer","description":"Number of API calls that took more than 100ms and less than 500ms","example":5,"openmetrics_metric":"http_proxy_time_500ms","x-metric-type":"counter"},"time_1000ms":{"type":"integer","description":"Number of API calls that took more than 500ms and less than 1s","example":2,"openmetrics_metric":"http_proxy_time_1000ms","x-metric-type":"counter"},"time_5000ms":{"type":"integer","description":"Number of API calls that took more than 1s and less than 5s","example":2,"openmetrics_metric":"http_proxy_time_5000ms","x-metric-type":"counter"},"time_longms":{"type":"integer","description":"Number of API calls that took more than 5s","example":1,"openmetrics_metric":"http_proxy_time_longms","x-metric-type":"counter"}}},"network_addr":{"type":"string","minLength":1},"config_version":{"type":"array","items":{"type":"integer"}},"previous_server_state":{"type":"string","enum":["shutdown","killed","unknown","none","error_reading","unconfigured"],"description":"The previous state of the server."},"config_path_segment":{"anyOf":[{"type":"string"},{"type":"string","x-atom":true},{"type":"integer"}]},"config_error_status":{"type":"object","properties":{"error":{"description":"Short error description.","type":"string","x-atom":true,"example":"bad_url"},"config":{"description":"Partial configuration that can be recovered if an error occurs.","type":"object"},"line":{"description":"Line number pointing to where an error was detected.","type":"integer","example":15},"first_error_line":{"description":"If an error takes up to several lines, it is the first line where the error was detected.","type":"integer","example":14},"col":{"description":"The column number pointing to where the error was detected.","type":"integer","example":20},"first_error_col":{"description":"Last column with something valid.","type":"integer","example":5},"path":{"description":"Config path to the erroneous element.","type":"array","items":{"$ref":"#/components/schemas/config_path_segment"},"example":["streams",0,"inputs",0,"url","input_url"]},"detail":{"description":"Some other details that may help to identify the error.","anyOf":[{"type":"string"},{"type":"number"},{"type":"object","additionalProperties":{"type":"string"}},{"type":"array","items":{"$ref":"#/components/schemas/config_path_segment"}}]},"errors":{"description":"List of structured errors. Just to conform with JSONAPI format","type":"array","x-private":true,"deprecated":true,"x-delete-at":23.09,"items":{"$ref":"#/components/schemas/error"}}}},"license_type":{"type":"string","enum":["undefined","online","usb","network","offline"]},"partition_stats":{"type":"object","properties":{"path":{"description":"Mount path.","type":"string","format":"disk_path","example":"_var_lib_docker_overlay2_3684778579db0a4d418fdc1a8a6953b680ab92d179a7d6f9506710d073095e36_merged","openmetrics_label":"path","x-format-description":"disk_path"},"device":{"description":"The block device or file related to a mount path.","type":"string","format":"disk_device","example":"sda1","openmetrics_label":"device","x-format-description":"disk_device"},"total_mb":{"description":"Total number of megabytes shown by the OS for this partition.","type":"integer","format":"megabytes","openmetrics_metric":"partition_total_mb","x-metric-type":"gauge","example":45423,"x-format-description":"megabytes"},"usage":{"description":"Percentage of usage of this partition.","type":"integer","format":"percent","openmetrics_metric":"partition_usage","x-metric-type":"gauge","example":30,"x-format-description":"percent"},"io_util":{"description":"Percentage of IO utilization for device related to a mount path.","type":"integer","format":"percent","example":42,"openmetrics_metric":"device_io_util","x-metric-type":"gauge","x-format-description":"percent"}}},"server_stats_whoami":{"type":"object","properties":{"server_version":{"description":"Package version of the server. Might be simple a number of release like 21.11 or longer if you have a rolling release installed.","type":"string","format":"server_version","openmetrics_label":"version","example":"23.04","x-format-description":"server_version"},"build":{"type":"integer","description":"Build version\\n","openmetrics_label":"build"},"now":{"type":"number","format":"utc_ms","description":"Current response time\\n","x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"started_at":{"description":"Boot time of this instance.","type":"integer","format":"utc","openmetrics_metric":"server_started_at","x-metric-type":"gauge","example":1639337825,"x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000}}},"server_stats_streamer":{"type":"object","properties":{"config_version":{"description":"Current runtime version of config. We do not declare exact structure, but we promise\\nthat it will be always comparable and increasing (if server has proper NTP configuration, of course).\\nRight now it is a tuple of server start time and incrementing version of config.\\n","allOf":[{"$ref":"#/components/schemas/config_version"}],"example":[1636709231,4]},"next_version":{"description":"Notification about a newer version in the repository.","type":"string","format":"server_version","example":"22.01","x-format-description":"server_version"},"streamer_status":{"description":"*Flussonic* will always try to start even if there are severe errors that do not\\nallow functioning.\\n\\n`starting` status means you should wait for some time (not more than\\na minute).\\n\\n`running` status means all configuration was loaded. However, the status does not provide\\nan information about your streams and the quality of provided service.\\n\\nAll other statuses mean there are some severe problems on the server\\nthat cannot be repaired by Flussonic itself.\\n","allOf":[{"$ref":"#/components/schemas/server_stats_streamer_status"}],"x-api-allow":["central-layouter"]},"config_external_status":{"description":"Information about current external config status","allOf":[{"$ref":"#/components/schemas/config_external_error_status"}],"x-api-allow":["central-layouter"]},"hostname":{"description":"Hostname of your server. Please, use FQDN, do not leave your Linux misconfigured.","type":"string","example":"openapi.flussonic.com"},"license_txt":{"description":"The code of the license applied on the server.","type":"string","example":"uO8v12HJhNXVj5gM"},"license_type":{"description":"The license type.","allOf":[{"$ref":"#/components/schemas/license_type"}]},"license_request":{"description":"Base64 encoded license activation request which is used to prepare licence activation.","x-private":true,"type":"string","example":"QSBwYXJ0IG9mIGEgZHVtbXkgYWN0aXZhdGlvbiBwYXlsb2FkIHN0cmluZw=="},"id":{"description":"Unique runtime ID of this instance. Updated with the restart.","type":"string","format":"uuid","example":"61893b15-75b2-4fcb-b4cf-ae1dd0858ea2","x-format-description":"uuid"},"vsaas":{"description":"Shows if Flussonic Watcher is enabled in the license.","type":"boolean"},"vsaas_branding":{"description":"Shows if Watcher branding is enabled in the license.","type":"boolean"},"vsaas_running":{"description":"Shows if Watcher is currently running.","type":"boolean"},"rproxy":{"description":"Shows if rproxy is configured.","type":"boolean"},"rproxy_running":{"description":"Shows if rproxy is running.","type":"boolean"},"transcoder":{"description":"Shows if the server\'s CPU can be used for transcoding \\n(i.e. if the `flussonic-transcoder` package is installed on the server). \\n","type":"boolean","x-api-allow":["central-layouter"]},"bandwidth_usage":{"description":"Outbound bandwidth usage (load balancing in `usage` mode is based on this value).","type":"integer","format":"percent","example":67,"x-format-description":"percent"},"total_bandwidth":{"description":"Total server bandwidth.","type":"integer","format":"speed","deprecated":true,"x-notice":"duplicate of config total_bandwidth","x-deleted-at":22.03,"x-format-description":"speed"},"cpu_usage":{"description":"CPU usage on the server.","type":"integer","format":"percent","openmetrics_metric":"server_cpu_usage","x-metric-type":"gauge","example":48,"x-format-description":"percent"},"memory_usage":{"description":"Memory usage on the server.","type":"integer","format":"percent","openmetrics_metric":"server_memory_usage","x-metric-type":"gauge","example":27,"x-format-description":"percent"},"scheduler_load":{"description":"Erlang scheduler load.","type":"integer","format":"percent","openmetrics_metric":"server_scheduler_load","x-metric-type":"gauge","example":40,"x-format-description":"percent"},"uptime":{"description":"The server uptime.","type":"integer","format":"seconds","example":4325502,"x-format-description":"seconds"},"partitions":{"description":"The list of disk partitions on the server.","type":"array","items":{"allOf":[{"$ref":"#/components/schemas/partition_stats"}]},"x-api-allow":["central-layouter"]},"transcoder_devices":{"description":"Statistics on the devices used for transcoding.","type":"array","items":{"allOf":[{"$ref":"#/components/schemas/transcoder_device_stats"}]},"x-api-allow":["central-layouter"]},"video_devices":{"x-private":true,"description":"List of DVB/ASI/ATSC/ISDB/SDI cards.","type":"array","items":{"allOf":[{"$ref":"#/components/schemas/video_adapter_device_stats"}]}},"text_alerts":{"description":"Human-readable format of errors and alerts that need to be fixed. \\nProvided by some *Flussonic* subsystems.\\n","additionalProperties":{"type":"string"},"type":"object"},"config_error":{"description":"Information about errors in the config file.","allOf":[{"$ref":"#/components/schemas/config_error_status"}]},"is_chassis":{"description":"The flag shows if Flussonic runs on Flussonic Coder.\\n","type":"boolean"}}},"server_stats_network":{"type":"object","properties":{"total_clients":{"description":"The number of clients receiving the streams from the server at the moment of request.","type":"integer","openmetrics_metric":"server_total_clients","x-metric-type":"gauge","example":2040},"total_streams":{"description":"The number of streams created on the server.","type":"integer","example":45,"x-api-allow":["central-layouter"]},"online_streams":{"description":"The number of streams that are ready to be served to the clients.","type":"integer","openmetrics_metric":"server_online_streams","x-metric-type":"gauge","example":27,"x-api-allow":["central-layouter"]},"opened_files":{"description":"The number of opened files.","type":"integer","openmetrics_metric":"server_opened_files","x-metric-type":"gauge","example":5},"input_kbit":{"description":"Current incoming speed (bitrate) of the data transmission over the network.","type":"integer","format":"speed","openmetrics_metric":"server_input_bitrate","x-metric-type":"gauge","example":400300,"x-format-description":"speed"},"output_kbit":{"description":"Current outgoing speed (bitrate) of the data transmission over the network.","type":"integer","format":"speed","openmetrics_metric":"server_output_bitrate","x-metric-type":"gauge","example":500400,"x-format-description":"speed"}}},"server_stats_streamer_status":{"type":"string","oneOf":[{"title":"Config is missing","const":"no_config","description":"The configuration file is not found at `/etc/flussonic/flussonic.conf`."},{"title":"Config is broken","const":"broken_config","description":"There are some errors in the config file saved at `/etc/flussonic/flussonic.conf`.\\nTry checking logs and `text_alerts` for details.\\n"},{"title":"Could not obtain valid external config from Central.","const":"config_external_error","description":"There are some errors during external config receiving or validating.\\nTry checking logs and `config_external_error` for details.\\n"},{"title":"License is failing","const":"license_failure","description":"The license cannot be activated. Please contact the support team."},{"title":"License is missing","const":"no_license","description":"The license file is not found at `/etc/flussonic/license.txt`."},{"title":"Starting","const":"starting","description":"The server is starting."},{"title":"Running","const":"running","description":"Normal operation mode."}],"example":"running"},"config_external_error_status":{"type":"object","properties":{"status":{"description":"External config status","type":"string","oneOf":[{"const":"loaded","description":"External config is successfully loaded, parsed and applied."},{"const":"error","description":"Valid external config could not be obtained because of error"}]},"reason":{"$ref":"#/components/schemas/request_error_reason"},"while":{"description":"Conditions of the error occurrence.","type":"string","oneOf":[{"const":"refresh","description":"Configuration server returned an error while performing a background batch refresh."},{"const":"request","description":"Configuration server returned an error while requesting a stream configuration for the first time."},{"const":"srt_port_resolve","description":"Configuration server returned an error while resolving srt port."}]},"code":{"type":"integer","description":"HTTP response code"},"error":{"type":"string","description":"Error description (optional)","example":"invalid_authorization"},"path":{"description":"Config path to the erroneous element.","type":"array","items":{"$ref":"#/components/schemas/config_path_segment"},"example":["streams",0,"inputs",0,"url","input_url"]},"detail":{"type":"string","description":"Detailed error description (optional)"}}},"request_error_reason":{"description":"Reason of the error.","type":"string","oneOf":[{"const":"validation_error","description":"New configuration does not match reference."},{"const":"network_error","description":"Streamer could not get reply from the configuration server."},{"const":"malformed_json","description":"Configuration server returned an malformed json body."},{"const":"invalid_request","description":"Configuration server received an invalid request, e.g. required headers is missing or invalid authorization."},{"const":"unknown","description":"Configuration server returned an error for an unknown reason."}]},"admin_credentials":{"type":"object","properties":{"login":{"type":"string","description":"Login","example":"secretlogin"},"password":{"type":"string","description":"Password","example":"passw","format":"password","x-format-description":"password"},"hash":{"type":"boolean","description":"Server will pass your password through a hashing algorithm.","example":true}},"required":["login","password"]},"server_config_base":{"type":"object","properties":{"cluster_key":{"description":"The cluster key to unite several servers with the same key into a cluster.","type":"string","example":"xS6i6Q3DCc5nEvnu"},"listeners":{"allOf":[{"$ref":"#/components/schemas/listeners"}],"description":"The configuration of network listeners."},"srt":{"allOf":[{"$ref":"#/components/schemas/listen_spec"}],"description":"Global SRT listening port. It is possible to use a single port for playback and publishing, but it is not compatible with clients.\\nConsider configuring separate ports for playback and publishing for each stream."},"srt2":{"x-private":true,"allOf":[{"$ref":"#/components/schemas/listen_spec"}],"description":"Global SRT2 listening port. It is not possible to use a single port for playback and publishing.\\nConfigure separate ports for playback and publishing for each stream."},"srt_play":{"allOf":[{"$ref":"#/components/schemas/srt_config"}],"description":"SRT play configuration with single-port mode. Not supported by many clients, better use per-stream mode."},"srt2_play":{"allOf":[{"$ref":"#/components/schemas/srt_config"}],"description":"SRT2 play configuration with single-port mode. Not supported by many clients, better use per-stream mode."},"srt_publish":{"allOf":[{"$ref":"#/components/schemas/srt_config"}],"description":"SRT publish configuration with single-port mode. Not supported by many clients, better use per-stream mode."},"srt2_publish":{"allOf":[{"$ref":"#/components/schemas/srt_config"}],"description":"SRT2 publish configuration with single-port mode. Not supported by many clients, better use per-stream mode."},"geoip":{"type":"string","format":"disk_path","description":"Use your own GeoIP database.","example":"/usr/share/GeoIP/GeoLite2-City.mmdb","x-format-description":"disk_path"},"meta":{"description":"Some additional options of the server.","allOf":[{"$ref":"#/components/schemas/server_meta"}],"example":"{\\"role\\": \\"transcoder\\"}"},"loglevel":{"allOf":[{"$ref":"#/components/schemas/loglevel"}],"description":"Raise loglevel to debug if needed.","example":"error"},"nvidia_monitor":{"description":"Enables saving statistics on Nvidia performance.","type":"boolean","example":true},"total_bandwidth":{"description":"Total server bandwidth.","type":"integer","format":"speed","example":1000000000,"x-format-description":"speed"},"log_requests":{"description":"Enables logging of requests for streams (manifests, segments) and API request.","type":"boolean"},"pulsedb":{"description":"Directory to store Pulse statistics.","type":"string","format":"disk_path","example":"/var/run/flussonic/pulsedb","x-format-description":"disk_path"},"session_log":{"description":"Directory to store the session log.","type":"string","format":"disk_path","example":"/var/run/flussonic/session_log","x-format-description":"disk_path"},"url_prefix":{"description":"This option applies to HLS and DASH protocols, for all streams on the server. \\nThe addresses of individual segments within a segment-based playlist will start with the specified prefix.\\nThis setting is available in the global part of the config file as well as locally for any individual stream. \\nWhen specified at the stream level, it is only valid for this particular stream.\\n","allOf":[{"$ref":"#/components/schemas/url_prefix"}]},"view_auth":{"allOf":[{"$ref":"#/components/schemas/admin_credentials"}],"description":"Credentials for access to readonly API functions like getting streams info, status, and statistics.\\n"},"edit_auth":{"allOf":[{"$ref":"#/components/schemas/admin_credentials"}],"description":"Credentials for administrator access to the server."},"api_allowed_from":{"description":"The list of allowed subnets to accept API requests from.","type":"array","items":{"type":"string","format":"cidr","x-format-description":"cidr"}},"wwwroot":{"type":"string","format":"disk_path","x-private":true,"description":"Alternative wwwroot directory\\n","x-format-description":"disk_path"},"auth_token":{"allOf":[{"$ref":"#/components/schemas/auth_token"}],"description":"Configure key name of query string key-value pair for token authentication\\n"},"max_sessions":{"type":"integer","x-private":true,"description":"Maximum allowed sessions for whole streamer\\n"},"aliaser":{"type":"string","format":"aliaser_url","x-private":true,"description":"HTTP url of media name aliaser backend\\n","x-format-description":"aliaser_url"},"init_script":{"type":"string","format":"disk_path","x-private":true,"description":"Path to lua script that will be called on server start\\n","x-format-description":"disk_path"}}},"server_config_full":{"type":"object","properties":{"event_sinks":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/event_sink_config"}]},"description":"The configuration of event notifications"},"rproxy":{"allOf":[{"$ref":"#/components/schemas/rproxy_config"}],"description":"The configuration of the port forwarding."},"http_proxies":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/http_proxy_config"}]},"description":"List of HTTP prefixes that can be handled via call to remote http server\\n"},"chassis":{"allOf":[{"$ref":"#/components/schemas/chassis_config"}],"description":"The configuration of the chassis."},"auth_backends":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/auth_backend_config"}]},"description":"The configuration of auth backends"},"vods":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/vod_config"}]},"description":"The configuration of VODs"},"dvrs":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/dvr_config"}]},"description":"The configuration of the DVRs"},"peers":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/peer_config"}]},"description":"The configuration of peers in the cluster."},"sources":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/source_config"}]},"description":"The configuration of the video sources."},"transponders":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/transponder_config"}]},"description":"The configuration of the transponders."},"templates":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/template_config"}]},"description":"The configuration of the templates."},"streams":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/stream_config"}]},"default":[],"description":"The configuration of the streams."},"caches":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/cache_config"}]},"description":"The configuration of the cache."},"dvb_cards":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/dvb_card_config"}]},"description":"The configuration of the DVB cards."},"balancers":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/balancer_config"}]},"description":"The configuration of the balancers."},"camera_alarm":{"allOf":[{"$ref":"#/components/schemas/camera_alarm_config"}],"description":"The configuration of the camera alarms."},"vsaas":{"allOf":[{"$ref":"#/components/schemas/vsaas_config"}],"description":"The configuration of the video surveillance subsystem."},"file_processor":{"allOf":[{"$ref":"#/components/schemas/file_processor_config"}],"description":"The configuration of the file processor."},"iptv":{"allOf":[{"$ref":"#/components/schemas/iptv_config"}],"description":"The configuration of the IPTV"},"decklinks":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/decklink_config"}]},"description":"Configuration of decklink SDI capture cards\\n"},"web_scripts":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/web_script_config"}]},"x-private":true,"description":"Prefixed lua handlers that can handle simple web requests\\n"}}},"ui_settings_config":{"type":"object","properties":{"title":{"description":"The product title.","type":"string","examples":{"flussonic":{"value":"Streamer","x-scope":["flussonic"]},"central":{"value":"Central","x-scope":["central"]},"cloud":{"value":"Cloud","x-scope":["cloud"]},"client-area":{"value":"Billing","x-scope":["client-area"]}}},"brand":{"description":"The product brand.","type":"string","examples":{"flussonic":{"value":"Streamer","x-scope":["flussonic"]},"central":{"value":"Central","x-scope":["central"]},"cloud":{"value":"Cloud","x-scope":["cloud"]}}},"product":{"description":"The product type.","type":"string","examples":{"flussonic":{"value":"streamer","x-scope":["flussonic"]},"central":{"value":"central","x-scope":["central"]},"cloud":{"value":"cloud","x-scope":["cloud"]}}},"fonts":{"description":"The fonts in the UI.","type":"object","properties":{"light":{"description":"The light font style.","type":"string","x-private":true,"example":"fira-sans-300.woff2","format":"byte","x-notice":"file_base64","x-format-description":"byte"},"regular":{"description":"The regular font style.","type":"string","x-private":true,"example":"fira-sans-400.woff2","format":"byte","x-notice":"file_base64","x-format-description":"byte"},"medium":{"description":"The medium font style.","type":"string","x-private":true,"example":"fira-sans-500.woff2","format":"byte","x-notice":"file_base64","x-format-description":"byte"}}},"logo":{"description":"The logo in the header. The user interface supports values with or without the mime type.","type":"string","examples":{"with-mime":{"value":"data:image/svg+xml;base64,&lt;base64string&gt;"},"just-png":{"value":"&lt;base64string&gt;"}},"x-private":true,"format":"byte","x-notice":"file_base64","x-format-description":"byte"},"logoAuth":{"description":"The logo on the login page.","type":"string","example":"logoLogin.png","x-private":true,"format":"byte","x-notice":"file_base64","x-format-description":"byte"},"favicons":{"description":"The favicons of different sizes for different OSes and browsers.","type":"object","properties":{"16":{"description":"16x16 pixels favicon.","type":"string","x-private":true,"format":"byte","example":"icons/favicon-16.png","x-format-description":"byte"},"32":{"description":"32x32 pixels favicon.","type":"string","x-private":true,"example":"icons/favicon-32.png","format":"byte","x-notice":"file_base64","x-format-description":"byte"},"48":{"description":"48x48 pixels favicon.","type":"string","x-private":true,"example":"icons/favicon-48.png","format":"byte","x-notice":"file_base64","x-format-description":"byte"},"64":{"description":"64x64 pixels favicon.","type":"string","x-private":true,"example":"icons/favicon-64.png","format":"byte","x-notice":"file_base64","x-format-description":"byte"},"128":{"description":"128x128 pixels favicon.","type":"string","x-private":true,"example":"icons/favicon-128.png","format":"byte","x-notice":"file_base64","x-format-description":"byte"}}},"colors":{"description":"The interface colors.","type":"object","properties":{"primary":{"description":"Primary color for interface elements like selection in the main menu, info icons, buttons, etc.","type":"string","examples":{"flussonic":{"value":"#002DAB","x-scope":["flussonic"]},"central":{"value":"#4549F2","x-scope":["central"]},"cloud":{"value":"#4549F2","x-scope":["cloud"]},"client-area":{"value":"#002DAB","x-scope":["client-area"]}}},"secondary":{"description":"Secondary color for obsolete interface elements like active tab.","type":"string","examples":{"flussonic":{"value":"#FF0D70","x-scope":["flussonic"]},"central":{"value":"#E91E63","x-scope":["central"]},"cloud":{"value":"#E91E63","x-scope":["cloud"]},"client-area":{"value":"#FF0D70","x-scope":["client-area"]}}},"background":{"description":"The background color.","type":"string","example":"#fff"}}},"menu_items":{"description":"The list of the main menu items and Streams page tabs that are available on the server.","x-private":true,"type":"object","properties":{"pulse":{"description":"The Pulse page.","type":"boolean","default":true,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"streamer_config":{"description":"The Config page.","type":"boolean","default":true,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"cluster":{"description":"The Cluster page.","type":"boolean","default":true,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":true,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"ipcam":{"description":"The IP Cameras page (for Watcher DB settings).","type":"boolean","default":true,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"audit_logs":{"description":"The Audit Logs page.","type":"boolean","default":true,"examples":{"flussonic":{"value":false,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":true,"x-scope":["cloud"]},"watcher-client":{"value":true,"x-scope":["watcher-client"]}}},"pins":{"description":"Pins page for RTRN.","type":"boolean","default":false,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]}}},"iptv":{"description":"The IPTV page.","type":"boolean","default":false,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"upload_logs":{"description":"The Support page.","type":"boolean","default":true,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"streamer_upgrade":{"description":"Info about available upgrades for the server.","type":"object","properties":{"package_name":{"description":"The name of the upgrade package.","type":"string","example":"streamer"}}},"usages":{"description":"The Usages page.","type":"boolean","default":true,"examples":{"flussonic":{"value":false,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":true,"x-scope":["cloud"]}}},"chassis":{"description":"The Chassis page.","type":"boolean","default":false,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"nvrs":{"description":"Watcher page that allows view streams from NVRs.","type":"boolean","default":false,"examples":{"flussonic":{"value":false,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"watcher-client":{"value":true,"x-scope":["watcher-client"]}}},"map":{"description":"Watcher page with map.","type":"boolean","default":true,"examples":{"flussonic":{"value":false,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"watcher-client":{"value":true,"x-scope":["watcher-client"]}}},"main_templates":{"description":"The Streams - Templates tab.","type":"boolean","default":true,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"main_transponders":{"description":"The Streams - Transponders tab.","type":"boolean","default":true,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"main_cluster_sources":{"description":"The Streams - Sources tab.","type":"boolean","default":true,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"main_vod_locations":{"description":"The Streams - VODs tab.","type":"boolean","default":true,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"main_dvb_cards":{"description":"The Streams - DVB cards tab.","type":"boolean","default":true,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"main_agents":{"description":"The Streams - Agents tab.","type":"boolean","default":true,"examples":{"flussonic":{"value":false,"x-scope":["flussonic"]},"central":{"value":true,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"my_cameras":{"description":"Page with cameras.","type":"boolean","default":true,"x-scope":["watcher-client"]},"cameras":{"description":"The admin page with cameras.","type":"boolean","default":false,"x-scope":["watcher-client"]},"persons":{"description":"Page with persons.","type":"boolean","default":false,"x-scope":["watcher-client"]},"streamers":{"description":"Page with streamers.","type":"boolean","default":false,"x-scope":["watcher-client"]},"adverts":{"description":"Page with adverts.","type":"boolean","default":false,"x-scope":["watcher-client"]},"favorites":{"description":"Page with favorites cameras.","type":"boolean","default":true,"x-scope":["watcher-client"]},"mosaics":{"description":"Page with mosaics.","type":"boolean","default":true,"x-scope":["watcher-client"]},"agents":{"description":"Page with agents.","type":"boolean","default":false,"x-scope":["watcher-client"]},"episodes":{"description":"Page with episodes.","type":"boolean","default":true,"x-scope":["watcher-client"]},"users":{"description":"Page with users.","type":"boolean","default":false,"example":true,"x-scope":["watcher-client"]},"organizations":{"description":"Page with organizations.","type":"boolean","default":true,"example":true,"x-scope":["watcher-client"]},"presets":{"description":"Page with presets.","type":"boolean","default":false,"x-scope":["watcher-client"]},"settings":{"description":"Page with settings.","type":"boolean","default":false,"x-scope":["watcher-client"]},"health_status":{"description":"Page with health status.","type":"boolean","default":false,"x-scope":["watcher-client"]},"access_log":{"description":"Page with access log.","type":"boolean","default":false,"x-scope":["watcher-client"]},"support":{"description":"Indicates is support chat enabled.","type":"boolean","example":false,"x-scope":["watcher-client"]}}},"locales":{"type":"array","description":"The list of possible locales","example":["en","ru"],"items":{"$ref":"#/components/schemas/locale"}},"default_locale":{"description":"The default locale","allOf":[{"$ref":"#/components/schemas/locale"}]},"map":{"description":"Map settings for displaying streams with specified coordinates.","allOf":[{"$ref":"#/components/schemas/map"}]}}},"api_tokens_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"api_tokens":{"description":"List of available api tokens","items":{"$ref":"#/components/schemas/api_token"},"type":"array"}}}]},"api_token":{"type":"object","description":"This object describes one API token with its unique text, permissions, etc.\\n","properties":{"key":{"type":"string","description":"unique secret string, it\'s interpreted according to optional `key_format` field","examples":{"default":{"value":"IJCo3KGLBf6NAqMCGgHf5gNhpl9"},"plaintext":{"value":"1234"},"crypt":{"value":"$5$tz/6I0KpagoQ9kQN$nnnKQCxuhCOCaZ7q9WEWvHo6.dRb2hawYofHPdAhHV."}},"readOnly":true},"name":{"type":"string","description":"unique name of the token that can be used to distinguish tokens\\n","examples":{"default":{"value":"root"},"inference_server":{"value":"inference_server"}}},"auth_scopes":{"type":"array","description":"Interected list of scopes that will limit this api token.\\nIt cannot have more permissions than this array allows\\n","items":{"type":"string"},"examples":{"default":{"value":["user/15"]}}},"permissions":{"type":"array","description":"list of independent permissions, available for this token","items":{"allOf":[{"$ref":"#/components/schemas/api_token_permission"}]}}},"required":["key","name"]},"api_token_permission":{"type":"object","required":["scopes"],"properties":{"read":{"type":"boolean","description":"reading one item is allowed"},"write":{"type":"boolean","description":"writing/updating/deletion one item is allowed"},"list":{"type":"boolean","description":"listing items is allowed"},"execute":{"type":"boolean","description":"executing this function (if it is a function) is allowed"},"scopes":{"type":"array","description":"List of permission scopes that will be intersected\\nEach scope is a name of the collection or a function with nested resource name\\nthat is covered with this permission\\n","items":{"type":"string"},"examples":{"default":{"value":["streams/*"]},"fine_grained":{"value":["streams/location1%2F*"]},"superadmin":{"value":["*"]}}}}},"forward_ports_config":{"type":"object","properties":{"handler":{"description":"The handler name.","type":"string","x-atom":true},"options":{"description":"The handler options.","type":"object"}}},"rproxy_config":{"type":"object","required":["streampoint_key"],"properties":{"streampoint_key":{"description":"The streamer ID key.","type":"string","minLength":1,"maxLength":256},"forward_ports":{"description":"Configuration of port handlers.","type":"object","additionalProperties":{"$ref":"#/components/schemas/forward_ports_config"},"x-key-type":"network_port"},"endpoint_auth":{"description":"Path to authorization backend on the endpoint to check if the Agents are allowed to connect.","type":"string"}}},"central_streams_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"streams":{"items":{"$ref":"#/components/schemas/central_stream_config"},"type":"array","description":"List of fetched streams according to the query parameters."}}}]},"central_stream_config":{"allOf":[{"$ref":"#/components/schemas/stream_config"},{"$ref":"#/components/schemas/central_stream_config_additional"},{"$ref":"#/components/schemas/central_stream_layout_config"}]},"central_stream_config_additional":{"type":"object","required":["updated_at"],"properties":{"updated_at":{"type":"integer","readOnly":true,"format":"utc_ms","description":"The time of the last change of any stream field.\\n","example":1637098611000,"x-api-allow":["watcher-core","watcher-admin","central-layouter"],"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000}}},"streamers_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"streamers":{"items":{"$ref":"#/components/schemas/streamer_config"},"type":"array","description":"The list of streamers fetched according to the query parameters."}}}]},"streamer_config":{"discriminator":{"propertyName":"role","mapping":{"streamer":"#/components/schemas/central_streamer_node","inference":"#/components/schemas/central_inference_node","identification":"#/components/schemas/central_identification_node"}},"oneOf":[{"$ref":"#/components/schemas/central_streamer_node"},{"$ref":"#/components/schemas/central_inference_node"},{"$ref":"#/components/schemas/central_identification_node"}]},"central_inference_node":{"allOf":[{"$ref":"#/components/schemas/central_node_role"},{"$ref":"#/components/schemas/peer_config"},{"type":"object","properties":{"labels":{"$ref":"#/components/schemas/central_streamer_labels","x-api-allow":["central-layouter"]}}}],"required":["role","hostname"]},"central_streamer_node":{"allOf":[{"$ref":"#/components/schemas/central_node_role"},{"$ref":"#/components/schemas/peer_config"},{"type":"object","properties":{"public_payload_url":{"description":"The public address that is exposed to clients. It can also contain a port number.\\nThe client will be redirected to this URL and port when requesting for the stream captured on the peer\\neven if other `http` port is set in the peer\'s own config.\\n","type":"string","format":"url","example":"http://public.example.com","x-format-description":"url"},"private_payload_url":{"description":"The internal address for communication in a local network (by default, it is equal to API URL).\\n","type":"string","format":"url","example":"http://streamer.local","x-format-description":"url"},"dvrs":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/dvr_config"}]},"description":"The configuration of the DVRs","readOnly":true,"x-api-allow":["central-layouter"]},"config":{"allOf":[{"$ref":"#/components/schemas/server_config_base"},{"$ref":"#/components/schemas/server_config_full"}],"description":"Flussonic Media Server configuration which will be provided to Streamer"},"total_bandwidth":{"description":"Server network bandwidth limit in kbit.\\nThis value is used to calculate the current network load status.\\n","type":"integer","format":"speed","example":1024,"x-format-description":"speed"},"labels":{"$ref":"#/components/schemas/central_streamer_labels","x-api-allow":["central-layouter"]}}}],"required":["cluster_key","role","hostname"]},"central_identification_node":{"allOf":[{"$ref":"#/components/schemas/central_node_role"},{"$ref":"#/components/schemas/peer_config"}],"required":["role","hostname"]},"central_dvrs_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"dvrs":{"items":{"$ref":"#/components/schemas/central_dvr_config"},"type":"array","description":"List of available dvr storages"}}}]},"central_dvr_config":{"allOf":[{"type":"object","properties":{"name":{"description":"DVR configuration name.","type":"string","format":"dvr_name","x-primary-key":true,"x-format-description":"dvr_name"}}}]},"central_events_batch":{"items":{"oneOf":[{"$ref":"#/components/schemas/motion_started"},{"$ref":"#/components/schemas/motion_stopped"}]},"type":"array","description":"Batch of events"},"central_node_role":{"type":"object","properties":{"role":{"type":"string","description":"The \\"streamer\\" role is used for nodes where Flussonic Media Server is deployed.\\nThe \\"inference\\" role is used for nodes where Flussonic Vision Inference is deployed. On \\"inference\\" nodes, Central provisions streams with the \\"vision\\" parameter set.\\nThe \\"identification\\" role is used for nodes where Flussonic Vision Identification is deployed. Central fetches enriched episodes with persons from Flussonic Identification Service.\\n","oneOf":[{"const":"streamer"},{"const":"inference"},{"const":"identification"}],"x-api-allow":["central-layouter"]}}},"central_config":{"type":"object","properties":{"database":{"allOf":[{"$ref":"#/components/schemas/central_config_database"}],"description":"The configuration of database connection","readOnly":true},"redis":{"allOf":[{"$ref":"#/components/schemas/central_config_redis"}],"description":"The configuration of Redis connection. \\nIf not specified, Central will store temporary data in memory.\\n\\nUsing Redis is useful in multi-instance installation to store data between instances. In other cases specifying this field is not recommended.\\n","readOnly":true},"listeners":{"allOf":[{"$ref":"#/components/schemas/listeners"}],"description":"The configuration of network listeners.","readOnly":true},"edit_auth":{"allOf":[{"$ref":"#/components/schemas/admin_credentials"}],"description":"Credentials for administrator access to the server."},"api_key":{"type":"string","description":"API_KEY is used to access Central API","example":"api_key"},"api_url":{"type":"string","description":"API URL used for setting the hostname and port under which Central is accessible by Flussonic for CONFIG_EXTERNAL and http_proxy requests","example":"http://central.ru:9019/streamer/api/v3","format":"url","x-format-description":"url"},"upstream_url":{"type":"string","description":"UPSTREAM URL used as watcher\'s address","format":"url","x-private":true,"x-format-description":"url"},"cluster":{"allOf":[{"$ref":"#/components/schemas/central_config_cluster"}],"description":"Describes how Ð¡entral interacts with nodes in the cluster"},"loglevel":{"allOf":[{"$ref":"#/components/schemas/loglevel"}],"description":"Set logging level","example":"error"},"log_requests":{"type":"string","description":"Enables logging HTTP-requests","example":"false","default":"false"},"pprof_enabled":{"type":"string","description":"Enables Go pprof for profiling Central","example":"false","default":"false","x-private":true},"tracer":{"deprecated":true,"x-delete-at":25.02,"allOf":[{"$ref":"#/components/schemas/central_config_tracer"}],"description":"The configuration of connector connection. Instead use [`opentelemetry_url`](https://flussonic.ru/doc/api/central/#tag/config/operation/config_save%7Cbody%7Copentelemetry_url)."},"opentelemetry_url":{"type":"string","description":"URL (agent or collector) that is used to collect traces and spans with configuration in query parameters.\\nFORMAT: `http://{JAEGER-URL}?service_name={CENTRAL_NAME}` (The prefix â€œcentralâ€ will be added to the service name)\\n","format":"url","example":"http://jaeger-server:14268/v1/traces?service_name=some-name","x-format-description":"url"},"stats":{"allOf":[{"$ref":"#/components/schemas/central_stats"}],"description":"Server runtime stats","readOnly":true},"server_id":{"type":"string","format":"uuid","openmetrics_label":"server_id","description":"Unique server ID generated on a first start or license change.\\nShould not changing until running on the same hardware.\\n","readOnly":true,"x-format-description":"uuid"},"layouter_enabled":{"type":"string","description":"Enables layouter","example":"false","default":"false","enum":["true","false"]},"layouter_sleeping_interval":{"type":"number","description":"Interval in milliseconds between layouter runs","format":"milliseconds","example":30000,"default":30000,"x-format-description":"milliseconds"},"identification_sleeping_interval":{"type":"number","description":"Interval in milliseconds between identifier runs","format":"milliseconds","example":1000,"default":1000,"x-private":true,"x-format-description":"milliseconds"},"layouter_failover_enabled":{"type":"boolean","description":"Enables failover mechanism in layouter. It means that if streamer is unavailable from central, layouter will try to relayout its streams after `failover_dead_streamer_delay`.","example":true,"default":false,"x-private":true},"streamer_dead_timeout":{"type":"number","description":"The delay in milliseconds after the last successful connection attempt to the streamer before it is considered unavailable.","format":"milliseconds","example":180000,"default":180000,"x-private":true,"x-format-description":"milliseconds"},"config_external_reconciliation_interval":{"type":"number","description":"You can use the default value or increase it to reduce server load, but increase time for the streamer to receive changes.\\n","example":5000,"default":5000},"episodes_buffer_delay":{"type":"number","description":"Delay in milliseconds after which episodes from the buffer will be inserted into the database.\\nSet 0 to disable buffer accumulation before inserting episodes into the database. \\n","format":"milliseconds","example":3000,"default":1000,"x-format-description":"milliseconds"},"episodes_buffer_limit":{"type":"number","description":"Limit on the number of episodes in the buffer.\\nIf the number of episodes in the buffer exceeds the limit, the insertion into the database will be done instantly, regardless of the limit.\\nSet 0 to disable buffer accumulation before inserting episodes into the database. \\n","example":100,"default":250}},"required":["database","api_key"]},"central_config_database":{"type":"object","properties":{"url":{"type":"string","description":"Connection string to PostgreSQL database. \\n\\n Format: `postgres://[user[:password]@][host][:port][/dbname][?param1=value1&amp;...&amp;paramN=valueN]`\\n\\n Allowed parameters:\\n - `sslmode` - configuring SSL connection to the database.\\n This parameter defines whether and how SSL should be used to connect to the database.\\n Possible values include `disable`, `allow`, `prefer`, `require`, `verify-ca`, and `verify-full`.\\n - `default_query_exec_mode` - if you use PgBouncer, it\'s necessary to set this parameter to `cache_describe`.\\n","example":"postgres://central:pass@localhost:5432/central_dev","x-api-allow":["watcher-admin"]},"max_connections":{"type":"integer","description":"Max connection pool size that Central use to connect with database","example":40,"default":40},"connect_max_retries":{"type":"integer","description":"The number of retries for Central to connect with its database","default":20,"example":20},"connect_retry_timeout":{"type":"string","description":"Timeout of retry for Central to connect with its database","default":"1s","example":"2s"}},"required":["url"]},"central_config_redis":{"type":"object","properties":{"url":{"type":"string","description":"Connection string to Redis database\\nFormat: `redis://[:&lt;password&gt;]@&lt;host&gt;:&lt;port&gt;/&lt;db&gt;`\\n","example":"redis://:pass@localhost:6379"},"max_connections":{"type":"integer","description":"Max connection pool size that Central use to connect with database","example":40,"default":40},"connect_max_retries":{"type":"integer","description":"The number of retries for Central to connect with its database","default":20,"example":20},"connect_retry_timeout":{"type":"string","description":"Timeout of retry for Central to connect with its database","default":"1s","example":"2s"}}},"central_config_tracer":{"type":"object","properties":{"enabled":{"type":"string","description":"Enables collecting and sending traces to jaeger collector or agent","example":"false","default":"false"},"url":{"type":"string","description":"URL (agent or collector) which used to collect traces and spans","example":"http://jaeger.service.ru:19934/api/traces"},"service":{"type":"string","description":"Name of service which used to identificate traces in Jaeger","example":"my-central","default":"central"},"export_timeout":{"type":"string","description":"Configures the amount of time Central waits for an exporter to export before abandoning the export","example":"10s"}}},"central_config_cluster":{"type":"object","properties":{"node_config_provision_enabled":{"type":"boolean","description":"If enabled Central will provide [configuration](#tag/streamer/operation/streamer_save%7Cbody__0%7Cconfig) to nodes in cluster.\\nAlso, Central will automatically provide `config_external` configuration to nodes.\\nYou must disable this option if you are using orchestration system for deployment and management.\\n","example":true,"default":true},"streamer_connector_retries":{"type":"integer","description":"Number of retries for sending requests to streamers","example":5,"default":5}}},"central_stats":{"type":"object","description":"Cluster stats","properties":{"server_version":{"description":"Package version of the server. Might be simple a number of release like 21.11 or longer if you have a rolling release installed.","type":"string","format":"server_version","openmetrics_label":"version","example":"23.10","x-format-description":"server_version"},"uptime":{"description":"The server uptime.","type":"integer","format":"seconds","example":4325502,"x-format-description":"seconds"},"started_at":{"description":"Boot time of this instance.","type":"integer","format":"utc","example":1639337825,"x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000},"id":{"description":"Unique runtime ID of this instance. Updated with the restart.","type":"string","format":"uuid","example":"61893b15-75b2-4fcb-b4cf-ae1dd0858ea2","x-format-description":"uuid"},"goruntime":{"allOf":[{"$ref":"#/components/schemas/central_goruntime_stats"}],"description":"Golang Runtime statistics","x-private":true}}},"central_goruntime_stats":{"type":"object","description":"Golang Runtime stats","properties":{"gouroutines":{"description":"Number of total spawned goroutines","type":"integer","example":2000,"openmetrics_metric":"goroutines_count","x-metric-type":"gauge"},"num_cpu":{"description":"The number of logical CPUs usable by the current process","type":"integer","example":4,"openmetrics_metric":"num_cpu","x-metric-type":"gauge"},"sys":{"description":"Total mb of memory obtained from the OS","type":"integer","example":1639337825,"openmetrics_metric":"sys_count","x-metric-type":"gauge"},"alloc":{"description":"Mbytes of allocated heap objects","type":"integer","example":1639337825,"openmetrics_metric":"alloc_count","x-metric-type":"gauge"},"total_alloc":{"description":"Cumulative mbytes allocated for heap objects","type":"integer","example":1639337825},"num_gc":{"description":"Total number of GC cycles","type":"integer","example":1639337825},"next_gc":{"description":"The target heap size of the next GC cycle","type":"integer","example":1639337825},"last_gc":{"description":"The time the last garbage collection finished","type":"integer","example":1639337825},"heap_objects":{"description":"The number of allocated heap objects","type":"integer","example":1639337825}}},"central_stream_layout_config":{"type":"object","properties":{"layout":{"x-api-allow":["watcher-core","central-layouter","watcher-admin"],"description":"Current layout of stream. Central will provide configuration to nodes based on this layout.\\n","allOf":[{"$ref":"#/components/schemas/central_stream_layout"}]},"claims":{"type":"object","x-api-allow":["watcher-core","central-layouter"],"description":"User-defined claims about the stream parameters.\\nSet this field so that [layouter](https://flussonic.com/doc/api/layouter/) can rely on this data when distributing streams.\\n","x-api-description":{"central-layouter":"User-defined claims about the stream parameters.\\nSet this field for more precise distribution of streams to nodes including its available resources.\\n"},"properties":{"bitrate":{"description":"Stream bitrate in kbps.\\nThis value is used to calculate disk and network consumption.\\n","type":"integer","format":"speed","example":2543,"x-format-description":"speed"}}}}},"central_stream_layouts":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"layouts":{"items":{"$ref":"#/components/schemas/central_stream_layout"},"type":"array","description":"List of streams layouts records according to the query parameters."}}}]},"central_stream_layout_base":{"type":"object","properties":{"ingest":{"type":"string","format":"server_name","description":"Hostname of current ingest on which the stream is being captured","x-api-description":{"central-layouter":"Current ingest on which the stream is being captured.\\nIngest is selected as the least loaded node matching the labels for the stream.\\n\\nThe rules for matching labels are described [here](https://flussonic.com/doc/api/layouter/#tag/stream/operation/streams_list/response%7Cstreams%7Clabels).\\n\\nThe load is calculated as the number of streams captured by the node divided by [channel_limit](https://flussonic.com/doc/api/layouter/#tag/streamer/operation/streamers_list/response%7Cstreamers__0%7Cchannel_limit).\\n"},"x-format-description":"server_name"},"created_at":{"type":"integer","readOnly":true,"format":"utc_ms","description":"Time when the node change occurred","example":1637094994000,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"originator":{"description":"Service or admin user who changed the layout of the stream using an API call.","allOf":[{"$ref":"#/components/schemas/central_stream_layout_originator"}]}}},"central_stream_layout":{"allOf":[{"type":"object","description":"Current layout of stream.\\nCentral will provide configuration to nodes based on this layout.\\n","properties":{"change_reason":{"description":"Reason why layout was changed","allOf":[{"$ref":"#/components/schemas/central_stream_layout_change_reason"}]},"dvr_backups":{"description":"Current nodes on which the dvr backup is saving","type":"array","items":{"type":"string","format":"server_name","x-format-description":"server_name"},"x-api-description":{"central-layouter":"Current nodes on which the dvr backup is saving.\\nNodes for this field are selected in the same way as [layout.ingest](https://flussonic.com/doc/api/layouter/#tag/stream/operation/streams_list/response%7Cstreams%7Clayout%7Cingest).\\n"}},"inference":{"type":"string","format":"server_name","description":"Hostname of current inference node on which stream analytics running.","x-api-description":{"central-layouter":"Current inference node on which stream analytics running.\\n\\nNode for this field is selected in the same way as [layout.ingest](https://flussonic.com/doc/api/layouter/#tag/stream/operation/streams_list/response%7Cstreams%7Clayout%7Cingest).\\n"},"x-format-description":"server_name"},"failover_from":{"type":"string","format":"server_name","description":"Hostname of node on which the stream was captured before failover.\\nThis field is used to restore the [layout.ingest](https://flussonic.com/doc/api/central/#tag/stream/operation/stream_get/response%7Clayout%7Cingest)\\nafter failover.\\n","x-api-description":{"central-layouter":"Hostname of node on which the stream was captured before failover.\\nThis field is used to restore the [layout.ingest](https://flussonic.com/doc/api/layouter/#tag/stream/operation/streams_list/response%7Cstreams%7Clayout%7Cingest)\\nafter failover.\\n"},"x-format-description":"server_name"}}},{"$ref":"#/components/schemas/central_stream_layout_base"}]},"central_stream_layout_prediction":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","description":"Predicted layout based on changed properties of stream.\\nIf stream config was not changed, the result will be empty.\\n","properties":{"changes":{"items":{"$ref":"#/components/schemas/central_stream_layout_list_item"},"type":"array","description":"List of streams layout changes"}}}]},"central_streamer_layout_prediction":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","description":"Streamer layout prediction","properties":{"changes":{"type":"array","description":"Predicted layout based on changed properties of streamer grouped by hostname and role.\\nThe result does not contain unchanged streamers.\\nIf streamer config was not changed, the result will be empty.\\n","items":{"$ref":"#/components/schemas/central_streamer_layout_prediction_item"}}}}]},"central_streamer_layout_prediction_item":{"type":"object","properties":{"hostname":{"type":"string","description":"Hostname of streamer","example":"streamer1","format":"server_name","x-format-description":"server_name"},"role":{"type":"string","description":"Layout role of streamer.\\n","example":"ingest","oneOf":[{"const":"ingest","description":"Streamer is used as ingest.\\n"},{"const":"inference","description":"Streamer is used as inference.\\n"},{"const":"dvr_backup","description":"Streamer is used as dvr backup.\\n"}]},"before":{"type":"integer","description":"Number of streams assigned to the streamer before the layouter iteration.\\n","example":321},"after":{"type":"integer","description":"Number of streams assigned to the streamer after the layouter iteration.\\n","example":123},"delta":{"type":"integer","description":"`after - before` value.\\n","example":1}}},"central_stream_layout_change_reason":{"type":"string","description":"Reason why layout was changed","oneOf":[{"const":"stream_misses_node_required_labels","description":"Stream doesn\'t have labels that match all the node\'s required labels."},{"const":"node_misses_stream_required_labels","description":"Node doesn\'t have labels that match all the stream\'s required labels."},{"const":"node_become_offline","description":"Previous node become offline"},{"const":"stream_disabled","description":"Stream has been disabled"},{"const":"node_become_online","description":"Node become online after failover and stream returned to previous node"},{"const":"node_deleted","description":"Node has been deleted"},{"const":"node_channel_limit_exceeded","description":"Channel limit of previous node was exceeded"},{"const":"multistream_agent_ingest_conflict","description":"Other stream has same agent_id in its inputs, but different ingest.\\n"},{"const":"streamer_dvr_size_exceeded","description":"Streamer dvr size exceeded.\\n"}]},"central_stream_layout_originator":{"readOnly":true,"type":"string","description":"Service or admin user who changed the layout of the stream using an API call.","oneOf":[{"const":"layouter","description":"Layout was changed via layouter."},{"const":"other","description":"Layout was changed via something other."}]},"central_stream_layout_list_item":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name of the stream"}}},{"$ref":"#/components/schemas/central_stream_layout"}],"required":["name"]},"central_stream_layout_list":{"type":"object","properties":{"layouts":{"items":{"$ref":"#/components/schemas/central_stream_layout_list_item"},"type":"array","description":"List of streams layouts"}}},"central_agent_config":{"allOf":[{"$ref":"#/components/schemas/watcher_agent_config"},{"type":"object","properties":{"layout":{"description":"Current layout of agent.\\nThis field will be ignored for agents with an existing stream on update, use `stream.layout` instead.\\nCentral will provide configuration to nodes based on this layout.\\n","allOf":[{"$ref":"#/components/schemas/central_stream_layout_base"}]}}}]},"central_agents_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"agents":{"items":{"$ref":"#/components/schemas/central_agent_config"},"type":"array","description":"The list of Agents fetched according to the query parameters."}}}]},"central_agent_layout_list_item":{"allOf":[{"type":"object","properties":{"id":{"type":"string","description":"ID of the agent"}}},{"$ref":"#/components/schemas/central_stream_layout_base"}],"required":["id"]},"central_agent_layout_list":{"type":"object","properties":{"layouts":{"items":{"$ref":"#/components/schemas/central_agent_layout_list_item"},"type":"array","description":"List of agent layouts"}}},"central_streamer_labels":{"type":"object","additionalProperties":{"type":"string"},"x-key-type":"string","description":"Streamer labels in key value format.\\n","x-api-description":{"central-layouter":"Streamer labels in key-value format.\\nYou can use labels to manage the requirements of the streams that can be provisioned to the streamer.\\n\\nLayouter can process next labels:\\n\\n- With `required_` prefix. If streamer has `required_x=y` label, layouter will provision streams only with label `x=y` to this streamer.\\nIf there are no available streams with the label `x=y`, then no stream will be provisioned.\\n\\n**Use cases**\\n\\nLet\'s say you have 3 nodes - 2 production and 1 test node for testing new equipment \\nand you don\'t want the production streams to be provisioned to the test node.\\nTo solve this problem you can add `required_env=test` label for the test node.\\nSpecifying this label will prevent layouter from provisioning streams without the `env=test` label to this node.\\n"},"example":{"key1":"value1","key2":"value2"}},"cluster_health_stats":{"type":"object","properties":{"version":{"type":"integer","description":"The running version of instance in format TAGCNUM. TAG is a five-digit number that contains the year number, month number, and version number. CNUM is a four-digit number that indicates the commit number. Number 240100023 represents version 24.01-23.","openmetrics_metric":"version","example":240100023},"server_id":{"description":"Unique server ID generated on a first run.","type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426655440000","openmetrics_label":"server_id","x-format-description":"uuid"},"collected_at":{"description":"Metrics collection time","type":"integer","format":"utc_ms","x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"stream_metrics_total":{"type":"object","description":"Number of streams, grouped by status","openmetrics_metric_segment":"stream","allOf":[{"$ref":"#/components/schemas/cluster_health_metrics_total"}]},"agent_metrics_total":{"type":"object","description":"Number of agents, grouped by status","openmetrics_metric_segment":"agent","allOf":[{"$ref":"#/components/schemas/cluster_health_metrics_total"}]},"streamer_metrics_total":{"type":"object","description":"Number of streamers, grouped by status","openmetrics_metric_segment":"streamer","allOf":[{"$ref":"#/components/schemas/cluster_health_metrics_total"}]},"streamer_bitrate_metrics_total":{"description":"Cluster total bitrate metrics","type":"object","properties":{"input_kbit":{"type":"integer","description":"Current incoming speed (bitrate) of the data transmission over the network of all streamers.","format":"speed","openmetrics_metric":"streamer_inbound_kbit_total","x-metric-type":"gauge","x-format-description":"speed"},"output_kbit":{"type":"integer","description":"Current outgoing speed (bitrate) of the data transmission over the network of all streamers.","format":"speed","openmetrics_metric":"streamer_outbound_kbit_total","x-metric-type":"gauge","x-format-description":"speed"}}},"streamer_metrics":{"type":"array","items":{"$ref":"#/components/schemas/cluster_health_streamer_stats"},"description":"Streamer stats"}}},"central_healthcheck_status":{"type":"object","description":"Status of Central healthcheck.\\n","properties":{"status":{"type":"string","description":"Status of the healthcheck.\\n","oneOf":[{"const":"ok","description":"Peer is healthy.\\n"},{"const":"error","description":"Peer has errors.\\n"}]},"status_changed_at":{"type":"integer","description":"Unix timestamp of the last status change.\\n","format":"utc_ms","x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"checks":{"type":"object","description":"List of healthcheck checks.\\n","properties":{"is_reachable":{"type":"object","description":"`true` if peer is reachable from central by its credentials\\n","properties":{"reason":{"$ref":"#/components/schemas/request_error_reason"},"status":{"description":"External config status","type":"string","oneOf":[{"const":"ok","description":"Request is successful"},{"const":"error","description":"Valid external config could not be obtained because of error"}]},"code":{"type":"integer","description":"HTTP response code"},"error":{"type":"string","description":"Error description (optional)"}}},"has_valid_cluster_key":{"type":"boolean","description":"`true` if peer has a valid cluster key\\n"},"time_synchronized":{"type":"boolean","description":"`true` if server time is synchronized between peer and central\\n"},"rproxy_status":{"type":"object","description":"Status of rproxy configuration in case of watcher usage.","properties":{"status":{"type":"string","description":"Status of rproxy configuration","oneOf":[{"const":"ok","description":"rproxy configuration is valid"},{"const":"error","description":"rproxy configuration is invalid"}]},"reason":{"type":"string","description":"Why rproxy configuration is invalid","oneOf":[{"const":"missing_streampoint_key","description":"Streamer misses streampoint key"},{"const":"missing_rproxy_config","description":"Streamer misses rproxy config"},{"const":"missing_forward_port","description":"Streamer misses forward port"}]}}},"is_running":{"type":"boolean","description":"`true` if peer has `running` [stats.streamer_status](https://flussonic.com/doc/api/central/#tag/streamer/operation/streamer_get/response__0%7Cstats%7Cstreamer_status). \\n"},"has_config_external_errors":{"type":"boolean","description":"`true` if peer has `error` in \\n[stats.config_external_status](https://flussonic.com/doc/api/central/#tag/streamer/operation/streamer_get/response__0%7Cstats%7Cconfig_external_status) field.\\n"},"has_config_errors":{"type":"boolean","description":"`true` if peer has `error` in \\n[stats.config_error](https://flussonic.com/doc/api/central/#tag/streamer/operation/streamer_get/response__0%7Cstats%7Cconfig_error) field.\\n"}}}}},"cluster_health_streamer_stats":{"type":"object","description":"Streamer stats","properties":{"hostname":{"description":"Hostname of streamer.","type":"string","format":"server_name","openmetrics_label":"hostname","x-format-description":"server_name"},"uptime":{"description":"The server uptime.","type":"integer","format":"seconds","example":4325502,"x-format-description":"seconds"},"config":{"type":"object","description":"Streamer config info.","properties":{"status":{"$ref":"#/components/schemas/cluster_health_status"}}},"status":{"$ref":"#/components/schemas/cluster_health_status"},"stream_metrics":{"type":"object","description":"Streamer streams info.","allOf":[{"$ref":"#/components/schemas/cluster_health_metrics_total"},{"type":"object","description":"Collective status of streams on the streamer","properties":{"status":{"$ref":"#/components/schemas/cluster_health_status"}}}]},"agent_metrics":{"type":"object","description":"Streamer agents info.","allOf":[{"$ref":"#/components/schemas/cluster_health_metrics_total"},{"type":"object","description":"Collective status of agents on the streamer","properties":{"status":{"$ref":"#/components/schemas/cluster_health_status"}}}]},"cpu":{"type":"object","description":"CPU usage info.","properties":{"usage":{"description":"CPU usage on the server.","type":"integer","format":"percent","example":48,"openmetrics_metric":"cpu_usage","x-metric-type":"gauge","x-format-description":"percent"},"status":{"$ref":"#/components/schemas/cluster_health_status"}}},"memory":{"type":"object","description":"Memory usage info.","properties":{"usage":{"description":"Memory usage on the server.","type":"integer","format":"percent","example":27,"openmetrics_metric":"memory_usage","x-metric-type":"gauge","x-format-description":"percent"},"status":{"$ref":"#/components/schemas/cluster_health_status"}}},"storage":{"type":"object","description":"Total disk usage info.","properties":{"usage":{"description":"Total disk space usage on the server.\\n","type":"integer","format":"percent","example":18,"openmetrics_metric":"storage_usage","x-metric-type":"gauge","x-format-description":"percent"},"status":{"$ref":"#/components/schemas/cluster_health_status"}}},"network":{"description":"Network IO info.","type":"object","properties":{"in_kbit":{"description":"Inbound network info on the server.","properties":{"usage":{"description":"Inbound network usage on the server.","type":"integer","format":"speed","openmetrics_metric":"network_usage_in","x-metric-type":"gauge","x-format-description":"speed"},"status":{"$ref":"#/components/schemas/cluster_health_status"}}},"out_kbit":{"description":"Outbound network info on the server.","properties":{"usage":{"description":"Outbound network usage on the server.","type":"integer","format":"speed","openmetrics_metric":"network_usage_out","x-metric-type":"gauge","x-format-description":"speed"},"status":{"$ref":"#/components/schemas/cluster_health_status"}}}}}},"required":["hostname"]},"cluster_health_metrics_total":{"type":"object","description":"Number of entities, grouped by status","properties":{"operational":{"type":"integer","description":"Number of operational entities","openmetrics_metric":"operational_count","x-metric-type":"gauge"},"degradated":{"type":"integer","description":"Number of degraded entities","openmetrics_metric":"degradated_count","x-metric-type":"gauge"},"partial_outage":{"type":"integer","description":"Number of partial outage entities","openmetrics_metric":"partial_outage_count","x-metric-type":"gauge"},"outage":{"type":"integer","description":"Number of outage entities","openmetrics_metric":"outage_count","x-metric-type":"gauge"},"disabled":{"type":"integer","description":"Number of disabled entities","openmetrics_metric":"disabled_count","x-metric-type":"gauge"},"total":{"type":"integer","description":"Total number of entities","openmetrics_metric":"total_count","x-metric-type":"gauge"}}},"cluster_health_status":{"type":"string","description":"Collective status of certain object\'s metric.","oneOf":[{"title":"Operational","const":"operational","description":"Indicates that the entity is fully functional and performing optimally."},{"title":"Degradated","const":"degradated","description":"Indicates that the entity is partly functional but performing optimally."},{"title":"Partial Outage","const":"partial_outage","description":"Indicates that the entity is mostly non-functional, reduced performance."},{"title":"Outage","const":"outage","description":"Indicates that the entity is non-functional."},{"type":"string","title":"Disabled","const":"disabled","description":"Indicates that the entity is disabled"}]},"central_event":{"oneOf":[{"$ref":"#/components/schemas/server_starting"},{"$ref":"#/components/schemas/server_started"},{"$ref":"#/components/schemas/database_error"},{"$ref":"#/components/schemas/api_call_event"},{"$ref":"#/components/schemas/agent_command_handling"},{"$ref":"#/components/schemas/agent_connect_failed"},{"$ref":"#/components/schemas/agent_connected"},{"$ref":"#/components/schemas/agent_disconnected"},{"$ref":"#/components/schemas/agent_make_streampoint_location_error"},{"$ref":"#/components/schemas/layouter_process_agents_success"},{"$ref":"#/components/schemas/layouter_process_agents_error"},{"$ref":"#/components/schemas/layouter_process_streams_success"},{"$ref":"#/components/schemas/layouter_process_streams_error"}],"discriminator":{"propertyName":"event","mapping":{"server_starting":"#/components/schemas/server_starting","server_started":"#/components/schemas/server_started","database_error":"#/components/schemas/database_error","api_call_event":"#/components/schemas/api_call_event","agent_command_handling":"#/components/schemas/agent_command_handling","agent_connected":"#/components/schemas/agent_connected","agent_connect_failed":"#/components/schemas/agent_connect_failed","agent_disconnected":"#/components/schemas/agent_disconnected","agent_make_streampoint_location_error":"#/components/schemas/agent_make_streampoint_location_error","layouter_process_agents_success":"#/components/schemas/layouter_process_agents_success","layouter_process_agents_error":"#/components/schemas/layouter_process_agents_error","layouter_process_streams_success":"#/components/schemas/layouter_process_streams_success","layouter_process_streams_error":"#/components/schemas/layouter_process_streams_error"}}},"central_events_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","description":"List of central events","properties":{"events":{"type":"array","description":"List of central events","items":{"$ref":"#/components/schemas/central_event"}}}}]},"entity_event":{"allOf":[{"$ref":"#/components/schemas/event_default"},{"type":"object","properties":{}}]},"agent_initiator":{"type":"string","description":"Initiator of event","oneOf":[{"const":"agent","type":"string","description":"Event initiated by agent."},{"const":"endpoint","type":"string","description":"Event initiated by endpoint."}]},"agent_command_handling":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Event of handling commands via the interaction protocol between the agent and the endpoint.","const":"agent_command"},"initiator":{"$ref":"#/components/schemas/agent_initiator"},"command":{"type":"string","description":"Command name.","example":"streampoint_connect","oneOf":[{"const":"hello","description":"Hello command."},{"const":"description","description":"Contains info about agent\'s IP and MAC addresses.\\n"},{"const":"streampoint_connect","description":"Telling agent that specific streampoint should be connected.\\n"},{"const":"streampoint_connected","description":"Agent successfully connected to streampoint.\\n"},{"const":"streampoint_connect_failure","description":"Failed to connect to streampoint.\\n"},{"const":"streampoint_disconnect","description":"Telling agent that streampoint should be disconnected.\\n"},{"const":"streampoint_disconnected","description":"Streampoint is disconnected.\\n"},{"const":"reset","description":"Telling agent that it should reset.\\n"},{"const":"reboot","description":"Telling agent that it should reboot.\\n"},{"const":"disconnect","description":"Telling agent that it should disconnect.\\n"}]},"payload":{"type":"string","description":"Payload of the command."},"error":{"type":"string","description":"Error message explaining why command failed.\\nIf command was successful, this field absent.\\n","oneOf":[{"const":"timeout","description":"Failed to write/read command because of IO timeout."},{"const":"connection_closed","description":"Failed to write/read command because connection was closed."}]}}},{"$ref":"#/components/schemas/entity_event"}]},"agent_connected":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Agent successfully connected to endpoint.","const":"agent_connected"}}},{"$ref":"#/components/schemas/entity_event"}]},"agent_connect_failed":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Agent failed to connect to endpoint.","const":"agent_connect_failed"},"reason":{"type":"string","description":"Why agent failed to connect.","oneOf":[{"const":"internal_server_error","description":"Server encountered an internal error."},{"const":"authentication_failed","description":"Failed to authenticate agent."}]},"message":{"type":"string","description":"Additional information about the error."}}},{"$ref":"#/components/schemas/entity_event"}]},"agent_disconnected":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Agent disconnected from endpoint.","const":"agent_disconnected"},"initiator":{"$ref":"#/components/schemas/agent_initiator"},"reason":{"type":"string","description":"Why agent disconnected","oneOf":[{"const":"ping_timeout","description":"No ping from agent for more than 1 minute"},{"const":"set_write_deadline_fail","description":"Failed to set write deadline"},{"const":"set_read_deadline_fail","description":"Failed to set read deadline"},{"const":"agent_closed_connection","description":"Connection was closed by agent"}]}}},{"$ref":"#/components/schemas/entity_event"}]},"agent_make_streampoint_location_error":{"allOf":[{"type":"object","properties":{"event":{"type":"string","description":"Failed to make streampoint location for agent.\\n","const":"agent_make_streampoint_location_error"},"reason":{"type":"string","description":"Why agent failed to make streampoint location.","oneOf":[{"const":"streamer_misses_streampoint_key","description":"Streamer misses streampoint key.\\nUsually it means that streamer\'s Rproxy config is not configured yet by Central.\\nIn case of using Central without config provision enabled (`CLUSTER_NODE_CONFIG_PROVISION_ENABLED = false`),\\nyou should configure Rproxy manually.\\n"}]},"streampoint":{"type":"string","description":"The hostname of current agent\'s streampoint.\\n"},"message":{"type":"string","description":"Additional information about the error."}}},{"$ref":"#/components/schemas/entity_event"}]},"database_error":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Database error.","const":"database_error"},"query":{"type":"string","description":"The query that caused the error.\\n"},"message":{"type":"string","description":"The error message."}}},{"$ref":"#/components/schemas/event_default"}]},"layouter_process_agents_success":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Layouter process agents (without streams) success.","const":"layouter_process_agents_success"},"agents_updated":{"type":"int","description":"Number of updated agents (without streams) layouts."}}},{"$ref":"#/components/schemas/event_default"}]},"layouter_process_agents_error":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Layouter process agents (without streams) error.","const":"layouter_process_agents_error"},"error":{"type":"object","description":"structured error","allOf":[{"$ref":"#/components/schemas/error"}]}}},{"$ref":"#/components/schemas/event_default"}]},"layouter_process_streams_success":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Layouter process streams success.","const":"layouter_process_streams_success"},"streams_updated":{"type":"int","description":"Number of updated streams layouts."}}},{"$ref":"#/components/schemas/event_default"}]},"layouter_process_streams_error":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Layouter process streams error.","const":"layouter_process_streams_error"},"error":{"type":"object","description":"structured error","allOf":[{"$ref":"#/components/schemas/error"}]}}},{"$ref":"#/components/schemas/event_default"}]},"watcher_agent_config":{"allOf":[{"$ref":"#/components/schemas/agent_config_base"},{"type":"object","properties":{}}]},"watcher_agent_stats":{"type":"object","properties":{"agent_type":{"type":"string","enum":["single","router"],"default":"single","description":"The type of Agent installed on the device: \\n\\n* `single` means \\"one Agent = one camera\\", i.e. Agent is installed on a camera itself.\\n* `router` means \\"one Agent = multiple cameras\\", i.e. Agent is installed on a router\\nto provision the cameras from LAN to Watcher.\\n"},"connections_requested":{"type":"integer","default":0,"description":"The number of connections requested by Agent."},"connections_established":{"type":"integer","default":0,"description":"The number of successfully established connections."},"peer_ip":{"type":"string","format":"ipv4","description":"Public IP address of the device (camera or router) on which the Agent is running.","example":"185.134.232.183","x-format-description":"ipv4"},"local_ip":{"type":"string","format":"ipv4","description":"IP address of the device (camera or router) in the local network.","example":"10.10.17.88","x-format-description":"ipv4"},"mac_address":{"type":"string","example":"F0-23-B9-59-20-F1","description":"MAC-address of the device."},"version":{"type":"string","description":"Agent version.","example":"v21.02-8-g535c85d"},"endpoint_connection":{"description":"Parameters of the connection between Agent and its endpoint.","allOf":[{"$ref":"#/components/schemas/watcher_agent_control_connection"}]},"streampoint_connection":{"description":"Parameters of the connection between Agent and its streampoint.","allOf":[{"$ref":"#/components/schemas/watcher_agent_control_connection"},{"$ref":"#/components/schemas/watcher_agent_data_connections"}]}}},"watcher_agent_logs":{"type":"object","properties":{"status":{"type":"string","description":"Agent status","example":"ok"},"version":{"type":"string","description":"Agent version","example":"version"},"agent_id":{"type":"string","description":"Agent id","example":"1234567"},"cid":{"description":"Agent client ID.","type":"string","example":"42195"},"mid":{"description":"Agent model ID.","type":"string","example":"3059"},"serial":{"type":"string","description":"Agent serial","example":"a3dccd69f53deb79723a2a7a5f2037e1"},"main_url":{"type":"string","description":"Main endpoint URL (Watcher host)","example":"http://example.com"},"meminfo":{"description":"Physical memory size available on the device.","type":"string","example":"806400"},"buffer_limit":{"description":"Shows agent\'s buffer limit.","type":"integer","example":0},"buffer_size":{"description":"Shows agent\'s buffer size.","type":"integer","example":0},"a":{"type":"string","description":"Encoded log data for security purposes. Only the support team can decrypt it.","example":"VDEVSvaNZZWeNOXqi7tA5Hm+KAqBjfHQKMzMl5aqRdYxHZkSnJ"},"b":{"type":"string","description":"Encoded log data for security purposes. Only the support team can decrypt it.","example":"xglytWCTztsbTAUVBIhQymqik7nvzXi5VbJWEQNBHFCxw/NdvY6hdknh87/3gslKpER0hIaymR67Qo8zGKICFN=="}}},"watcher_agent_control_connection":{"type":"object","properties":{"opened_at":{"type":"number","format":"utc_ms","description":"Timestamp of the current Agent control connection opening.","example":1637094994000,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"hostname":{"type":"string","description":"Hostname of the server","example":"agents-001.vsaas.io"},"alive":{"type":"boolean","description":"A flag showing if Agent is connected at the moment of the request."},"status_changed_at":{"description":"UTC timestamp of the last Agent status change to offline or online.\\nSame as `opened_at` if Agent is now connected.\\n","type":"integer","format":"utc","example":1634560921,"x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000},"bytes_from_server":{"type":"integer","format":"bytes","description":"A number of bytes received from the server by Agent since `opened_at`.","example":40000,"x-format-description":"bytes"},"bytes_to_server":{"type":"integer","format":"bytes","description":"A number of bytes sent to the server by Agent since `opened_at`.","example":400000000000,"x-format-description":"bytes"}}},"watcher_agent_data_connections":{"type":"object","properties":{"connections_attempted":{"type":"integer","description":"A number of times the streamer tried to open a data connection via this Agent.","example":400},"connections_opened":{"type":"integer","description":"A number of successfully opened data connections via this Agent.","example":300},"connections_current":{"type":"integer","description":"A number of currently active data connections opened via this Agent.","example":2}}},"episode":{"oneOf":[{"$ref":"#/components/schemas/episode_generic"},{"$ref":"#/components/schemas/vision_episode_face"},{"$ref":"#/components/schemas/vision_episode_vehicle"},{"$ref":"#/components/schemas/vision_episode_context_search"},{"$ref":"#/components/schemas/vision_episode_qr_code"},{"$ref":"#/components/schemas/episode_custom"}]},"episode_base":{"type":"object","description":"# Definition\\n\\nEpisode is a record about continious part of one video stream.\\n\\nIt is used in video analytics, television systems, etc. for describing one continious and logically\\nconsolidated part of video stream.\\n\\nFor example, episode can describe one TV show or a part of video when the car with specific license plate\\npassed the camera view.\\n\\nDifferent systems in our ecosystem can emit and consume episodes of different `episode_type`.\\n\\n# Alternatives\\n\\nWhat episodes are not:\\n\\n  * they cannot combine multiple streams. If you have multicamera view on the scene, you will have to create many episodes and join then in another system\\n  * they cannot be multipart. Only one continious uninterrupted episode. However, it is ok for them to overlap.\\n\\n# Updates\\n\\nEpisodes are supposed to be streamable and updatable. \\n\\nIf you consume episodes, you must be ready to see old `episode_id`\\nwith new updated data. You MUST overwrite previous data.\\n\\nIf you emit episodes and you change any fields, you MUST accumulate previous data of episode and send full copy of\\nupdated episode.\\n\\n# Borders\\n\\nEpisode have two mandatory fields: `opened_at` and `updated_at`, they are default borders of the episode:\\nbeginning and the end.\\n\\nSometimes you need to look at another fields: `started_at` and `closed_at`.\\n\\n`started_at` appears when episode emitter decides that beginning of the episode should be different from `opened_at`,\\nfor example if video analytics has analysed previous frames and decided that this object appeared earlier.\\n\\n`closed_at` can appear if episode source have decided that episode will not continue anymore, for example\\ncar have run out of camera view. However, `updated_at` can be still changed, if any other system will add \\nmore data there, for example detected licence plates of some other auxiliary information.\\n","required":["episode_id","media","opened_at","updated_at"],"properties":{"episode_id":{"type":"integer","format":"snowflake_id","description":"Unique identifier of the episode. Must be created by the system that first creates this episode.\\n\\nPlease, mention that it is assumed to be 64 bit length including time of creation in it (refer to snowflake),\\nso you cannot handle it in javascript with simple `JSON.parse()`, you need to use parsed that will properly\\nhandle very long integers.\\n","examples":{"default":{"value":1722279170848854000}},"x-format-description":"snowflake_id"},"media":{"type":"string","format":"media_name","description":"Stream name on which this episode exists.\\n","x-format-description":"media_name"},"region_id":{"type":"string","x-private":true,"description":"Identifier of the detection area.\\nIt is used to distinguish episodes from various regions of interest within the frame.\\nFor instance, it can be used with a single camera facing two entrances to count visitors independently at each entrance.\\nCurrently, it contains string representation of the index of the region\\nspecified in the `areas` field of stream\'s videoanalytics configuration.\\nThis field is omitted if no `areas` is configured for the stream\\n"},"close_reason":{"description":"The reason for closing the episode.\\n","allOf":[{"$ref":"#/components/schemas/episode_close_reason"}]},"opened_at":{"type":"integer","format":"utc_ms","description":"The time when this episode was created. Naming is standard for whole flussonic ecosystem.\\nUsually this time will be the same as `started_at`, but can differ, refer to the description of that field.\\n\\nThe value of this field is copied into `episode_id`, so sorting by `episode_id` will give you the same\\nsort as by `opened_at`\\n","examples":{"default":{"value":1637094994000}},"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"started_at":{"type":"integer","format":"utc_ms","description":"This field can be used as indication of the fact that some system have checked and ensured that\\nthis episode has really started at some time, that may differ from `opened_at`.\\n\\nFor example video analytics will use this field for the time when this episode was confirmed as confident.\\n\\nMay be not relevant for television systems.\\n","examples":{"default":{"value":1637094994000}},"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"updated_at":{"type":"integer","format":"utc_ms","description":"The time of last change of the episode.\\n\\nSystem that processes episodes and can send them to other systems, MUST update this field\\non any changes in this episode.\\n\\nThis field MUST be updated strictly monotonical and increasing. The updater MUST guarantee that\\nthis `updated_at` can be used as a sort key for fetching fresh updates.\\n\\nConsumer of the episodes can use `updated_at` in the following scenario:\\n\\n  * fetch all exisiting episodes from the source\\n  * take biggest `updated_at` from this dataset, it will be T\\n  * ask source for all episodes with `updated_at &gt; T`\\n\\nThis algorithm can be used for fetching update stream from the source.\\n","examples":{"default":{"value":1637098611000}},"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"closed_at":{"type":"integer","format":"utc_ms","description":"Episode emitter can decide that episode considered closed and will not grow further.\\n`closed_at` MUST NOT change, it must be emitted only once.\\n\\nEpisode can live without `closed_at`, in this case you should use `updated_at` as the last time\\nof the episode.\\n","examples":{"default":{"value":1637094994000}},"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"preview_timestamp":{"type":"integer","format":"utc_ms","description":"The time when the preview of this episode is available.\\nUse it to request preview image via Mediaserver\'s DVR API (`jpeg_preview_dvr`).\\n\\nVisit the [Getting JPEGs from DVR by specific time](https://flussonic.com/doc/thumbnails/#thumbnails-dvr-time) article\\nand [JPEG thumbnail from DVR](https://flussonic.com/doc/api/streaming/#tag/image/operation/jpeg_preview_dvr) section of the Mediaserver\'s API Reference\\nfor details.\\n\\nThis field may not be present. If so, you may use the timestamp from the `started_at` field to request the preview image\\n","examples":{"default":{"value":1637094994000}},"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"preview":{"type":"string","contentEncoding":"base64","format":"base64","description":"Small inline image for previewing in UI\\n","x-format-description":"base64"},"originator":{"description":"This describes the way this episode was updated, whether via an inference node or an API.\\nIn the case of an inference node, its hostname will be provided.\\n","allOf":[{"$ref":"#/components/schemas/episode_originator"}]},"episode_appearance_timestamps":{"description":"The time when the episode appeared in the service relative to the server time.\\n","allOf":[{"$ref":"#/components/schemas/episode_appearance_timestamps"}]}}},"episodes_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"episodes":{"description":"The list of Episodes fetched according to the query parameters.","type":"array","items":{"$ref":"#/components/schemas/episode"}}}}]},"episode_close_reason":{"type":"string","oneOf":[{"title":"Timeout","description":"Episode was closed because of no activity was detected in it.","const":"timeout"}]},"episode_generic":{"allOf":[{"$ref":"#/components/schemas/episode_base"},{"type":"object","properties":{"episode_type":{"type":"string","description":"Generic stream episode","const":"generic"}}}]},"episode_custom":{"allOf":[{"$ref":"#/components/schemas/episode_base"},{"type":"object","properties":{"episode_type":{"type":"string","description":"Custom episode type.\\nUse this field to define your own episode types when integrating custom analytics. \\nIf episode type is not specified, episode will be saved with `generic` type.\\n","maxLength":20,"minLength":1},"payload":{"type":"object","description":"Custom episode payload. Use this field to provide additional information about the episode."}}}]},"external_episode":{"type":"object","required":["opened_at","updated_at"],"properties":{"opened_at":{"type":"integer","format":"utc_ms","description":"The time when this episode was created.","example":1637094994000,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"updated_at":{"type":"integer","format":"utc_ms","description":"The time of last detection associated with this episode.","example":1637098611000,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"closed_at":{"type":"integer","format":"utc_ms","description":"The time when this episode was closed.","example":1637094994000,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000}}},"external_episodes_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"episodes":{"description":"The list of Episodes fetched according to the query parameters.","type":"array","items":{"$ref":"#/components/schemas/external_episode"}}}}]},"episode_originator":{"type":"object","required":["source"],"properties":{"source":{"type":"string","oneOf":[{"const":"api","description":"Episode was updated by an api.\\n"},{"const":"inference","description":"Episode was updated by an inference node.\\n"},{"const":"motion_detector","description":"Episode was updated by a motion detector.\\n"}]},"hostname":{"type":"string","description":"This field will provide hostname if the source is an inference node or motion detector.\\n","example":"example.com"}}},"episode_appearance_timestamps":{"type":"object","properties":{"inference_timestamp":{"type":"integer","format":"utc_ms","description":"The time when this episode was created in inference service.","example":1637094994000,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"central_timestamp":{"type":"integer","format":"utc_ms","description":"The time when this episode was fetched by Central.","example":1637098611000,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"watcher_timestamp":{"type":"integer","format":"utc_ms","description":"The time when this episode was fetched by Watcher.","example":1637094994000,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000}}},"vision_confidence":{"description":"Confidence metric","type":"number","examples":{"default":{"value":0.34},"one":{"value":0.98}},"minimum":0,"maximum":1},"vision_box":{"type":"object","description":"Rectangle","required":["top","left","bottom","right"],"properties":{"top":{"description":"Top border of the bounding box. Fraction of full frame height","type":"number","minimum":0,"maximum":1},"left":{"description":"Left border of the bounding box. Fraction of full frame width","type":"number","minimum":0,"maximum":1},"bottom":{"description":"Bottom border of the bounding box. Fraction of full frame height","type":"number","minimum":0,"maximum":1},"right":{"description":"Right border of the bounding box. Fraction of full frame width","type":"number","minimum":0,"maximum":1}}},"vision_episode_face":{"allOf":[{"$ref":"#/components/schemas/episode_base"},{"type":"object","properties":{"episode_type":{"type":"string","description":"Face is detected","const":"face"},"detections":{"type":"array","description":"Detections associated with this episode","items":{"$ref":"#/components/schemas/vision_detected_face"}},"fingerprint":{"description":"The fingerprint of the detected face","allOf":[{"$ref":"#/components/schemas/vision_face_fingerprint"}]},"matched_persons":{"description":"List of matched persons with similarity metric.  \\nVideoanalytics identification service enriches episode\'s data and fills this field\\nwith the list of persons that are similar to the face detected in this episode.\\n","type":"array","items":{"$ref":"#/components/schemas/vision_person_match"}}}}]},"vision_episode_vehicle":{"allOf":[{"$ref":"#/components/schemas/episode_base"},{"type":"object","description":"Vehicle episode","properties":{"episode_type":{"type":"string","description":"Vehicle is detected","const":"vehicle"},"detections":{"type":"array","description":"Detections associated with this episode","items":{"oneOf":[{"$ref":"#/components/schemas/vision_detected_vehicle"},{"$ref":"#/components/schemas/vision_detected_license_plate"}]}},"vehicle_purpose":{"description":"The purpose of the vehicle, e.g. emergency or regular.","allOf":[{"$ref":"#/components/schemas/vision_vehicle_purpose"}]},"vehicle_emergency_subtype":{"description":"Emergency type of the vehicle.","allOf":[{"$ref":"#/components/schemas/vision_vehicle_emergency_subtype"}]},"license_plate_text":{"description":"Recognized vehicle\'s license plate number","allOf":[{"$ref":"#/components/schemas/vision_license_plate_text"}]},"license_plate_missing":{"type":"boolean","description":"Indicates if no license plate is detected on this vehicle"},"vehicle_facing_side":{"description":"Shows from which side the vehicle was detected.","allOf":[{"$ref":"#/components/schemas/vision_vehicle_facing_side"}]}}}]},"vision_episode_context_search":{"allOf":[{"$ref":"#/components/schemas/episode_base"},{"type":"object","properties":{"episode_type":{"type":"string","description":"Episode matches context search text query","const":"context_search"},"matches":{"type":"array","description":"List of matches that the context search episode contains.\\nActing as a metric of similarity between a text query and an episode.\\n","items":{"$ref":"#/components/schemas/vision_detected_face"},"x-private":true},"match_score":{"type":"number","description":"Maximum matching score between the text query and episode.","examples":{"default":{"value":0.2345}}}}}]},"vision_episode_qr_code":{"allOf":[{"$ref":"#/components/schemas/episode_base"},{"type":"object","properties":{"episode_type":{"type":"string","description":"QR-code is detected","const":"qr_code"},"payload":{"type":"string","description":"Raw data extracted from QR-code","example":"WIFI:T:WPA;S:MyOfficeWiFi;P:Mypassword;H:;"}}}]},"vision_detected_object_base":{"type":"object","required":["detected_at","object_class"],"properties":{"detected_at":{"description":"Timestamp when the object was detected","type":"integer","format":"utc_ms","x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"object_class":{"description":"Class of the detected object","allOf":[{"$ref":"#/components/schemas/vision_object_class"}]},"appearance":{"description":"Appearance attributes of the detected object","allOf":[{"$ref":"#/components/schemas/vision_appearance"}]},"confidence":{"description":"Confidence level of object detection","allOf":[{"$ref":"#/components/schemas/vision_confidence"}]},"thumbnail_quality":{"description":"Quality of the thumbnail","allOf":[{"$ref":"#/components/schemas/vision_confidence"}]},"thumbnail":{"description":"Preview of the detected object","allOf":[{"$ref":"#/components/schemas/vision_image_attributes"}]}}},"vision_detected_face":{"allOf":[{"$ref":"#/components/schemas/vision_detected_object_base"},{"$ref":"#/components/schemas/vision_face_attributes"},{"type":"object","description":"Detected face"}]},"vision_detected_vehicle":{"allOf":[{"$ref":"#/components/schemas/vision_detected_object_base"},{"$ref":"#/components/schemas/vision_vehicle_attributes"},{"type":"object","description":"Detected vehicle"}]},"vision_detected_license_plate":{"allOf":[{"$ref":"#/components/schemas/vision_detected_object_base"},{"$ref":"#/components/schemas/vision_license_plate_attributes"},{"type":"object","description":"Detected license plate"}]},"vision_vehicle_facing_side":{"description":"Shows from which side the vehicle was detected.","type":"string","oneOf":[{"title":"Front","const":"front","description":"The vehicle was detected from the front."},{"title":"Rear","const":"rear","description":"The vehicle was detected from the rear."}]},"vision_face_attributes":{"type":"object","properties":{"fingerprint":{"description":"The fingerprint of the detected face","allOf":[{"$ref":"#/components/schemas/vision_face_fingerprint"}]}}},"vision_face_fingerprint":{"type":"object","description":"Digital fingerprint of the face","required":["data","version"],"properties":{"data":{"description":"Base64 encoded representation of the fingerprint","type":"string","format":"base64","x-format-description":"base64"},"version":{"description":"Version identifier of the fingerprint\'s data. The version is assigned automatically.\\nFingerprints of different versions cannot be compared to each other.\\n","type":"string","examples":{"default":{"value":"aabbccdd"},"one":{"value":"c6ba4246"}}}}},"vision_vehicle_attributes":{"type":"object","properties":{"purpose":{"description":"The purpose of the vehicle, e.g. emergency or regular.","allOf":[{"$ref":"#/components/schemas/vision_vehicle_purpose"}]},"license_plate_missing":{"type":"boolean","description":"Indicates if no license plate is detected on this vehicle"}}},"vision_vehicle_purpose":{"description":"The purpose of the vehicle, e.g. emergency or regular.\\nPolice, ambulance cars and firetrucks are being detected by the videoanalytics as `emergency`.\\nAny other type of vehicle is marked as `regular`.\\n","type":"string","oneOf":[{"title":"Regular","const":"regular","description":"Regular car"},{"title":"Emergency","const":"emergency","description":"Emergency vehicle (police, ambulance or firetruck)"}]},"vision_vehicle_emergency_subtype":{"description":"Emergency type of the vehicle, e.g. ambulance, police, firetruck.\\n","type":"string","oneOf":[{"title":"Ambulance","const":"ambulance","description":"ambulance car"},{"title":"Police","const":"police","description":"police car"},{"title":"Firetruck","const":"firetruck","description":"firetruck car"}]},"vision_license_plate_attributes":{"type":"object","description":"Attributes of the detected vehicle","properties":{"plate_text":{"description":"Recognized vehicle\'s license plate number","allOf":[{"$ref":"#/components/schemas/vision_license_plate_text"}]},"facing_side":{"description":"Shows from which side the vehicle was detected.","allOf":[{"$ref":"#/components/schemas/vision_vehicle_facing_side"}]}}},"vision_license_plate_text":{"description":"Recognized vehicle\'s license plate number","type":"string","examples":{"default":{"value":"A123BC45"},"one":{"value":"B98365H"},"two":{"value":"7BTK345"}}},"vision_object_class":{"type":"string","description":"Object class","oneOf":[{"title":"Face","const":"face"},{"title":"License plate","const":"license_plate"},{"title":"Vehicle","const":"vehicle"}]},"vision_appearance":{"type":"object","properties":{"box":{"description":"Position of the objects at the frame","allOf":[{"$ref":"#/components/schemas/vision_box"}]}}},"vision_image_mimetype":{"type":"string","oneOf":[{"const":"image/jpeg","title":"jpeg","description":"jpeg"}]},"vision_image_attributes":{"type":"object","required":["data"],"properties":{"data":{"description":"Base64-encoded image data","type":"string","format":"base64","x-format-description":"base64"},"sha256":{"type":"string","format":"hexbinary","description":"Checksum of this image","minLength":64,"maxLength":64,"x-format-description":"hexbinary"},"mime_type":{"description":"MIME type of the image","allOf":[{"$ref":"#/components/schemas/vision_image_mimetype"}]}}},"vision_person":{"type":"object","description":"Person","required":["person_id","updated_at","originator"],"properties":{"person_id":{"description":"Identifier of the person","readOnly":true,"format":"snowflake_id","type":"integer","examples":{"default":{"value":7036001172460667000}},"x-format-description":"snowflake_id"},"external_id":{"description":"Identifier of the person in the external system. \\nUse it when supplying the recognition results further into the external system\\n(e.g. for access level check) if the person identifiers in the external system \\nare different from the ones in Flussonic Identification database.\\n\\nThis field may contain `null` when video analytics detects a new person\\nwhich explicitly has no association in the external system (i.e. if `originator=identification_service`). \\n","type":"string","examples":{"default":{"value":"dedcc8e8"}}},"originator":{"description":"Indicates the way this person was created: \\nmanually via an api or automatically in the identification service.\\n","allOf":[{"$ref":"#/components/schemas/vision_person_originator"}]},"updated_at":{"description":"When this person was last updated","type":"integer","format":"utc_ms","example":1637034282845,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"deleted_at":{"description":"When this person was marked as deleted","type":"integer","format":"utc_ms","example":1637095014573,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"fingerprints":{"description":"Digital fingerprints of the person.\\nVideoanalytics makes digital fingerprint of the person\\nusing uploaded photos or videostreams being processed\\n","type":"array","items":{"$ref":"#/components/schemas/vision_face_fingerprint"}},"photos":{"description":"Person\'s photos. External system uploads images\\nwhich are being processed by videoanalytics\\nto get digital fingerprint of the person\\n","type":"array","items":{"$ref":"#/components/schemas/vision_image_attributes"}}}},"vision_person_match":{"type":"object","description":"Person matching information","required":["person","match_score"],"properties":{"person":{"description":"Matched person","allOf":[{"$ref":"#/components/schemas/vision_person"}]},"match_score":{"description":"Score of the match with person. 1.0 means absolute match","allOf":[{"$ref":"#/components/schemas/vision_confidence"}]}}},"vision_person_originator":{"type":"string","oneOf":[{"title":"api","const":"api","description":"Person is created by operator or external system via API.\\nFor example, when you add the person in Watcher UI, it has `originator=api`.\\nBut when you edit an automatically created person in UI, `originator=identification_service` remains.\\n"},{"title":"identification_service","const":"identification_service","description":"Person is created automatically by the Identification service\\nbecause no matching person was found in the persons database.\\n\\nThe Identification service stores unrecognized persons and matches new episodes with them\\nin case if it becomes known who this is (i.e. if operator edits such person in UI to specify name).\\n"}]},"vision_persons_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","required":["persons"],"properties":{"persons":{"description":"List of fetched persons according to the query parameters.","type":"array","items":{"$ref":"#/components/schemas/vision_person"}}}}]},"api_call":{"type":"object","properties":{"created_at":{"type":"string","format":"date_time","description":"Creation date and time","example":"2021-01-30T08:30:00.432567Z","x-format-description":"date_time"},"ip":{"description":"IP address of the caller.","type":"string","format":"ip","example":"192.34.32.10","x-format-description":"ip"},"user_agent":{"description":"The type of the device from which the API call was produced.","type":"string","example":"Flussonic 24.04"},"originator":{"description":"The program produced the API call. Content of `X-Originator` header.","type":"string","example":"flussonic"},"operation_id":{"description":"API method ID.","type":"string","example":"streams_list"},"payload":{"description":"Payload data transmitter in the API call.","type":"string"},"status":{"description":"Request status code.","type":"integer"},"duration":{"type":"integer","format":"microseconds","description":"Microseconds that this request took","x-format-description":"microseconds"},"request_id":{"x-primary-key":true,"type":"string","description":"Internal request-id for this operation"},"object":{"x-private":true,"description":"Object kind, clarifies information about api call target entity.\\n","type":"object","oneOf":[{"$ref":"#/components/schemas/agent_object"},{"$ref":"#/components/schemas/api_key_object"},{"$ref":"#/components/schemas/disk_file_object"},{"$ref":"#/components/schemas/stream_object"},{"$ref":"#/components/schemas/vod_object"},{"$ref":"#/components/schemas/project_object"}],"discriminator":{"propertyName":"type","mapping":{"agent":"#/components/schemas/agent_object","api_key":"#/components/schemas/api_key_object","disk_file":"#/components/schemas/disk_file_object","stream":"#/components/schemas/stream_object","vod":"#/components/schemas/vod_object","project":"#/components/schemas/project_object"}}}}},"tls_certificate":{"type":"object","properties":{"cert":{"description":"Information about the server certificate.","allOf":[{"$ref":"#/components/schemas/certificate_info"}]},"cacert":{"description":"Information about the CA certificate applied on the server.","allOf":[{"$ref":"#/components/schemas/certificate_info"}]},"private_key_match_certificate":{"description":"Shows if the server private key matches the server certificate.","type":"boolean"}}},"certificate_info":{"type":"object","properties":{"domains":{"description":"One or more domains for which the certificate is issued.","type":"array","items":{"type":"string"}},"not_before":{"description":"Start date of the certificate.","type":"integer"},"not_after":{"description":"End date of the certificate.","type":"integer"},"issuer_name":{"description":"The name of the issuing authority.","type":"string"},"public_key":{"description":"Public key.","type":"string"}}},"letsencrypt_request":{"type":"object","properties":{"domains":{"description":"One or more domain names to issue the Let\'s Encrypt certificate for.","type":"array","items":{"type":"string"}}}},"tls_version":{"type":"string","oneOf":[{"title":"TLSv1","const":"tlsv1"},{"title":"TLSv1.1","const":"tlsv1.1"},{"title":"TLSv1.2","const":"tlsv1.2"},{"title":"TLSv1.3","const":"tlsv1.3"}]},"streams_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"$ref":"#/components/schemas/openmetrics_labels"},{"type":"object","properties":{"streams":{"items":{"$ref":"#/components/schemas/stream_config"},"type":"array","description":"List of fetched streams according to the query parameters."}}}]},"auth_backends_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"auth_backends":{"description":"Configurations of the authorization backends.","items":{"$ref":"#/components/schemas/auth_backend_config"},"type":"array"}}}]},"admin_view_token":{"type":"object","properties":{"token":{"type":"string","description":"The admin auth token represented as an ASCII string.","example":"ADM1-1659967259-a4ff9221f358938cc091b38679291378ac49f720"}}},"openmetrics_labels":{"type":"object","properties":{"server_id":{"type":"string","format":"uuid","openmetrics_label":"server_id","description":"Unique server ID generated on a first start or license change.\\nShould not changing until running on the same hardware.\\n","x-format-description":"uuid"}}},"agent_config_base":{"type":"object","properties":{"id":{"type":"string","description":"Agent identifier","x-primary-key":true,"example":"1234567"},"key":{"type":"string","description":"Agent authentication key."},"stats":{"description":"Agents\'s metrics and other statistical information.","allOf":[{"$ref":"#/components/schemas/watcher_agent_stats"}],"readOnly":true}}},"security_protocol":{"type":"string","oneOf":[{"title":"TLSv1","const":"tlsv1"},{"title":"TLSv1.1","const":"tlsv1.1"},{"title":"TLSv1.2","const":"tlsv1.2"},{"title":"TLSv1.3","const":"tlsv1.3"}]},"segments_container":{"type":"string","oneOf":[{"title":"CMAF","const":"cmaf"},{"title":"fMP4","const":"fmp4"},{"title":"MPEG-TS","const":"mpegts"}]},"session_generic":{"type":"object","description":"Ancestor for all session-like entities. Something like a generic report for a flow.\\nCan be suitable for an input, push or play\\n","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier (or UUID) of the session.","example":"61942414-8c15-4809-8bb6-adf1ae846027","x-format-description":"uuid"},"ip":{"type":"string","description":"IP address of the connected peer.","example":"172.16.25.73"},"proto":{"allOf":[{"$ref":"#/components/schemas/protocol"}],"description":"Protocol used for the data transmission in the session.","example":"dash"},"opened_at":{"type":"number","format":"utc_ms","description":"The time when this session was created.","example":1637094994000,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"first_byte_at":{"type":"number","format":"utc_ms","description":"When the first byte was received on this session.\\n","example":1637098611000,"x-telemetry-mapping":"Session/fFirstByteAt","x-private":true,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"started_at":{"type":"number","format":"utc_ms","description":"The time when the frames transmission started in the session.","example":1637095014000,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"updated_at":{"type":"number","format":"utc_ms","description":"The time when the session was last updated.","example":1637098611000,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"closed_at":{"type":"number","format":"utc_ms","description":"The time when the session was closed.","example":1637098821000,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"segments_container":{"allOf":[{"$ref":"#/components/schemas/segments_container"}],"description":"Media container used for this protocol.\\nFor instance, HLS can go with MPEG-TS or fMP4 segments and DASH with big fMP4 or small CMAF segments.\\n"},"secure":{"type":"boolean","description":"This flag indicates that TLS (SSL) was used to serve this session.\\nIt may be either input (ingest, publish) or output (push, play) session, this flag will be\\nfilled for any of them.\\n"},"security_protocol":{"allOf":[{"$ref":"#/components/schemas/security_protocol"}],"description":"TLS protocol version used to protect the connection","example":"tlsv1.2"},"manifest_type":{"allOf":[{"$ref":"#/components/schemas/manifest_type"}],"description":"Type of requested manifest. Applicable for HLS, DASH and MSS.","example":"rewind"},"named_by":{"allOf":[{"$ref":"#/components/schemas/named_by"}],"example":"config","description":"Where the media was configured","deprecated":true,"x-delete-at":25.02},"srt_port_resolve":{"type":"boolean","example":false,"description":"Stream name was resolved via srt_port_resolve call","deprecated":true,"x-delete-at":25.02},"media_info":{"allOf":[{"$ref":"#/components/schemas/media_info"}],"description":"Technical description of the input content.\\n"},"ts_delay":{"type":"number","format":"ticks","example":1284,"description":"The time period during which no frames were received from the stream\'s input.\\n","openmetrics_metric":"ts_delay","x-format-description":"ticks"},"ts_delay_per_tracks":{"type":"array","items":{"type":"number","format":"ticks","x-format-description":"ticks"},"example":[1284],"description":"The time period during which no frames were received per each track according to `media_info`\\n","openmetrics_metric":"ts_delay"}}},"session_details":{"type":"object","description":"This fields can deanonymise user and thus can be sent to telemetry only if allowed.\\n","properties":{"name":{"type":"string","format":"media_name","description":"File used in the streaming session.","example":"hockey1","x-format-description":"media_name"},"token":{"type":"string","format":"session_token","description":"Token provided by the client.","example":"zGAFxLkoWluO1pG7_nJmQAbCnM5","x-format-description":"session_token"},"country":{"type":"string","format":"iso3166","description":"Peer\'s IP geolocation (country).","example":"us","x-format-description":"iso3166"},"user_id":{"type":"string","description":"User ID provided by the Middleware authorization backend.","example":"5435"},"user_name":{"type":"string","format":"media_name","description":"User-provided original stream or VOD name before the rewrite of a media [aliaser](https://flussonic.com/doc/hide-publisher-stream-name-from-viewers/).","x-format-description":"media_name"},"referer":{"type":"string","format":"url","description":"Referer HTTP header or its analog for other protocols.","example":"http://my-tv-portal.local/hockey1","x-format-description":"url"},"query_string":{"type":"string","description":"Full query string for the initial request of the session."},"current_time":{"type":"number","format":"milliseconds","description":"The current time value of the playback session.","x-format-description":"milliseconds"},"user_agent":{"type":"string","description":"Client\'s user agent for selected protocol.","example":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML. like Gecko) Chrome/90.0.4430.72 Safari/537.36"},"allowed_dvr_from":{"type":"integer","format":"utc","description":"This field indicates that session has allowed_dvr_ranges delivered from authorization backend and shows maximum depth of allowed content.\\n","x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000}}},"session_playback":{"type":"object","description":"Playback specific fields\\n","properties":{"hls_separate_audio":{"type":"boolean","description":"The flag shows if the HLS separate_audio mode is enabled for the session."},"filter_tracks":{"type":"boolean","description":"The flag shows if the track filtering is applied for the session."},"dvr":{"type":"boolean","description":"This flag indicates that this session was using DVR.\\n"},"advertising":{"type":"boolean","description":"This flag indicates that advertising was shown in this session.\\n"},"max_sessions":{"type":"integer","description":"The maximum number of sessions allowed for the given `user_id` by the middleware authorization backend."},"soft_limitation":{"type":"boolean","default":false,"description":"The flag shows if the soft limitation mode is enabled for the sessions with the given `user_id`."}}},"session_counters":{"type":"object","properties":{"bytes":{"type":"integer","format":"bytes","default":0,"description":"Number of bytes sent in the session.","openmetrics_metric":"bytes","x-format-description":"bytes"},"disk_bytes":{"type":"integer","format":"bytes","description":"Number of bytes read from disk in the session.\\n","x-format-description":"bytes"},"disk_orig_bytes":{"type":"integer","format":"bytes","description":"The total number of bytes the media occupies on disk, all track including.\\n","x-format-description":"bytes"}}},"session":{"allOf":[{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/session_details"},{"$ref":"#/components/schemas/session_counters"},{"$ref":"#/components/schemas/session_player"},{"$ref":"#/components/schemas/session_playback"}]},"session_player":{"type":"object","properties":{"application":{"allOf":[{"$ref":"#/components/schemas/session_player_details"}],"description":"Player\'s application session details","x-private":true}}},"session_player_details":{"type":"object","properties":{"application_name":{"allOf":[{"$ref":"#/components/schemas/application_name"}],"description":"Application name","example":"mseld_player","x-telemetry-mapping":"Session/fApplicationName","x-private":true},"application_version":{"type":"string","description":"Application version","example":"21.10.3","x-telemetry-mapping":"Session/fApplicationVersion","x-private":true},"stall_count":{"type":"integer","x-telemetry-mapping":"Session/fPlayerStallCount","x-private":true,"description":"The number of stalls during the playback in the player."},"pause_count":{"type":"integer","x-telemetry-mapping":"Session/fPlayerPauseCount","description":"The number of times the user paused the playback in the player."},"error_count":{"type":"integer","x-telemetry-mapping":"Session/fPlayerErrorCount","x-private":true,"description":"The number of errors during the playback in the player."},"reconnect_count":{"type":"integer","x-telemetry-mapping":"Session/fPlayerReconnectCount","x-private":true,"description":"The number of reconnects during the playback in the player."},"bitrate_change_count":{"type":"integer","x-telemetry-mapping":"Session/fPlayerBitrateChangeCount","x-private":true,"description":"Number of bitrate changes during playback of the player."},"live_duration":{"type":"integer","format":"milliseconds","x-telemetry-mapping":"Session/fLiveDuration","x-private":true,"description":"The time during which the player was in the playback state.","x-format-description":"milliseconds"},"stall_duration":{"type":"integer","format":"milliseconds","x-telemetry-mapping":"Session/fStallDuration","x-private":true,"description":"Duration of stall the live broadcast.","x-format-description":"milliseconds"},"pause_duration":{"type":"integer","format":"milliseconds","x-telemetry-mapping":"Session/fPauseDuration","x-private":true,"description":"Duration of pause the live broadcast by user initiation.","x-format-description":"milliseconds"},"total_video_frames":{"type":"integer","description":"The number of video frames played during the session."},"dropped_video_frames":{"type":"integer","description":"The number of dropped video frames in the session."},"corrupted_video_frames":{"type":"integer","description":"The number of corrupted video frames in the session."},"advertising_duration":{"type":"integer","format":"milliseconds","description":"Duration of advertising in the live broadcast by user initiation.","x-format-description":"milliseconds"}}},"application_name":{"type":"string","enum":["mseld_player","live_player","dvr_player","webrtc_player","webrtc_publisher"]},"manifest_type":{"type":"string","oneOf":[{"title":"index","description":"Simple live stream or file playlist","const":"index"},{"title":"archive","description":"DVR playlist","const":"archive"},{"title":"event","description":"Event playlist","const":"event"},{"title":"rewind","description":"Playlist with a wide sliding window.","const":"rewind"},{"title":"timeshift_abs","description":"DVR playlist using absolute timeshift","const":"timeshiftAbs"},{"title":"timeshift_rel","description":"DVR playlist using relative timeshift","const":"timeshiftRel"}]},"dvr_write_counters":{"type":"object","properties":{"segments_written":{"type":"integer","description":"How many segments have been written since stream start\\n","openmetrics_metric":"segments_written"},"segments_skipped":{"type":"integer","description":"How many segments were not written due to delay of storage.\\n\\nThey could be written, if storage was faster, but they were deleted from memory.\\n"},"segments_failed":{"type":"integer","description":"How many segments got some error from the storage during write\\n"},"segments_written_collapsed":{"type":"integer","description":"Total amoung of segments that were written in batch with another one.\\n\\nFor 2 segments written in a single batch, here will be recorded 1.\\n\\nMonitor this to see how your storage is delaying\\n"},"segments_written_fast":{"type":"integer","description":"How many segments were written faster than 1/2 of segment duration\\n"},"segments_written_slow":{"type":"integer","description":"How many segments were written slower than 1/2 of segment duration, but faster than 90%\\nof segment duration\\n"},"segments_written_delayed":{"type":"integer","description":"How many segments were written slower than 90% of segment duration, which means\\nthat DVR cannot write this stream\\n"}}},"cache_spec":{"type":"object","properties":{"reference":{"description":"The name of the cache.","type":"string","format":"cache_name","example":"cache1","x-format-description":"cache_name"},"misses":{"description":"The number of requests necessary for a file to be cached.","type":"integer","example":3},"storage_limit":{"description":"Maximum disk consumption in bytes. \\nWhen this limit is reached, the oldest files will be overridden by later files.\\n","type":"integer","format":"bytes","example":400000,"x-format-description":"bytes"},"expiration":{"description":"A period (in seconds) back from the current moment during which the files are stored.\\nAs time goes, the files which are older than this period are being overridden by the later files.\\n","type":"integer","format":"seconds","example":3600,"x-format-description":"seconds"},"path":{"description":"The path where the files from the cloud or HTTP are cached to speed up broadcasting.","type":"string","format":"disk_path","example":"/storage/cache","x-format-description":"disk_path"}}},"play_counters":{"type":"object","properties":{"play_opened_sessions":{"type":"integer","description":"How many play sessions are active at the moment\\n","openmetrics_metric":"play_opened_sessions","x-metrics-type":"gauge"},"play_opened_sessions_by_proto":{"type":"object","additionalProperties":{"type":"integer"},"description":"How many play sessions are active at the moment groupped by protocol\\n"},"play_total_sessions":{"type":"integer","description":"All sessions opened from the stream star\\n","openmetrics_metric":"play_total_sessions"},"play_total_sessions_by_proto":{"type":"object","additionalProperties":{"type":"integer"},"description":"All sessions opened from the stream start groupped by protocol\\n"},"play_bytes":{"type":"integer","description":"How many bytes sent totally\\n","openmetrics_metric":"play_bytes"},"play_bytes_by_proto":{"type":"object","additionalProperties":{"type":"integer"},"description":"How many bytes sent totally groupped by protocol\\n"},"play_duration":{"type":"integer","format":"seconds","description":"How many human-hours (duration*clients) were delivered\\n","openmetrics_metric":"play_duration","x-format-description":"seconds"},"play_duration_by_proto":{"type":"object","additionalProperties":{"type":"integer"},"format":"seconds","description":"How many human-hours (duration*clients) were delivered groupped by protocol\\n","x-format-description":"seconds"},"authorizations_success":{"type":"integer","description":"Count of successful requests made to external authorization backend\\n"},"authorizations_denied":{"type":"integer","description":"Count of denied authorization backend requests. This will be incremented when auth backend replies,\\nbut denies playing. This means that backend is working, but denying playback.\\n"},"authorizations_failed":{"type":"integer","description":"Authorization backend can fail and do not reply at all, or give HTTP 500 errors. These cases will be counted here.\\n"},"authorizations_declined":{"type":"integer","description":"Authorization can be denied without even touching external authorization backend, for example in case of\\ndenied IP or token. This counter will increase in this case.\\n"}}},"disk_file":{"type":"object","properties":{"name":{"description":"The file or directory name.","type":"string","format":"media_name","examples":{"default":{"value":"vod/bunny.mp4"},"bunny1":{"value":"vod/bunny1.mp4"},"bunny2":{"value":"vod/bunny2.mp4"},"bunny3":{"value":"vod/bunny3.mp4"}},"x-format-description":"media_name"},"prefix":{"description":"The unique name of VOD location. \\nIt is used as a prefix for playing VOD files in this location.\\n","type":"string","format":"media_name","examples":{"default":{"value":"vod"},"bunny1":{"value":"vod1"},"bunny2":{"value":"vod2"},"bunny3":{"value":"vod3"}},"x-format-description":"media_name"},"url":{"description":"URL of the file or directory.","type":"string","examples":{"default":{"value":"/storage/bunny.mp4"},"bunny1":{"value":"/storage/bunny1.mp4"},"bunny2":{"value":"/storage/bunny2.mp4"},"bunny3":{"value":"/storage/bunny3.mp4"}}},"folder":{"description":"Name of the folder containing the file or directory.","type":"string","example":"example"},"subpath":{"description":"Subpath to the file or directory in the storage.","type":"string","examples":{"default":{"value":"bunny.mp4"},"bunny1":{"value":"bunny1.mp4"},"bunny2":{"value":"bunny2.mp4"},"bunny3":{"value":"bunny3.mp4"}}},"bytes":{"description":"File size in bytes.","type":"integer","example":42309561},"is_directory":{"description":"Whether it is a directory.","type":"boolean","default":false,"example":false},"is_multibitrate_directory":{"description":"Whether it is a directory with multi-bitrate content.","type":"boolean","default":false,"example":false},"opened":{"description":"Whether the file or directory is currently opened.","type":"boolean","default":false,"example":true},"egress_hostnames":{"allOf":[{"$ref":"#/components/schemas/cloud_hostnames"}],"description":"Egress hostname (hls, dash, ...) only for Admin UI, not public API.\\nNeed for cloud only for replace window.location\\n","x-private":true,"example":["egress-1.example.com","egress-2.example.com"]},"stats":{"description":"Statistics of the file usage.","allOf":[{"$ref":"#/components/schemas/disk_file_stats"}]},"project_id":{"type":"string","format":"base62","example":"aBc","description":"Project ID","x-format-description":"base62"}}},"disk_file_stats":{"type":"object","properties":{"worker_count":{"description":"Number of worker threads on the server executing the task of playing the file.","type":"integer","example":1},"client_count":{"description":"Number of clients playing the file.","type":"integer","format":"client_count","examples":{"default":{"value":2},"bunny1":{"value":1},"bunny2":{"value":10},"bunny3":{"value":5}},"x-format-description":"client_count"},"bytes_in":{"description":"Number of bytes read from the disk.","type":"integer","format":"bytes","example":1700923231,"x-format-description":"bytes"},"bytes_out":{"description":"Number of bytes downloaded form the disk.","type":"integer","format":"bytes","example":1700923231,"x-format-description":"bytes"},"media_info":{"description":"Technical information about the output media content.","allOf":[{"$ref":"#/components/schemas/media_info"}]}}},"vod_storage":{"type":"object","properties":{"url":{"type":"string","description":"The storage (on the disk or on another server) that Flussonic will scan for VOD files.\\nIf it is a path on the disk, it should be specified relating to the disk root.\\n\\nIt is possible to specify multiple storages for one VOD location. When Flussonic gets the URL for playing the file, it finds the prefix in this URL, \\ncuts the path after it and consequently searches for this path in all specified storages.\\n","example":"/storage"},"extra":{"additionalProperties":{"type":"string"},"type":"object","description":"Some additional options."}}},"vod_config":{"type":"object","properties":{"prefix":{"description":"The unique name of VOD location. \\n\\nIt is used as a prefix in file playback requests to explicitly specify where the system should find the files for playing. \\nAll the path after the prefix will be cut and added to the specified path on the disk (the storage configured for this VOD location). \\nThus, the system will find the file on the disk and play it.\\n","type":"string","format":"media_name","x-primary-key":true,"example":"movies","x-format-description":"media_name"},"auto_mbr":{"description":"Turns on automatic creation of a multi-bitrate HLS playlist from several files with different bitrates.","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/play-mbr-vod-with-auto-mbr/"},"type":"boolean","default":false},"position":{"type":"integer","format":"sort_index","description":"If an order of VOD locations is declared, it is a position of the this VOD location in the order.","x-notice":"only for stream","example":1,"x-format-description":"sort_index"},"disabled":{"description":"Whether this VOD location is disabled.","type":"boolean","example":false},"storages":{"description":"The directories (on disk or on another server) that Flussonic scans for VOD files.","items":{"allOf":[{"$ref":"#/components/schemas/vod_storage"}]},"type":"array"},"on_play":{"description":"Configuraton of the authorization backend for play sessions **only**. \\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/authorize-clients/#auth-on_play"},"allOf":[{"$ref":"#/components/schemas/auth_spec"}]},"cache":{"description":"Configuraton of the local file cache which is used for files from a cloud or an HTTP server.\\n\\nIf this option is enabled, a file will be downloaded to a local cache path by megabyte blocks. \\nDuring playback, the file will be first read from the cache. \\nThis allows to avoid multiple HTTP requests to the source for each part of data and, thus, to speed up broadcasting.\\n","allOf":[{"$ref":"#/components/schemas/cache_spec"}]},"segment_cache":{"x-private":true,"description":"Configuraton of the intermediate cache of video file segements for files on SSD drives.\\nIt is not recommended to use this option without local cahe.\\n","allOf":[{"$ref":"#/components/schemas/segment_cache_spec"}]},"read_queue":{"description":"The number of simultaneous readers form disk that should wait in a queue for playing a file.","type":"integer","example":100},"thumbnails":{"description":"Configuration of thumbnails generator.","allOf":[{"$ref":"#/components/schemas/thumbnails_spec"}]},"download":{"description":"Enables downloading files from the URL `http://FLUSSONIC-IP:80/vod_prefix/file_subpath.mp4`. \\nThe `Range` HTTP headers are supported.\\n","type":"boolean","default":false,"example":false},"protocols":{"description":"Configuraton of play protocols.","allOf":[{"$ref":"#/components/schemas/play_protocols_spec"}]},"url_prefix":{"description":"The names of separate segments within a segment-based HLS or DASH playlist start with the *specified* prefix. \\nThe option no longer works for *variant playlists*.\\n","allOf":[{"$ref":"#/components/schemas/url_prefix"}]},"segment_duration":{"description":"The time, in seconds, of the segment duration. Used for the protocols like HLS or DASH.","allOf":[{"$ref":"#/components/schemas/segment_duration"}]},"logo":{"description":"Overlay logo.","allOf":[{"$ref":"#/components/schemas/web_logo_spec"}]},"timeout":{"description":"The time (in milliseconds) passed since the last file request.\\nIf the file was not requested within this period, it will be closed and its resources will be deallocated.\\n","type":"integer","example":3},"drm":{"description":"Configuraton of the content encryption (DRM).","allOf":[{"$ref":"#/components/schemas/drm_spec"}]},"pulse_off":{"x-private":true,"description":"If this option is enabled, the data about playing the files is not collected for the Pulse tab in Flussonic UI.","type":"boolean","example":false,"x-notice":"do not collect pulse data on this stream"},"add_audio_only":{"description":"Whether to add an audio-only version of an HLS stream. \\nUsed to create App Store compliant HLS streams to deliver the content to Apple iOS devices.\\nAdd audio-only HLS playlist to variant MBR playlist for iOS compliant streaming.\\n","type":"boolean","example":false},"provider":{"description":"Human-readable name of the content provider. Applicable to MPEG-TS.","type":"string"},"project_id":{"type":"string","format":"base62","example":"aBc","description":"Project ID","x-format-description":"base62"}}},"segment_cache_spec":{"type":"object","properties":{"path":{"description":"The path where the files from the cloud or HTTP are cached to speed up broadcasting.","type":"string","format":"disk_path","example":"/mount/ssd1","x-format-description":"disk_path"},"misses":{"description":"The number of requests necessary for a file to be cached.","type":"integer","example":3},"storage_limit":{"description":"Maximum disk consumption in bytes. \\nWhen this limit is reached, the oldest segments will be overridden by later data.\\n","type":"integer","format":"bytes","example":400000,"x-format-description":"bytes"},"expiration":{"description":"A period (in seconds) back from the current moment during which the segments are stored.\\nAs time goes, the segments which are older than this period are being overridden by the later data.\\n","type":"integer","format":"seconds","x-format-description":"seconds"}}},"cloud_dvrs_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"dvrs":{"items":{"$ref":"#/components/schemas/cloud_dvr_config"},"type":"array","description":"List of available dvr storages"}}}]},"cloud_dvr_config":{"type":"object","properties":{"name":{"type":"string","description":"Name of available DVR storage","example":"ssd_storage"},"storage_limit":{"description":"DVR storage size limit.\\nWhen this limit is reached, the oldest segments are overridden by later data.\\n","type":"integer","format":"bytes","nullable":true,"x-format-description":"bytes"},"expiration":{"description":"Archive depth in the DVR storage, i.e. the retention period \\nafter which the DVR recordings are removed from the directory.\\n","type":"integer","format":"seconds","nullable":true,"x-format-description":"seconds"}}},"cloud_api_key":{"type":"object","properties":{"name":{"type":"string","maxLength":1000,"example":"middleware deploy key","description":"User provided name, e.g. the name of your application."},"key_id":{"type":"integer","format":"snowflake_id","example":6902558627475886000,"description":"Key Id","x-format-description":"snowflake_id"},"created_at":{"format":"date_time","type":"string","description":"Date and time of the api key creation.\\n","x-format-description":"date_time"},"bearer":{"type":"string","format":"api-key","readOnly":true,"nullable":true,"example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXlfaWQiOjY5MDI1NTg2Mjc0NzU4ODYwMDAsInByb2plY3RzX2lkcyI6WzY5MDI1NTg2Mjc0NzU4ODUwMDBdLCJzY29wZSI6WyJhZG1pbiJdfQ.VeVqLzU9Wv7bWNEH-qibHdlsBpBAPT4AMq7hDZ-S8-8","description":"An API authentication token that is generated only once on the key creation. In other cases this field will not be transmitted.","x-format-description":"api-key"},"project_ids":{"type":"array","items":{"type":"string"},"description":"The list of the identifiers of the Projects to which the user has access with the key.\\n","example":["aBc","dEf"]},"scope":{"type":"array","items":{"type":"string","oneOf":[{"title":"admin","const":"admin","description":"Admin access"}]},"description":"The list of access rights to the Projects that the user can access with the key.\\n"}},"required":["name"]},"cloud_api_keys_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"api_keys":{"items":{"$ref":"#/components/schemas/cloud_api_key"},"type":"array","description":"List of API keys"}}}]},"cloud_projects_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"projects":{"items":{"$ref":"#/components/schemas/cloud_project"},"type":"array","description":"List of fetched according to query parameters projects"}}}]},"cloud_project":{"properties":{"project_id":{"type":"string","format":"base62","example":"aBc","description":"Project ID","x-format-description":"base62"},"is_default":{"title":"is_default","type":"boolean","readOnly":true,"description":"True if this project is default for account.\\nAll new streams without specified project_id will be create in this project.\\n"},"allow_streams_named_by_user":{"type":"boolean","description":"Cloud will allow publisher to use own name for publishing streams`/{project_id}_{user_provided_name}?{params}`"}},"required":["allow_streams_named_by_user"]},"api_calls_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"api_calls":{"items":{"$ref":"#/components/schemas/api_call"},"type":"array","description":"List of fetched according to query parameters api calls recorded in audit log"}}}]},"agent_object":{"type":"object","required":["type","agent_id"],"properties":{"type":{"type":"string","description":"Object type","format":"object_type","const":"agent","x-format-description":"object_type"},"agent_id":{"type":"string","description":"ID of target object"}}},"api_key_object":{"type":"object","required":["type","key_id","name"],"properties":{"type":{"type":"string","description":"Object type","format":"object_type","const":"api_key","x-format-description":"object_type"},"key_id":{"type":"integer","format":"snowflake_id","example":6902558627475886000,"description":"Key Id","x-format-description":"snowflake_id"},"name":{"type":"string","description":"User provided name, e.g. the name of your application.","example":"middleware deploy key"}}},"disk_file_object":{"type":"object","required":["type","subpath"],"properties":{"type":{"type":"string","description":"Object type","format":"object_type","const":"disk_file","x-format-description":"object_type"},"subpath":{"type":"string","description":"Subpath to the file or directory in the storage.","example":"bunny.mp4"}}},"stream_object":{"type":"object","required":["type","name","title"],"properties":{"type":{"type":"string","description":"Object type","format":"object_type","const":"stream","x-format-description":"object_type"},"name":{"type":"string","format":"media_name","description":"Globally unique stream name.","x-primary-key":true,"example":"hockey1","x-format-description":"media_name"},"title":{"type":"string","nullable":true,"example":"Hockey channel","description":"Last known user provided title of the stream."}}},"vod_object":{"type":"object","required":["type","prefix"],"properties":{"type":{"type":"string","description":"Object type","format":"object_type","const":"vod","x-format-description":"object_type"},"prefix":{"type":"string","description":"The unique name of VOD location.\\nIt is used as a prefix for playing VOD files in this location.\\n","format":"media_name","example":"movies","x-format-description":"media_name"}}},"project_object":{"type":"object","required":["type","project_id","name"],"properties":{"type":{"type":"string","description":"Object type","format":"object_type","const":"project","x-format-description":"object_type"},"project_id":{"type":"integer","format":"snowflake_id","example":6902558627475886000,"description":"Project Id","x-format-description":"snowflake_id"},"name":{"type":"string","description":"Encoded ID, used as Project ID for external requests.","example":"aBc"}}},"cloud_usages_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"usages":{"items":{"$ref":"#/components/schemas/cloud_usage"},"type":"array","description":"List of fetched according to query parameters usage reports"},"prices":{"items":{"$ref":"#/components/schemas/cloud_price"},"type":"array","description":"List of prices used for reported usages"}}}]},"cloud_usage":{"allOf":[{"type":"object","properties":{"datetime":{"type":"string","format":"date_time","description":"Measurement date and time","example":"2021-01-30T08:30:00Z","x-format-description":"date_time"},"project_id":{"type":"string","format":"base62","example":"aBc","description":"project id","x-format-description":"base62"},"price_id":{"type":"integer","format":"snowflake_id","example":1479629459169476600,"description":"price id","x-format-description":"snowflake_id"},"media":{"type":"string","example":"aBc-xYz","description":"Stream or VOD file name including project id as prefix"},"title":{"description":"User provided title of the stream.","type":"string","nullable":true,"example":"Hockey channel"}}}]},"cloud_price":{"allOf":[{"$ref":"#/components/schemas/cloud_price_base"}]},"cloud_price_base":{"type":"object","properties":{"price_id":{"type":"integer","format":"snowflake_id","example":1479629459169476600,"description":"price id","x-format-description":"snowflake_id"}},"required":["price_id"]},"cloud_hostnames":{"type":"array","items":{"type":"string"}},"sessions_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"sessions":{"type":"array","description":"List of fetched sessions according to query parameters.","items":{"$ref":"#/components/schemas/session"}}}}]},"event_sinks_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"event_sinks":{"description":"The configuration of event notifications.","type":"array","items":{"$ref":"#/components/schemas/event_sink_config"}}}}]},"vods_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"vods":{"description":"Configurations of the VODs.","type":"array","items":{"$ref":"#/components/schemas/vod_config"}}}}]},"disk_files_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"files":{"description":"The list of VOD files.","type":"array","items":{"$ref":"#/components/schemas/disk_file"}}}}]},"program_id":{"type":"integer","minimum":1,"maximum":65535,"x-notice":"mpegts program number"},"iso8601":{"type":"integer","x-notice":"2016-07-08T09:04:46Z"},"psi_version":{"type":"integer","minimum":0,"maximum":31},"auth_token":{"type":"string","format":"auth_token","default":"token","example":"token","description":"Configure key name of query string key-value pair for token authentication\\n","x-format-description":"auth_token"},"ad_inserted_splice":{"discriminator":{"propertyName":"type","mapping":{"scte35_splice_insert_out":"#/components/schemas/ad_inserted_scte35_insert_out","scte35_splice_insert_in":"#/components/schemas/ad_inserted_scte35_insert_in","scte35_binary":"#/components/schemas/ad_inserted_scte35_binary"}},"oneOf":[{"$ref":"#/components/schemas/ad_inserted_scte35_insert_out"},{"$ref":"#/components/schemas/ad_inserted_scte35_insert_in"},{"$ref":"#/components/schemas/ad_inserted_scte35_binary"}]},"ad_inserted_scte35_insert_out":{"description":"SCTE35 splice_insert (out=true) splice to be inserted to a stream\\n","type":"object","properties":{"type":{"description":"Advertisement splice type","type":"string","const":"scte35_splice_insert_out"},"id":{"description":"splice_event_id field","type":"integer","example":123545},"offset":{"description":"Optional offset (in milliseconds) that can be added to the advertisement presentation timestamp (PTS) of advertisement splice\\n","type":"integer","format":"milliseconds","example":0,"x-format-description":"milliseconds"},"schedule_at":{"description":"The splice will be inserted as close to the specified time as possible.","type":"integer","format":"utc_ms","example":1732627020220,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"duration":{"description":"Optional advertisement duration","type":"integer","format":"milliseconds","example":17000,"x-format-description":"milliseconds"}},"required":["type","id"]},"ad_inserted_scte35_insert_in":{"description":"SCTE35 splice_insert (out=false) to be inserted to a stream\\n","type":"object","properties":{"type":{"description":"Advertisement splice type","type":"string","const":"scte35_splice_insert_in"},"id":{"description":"splice_event_id field","type":"integer","example":123545},"offset":{"description":"Optional offset (in milliseconds) that can be added to the advertisement presentation timestamp (PTS) of advertisement splice\\n","type":"integer","format":"milliseconds","example":0,"x-format-description":"milliseconds"},"schedule_at":{"description":"The splice will be inserted as close to the specified time as possible.","type":"integer","format":"utc_ms","example":1732627020220,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000}},"required":["type","id"]},"ad_inserted_scte35_binary":{"description":"SCTE35 binary to be inserted to a stream\\n","type":"object","properties":{"type":{"description":"Advertisement splice type","type":"string","const":"scte35_binary"},"base64":{"description":"SCTE35 binary in base64 format","type":"string","format":"base64","x-format-description":"base64"}},"required":["type","base64"]},"ad_placement":{"type":"string","oneOf":[{"title":"Preroll","const":"preroll","description":"Path to the pre-roll video file (in VOD) to be shown before the main video."},{"title":"Midroll","const":"midroll","description":"Path to the mid-roll video file (in VOD) to be shown during the video according to the ad markers."}],"description":"The advertising placement type."},"dvr_export_job":{"description":"DVR export job","type":"object","properties":{"id":{"description":"Job ID","type":"string","format":"uuid","example":"3c448252-2516-4950-a1f6-fa2c7e8f4cb1","x-format-description":"uuid"},"name":{"description":"Source stream name","type":"string","example":"demo"},"from":{"description":"Beginning of the range to export","type":"integer","format":"utc_ms","example":1730205876000,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"duration":{"description":"Duration of the range to export","type":"integer","format":"milliseconds","example":4200000,"x-format-description":"milliseconds"},"path":{"description":"Destination file path","examples":{"local":{"value":"/home/example/file.mp4"},"s3":{"value":"s3://example.com/bucket/path/to/file.mp4"}},"type":"string"},"packing":{"description":"How to pack a recording data in the exported file","oneOf":[{"type":"string","const":"fragmented","description":"Make a fragmented MP4.\\nThis allows a download to start with a minimal delay.\\nThe resulting file may be not playable by some old players.\\n"},{"type":"string","const":"compat","description":"Construct a traditional MP4 file.\\nThis may require a significant time to start (especially with large `duration`)\\nbut the resulting file is compatible with all players.\\n"}],"default":"fragmented","example":"compat"},"timelapse":{"description":"Request a timelapse instead of normal speed","oneOf":[{"type":"string","const":true},{"type":"integer","format":"milliseconds","x-format-description":"milliseconds"}]},"timelapse_kbps":{"description":"Custom bitrate for timelapse","type":"integer","example":3000},"started_at":{"description":"When this job was started","type":"number","format":"utc_ms","example":1730479930721,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"finished_at":{"description":"When this job finished (successfully or not)","type":"number","format":"utc_ms","example":1730479931103,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"status":{"description":"Status of this job","oneOf":[{"type":"string","const":"running","description":"The job is currently running"},{"type":"string","const":"succeeded","description":"The job has finished successfully"},{"type":"string","const":"failed","description":"The job has encountered an error"},{"type":"string","const":"canceled","description":"The job has been canceled by user"}]},"error":{"description":"when status=\'failed\' this field contains a reason for failure","type":"string","example":"no_dvr"}},"required":["name","from","duration","path"]},"dvr_export_job_list":{"type":"object","properties":{"jobs":{"description":"List of known DVR jobs","type":"array","items":{"$ref":"#/components/schemas/dvr_export_job"}}}},"dvr_consistency_errors":{"description":"Errors found during DVR consistency checks","type":"object","properties":{"name":{"description":"stream name","type":"string","example":"demo"},"errors":{"description":"List of errors found during checks","type":"array","items":{"type":"object","properties":{"failed_check":{"description":"Name of the check that raised this error","type":"string","example":"blob_coherence"},"details":{"description":"Arbitrary details that can help to understand the problem","type":"object","additionalProperties":{"type":"string"}}}}}}},"multiplexer_stats":{"type":"object","properties":{"payload":{"description":"The payload bytes count.","type":"integer","format":"bytes","openmetrics_metric":"multiplexer_payload","x-metric-type":"counter","x-format-description":"bytes"},"encoded":{"description":"The encoded bytes count.","type":"integer","format":"bytes","openmetrics_metric":"multiplexer_encoded","x-metric-type":"counter","x-format-description":"bytes"},"fillers":{"description":"The filler packets count.","type":"integer","openmetrics_metric":"multiplexer_fillers","x-metric-type":"counter"},"stuffing":{"description":"The stuff packets count.","type":"integer","openmetrics_metric":"multiplexer_stuffing","x-metric-type":"counter"},"trimmed_bytes":{"description":"The trimmed bytes count.","type":"integer","format":"bytes","openmetrics_metric":"multiplexer_trimmed_bytes","x-metric-type":"counter","x-format-description":"bytes"},"trimmed_frames":{"description":"The trimmed frames count.","type":"integer","openmetrics_metric":"multiplexer_trimmed_frames","x-metric-type":"counter"},"ts_overflow":{"description":"Is TS overflowed. True if no stuffing at last time.","type":"boolean"}}},"template_config":{"allOf":[{"$ref":"#/components/schemas/template_config_specific"},{"$ref":"#/components/schemas/stream_config_base"},{"$ref":"#/components/schemas/stream_config_input"},{"$ref":"#/components/schemas/stream_config_media"},{"$ref":"#/components/schemas/stream_config_onpremises"},{"$ref":"#/components/schemas/stream_config_deprecated"}]},"template_config_specific":{"type":"object","properties":{"name":{"type":"string","format":"media_name","description":"Globally unique template name.","x-primary-key":true,"x-format-description":"media_name"},"prefixes":{"description":"List of prefixes that will be used to create dynamic names for published streams. \\nA template creates one publishing point with one or more publishing locations, depending on the number of prefixes you define. \\nAll settings within the template with prefixes apply to the streams published under the name of the prefixes. \\nYou can also specify an empty prefix (`\\"\\"`) to publish a stream with any prefix or even without a prefix. \\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/configure-similar-streams-with-templates/#stream-templates-page-prefixes"},"items":{"type":"string","format":"media_name","x-format-description":"media_name"},"type":"array","example":["chats",""]}}},"network_port_range":{"type":"object","properties":{"first":{"allOf":[{"$ref":"#/components/schemas/network_port"}],"description":"First port in the range","example":10001},"last":{"allOf":[{"$ref":"#/components/schemas/network_port"}],"description":"Last port in the range","example":10099}},"required":["first","last"]},"listen_rtmps_config":{"allOf":[{"$ref":"#/components/schemas/listen_config"},{"$ref":"#/components/schemas/listen_ssl_config"}]},"listen_rtsps_config":{"allOf":[{"$ref":"#/components/schemas/listen_config"},{"$ref":"#/components/schemas/listen_ssl_config"}]},"listen_srt_config":{"allOf":[{"$ref":"#/components/schemas/srt_direction"},{"$ref":"#/components/schemas/listen_port_range_config"}]},"listen_port_range_config":{"type":"object","properties":{"address":{"type":"string","description":"Network address that will be used for listening.","example":"10.0.35.1"},"ports":{"description":"The range of ports that will be listened.","allOf":[{"$ref":"#/components/schemas/network_port_range"}]}},"required":["ports"]},"cluster_ingest_config":{"type":"object","properties":{"capture_at":{"description":"Preferred server to run the main stream on.","type":"string"}}},"srt_direction":{"type":"object","properties":{"mode":{"description":"The type of SRT sessions expected for the port.","enum":["play","publish"],"type":"string"}},"required":["mode"]},"transponder_push":{"properties":{"url":{"description":"Push URL for the MPTS stream. Usually it is a `udp://` multicast address and port.\\n","type":"string"},"multicast_loop":{"description":"The multicast socket option that enables ingesting the sent data back to the transponder.\\nUse for test purposes, e.g. if the same server creates MTPS and splits MPTS to separate programs.\\n","type":"boolean","default":true},"tos":{"description":"ToS byte in the IP packages of the multicasted data.","type":"integer","default":0},"depth_limit":{"description":"Maximum allowable duration of the file. For push to `file://` only.","type":"integer","x-private":true},"pkt_limit":{"description":"Maximum allowable number of 188-byte TS packages in the file. For push to `file://` only.","type":"integer","x-private":true},"standby":{"description":"Monitoring multicast group and stop pushing if another publisher presented","type":"boolean"},"stats":{"description":"Detailed runtime information about the push.","allOf":[{"$ref":"#/components/schemas/push_counters"}],"readOnly":true},"v":{"description":"This option allows to enable non-default, probably experimental, version of udp pusher.","x-private":true,"type":"string","enum":["timed"]},"bind_to_core":{"description":"Timed pusher option. CPU core to bind sending thread to. Will not bind by default.","x-private":true,"type":"integer"},"timed_wait":{"description":"Timed pusher option. How to wait to send a packet.","x-private":true,"type":"string","enum":["sleep","busy"]}},"required":["url"],"type":"object"},"ts_descriptor":{"type":"object","properties":{"tag":{"type":"integer","description":"Identifier of the descriptor."},"hex":{"type":"string","format":"hexbinary","description":"Descriptor data.","x-format-description":"hexbinary"}},"required":["tag","hex"]},"ts_timeouts":{"type":"object","properties":{"service_type":{"type":"integer","description":"The type of the program."},"media_info":{"type":"integer","description":"The timeout value."}}},"ts_service_type":{"anyOf":[{"type":"integer"},{"type":"string","enum":["none","digital_tv","digital_radio","teletext","nvod_reference","nvod_shifted","mosaic","fm_radio","dvb_srm","digital_radio_aac","mosaic_avc","data","common_interface","rcs_map","rcs_fls","dvb_mhp","digital_tv_mpeg2_hd","digital_tv_avc_sd","nvod_shifted_avc_sd","nvod_reference_avc_sd","digital_tv_avc_hd","digital_tv_avc_stereo_hd","nvod_shifted_avc_stereo_hd","nvod_reference_avc_stereo_hd","digital_tv_hevc","digital_tv_hevc_uhd"]}]},"ts_versions":{"type":"object","properties":{"psi":{"description":"Global version for all PSI tables.","allOf":[{"$ref":"#/components/schemas/psi_version"}]},"pat":{"description":"The version of PAT table.","allOf":[{"$ref":"#/components/schemas/psi_version"}]},"pmt":{"description":"The version of PMT table.","allOf":[{"$ref":"#/components/schemas/psi_version"}]},"nit":{"description":"The version of NIT table.","allOf":[{"$ref":"#/components/schemas/psi_version"}]},"sdt":{"description":"The version of SDT table.","allOf":[{"$ref":"#/components/schemas/psi_version"}]},"cat":{"description":"The version of CAT table.","allOf":[{"$ref":"#/components/schemas/psi_version"}]}}},"transponder_time_offset":{"type":"object","required":["country"],"properties":{"country":{"description":"The country code.","type":"string"},"region":{"description":"The region code.","type":"integer"},"time_of_change":{"description":"Date and time when the time change takes place.","allOf":[{"$ref":"#/components/schemas/iso8601"}]},"local_time_offset":{"description":"The current offset time from UTC.","type":"string"},"next_time_offset":{"description":"The next offset time after the change.","type":"string"}}},"ts_eit_intervals":{"type":"object","properties":{"actual":{"description":"Period for the actual transponder.","type":"integer"},"other":{"description":"Period for the other transponder.","type":"integer"}}},"transponder_eit":{"type":"object","properties":{"sources":{"description":"List of epg sources\\n","items":{"allOf":[{"$ref":"#/components/schemas/epg_source"}]},"type":"array","x-private":true},"max_bitrate":{"description":"Maximum bitrate for the transponder\'s EIT EPG.","type":"integer","format":"max_bitrate","x-format-description":"max_bitrate"},"xmltv_url":{"description":"Directory for storing the XMLTV EPG files.","type":"string","example":"xmltv_dir"},"keep_epg":{"description":"Period for storing the XMLTV files.","type":"integer","format":"seconds","x-format-description":"seconds"},"intervals_pf":{"description":"Periods for sending the present/following events.","allOf":[{"$ref":"#/components/schemas/ts_eit_intervals"}]},"intervals_schedule":{"description":"Periods for sending the event schedules.","allOf":[{"$ref":"#/components/schemas/ts_eit_intervals"}]}}},"transponder_program":{"type":"object","properties":{"program_id":{"description":"Identifier of the program within the transponder.","allOf":[{"$ref":"#/components/schemas/program_id"}],"x-primary-key":true,"openmetrics_label":"program_id"},"source":{"description":"The stream that is in use as the program source.","type":"string","format":"media_name","openmetrics_label":"source","example":"hockey1","x-format-description":"media_name"},"lcn":{"description":"Logical channel number.","type":"integer","example":5},"service_type":{"description":"Information about the program type.","allOf":[{"$ref":"#/components/schemas/ts_service_type"}],"example":"digital_tv"},"title":{"description":"The program title.","type":"string","example":"ProgramTitle"},"pids":{"description":"The list of PIDs.","allOf":[{"$ref":"#/components/schemas/output_mpegts_pids"}]},"eit_title":{"description":"The name of the EIT.","type":"string","example":"EIT_Title"}},"required":["program_id"]},"transponder_config":{"type":"object","required":["name"],"properties":{"name":{"description":"The name of the transponder.","type":"string","format":"media_name","x-primary-key":true,"readOnly":true,"openmetrics_label":"name","example":"multiplexer","x-format-description":"media_name"},"pushes":{"description":"The list of pushes for the transponder.","items":{"allOf":[{"$ref":"#/components/schemas/transponder_push"}]},"type":"array"},"bitrate":{"description":"Transponder bitrate.","type":"integer","format":"speed","x-format-description":"speed"},"provider":{"description":"Provider of the transponder.","type":"string","example":"Example Provider"},"network_name":{"description":"The name of the TV network.","type":"string","example":"Example Network"},"ts_stream_id":{"description":"The identifier of the transport stream for the transponder.","type":"integer"},"network_id":{"description":"Identifier of the delivery network.","type":"integer"},"original_network_id":{"description":"Identifier of the original delivery network. The same original network is used for NIT and SDT.","type":"integer"},"ts_descriptors":{"description":"The list of transport stream descriptors. Descriptors are added to NIT and SDT.","items":{"allOf":[{"$ref":"#/components/schemas/ts_descriptor"}]},"type":"array","default":[]},"timeouts":{"description":"The list of timeouts for autodetect of provider, title, and service_type of the programs.\\n","allOf":[{"$ref":"#/components/schemas/ts_timeouts"}]},"programs":{"description":"The list of programs in the transponder.","items":{"allOf":[{"$ref":"#/components/schemas/transponder_program"}]},"type":"array"},"time_offsets":{"description":"The list of time offsets.","items":{"allOf":[{"$ref":"#/components/schemas/transponder_time_offset"}]},"type":"array","default":[]},"versions":{"description":"Versions of PSI tables.","allOf":[{"$ref":"#/components/schemas/ts_versions"}]},"others":{"description":"The list of other transponders on the network.","items":{"allOf":[{"$ref":"#/components/schemas/transponder_other"}]},"type":"array","default":[]},"eit":{"description":"Transponder\'s program guide in EIT format.","allOf":[{"$ref":"#/components/schemas/transponder_eit"}]},"video_buffer":{"description":"The size of the video buffer for the transponder.","type":"integer"},"prebuffer":{"description":"The length of multiplexer input buffer.\\nThe higher value makes the multiplexer more robust to non-uniform inputs.\\nThe lower value reduces input-to-output latency, but requires more stable bitrate (CBR) on input.\\n","format":"milliseconds","default":300,"example":800,"type":"integer","x-format-description":"milliseconds"},"stats":{"description":"Detailed runtime information about the multiplexer.","allOf":[{"$ref":"#/components/schemas/multiplexer_stats"}],"readOnly":true}}},"transponder_other":{"type":"object","properties":{"name":{"description":"The name of the other transponder on the network.","type":"string","format":"media_name","x-primary-key":true,"readOnly":true,"x-format-description":"media_name"}},"required":["name"]},"epg_source":{"type":"object","properties":{"url":{"description":"URL of the epg source.\\n","type":"string","examples":{"stream":{"value":"copy://local_stream_name"}}}}},"balancer_config":{"type":"object","properties":{"name":{"type":"string","format":"media_name","description":"Globally unique balancer name.","readOnly":true,"x-primary-key":true,"x-format-description":"media_name"},"servers":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/balancer_server_config"}]},"description":"Balancer will distribute requests between these servers."},"peers":{"description":"Configuration of the peers.","type":"array","items":{"allOf":[{"$ref":"#/components/schemas/peer_config"}]},"deprecated":true,"x-delete-at":23.09},"mode":{"description":"Balancing mode","type":"string","default":"bitrate","oneOf":[{"title":"Usage","const":"usage","description":"Bandwidth usage"},{"title":"Clients","const":"clients","description":"Total clients number"},{"title":"Bitrate","const":"bitrate","description":"Total output bitrate"},{"title":"Streams","const":"streams","description":"Streams number"}]}}},"balancer_server_config":{"type":"object","properties":{"name":{"type":"string","description":"Hostname of the peer. Can refer to globally defined peer.","x-primary-key":true,"readOnly":true},"max_bitrate":{"type":"integer","format":"speed","description":"Maximum allowed bitrate, request is redirecting if current bitrate is lower.","x-format-description":"speed"},"countries":{"type":"array","items":{"type":"string","format":"iso3166","x-format-description":"iso3166"},"description":"Client will be redirected to the peer if its IP belongs to one of these countries."},"countries_default":{"type":"boolean","default":false,"description":"This flag allows to redirect a request to this peer if \\"countries\\" list not matched."}}},"source_config":{"allOf":[{"$ref":"#/components/schemas/source_specific_config"},{"$ref":"#/components/schemas/stream_config_media"},{"$ref":"#/components/schemas/stream_config_onpremises"}]},"source_group_config":{"type":"object","properties":{"name":{"description":"Tha name of the source group.","type":"string","format":"group_name","x-format-description":"group_name"},"on_play":{"description":"Path to auth backend, either HTTP URL or path to script on disk. Play sessions only.","allOf":[{"$ref":"#/components/schemas/auth_spec"}]},"cache":{"description":"Cache configuration.","allOf":[{"$ref":"#/components/schemas/cache_spec"}]},"segment_duration":{"description":"The time, in seconds, of the segment duration. Used for the protocols like HLS or DASH. \\n","allOf":[{"$ref":"#/components/schemas/segment_duration"}]},"dvr":{"description":"DVR configuration.","allOf":[{"$ref":"#/components/schemas/stream_dvr_spec"}]}}},"source_specific_config":{"type":"object","properties":{"url":{"description":"URL and port of the remote server to get streams from.","type":"string","format":"hostport","x-primary-key":true,"pattern":"^(m4f:|m4fs:|m4s:|m4ss:).+","x-format-description":"Hostname with port"},"prefix":{"description":"The prefix used for the streams on the remote server from which the peer gets them.\\n","type":"string","format":"media_name","x-format-description":"media_name"},"stats":{"description":"Statistics of the peer.","allOf":[{"$ref":"#/components/schemas/peer_stats"}]},"only":{"description":"White list of streams. \\nThe items of the array may be individual stream names or values like `prefix/*`\\nwhich stands for all streams with the given prefix.\\n","type":"array","items":{"type":"string","format":"media_name","x-format-description":"media_name"}},"except":{"description":"Black list of streams. Higher priority than `only`.","type":"array","items":{"type":"string","format":"media_name","x-format-description":"media_name"}},"group_config":{"description":"Configuration applied to the specific group of streams (all or limited by `only` and `except`) received from the sources.","type":"object","additionalProperties":{"$ref":"#/components/schemas/source_group_config"},"x-key-type":"string"},"cluster_key":{"description":"Cluster ingest stream key.","type":"string"}}},"logo_file":{"type":"object","properties":{"name":{"type":"string","description":"The logo name."},"stream_names":{"description":"List of streams that use this logo","type":"array","items":{"type":"string"},"default":[],"readOnly":true},"content":{"description":"Payload of this logo","type":"string","format":"byte","x-format-description":"byte"},"content_type":{"description":"Content type of this logo. Calculated from file name extension\\n","type":"string","readOnly":true}}},"dvb_card_config":{"type":"object","properties":{"name":{"description":"DVB card name.","type":"string","format":"dvb_card_name","x-primary-key":true,"readOnly":true,"openmetrics_label":"name","example":"a16","x-format-description":"dvb_card_name"},"hw":{"description":"Adapter card hardware type.","type":"string","enum":["dvb","dektec_asi","record_input","resi","tbs6014"],"example":"dvb"},"system":{"description":"Adapter type. Different systems are supported besides DVB, as the configuring is similar.","type":"string","enum":["dvbs","dvbs2","dvbt","dvbt2","dvbca","dvbcb","dvbcc","atsc","isdbt"]},"adapter":{"description":"Adapter number.","type":"integer","example":16},"device":{"description":"Modulator number in adapter.","type":"integer"},"frontend":{"description":"Frontend number.","type":"integer"},"frequency":{"description":"The carrier frequency of the transponder for this channel, in Hz.","type":"integer","example":11606},"symbol_rate":{"description":"The symbol rate of the transponder, in symbols per second.\\nA symbol is a pulse in digital baseband transmission.\\n","type":"integer","example":27500},"int_freq":{"description":"Base frequency, in MHz.","type":"integer"},"high_band":{"description":"Whether high frequency band is used.","type":"boolean"},"polarization":{"description":"Polarization of the transponder for this channel. \\nThe supported values are: \\n\\n * `v`- vertical linear polarization, \\n * `h` - horizontal linear polarization, \\n * `r` - right-hand circular polarization, \\n * `l` - left-hand circular polarization.\\n","type":"string","enum":["v","h","r","l"],"example":"v"},"hierarchy":{"description":"Constellation ratio for hierarchical transmission.\\n","externalDocs":{"description":"Find more information here","url":"https://dvb.org/wp-content/uploads/2019/12/a012_dvb-t_june_2015.pdf"},"type":"string","enum":["1","2","4","none","auto"]},"transmission_mode":{"description":"DVB transmission mode.","type":"string","enum":["1k","2k","8k","16k","32k","c1","c3780"]},"guard_interval":{"description":"The mode of inserting a guard interval - a padding separating transmissions so that they do not interfere with each other.\\n","type":"string","enum":["1_128","1_32","1_16","1_8","1_4","19_128","19_256","pn420","pn595","pn945"],"example":"1_16"},"pilot":{"description":"Enable, disable, or autodetect pilot tones.\\n","type":"string","enum":["auto","on","off"],"example":"auto"},"rolloff":{"description":"Rolloff factor, in %.\\nIt is used to estimate bandwidth, together with symbol rate.\\n","type":"string","enum":["35","25","20"]},"bandwidth":{"description":"Bandwidth, in Hz.","type":"integer","enum":[1712000,5000000,6000000,7000000,8000000,10000000],"example":6000000},"code_rate_lp":{"description":"Low priority stream code rate.","allOf":[{"$ref":"#/components/schemas/dvb_fec"}]},"code_rate_hp":{"description":"High priority stream code rate.","allOf":[{"$ref":"#/components/schemas/dvb_fec"}]},"modulation":{"description":"DVB-C modulation method.","type":"string","enum":["auto","qpsk","qam16","qam32","qam64","qam128","qam256","qam_auto","psk8","apsk16","apsk32","vsb8","vsb16","dqpsk","qam4nr"],"example":"auto"},"disabled":{"description":"Whether this DVB card is disabled.","type":"boolean","example":false},"comment":{"description":"Any text comment.","type":"string"},"stats":{"description":"Statistic information about the captured signal.","allOf":[{"$ref":"#/components/schemas/dvb_card_stats"}]},"serial":{"description":"Serial number of the card, used for capturing from DekTec ASI cards.","type":"integer"},"port":{"description":"Port number, used for capturing from DekTec ASI cards.","type":"integer"},"asi_annex":{"description":"The EN 50083-9 Annex followed by the DVB card.","x-private":true,"type":"string","oneOf":[{"title":"Annex A","const":"a","description":"Synchronous Serial Interface (SSI)."},{"title":"Annex B","const":"b","description":"Asynchronous Serial Interface (ASI)."},{"title":"Annex C","const":"c","description":"SSI clock and data recovery."}]},"asi_isdbt_segments":{"description":"The number of segments in a stream.","x-private":true,"type":"string","enum":["1","3","13"]},"asi_isdbt_subchannel":{"description":"Sub channel of the center segment of the spectrum, which implicitly specifies the sub-channels of the 1-segment streams in the signal. \\nThe valid range is 0 â€¦ 41.\\n","x-private":true,"type":"integer"},"asi_dvb2_streamid":{"description":"Stream-id for the generated T2-MI stream. The valid range is 0 â€¦ 7.","x-private":true,"type":"integer"},"asi_diseqcpg":{"description":"The last byte of DiSEqC switch port command.","x-private":true,"type":"string","enum":["f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"]},"asi_polarity":{"description":"Inversion of the DVB-ASI signal.","x-private":true,"type":"string","oneOf":[{"title":"Auto","const":"auto","description":"Automatically detect and correct the polarity."},{"title":"Normal","const":"normal","description":"Do not invert the DVB-ASI signal."},{"title":"Invert","const":"invert","description":"Invert DVB-ASI signal."}]},"asi_iqdem":{"description":"Modulation type.","x-private":true,"type":"string","enum":["qam","ofdm"]},"asi_iqbandwidth":{"description":"Channel raster of the network.","x-private":true,"type":"integer"},"asi_iqsamplerate":{"description":"I/Q sample rate in Hz.","x-private":true,"type":"integer"},"debug_stream":{"x-private":true,"description":"Configuration of recording the stream sessions data. Recommended for debugging needs **only**.","allOf":[{"$ref":"#/components/schemas/debug_stream_spec"}]},"compensate_time_drift_ppm":{"description":"Max source\'s internal clock drift to compensate, rounding to six decimal places.","type":"integer"},"plp_stream_id":{"description":"PLP stream selector. Used in DVB-T2.","type":"integer"},"attenuator":{"description":"Attenuation of the signal level. Takes values from 0 to 10.\\n","type":"integer"},"interleave":{"description":"Use interleaver.\\nThe interlaver disperses sequence of bits in bit stream to minimize effect of burst errors during transmission.\\n","type":"integer","minimum":0,"maximum":15},"gain":{"description":"Adjust the output gain to the specified value in dB.","type":"integer"},"input_bitrate":{"description":"Input bitrate, in Mbps.","type":"integer"},"video_device":{"description":"The video device to capture video from Stream Labs SDI/ASI cards.\\nIt is actually a path to a device file created on the disk by Video4Linux.\\n","type":"string","example":"/dev/video0"}},"required":["name"]},"dvb_card_stats":{"type":"object","properties":{"ber":{"description":"Bit error rate. It is the percent of bit errors from total number of transferred bits.\\n","type":"integer","example":5},"strength_raw":{"description":"Signal strength, as a raw 16-bit number received from DVB API.","type":"integer","example":62446},"strength":{"description":"Signal strength, in percent.","type":"integer","openmetrics_metric":"dvb_card_strength","x-metric-type":"gauge","example":95},"snr_raw":{"description":"Signal-noise ratio, as a raw 16-bit number received from DVB API. It is the ratio of signal power to the noise power.\\n","type":"integer","example":894},"snr":{"description":"Signal-noise ratio, in percent. It is the ratio of signal power to the noise power. \\n","type":"integer","example":1},"has_signal":{"description":"Whether a signal is detected above the normal noise level.","type":"boolean","example":true},"has_carrier":{"description":"Carrier detected in signal.","type":"boolean","example":true},"has_viterbi":{"description":"DVB signal was locked at Viterbi decoder stage.","type":"boolean","example":true},"has_sync":{"description":"Synchronization bytes detected.","type":"boolean","example":true},"has_lock":{"description":"DVB signal was successfully locked.","type":"boolean","example":true},"has_timedout":{"description":"The signal was not locked within the last about 2 seconds.","type":"boolean","example":false},"has_reinit":{"description":"The frontend was reinitialized, the application is recommended to reset DiSEqC, tone and parameters.\\n","type":"boolean","example":false},"has_rate":{"description":"Input rate is sufficient (900 bps or greater). Used for capturing from DekTec ASI cards.\\n","type":"boolean","example":true}}},"dvb_fec":{"type":"string","enum":["1_2","2_3","2_5","3_4","3_5","4_5","5_6","6_7","7_8","8_9","9_10"]},"decklink_card_id":{"oneOf":[{"type":"integer"},{"const":"test_fake","type":"string"}]},"decklink_config":{"type":"object","properties":{"name":{"description":"The Decklink card name.","allOf":[{"$ref":"#/components/schemas/decklink_card_id"}],"x-primary-key":true,"readOnly":true},"profile":{"description":"The Decklink card profile that allows choosing between input and output direction.","oneOf":[{"const":"one_full","description":"The `bmdProfileOneSubDeviceFullDuplex` mode."},{"const":"one_half","description":"The `bmdProfileOneSubDeviceHalfDuplex` mode."},{"const":"two_full","description":"The `bmdProfileTwoSubDevicesFullDuplex` mode."},{"const":"two_half","description":"The `bmdProfileTwoSubDevicesHalfDuplex` mode."},{"const":"four_half","description":"The `bmdProfileFourSubDevicesHalfDuplex` mode."}]}}},"streamer_event1":{"oneOf":[{"$ref":"#/components/schemas/server_starting"},{"$ref":"#/components/schemas/server_started"},{"$ref":"#/components/schemas/change_server_id"},{"$ref":"#/components/schemas/presence_connected"},{"$ref":"#/components/schemas/presence_disconnected"},{"$ref":"#/components/schemas/config_external_error"},{"$ref":"#/components/schemas/config_external_success"},{"$ref":"#/components/schemas/source_opened"},{"$ref":"#/components/schemas/source_connected"},{"$ref":"#/components/schemas/source_started"},{"$ref":"#/components/schemas/source_updated"},{"$ref":"#/components/schemas/source_closed"},{"$ref":"#/components/schemas/stream_opened"},{"$ref":"#/components/schemas/stream_updated"},{"$ref":"#/components/schemas/stream_closed"},{"$ref":"#/components/schemas/play_opened"},{"$ref":"#/components/schemas/play_started"},{"$ref":"#/components/schemas/play_updated"},{"$ref":"#/components/schemas/play_closed"},{"$ref":"#/components/schemas/push_opened"},{"$ref":"#/components/schemas/push_connected"},{"$ref":"#/components/schemas/push_started"},{"$ref":"#/components/schemas/push_updated"},{"$ref":"#/components/schemas/push_closed"},{"$ref":"#/components/schemas/push_blocked"},{"$ref":"#/components/schemas/push_restored"},{"$ref":"#/components/schemas/push_reconfigured"},{"$ref":"#/components/schemas/chassis_connected"},{"$ref":"#/components/schemas/chassis_disconnected"},{"$ref":"#/components/schemas/transcoder_device_insufficient_resources"},{"$ref":"#/components/schemas/webrtc_play_prober_timeout"},{"$ref":"#/components/schemas/webrtc_play_prober_wrong_interval"},{"$ref":"#/components/schemas/ad_injected"},{"$ref":"#/components/schemas/multiplexer_pid_on"},{"$ref":"#/components/schemas/multiplexer_pid_off"},{"$ref":"#/components/schemas/motion_started"},{"$ref":"#/components/schemas/motion_stopped"},{"$ref":"#/components/schemas/api_call_event"},{"$ref":"#/components/schemas/dvr_clean"},{"$ref":"#/components/schemas/dvr_drop_write"},{"$ref":"#/components/schemas/dvr_collapsed_write"},{"$ref":"#/components/schemas/dvr_export_finished"},{"$ref":"#/components/schemas/dvr_consistency_check_finished"}],"discriminator":{"propertyName":"event"}},"event_session":{"type":"object","properties":{"token":{"type":"string","format":"session_token","description":"Token provided by the client.","example":"zGAFxLkoWluO1pG7_nJmQAbCnM5","x-format-description":"session_token"},"duration":{"description":"Duration of the session.","type":"integer","format":"seconds","x-format-description":"seconds"},"referer":{"type":"string","format":"url","description":"Referer HTTP header or its analog for other protocols.","example":"http://my-tv-portal.local/hockey1","x-format-description":"url"},"user_agent":{"type":"string","format":"user_agent","description":"Client\'s user agent for selected protocol.","example":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML. like Gecko) Chrome/90.0.4430.72 Safari/537.36","x-format-description":"user_agent"},"query_string":{"type":"string","description":"Full query string of initial request of the session."}}},"event_play":{"type":"object","properties":{"country":{"description":"The country determined from the user\'s IP address.","type":"string"},"user_name":{"description":"User-provided original stream/VOD name.","type":"string"},"user_id":{"description":"User ID provided by the authorization backend like Middleware, your billing, or web portal.","type":"string"}}},"change_server_id":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Change the server ID."},"old":{"description":"The previous server ID.","type":"string"},"instance_id":{"description":"The instance ID.","type":"string"}}},{"$ref":"#/components/schemas/event_default"}]},"presence_connected":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Presence connected."},"flush":{"description":"The number of flushes.","type":"integer"},"ip":{"description":"Presence server IP address.","type":"string"}}},{"$ref":"#/components/schemas/event_default"}]},"presence_disconnected":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Presence disconnected."},"reason":{"description":"Reason for disconnecting from the presence server.","type":"string","x-atom":true},"ip":{"description":"Presence server IP address.","type":"string"}}},{"$ref":"#/components/schemas/event_default"}]},"config_external_error":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"External config is not valid."}}},{"$ref":"#/components/schemas/config_external_error_status"},{"$ref":"#/components/schemas/event_default"}]},"config_external_success":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"External config is successfully refreshed."}}},{"$ref":"#/components/schemas/event_default"}]},"source_opened":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Source opened."},"url":{"description":"The input (source) URL.","type":"string","format":"url","x-format-description":"url"},"priority":{"description":"The input priority.","type":"integer"}}},{"$ref":"#/components/schemas/event_session"},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"source_connected":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Source is connected"},"url":{"description":"The input (source) URL.","type":"string","format":"url","x-format-description":"url"},"priority":{"description":"The input priority.","type":"integer"},"status":{"type":"string","description":"Status","oneOf":[{"title":"Connecting","const":"connecting","description":"Connection is in progress"},{"title":"Connected","const":"connected","description":"Source is connected"},{"title":"Retrying","const":"retrying","description":"Retrying connection"},{"title":"Redirected","const":"redirected","description":"Redirection received from the source"},{"title":"Socket_connected","const":"socket_connected","description":"Socket is connected"},{"title":"Transport_connected","const":"transport_connected","description":"Transport is connected"}],"example":"socket_connected"},"while":{"type":"string","description":"The state of connection","example":"rtsp_setup"},"version":{"type":"string","description":"Protocol version (when applicable)"},"redirected_to":{"type":"string","description":"URL to which connection was redirected. The value is available only on \'redirected\' status. \\n"}}},{"$ref":"#/components/schemas/event_session"},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"source_started":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Source started."},"url":{"description":"The input (source) URL.","type":"string","format":"url","x-format-description":"url"},"priority":{"description":"The input priority.","type":"integer"},"dts":{"description":"First frame DTS (Decoding Time Stamp).","type":"number"}}},{"$ref":"#/components/schemas/event_session"},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"source_updated":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Source updated."},"url":{"description":"The input (source) URL.","type":"string","format":"url","x-format-description":"url"},"priority":{"description":"The input priority.","type":"integer"},"bitrate":{"description":"The input bitrate.","type":"number","format":"speed","x-format-description":"speed"}}},{"$ref":"#/components/schemas/event_session"},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"source_closed":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Source closed."},"url":{"description":"The input (source) URL.","type":"string","format":"url","x-format-description":"url"},"priority":{"description":"The input priority.","type":"integer"},"bitrate":{"description":"The input bitrate.","type":"number","format":"speed","x-format-description":"speed"},"reason":{"description":"Reason for closing the source.","type":"object"},"limit":{"description":"Retry limit.","type":"integer"},"count":{"description":"Retry count.","type":"integer"},"client_count":{"description":"The number of clients.","type":"integer"}}},{"$ref":"#/components/schemas/event_session"},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"stream_opened":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Stream opened."}}},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"stream_updated":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Stream updated."},"reason":{"description":"Reason for updating the stream.","type":"string","x-atom":true},"sub_id":{"description":"Sub-stream ID.","type":"string","format":"uuid","x-format-description":"uuid"},"sub_bytes":{"description":"The number of bytes sent in the sub-stream.","type":"integer","format":"bytes","x-format-description":"bytes"},"sub_opened_at":{"description":"The time when the sub-stream was created.","type":"integer","format":"milliseconds","x-format-description":"milliseconds"},"bytes_in":{"description":"The amount of stream data received.","type":"integer","format":"bytes","x-format-description":"bytes"},"bytes_out":{"description":"The amount of stream data sent to the clients.","type":"integer","format":"bytes","x-format-description":"bytes"}}},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"stream_closed":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Stream closed."},"reason":{"description":"Reason for closing the stream.","type":"string","x-atom":true},"bytes_out":{"description":"The number of bytes transmitted.","type":"integer","format":"bytes","x-format-description":"bytes"}}},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"play_opened":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Play session opened."}}},{"$ref":"#/components/schemas/event_play"},{"$ref":"#/components/schemas/event_session"},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"play_started":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Play session started."}}},{"$ref":"#/components/schemas/event_play"},{"$ref":"#/components/schemas/event_session"},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"play_updated":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Play session updated."}}},{"$ref":"#/components/schemas/event_play"},{"$ref":"#/components/schemas/event_session"},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"play_closed":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Play session closed."},"reason":{"description":"Reason for closing the play session.","type":"object"}}},{"$ref":"#/components/schemas/event_default"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_session"},{"$ref":"#/components/schemas/event_play"}]},"push_opened":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Push opened."},"url":{"description":"The push URL.","type":"string","format":"url","x-format-description":"url"},"retry_count":{"description":"The number of attempts to start pushing.","type":"integer"},"retry_limit":{"description":"The maximum number of attempts to push the stream.","type":"integer"}}},{"$ref":"#/components/schemas/event_session"},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"push_connected":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Push connected."},"url":{"description":"The push URL.","type":"string","format":"url","x-format-description":"url"},"status":{"description":"The push status.","type":"object"}}},{"$ref":"#/components/schemas/event_session"},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"push_started":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Push started."},"url":{"description":"The push URL.","type":"string","format":"url","x-format-description":"url"}}},{"$ref":"#/components/schemas/event_session"},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"push_updated":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Push updated."},"url":{"description":"The push URL.","type":"string","format":"url","x-format-description":"url"}}},{"$ref":"#/components/schemas/event_session"},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"push_closed":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Push closed."},"url":{"description":"The push URL.","type":"string","format":"url","x-format-description":"url"},"reason":{"description":"Reason for closing the push.","type":"object"}}},{"$ref":"#/components/schemas/event_session"},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"push_blocked":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Push blocked."},"url":{"description":"The push URL.","type":"string","format":"url","x-format-description":"url"}}},{"$ref":"#/components/schemas/event_session"},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"push_restored":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Push restored."},"url":{"description":"The push URL.","type":"string","format":"url","x-format-description":"url"}}},{"$ref":"#/components/schemas/event_session"},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"push_reconfigured":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Push reconfigured."},"url":{"description":"The push URL.","type":"string","format":"url","x-format-description":"url"},"options":{"description":"Changed options list.","type":"array","items":{"type":"string"}}}},{"$ref":"#/components/schemas/event_session"},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"chassis_connected":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Chassis is connected."},"node":{"description":"The node name.","type":"string","x-atom":true}}},{"$ref":"#/components/schemas/event_default"}]},"chassis_disconnected":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Chassis is disconnected."},"node":{"description":"The node name.","type":"string","x-atom":true}}},{"$ref":"#/components/schemas/event_default"}]},"transcoder_device_insufficient_resources":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"description":"No resources to autodistribute","type":"string"},"deviceid":{"description":"Transcoder module ID in Flussonic Coder.","type":"integer"},"reason":{"description":"One of the two reasons for the event: `manual_resource_allocation` or `auto_resource_allocation`.\\nThe first one is a warning, the second one is an error.\\n","type":"string"},"decoder":{"type":"boolean","description":"Decoder overload indicator","x-private":true},"encoder":{"type":"boolean","description":"Encoder overload indicator","x-private":true},"resize":{"type":"boolean","description":"Resize overload indicator","x-private":true},"audio":{"type":"boolean","description":"Audio transcoder overload indicator","x-private":true}}},{"$ref":"#/components/schemas/event_default"}]},"webrtc_play_prober_timeout":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"WebRTC Play Prober timeout"}}},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"webrtc_play_prober_wrong_interval":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"WebRTC Play Prober wrong interval"},"direction":{"description":"Shows if the problem occurs when sending or receiving the `probe` packets.","type":"string","enum":["sending","receiving"]},"value":{"description":"The interval value that is wrong.","type":"integer"}}},{"$ref":"#/components/schemas/session_generic"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"ad_injected":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Advertisement injected."},"path":{"type":"string","description":"The path to the advertising file in a VOD location."},"placement":{"allOf":[{"$ref":"#/components/schemas/ad_placement"}]},"duration":{"type":"integer","format":"seconds","description":"Duration of injected advertising.","x-format-description":"seconds"},"midroll_insert_by":{"type":"string","enum":["interval","splicing"],"description":"When to perform midrolls.\\nIf your stream has SCTE35 or SCTE104 you may opt to use them.\\nBy default ads are inserted on regular intervals\\n"},"program_id":{"type":"integer","description":"SCTE-35 or SCTE-104 markers program_id if set by `midroll_program_id`.","example":1},"session_id":{"type":"string","format":"uuid","description":"Unique identifier (or UUID) of the session.","example":"61942414-8c15-4809-8bb6-adf1ae846027","x-format-description":"uuid"},"dts":{"type":"integer","format":"utc_ms","description":"First advertising keyframe\'s DTS","example":1655362349383,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000}}},{"$ref":"#/components/schemas/event_default"},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_play"}]},"multiplexer_pid_on":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Pid is added to the output multiplexed stream"}}},{"$ref":"#/components/schemas/event_default"},{"$ref":"#/components/schemas/event_media"}]},"multiplexer_pid_off":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"Pid is dropped from the output multiplexed stream"},"reason":{"description":"Reason for dropping the PID.","type":"string","x-atom":true}}},{"$ref":"#/components/schemas/event_default"},{"$ref":"#/components/schemas/event_media"}]},"dvr_clean":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"The dvr clean occured.","const":"dvr_clean"},"episodes_count":{"type":"integer","minimum":0,"description":"The total count of all deleted episodes."},"episodes_duration":{"description":"The total duration of all deleted episodes.","type":"integer","minimum":0}}},{"$ref":"#/components/schemas/dvr_config"},{"$ref":"#/components/schemas/event_default"}]},"dvr_drop_write":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"The dvr drop write occured.","const":"dvr_drop_write"},"duration":{"type":"integer","description":"Dropped duration in milliseconds."},"path":{"type":"string","description":"Segment disk path which dropped."}}},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"dvr_collapsed_write":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"The dvr collapsed write occured.","const":"dvr_collapsed_write"},"duration":{"type":"integer","description":"Collapsed duration in milliseconds."},"count":{"type":"integer","description":"Segments count which collapsed."}}},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"}]},"dvr_export_finished":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"DVR export operation finished","const":"dvr_export_finished"}}},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"},{"$ref":"#/components/schemas/dvr_export_job"}]},"dvr_consistency_check_finished":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"A DVR consistency check finished","const":"dvr_consistency_check_finished"}}},{"$ref":"#/components/schemas/event_media"},{"$ref":"#/components/schemas/event_default"},{"$ref":"#/components/schemas/dvr_consistency_errors"}]},"cache_config":{"type":"object","required":["name"],"properties":{"name":{"type":"string","format":"cache_name","description":"Globally unique cache name.","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/scale-vod-playback-with-ssd-cache/"},"x-primary-key":true,"readOnly":true,"example":"cache1","x-format-description":"cache_name"},"path":{"description":"The path where the files from the cloud or HTTP are cached to speed up broadcasting.","type":"string","format":"disk_path","example":"/storage/cache","x-format-description":"disk_path"},"misses":{"description":"The number of requests necessary for a file to be cached.","type":"integer","example":3},"storage_limit":{"description":"Maximum disk consumption in bytes. \\nWhen this limit is reached, the oldest files will be overridden by later files.\\n","type":"integer","format":"bytes","example":400000,"x-format-description":"bytes"},"expiration":{"description":"A period (in seconds) back from the current moment during which the files are stored.\\nAs time goes, the files which are older than this period are being overridden by the later files.\\n","type":"integer","format":"seconds","example":604800,"x-format-description":"seconds"}}},"web_script_config":{"type":"object","required":["prefix","path"],"properties":{"prefix":{"type":"string","format":"media_name","x-primary-key":true,"description":"HTTP prefix that will be intercepted by this lua script\\n","x-format-description":"media_name"},"path":{"type":"string","format":"disk_path","description":"Path to the lua handler\\n","x-format-description":"disk_path"},"extra":{"x-private":true,"type":"object","additionalProperties":{"type":"string"},"description":"Some additional options.\\n"}}},"http_proxies_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"$ref":"#/components/schemas/openmetrics_labels"},{"type":"object","properties":{"http_proxies":{"description":"List of http proxies","type":"array","items":{"$ref":"#/components/schemas/http_proxy_config"}}}}]},"ssh_agent":{"type":"object","properties":{"configured":{"type":"boolean","readOnly":true,"description":"SSH keys support configured in `authorized_keys`."},"enabled":{"type":"boolean","readOnly":true,"description":"Whether `ssh_agent` will start on reboot."},"running":{"type":"boolean","readOnly":true,"description":"Whether `ssh_agent` is running right now."},"connected":{"type":"boolean","readOnly":true,"description":"Whether `ssh_agent` is connected. In this case our support team has an access to your server."}}},"system_updater_status":{"type":"object","properties":{"status":{"description":"Indicates the current status of upgrade.","type":"string","oneOf":[{"title":"Running","const":"running","description":"Indicates the upgrade is in progress."},{"title":"Not running","const":"not_running","description":"Indicates the upgrade is not in progress and not required.\\nInstalled version is the last available version.\\n"},{"title":"Error","const":"error","description":"Something wrong and Flussonic is not able to get the upgrade status."},{"title":"Upgrade available","const":"upgrade_available","description":"The installed version is not the last. \\nIt is possible to upgrade to the next version.\\n"},{"title":"Restart required","const":"restart_required","description":"The running version is older than installed version.\\nRestart is required to run the installed version.\\n"}]},"target_version":{"type":"string","description":"Indicates target version for upgrading, if status is \\"running\\".\\n","nullable":true},"repo_uri":{"type":"string","description":"Path to repository with upgrade packages.\\n","nullable":true},"repository":{"type":"string","description":"Indicates the type of repository.\\n","nullable":true},"running_version":{"type":"string","description":"Currently launched streamer version.\\n"},"installed_version":{"type":"string","description":"Version installed on disk.\\nCan differ from running_version if just installed.\\n"},"next_version":{"type":"string","nullable":true,"description":"The latest version in repository which is available for installing.\\nCan be null if network error doesn\'t allow to fetch it.\\n"},"previous_version":{"type":"string","nullable":true,"description":"The version in repository which is previous for the installed version.\\nCan be null if network error doesn\'t allow to fetch it.\\n"},"last_update_error":{"description":"The text of the error that occurred the last time an action was performed by the updater. \\nResets to null when another action is performed.\\n","type":"string","nullable":true}}},"system_upgrade_request":{"type":"object","properties":{"version":{"type":"string","description":"Provide exact version or null if you want last version.\\n"}}},"upload_logs_req":{"type":"object","properties":{"comment":{"type":"string","description":"Comment.\\n"}}},"upload_logs_res":{"type":"object","properties":{"id":{"description":"Uploaded logs identifier","type":"string","format":"uuid","x-format-description":"uuid"}}},"chassis_config":{"type":"object","properties":{"product_name":{"description":"Coder product name","allOf":[{"$ref":"#/components/schemas/chassis_product"}],"readOnly":true},"api_port":{"description":"Private port for API requests to the chassis from coders.","allOf":[{"$ref":"#/components/schemas/listen_spec"}],"readOnly":true},"auto_reboot":{"description":"Shows if auto restart of coders when (re)starting chassis is enabled.","type":"boolean","default":false,"readOnly":true},"dhcpd_iface":{"description":"Network interface for automatic reception of IP address from DHCP server. \\nThis interface will be used for launching coders.\\n","type":"string","format":"interface_name","readOnly":true,"x-format-description":"interface_name"},"dhcpd_port":{"description":"Source port for DHCP requests.","allOf":[{"$ref":"#/components/schemas/listen_spec"}],"readOnly":true},"dhcpd_port_dest":{"description":"Destination port for DHCP requests.","allOf":[{"$ref":"#/components/schemas/listen_spec"}],"readOnly":true},"lcd":{"description":"Shows if LCD monitor capabilities are enabled in the firmware.","type":"boolean","default":false,"readOnly":true},"ntpd_iface":{"description":"Network interface for NTP daemon.","type":"string","format":"interface_name","readOnly":true,"x-format-description":"interface_name"},"ntpd_port":{"description":"Port for NTP daemon.","allOf":[{"$ref":"#/components/schemas/listen_spec"}],"readOnly":true},"tftp_port":{"description":"Port for TFTP used for loading program core to the coders.","allOf":[{"$ref":"#/components/schemas/listen_spec"}],"readOnly":true},"tftp_root":{"description":"TFTP root directory.","type":"string","format":"disk_path","readOnly":true,"x-format-description":"disk_path"},"update_channel":{"description":"Update channel specified in the config file.","type":"string","readOnly":true},"firmware_host":{"description":"URL for downloading firmware.","type":"string","format":"url","readOnly":true,"x-format-description":"url"},"firmware_version":{"description":"Firmware version installed on the device.","allOf":[{"$ref":"#/components/schemas/chassis_version"}],"readOnly":true},"firmware_boot_dir":{"description":"Directory to boot the device from. This is also where the firmware is downloaded on updates.","type":"string","format":"disk_path","readOnly":true,"x-format-description":"disk_path"},"stats":{"description":"Statistics of the chassis connections.","allOf":[{"$ref":"#/components/schemas/chassis_stats"}],"readOnly":true},"restart_coder_timeout":{"description":"Timeout for restarting coders.","type":"integer","readOnly":true},"hostname":{"description":"The name of the chassis server.","type":"string","format":"server_name","example":"coder1.example.com","x-format-description":"server_name"},"default_gateway_interface":{"description":"If `default_gateway` parameters are set the individual interfaces config, \\nthis gateway is only used for checking license and updates. \\nOtherwise, it is used as gateway for all traffic.\\n","type":"string","example":"streaming"},"ntp_servers":{"description":"List of NTP server host names or IP addresses","type":"array","items":{"type":"string"}}}},"chassis_stats":{"type":"object","properties":{"dhcp":{"description":"DHCP statistics.","allOf":[{"$ref":"#/components/schemas/chassis_dhcpd_stats"}],"x-private":true},"tftp":{"description":"TFTP statistics.","allOf":[{"$ref":"#/components/schemas/chassis_tftp_stats"}],"x-private":true},"ntpd":{"description":"NTP daemon statistics.","allOf":[{"$ref":"#/components/schemas/chassis_ntpd_stats"}],"x-private":true},"model":{"description":"The chassis model name.","type":"string","example":"chassis_model"},"version":{"description":"Full version number of the firmware. Deprecated. Version could be found at `chassis_config/firmware_version`","deprecated":true,"x-delete-at":"24.10","allOf":[{"$ref":"#/components/schemas/chassis_version"}],"example":"21.09.1-234"},"next_version":{"deprecated":true,"x-delete-at":"24.10","description":"The latest available version of the firmware, if any. Deprecated. Last available version could be obtained from `chassis_firmwares_list`","allOf":[{"$ref":"#/components/schemas/chassis_version"}]},"serial_number":{"description":"The serial number of the chassis.","type":"string","example":"2174220024"},"hardware_id":{"description":"MAC address of the manage0 interface.","type":"string"},"hostname":{"type":"string","description":"Hostname of the server.","example":"coder1.example.com"},"ntp_clock_synchronized":{"type":"boolean","description":"Whether a system clock synchronized with NTP server"},"system_time":{"type":"number","format":"utc_ms","description":"Chassis system time (in UTC milliseconds)","x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000}}},"chassis_dhcpd_stats":{"type":"object","properties":{"error":{"description":"The error code, if any.","type":"string","enum":["listen_failure","port_busy","no_interface"]},"leases":{"description":"The list of leased IP addresses.","type":"array","items":{"type":"object","properties":{"mac":{"description":"MAC address corresponding to the IP address.","type":"string"},"ip":{"description":"IP address.","type":"string"},"count":{"description":"The number of uses.","type":"integer"},"last_seen_at":{"description":"When the IP address was used the last time.","type":"integer"}}},"default":[]}}},"chassis_tftp_stats":{"type":"object","properties":{"error":{"description":"Error code, if any.","type":"string","enum":["listen_failure","port_busy","no_interface"]},"file_count":{"description":"The number of files sent over TFTP.","type":"integer"},"sent_bytes":{"description":"The number of bytes sent over TFTP.","type":"integer"}}},"chassis_ntpd_stats":{"type":"object","properties":{"port":{"description":"The port used for NTP daemon.","type":"integer"},"requests_count":{"description":"The number of requests sent.","type":"integer"}}},"chassis_product":{"type":"string","oneOf":[{"title":"Coder","const":"coder_transcoder","description":"Basic coder with transcoding support"},{"title":"Vision Coder","const":"coder_vision","description":"Coder with video analytic support"},{"title":"DVB Coder","const":"coder_dvb","description":"Basic coder with transcoding support and DVB output"}]},"chassis_version":{"type":"string"},"server_meta":{"type":"string"},"server_stats":{"allOf":[{"$ref":"#/components/schemas/server_stats_whoami"},{"$ref":"#/components/schemas/server_stats_streamer"},{"$ref":"#/components/schemas/server_stats_network"},{"$ref":"#/components/schemas/server_stats_events"}]},"server_stats_events":{"type":"object","properties":{"events":{"type":"object","description":"Events statistics","properties":{"resent_events":{"description":"Number of events, which have been retransmitted due to network issues.\\nThe counter relates with events sinks `resend_timeout` parameter.\\n","type":"integer","example":100},"dropped_events":{"description":"Number of events, which have been dropped due to buffer limitation\\nconfigured by events sinks `resend_limit` parameter.\\n","type":"integer","example":100}}}}},"server_config":{"allOf":[{"$ref":"#/components/schemas/server_config_base"},{"$ref":"#/components/schemas/server_config_full"},{"$ref":"#/components/schemas/server_config_external"},{"$ref":"#/components/schemas/server_config_stats"},{"$ref":"#/components/schemas/openmetrics_labels"}],"description":"Global server configuration and current runtime status"},"server_config_stats":{"type":"object","properties":{"stats":{"allOf":[{"$ref":"#/components/schemas/server_stats"}],"description":"Server runtime stats."}}},"server_config_external":{"type":"object","properties":{"config_external":{"type":"string","format":"url","description":"Specify stream config backend.","example":"http://central.example.com/streamer/api/v3/streamers","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/centralized-cluster-configuration-with-config-external/"},"x-format-description":"url"}}},"activate":{"allOf":[{"$ref":"#/components/schemas/license"},{"$ref":"#/components/schemas/admin_credentials"}]},"license":{"type":"object","properties":{"key":{"type":"string","description":"License key","example":"l4|QSBkdW1teSBsaWNlbnNlIGtleQ==|eWVrIGVzbmVjaWwgeW1tdWQgQQ=="}},"required":["key"]},"license_activation":{"type":"object","properties":{"version":{"type":"string","description":"Version number","example":"22.07","x-primary-key":true},"payload":{"type":"string","description":"Base64 encoded string","example":"QSBwYXJ0IG9mIGEgZHVtbXkgYWN0aXZhdGlvbiBwYXlsb2FkIHN0cmluZw=="}},"required":["version","payload"]},"license_client":{"type":"object","properties":{"ip":{"description":"The client API.","type":"string"},"connected_at":{"description":"Date and time the client connected.","type":"integer"}}},"license_request":{"type":"object","properties":{"payload":{"description":"JSON with license request data.","type":"string"}}},"vsaas_config":{"type":"object","properties":{"watcher_url":{"type":"string","description":"All requests to /vsaas and /watcher will be proxied to this url.\\nWatcher will not be launched by flussonic with this option.\\n"},"central_url":{"type":"string","description":"All requests to /central will be proxied to this url.\\n"}}},"camera_alarm_config":{"type":"object","properties":{"listen":{"description":"The `smtp://` link to get camera alarms from.","allOf":[{"$ref":"#/components/schemas/listen_spec"}]},"catch":{"description":"The list of keywords in the e-mails that are considered alarms.","type":"array","items":{"type":"string"}}}},"vision_config":{"type":"object","properties":{"jpeg_vector_helper":{"description":"Enables JPEG generation for recognized objects. By default, vision process will generate only text events.","type":"string"},"hw":{"description":"Hardware device type to be used for a vision process.","type":"string"},"debug":{"description":"The debug option. Description is not required.","type":"boolean","x-private":true},"face_only_detect":{"description":"The debug option. Description is not required.","type":"boolean","x-private":true},"face_ssd_net_path":{"description":"The debug option. Description is not required.","type":"string","format":"disk_path","x-private":true,"x-format-description":"disk_path"},"face_recon_net_path":{"description":"The debug option. Description is not required.","type":"string","format":"disk_path","x-private":true,"x-format-description":"disk_path"},"ssd_net_path":{"description":"The debug option. Description is not required.","type":"string","format":"disk_path","x-private":true,"x-format-description":"disk_path"},"lp_net_path":{"description":"The debug option. Description is not required.","type":"string","format":"disk_path","x-private":true,"x-format-description":"disk_path"}}},"iptv_config":{"type":"object","properties":{"database":{"description":"DB connection string.","type":"string"}}},"subscribers_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"subscribers":{"items":{"$ref":"#/components/schemas/subscriber_config"},"type":"array","description":"List of fetched subscribers according to query parameters."}}}]},"subscriber_config":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Unique identifier of the subscriber.\\n","example":"client01","readOnly":true},"token":{"type":"string","description":"Simple static unique token that will be automatically created for the\\nsubscriber if not provided.\\n\\nThis token can be used in play URLs.\\n\\nShould be URL-friendly.\\n","example":"ybBb5CFLqSFYc2"},"max_sessions":{"type":"integer","description":"Limit of simulateously played sessions for this subscriber.\\n","example":3},"packages":{"type":"array","items":{"type":"string","format":"package_name","x-format-description":"package_name"},"default":[],"description":"List of available packages of channels for this subscriber.\\n\\nChannels (streams) are not added directly, only via packages.\\n"}}},"packages_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"packages":{"items":{"$ref":"#/components/schemas/package_config"},"type":"array","description":"List of fetched packages according to query parameters."}}}]},"package_config":{"type":"object","properties":{"name":{"description":"The package name.","type":"string","readOnly":true},"channels":{"description":"The list of channels in the package.","type":"array","items":{"type":"string"},"default":[]}},"required":["name"]},"watcher_agents_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"agents":{"items":{"$ref":"#/components/schemas/watcher_agent_config"},"type":"array","description":"The list of Agents fetched according to the query parameters."}}}]},"certificate_save_request":{"type":"object","required":["cert","cacert","private_key"],"properties":{"cert":{"description":"Server certificate file. \\nClients check this certificate to make sure the server is trusted.\\n","type":"string","format":"byte","x-format-description":"byte"},"cacert":{"description":"CA certificate file. \\nThe server uses the CA certificate to check that \\nall connecting clients are trusted by the CA (Certification Authority).\\n","type":"string","format":"byte","x-format-description":"byte"},"private_key":{"description":"Server private key file. \\nThe private key is used for encryption/decryption of data sent between the server and clients.\\n","type":"string","format":"byte","x-format-description":"byte"}}},"stream_dvr_ranges_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"ranges":{"description":"List of DVR ranges.","type":"array","items":{"$ref":"#/components/schemas/dvr_range"}}}}]},"stream_dvr_locks_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"locks":{"description":"List of locked DVR ranges.","type":"array","items":{"$ref":"#/components/schemas/dvr_range"}}}}]},"templates_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"templates":{"items":{"$ref":"#/components/schemas/template_config"},"type":"array","description":"List of templates."}}}]},"transponder_ts_descriptors_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"ts_descriptors":{"description":"The list of transport stream descriptors. Descriptors are added to NIT and SDT.","type":"array","items":{"$ref":"#/components/schemas/ts_descriptor"}}}}]},"transponder_others_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"others":{"description":"The list of other multiplexers added for the current multiplexer.","items":{"$ref":"#/components/schemas/transponder_other"},"type":"array"}}}]},"transponder_programs_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"programs":{"description":"The list of programs configured in the multiplexer.","type":"array","items":{"$ref":"#/components/schemas/transponder_program"}}}}]},"transponder_pushes_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"pushes":{"description":"The list of pushes configured for the multiplexer.","type":"array","items":{"$ref":"#/components/schemas/transponder_push"}}}}]},"transponder_time_offsets_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"time_offsets":{"description":"The list of time offsets.","type":"array","items":{"$ref":"#/components/schemas/transponder_time_offset"}}}}]},"transponders_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"$ref":"#/components/schemas/openmetrics_labels"},{"type":"object","properties":{"transponders":{"description":"The list of multiplexers.","type":"array","items":{"$ref":"#/components/schemas/transponder_config"}}}}]},"dvb_cards_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"dvb_cards":{"description":"The list of DVB cards configured on the server.","type":"array","items":{"$ref":"#/components/schemas/dvb_card_config"}}}}]},"available_events_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"events":{"description":"The list of available events.","type":"array","items":{"$ref":"#/components/schemas/streamer_event1"}}}}]},"caches_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"caches":{"description":"The list of caches.","type":"array","items":{"$ref":"#/components/schemas/cache_config"}}}}]},"dvrs_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"$ref":"#/components/schemas/openmetrics_labels"},{"type":"object","properties":{"dvrs":{"description":"Configurations of the DVRs.","type":"array","items":{"$ref":"#/components/schemas/dvr_config"}}}}]},"dvr_disks_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"disks":{"description":"Configurations of the RAID disks.","type":"array","items":{"$ref":"#/components/schemas/raid_disk_config"}}}}]},"peers_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"peers":{"description":"The list of peers.","type":"array","items":{"$ref":"#/components/schemas/peer_config"}}}}]},"balancers_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"balancers":{"description":"The list of balancers.","type":"array","items":{"$ref":"#/components/schemas/balancer_config"}}}}]},"sources_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"sources":{"description":"The list of sources.","type":"array","items":{"$ref":"#/components/schemas/source_config"}}}}]},"logos_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"logos":{"description":"The array of logo files.","type":"array","items":{"$ref":"#/components/schemas/logo_file"}}}}]},"media_info_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"media_info_list":{"description":"The list of `media_info` for each program transmitted via the DVB card.","type":"array","items":{"$ref":"#/components/schemas/media_info"}}}}]},"license_activations_list":{"type":"object","properties":{"activations":{"description":"The list of license activations.","type":"array","items":{"$ref":"#/components/schemas/license_activation"}}}},"license_clients_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"license_clients":{"description":"The list of license clients.","type":"array","items":{"$ref":"#/components/schemas/license_client"}}}}]},"file_processor_config":{"type":"object","properties":{"path":{"description":"The directory where Flussonic puts output files.","type":"string","format":"disk_path","x-format-description":"disk_path"}}},"file_processor_job":{"description":"Video files processing request","type":"object","properties":{"input_files":{"description":"Input files","type":"array","minItems":1,"items":{"type":"string","format":"disk_path","x-format-description":"disk_path"}},"output_file":{"description":"Prefix of the output file. Resulting name of the output file \\nhas the following structure: {output_file}.processed.{timestamp}.mp4.\\n","type":"string"},"filters":{"description":"Processing filters","type":"array","minItems":1,"items":{"$ref":"#/components/schemas/file_processor_filter"}},"id":{"description":"Job id","type":"string","readOnly":true},"status":{"description":"Job status.","type":"string","enum":["new","running","done","error"],"readOnly":true},"size":{"description":"Output file size","type":"integer","readOnly":true},"duration":{"description":"Output file duration","type":"integer","readOnly":true},"progress":{"description":"Percent done","type":"integer","minimum":0,"maximum":100,"readOnly":true},"errors":{"description":"List of errors","type":"array","items":{"$ref":"#/components/schemas/error"},"readOnly":true}}},"file_processor_filter":{"oneOf":[{"$ref":"#/components/schemas/file_processor_filter_overlay"},{"$ref":"#/components/schemas/file_processor_filter_crop"},{"$ref":"#/components/schemas/file_processor_filter_mute"},{"$ref":"#/components/schemas/file_processor_filter_mosaic"},{"$ref":"#/components/schemas/file_processor_filter_transcoder"}],"discriminator":{"propertyName":"group","mapping":{"overlay":"#/components/schemas/file_processor_filter_overlay","crop":"#/components/schemas/file_processor_filter_crop","mute":"#/components/schemas/file_processor_filter_mute","mosaic":"#/components/schemas/file_processor_filter_mosaic","transcoder":"#/components/schemas/file_processor_filter_transcoder"}}},"file_processor_filter_overlay":{"type":"object","required":["group","start","stop","position"],"properties":{"group":{"type":"string","title":"Overlay","const":"overlay","description":"Put black rectangle to the specified place"},"start":{"description":"Filter start time","type":"integer","format":"milliseconds","x-format-description":"milliseconds"},"stop":{"description":"Filter end time","type":"integer","format":"milliseconds","x-format-description":"milliseconds"},"position":{"description":"Overlay position at the output image","type":"object","required":["x1","y1","x2","y2"],"properties":{"x1":{"description":"Top overlay coordinate","type":"integer"},"y1":{"description":"Left overlay coordinate","type":"integer"},"x2":{"description":"Right overlay coordinate","type":"integer"},"y2":{"description":"Bottom overlay coordinate","type":"integer"}}}}},"file_processor_filter_crop":{"type":"object","required":["group","start","stop"],"properties":{"group":{"type":"string","title":"Crop","const":"crop","description":"Cut off interval [start, stop] from the output"},"start":{"description":"Filter start time","type":"integer","format":"milliseconds","x-format-description":"milliseconds"},"stop":{"description":"Filter end time","type":"integer","format":"milliseconds","x-format-description":"milliseconds"}}},"file_processor_filter_mute":{"type":"object","required":["group","start","stop"],"properties":{"group":{"type":"string","title":"Mute","const":"mute","description":"Mute audio on interval [start, stop]"},"start":{"description":"Filter start time","type":"integer","format":"milliseconds","x-format-description":"milliseconds"},"stop":{"description":"Filter end time","type":"integer","format":"milliseconds","x-format-description":"milliseconds"}}},"file_processor_filter_mosaic":{"type":"object","required":["group"],"properties":{"group":{"type":"string","title":"Mosaic","const":"mosaic","description":"Combine all input files into single image. Cannot be used with other filters"}}},"file_processor_filter_transcoder":{"type":"object","required":["group","transcoder"],"properties":{"group":{"type":"string","title":"Transcoder","const":"transcoder","description":"Transcode the input file. Cannot be used with other filters"},"transcoder":{"description":"Transcoder configuration","oneOf":[{"$ref":"#/components/schemas/transcoder_opts"},{"$ref":"#/components/schemas/media_info"}]}}},"admin_session":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Session id.","example":"05cec7ee-fbd0-11ed-be56-0242ac120002","x-format-description":"uuid"},"ui":{"description":"The using UI type.","type":"string","oneOf":[{"const":"mobile"},{"const":"tablet"},{"const":"desktop"}],"example":"mobile"},"opened_at":{"type":"integer","format":"utc","description":"The time when the admin session started.","example":1643789953,"x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000},"duration":{"type":"integer","format":"milliseconds","description":"The session duration.","x-format-description":"milliseconds"},"pages_sessions":{"type":"array","items":{"type":"object","properties":{"page":{"type":"string","description":"The path to the page from the address line.","example":"/streams"},"id":{"type":"string","format":"uuid","description":"Page session id.","example":"05cec7ee-fbd0-11ed-be56-0242ac120002","x-format-description":"uuid"},"visit_count":{"type":"integer","description":"The number of visits to the page.","example":5}}},"description":"The sessions of the pages."}}}}}}')},106:function(e,t,r){"use strict";var n=r(404),o=(r(2),r(1)),i=r(72),a=r(0);function s(e){return(s="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}var c=["isSwitch","isRadio","checked","onChange","value","label","labelPlacement","disabled","color","size","HelperDocProps","justifyContent","style"];function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?p(Object(r),!0).forEach((function(t){d(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function d(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==s(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===s(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var f={name:"ti75j2",styles:"margin:0"},b=function(e){var t=e.isSwitch,r=e.isRadio,s=e.checked,p=e.onChange,d=e.value,b=e.label,h=e.labelPlacement,y=e.disabled,g=e.color,v=e.size,_=e.HelperDocProps,O=e.justifyContent,j=e.style,x=m(e,c),w=t&amp;&amp;o.bc||r&amp;&amp;o.Qb||o.s;return Object(a.c)("div",{style:u({display:"flex",alignItems:"center",justifyContent:O},j)},Object(a.c)(o.R,{css:f,label:b,disabled:y,onClick:function(e){return e.stopPropagation()},labelPlacement:h,control:Object(a.c)(w,l({checked:s,onChange:p,onClick:function(e){return e.stopPropagation()},value:d,color:g,size:v,inputProps:u(u({},x.inputProps),{},{"data-testid":x["data-testid"]})},n.a(["data-testid","inputProps"],x)))}),_&amp;&amp;Object(a.c)(i.a,_))};b.defaultProps={isSwitch:!1,isRadio:!1,disabled:!1,value:void 0,color:"default",size:"medium",labelPlacement:"end",HelperDocProps:void 0,"data-testid":void 0,onChange:function(){},label:void 0,justifyContent:"center",style:{}},t.a=b},11:function(e,t,r){"use strict";r.d(t,"w",(function(){return s})),r.d(t,"m",(function(){return c})),r.d(t,"x",(function(){return l})),r.d(t,"n",(function(){return p})),r.d(t,"f",(function(){return u})),r.d(t,"b",(function(){return d})),r.d(t,"p",(function(){return m})),r.d(t,"a",(function(){return f})),r.d(t,"t",(function(){return b})),r.d(t,"s",(function(){return h})),r.d(t,"u",(function(){return y})),r.d(t,"q",(function(){return g})),r.d(t,"r",(function(){return v})),r.d(t,"i",(function(){return _})),r.d(t,"k",(function(){return O})),r.d(t,"l",(function(){return j})),r.d(t,"j",(function(){return x})),r.d(t,"g",(function(){return w})),r.d(t,"d",(function(){return k})),r.d(t,"c",(function(){return S})),r.d(t,"y",(function(){return P})),r.d(t,"e",(function(){return T})),r.d(t,"v",(function(){return C})),r.d(t,"h",(function(){return I})),r.d(t,"o",(function(){return A}));var n,o,i,a=r(531),s="usb",c="offline",l="g4",p="o4",u="please_use_one_external_mode_for_all_nvenc_transcoders",d="cloud",m="streamer",f="central",b="running",h="no_license",y="starting",g="broken_config",v="license_failure",_=!1,O="streamer"===m,j=!1,x=!1,w=["16","32","48","64","128"],k={streams:"streams",templates:"templates"},S={stream:"stream",template:"template",multiplexer:"multiplexer",source:"source",vod:"vod",dvbCard:"dvbCard",peer:"peer",agent:"agent",iptv_user:"iptv_user",iptv_package:"iptv_package"},P={query:"query",sort:"sort",page:"page",cursor:"cursor",limit:"limit",named_by:"named_by",status:"status",feature:"feature",start:"start",end:"end",stream_name:"stream_name",from:"from",to:"to",user_id:"user_id",ip:"ip",useragent:"useragent",duration_lt:"duration_lt",duration_gt:"duration_gt",server_hostname:"server_hostname",view:"view",proto:"proto",episode_type:"episode_type",opened_at:"opened_at",opened_at_gt:"opened_at_gt",opened_at_lt:"opened_at_lt",media:"media",license_plate_text:"license_plate_text",response_code:"response_code",organizationId:"organizationId",is_unknown:"is_unknown",group_view:"group_view",auto_update:"auto_update",dvr_is_not:"dvr_is_not",onvif_is_not:"onvif_is_not",disabled:"disabled",agent_is_not:"agent_is_not",vision_is_not:"vision_is_not",expiration:"expiration",q:"q",person:"person",name:"name"},T={face:null===(n=a.a.schemas.vision_episode_face.allOf[1].properties)||void 0===n?void 0:n.episode_type.const,vehicle:null===(o=a.a.schemas.vision_episode_vehicle.allOf[1].properties)||void 0===o?void 0:o.episode_type.const,generic:null===(i=a.a.schemas.episode_generic.allOf[1].properties)||void 0===i?void 0:i.episode_type.const},C="telemetry_data",I=window.location.host.includes("front-ci.")||window.location.host.includes("127.0.0.1"),A=3e3},115:function(e,t,r){"use strict";var n=r(126),o=r.n(n),i=r(78),a=r(11),s=new(r(524).a)("billingAuth");function c(e){return(c="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function p(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){u(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==c(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==c(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===c(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}r.d(t,"a",(function(){return m})),r.d(t,"b",(function(){return b})),r.d(t,"c",(function(){return h}));var d=r(704)({storeAsString:!0}),m="MediaServerAuth",f=function(){var e=!(arguments.length&gt;0&amp;&amp;void 0!==arguments[0])||arguments[0],t=Object(i.b)("streamer_host"),r="/streamer/api/v3";return"".concat(t).concat(e?r:"")},b=function(){if(a.i){if(s.activeAccessToken)return"Bearer ".concat(s.activeAccessToken)}else{var e=localStorage.getItem(m);if(e){var t=JSON.parse(e);return Object(i.d)({login:t.login,password:t.password})}}},h=function(){var e=!(arguments.length&gt;0&amp;&amp;void 0!==arguments[0])||arguments[0],t=o.a.create({baseURL:f(e),headers:p(p({},i.c),{},{"Content-Type":"application/json"}),transformResponse:function(e){var t,r;return"string"==typeof e&amp;&amp;e.startsWith('{"')?d.parse(e):null===o.a||void 0===o.a?void 0:null===(t=o.a.defaults)||void 0===t?void 0:null===(r=t.transformResponse)||void 0===r?void 0:r[0](e)}});return t.interceptors.request.use((function(e){var t=b();return t&amp;&amp;(e.headers=p(p({},e.headers),{},{Authorization:t})),e})),t}},117:function(e,t,r){"use strict";r.d(t,"b",(function(){return p})),r.d(t,"a",(function(){return u}));var n=r(145),o=r(25),i=r(107);function a(e){return(a="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){l(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var p=function(e,t){return function(r){var n=r.result||{isValid:!0},o=e(r);return c(c({},r),{},{result:{isValid:n.isValid&amp;&amp;o,error:o?n.error:[n.error,t].join(" ")}})}},u=function(){for(var e=arguments.length,t=new Array(e),r=0;r&lt;e;r++)t[r]=arguments[r];return n.a.apply(o,[i.a("result")].concat(t))}},1183:function(e,t,r){},123:function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(2),o=r.n(n),i=r(66),a=function(){var e=o.a.useContext(i.a);return{onError:e.onError,onErrorResolve:e.onErrorResolve,onAllErrorsResolve:e.onAllErrorsResolve,areErrorsExists:e.areErrorsExists,errors:e.errors}}},1245:function(e,t,r){var n={"./en.json":[1553,2]};function o(e){if(!r.o(n,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=n[e],o=t[0];return r.e(t[1]).then((function(){return r.t(o,3)}))}o.keys=function(){return Object.keys(n)},o.id=1245,e.exports=o},1246:function(e,t,r){var n={"./en.json":[1554,0],"./ru.json":[1558,9]};function o(e){if(!r.o(n,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=n[e],o=t[0];return r.e(t[1]).then((function(){return r.t(o,3)}))}o.keys=function(){return Object.keys(n)},o.id=1246,e.exports=o},1247:function(e,t,r){var n={"./en.json":[1555,3],"./ru.json":[1559,10]};function o(e){if(!r.o(n,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=n[e],o=t[0];return r.e(t[1]).then((function(){return r.t(o,3)}))}o.keys=function(){return Object.keys(n)},o.id=1247,e.exports=o},1248:function(e,t,r){var n={"./en.json":[1556,4],"./ru.json":[1560,12]};function o(e){if(!r.o(n,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=n[e],o=t[0];return r.e(t[1]).then((function(){return r.t(o,3)}))}o.keys=function(){return Object.keys(n)},o.id=1248,e.exports=o},1249:function(e,t,r){var n={"./en.json":[1557,1]};function o(e){if(!r.o(n,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=n[e],o=t[0];return r.e(t[1]).then((function(){return r.t(o,3)}))}o.keys=function(){return Object.keys(n)},o.id=1249,e.exports=o},125:function(e,t,r){"use strict";r.d(t,"b",(function(){return n})),r.d(t,"a",(function(){return o})),r.d(t,"c",(function(){return i}));var n=1,o=100,i=[10,20,50,100]},1250:function(e,t,r){},13:function(e,t,r){"use strict";r.d(t,"Lb",(function(){return bt})),r.d(t,"Mb",(function(){return ht})),r.d(t,"xb",(function(){return yt})),r.d(t,"zb",(function(){return gt})),r.d(t,"Ab",(function(){return vt})),r.d(t,"Db",(function(){return _t})),r.d(t,"yb",(function(){return Ot})),r.d(t,"kc",(function(){return jt})),r.d(t,"Kb",(function(){return wt})),r.d(t,"Gb",(function(){return St})),r.d(t,"Ib",(function(){return Tt})),r.d(t,"Fb",(function(){return Ct})),r.d(t,"Jb",(function(){return It})),r.d(t,"Hb",(function(){return Dt})),r.d(t,"l",(function(){return Et})),r.d(t,"m",(function(){return Nt})),r.d(t,"k",(function(){return Lt})),r.d(t,"j",(function(){return Rt})),r.d(t,"f",(function(){return qt})),r.d(t,"Cb",(function(){return Mt})),r.d(t,"h",(function(){return Ut})),r.d(t,"g",(function(){return Bt})),r.d(t,"E",(function(){return Vt})),r.d(t,"F",(function(){return Gt})),r.d(t,"G",(function(){return Kt})),r.d(t,"jb",(function(){return Jt})),r.d(t,"o",(function(){return Xt})),r.d(t,"p",(function(){return Zt})),r.d(t,"q",(function(){return er})),r.d(t,"r",(function(){return tr})),r.d(t,"n",(function(){return rr})),r.d(t,"lb",(function(){return or})),r.d(t,"mb",(function(){return ar})),r.d(t,"J",(function(){return sr})),r.d(t,"K",(function(){return lr})),r.d(t,"I",(function(){return pr})),r.d(t,"H",(function(){return ur})),r.d(t,"mc",(function(){return dr})),r.d(t,"i",(function(){return fr})),r.d(t,"rc",(function(){return hr})),r.d(t,"sc",(function(){return gr})),r.d(t,"oc",(function(){return vr})),r.d(t,"pc",(function(){return Or})),r.d(t,"qc",(function(){return jr})),r.d(t,"nc",(function(){return xr})),r.d(t,"u",(function(){return wr})),r.d(t,"v",(function(){return Sr})),r.d(t,"t",(function(){return Pr})),r.d(t,"s",(function(){return Tr})),r.d(t,"Eb",(function(){return Cr})),r.d(t,"Bb",(function(){return Ir})),r.d(t,"kb",(function(){return Ar})),r.d(t,"ac",(function(){return Dr})),r.d(t,"Wb",(function(){return $r})),r.d(t,"Xb",(function(){return Nr})),r.d(t,"Yb",(function(){return Lr})),r.d(t,"Zb",(function(){return Rr})),r.d(t,"Vb",(function(){return qr})),r.d(t,"ic",(function(){return Mr})),r.d(t,"jc",(function(){return Ur})),r.d(t,"fc",(function(){return zr})),r.d(t,"gc",(function(){return Br})),r.d(t,"hc",(function(){return Vr})),r.d(t,"Y",(function(){return Wr})),r.d(t,"A",(function(){return Gr})),r.d(t,"B",(function(){return Yr})),r.d(t,"y",(function(){return Jr})),r.d(t,"z",(function(){return Xr})),r.d(t,"x",(function(){return Zr})),r.d(t,"w",(function(){return en})),r.d(t,"D",(function(){return rn})),r.d(t,"C",(function(){return nn})),r.d(t,"ib",(function(){return on})),r.d(t,"gb",(function(){return sn})),r.d(t,"hb",(function(){return ln})),r.d(t,"fb",(function(){return pn})),r.d(t,"rb",(function(){return un})),r.d(t,"sb",(function(){return mn})),r.d(t,"ob",(function(){return fn})),r.d(t,"pb",(function(){return hn})),r.d(t,"qb",(function(){return yn})),r.d(t,"nb",(function(){return gn})),r.d(t,"V",(function(){return vn})),r.d(t,"W",(function(){return On})),r.d(t,"U",(function(){return jn})),r.d(t,"T",(function(){return xn})),r.d(t,"Z",(function(){return wn})),r.d(t,"Q",(function(){return Sn})),r.d(t,"S",(function(){return Pn})),r.d(t,"R",(function(){return Tn})),r.d(t,"c",(function(){return Cn})),r.d(t,"d",(function(){return An})),r.d(t,"b",(function(){return Dn})),r.d(t,"a",(function(){return En})),r.d(t,"M",(function(){return $n})),r.d(t,"N",(function(){return Ln})),r.d(t,"O",(function(){return Rn})),r.d(t,"L",(function(){return qn})),r.d(t,"db",(function(){return Mn})),r.d(t,"eb",(function(){return Un})),r.d(t,"bb",(function(){return zn})),r.d(t,"cb",(function(){return Bn})),r.d(t,"ab",(function(){return Hn})),r.d(t,"Qb",(function(){return Vn})),r.d(t,"Rb",(function(){return Gn})),r.d(t,"Ob",(function(){return Kn})),r.d(t,"Pb",(function(){return Yn})),r.d(t,"Nb",(function(){return Jn})),r.d(t,"ub",(function(){return Qn})),r.d(t,"vb",(function(){return Zn})),r.d(t,"wb",(function(){return eo})),r.d(t,"tb",(function(){return to})),r.d(t,"Sb",(function(){return ro})),r.d(t,"Tb",(function(){return no})),r.d(t,"Ub",(function(){return io})),r.d(t,"lc",(function(){return ao})),r.d(t,"X",(function(){return so})),r.d(t,"P",(function(){return lo})),r.d(t,"cc",(function(){return po})),r.d(t,"dc",(function(){return mo})),r.d(t,"bc",(function(){return fo})),r.d(t,"ec",(function(){return bo})),r.d(t,"e",(function(){return ho}));var n=r(4),o=r(8),i=r(115),a=r(9),s=r(7),c=r(14),l=["params","body","config"],p=["params","body","config"],u=["params","body","config"],d=["params","body","config"],m=["params","body","config"],f=["params","body","config"],b=["params","body","config"],h=["params","body","config"],y=["params","body","config"],g=["params","body","config"],v=["params","body","config"],_=["params","body","config"],O=["params","body","config"],j=["params","body","config"],x=["params","body","config"],w=["params","body","config"],k=["params","body","config"],S=["params","body","config"],P=["params","body","config"],T=["params","body","config"],C=["params","body","config"],I=["params","body","config"],A=["params","body","config"],D=["params","body","config"],E=["params","body","config"],$=["params","body","config"],N=["params","body","config"],L=["params","body","config"],R=["params","body","config"],q=["params","body","config"],M=["params","body","config"],F=["params","body","config"],U=["params","body","config"],z=["params","body","config"],B=["params","body","config"],H=["params","body","config"],V=["params","body","config"],W=["params","body","config"],G=["params","body","config"],K=["params","body","config"],Y=["params","body","config"],J=["params","body","config"],Q=["params","body","config"],X=["params","body","config"],Z=["params","body","config"],ee=["params","body","config"],te=["params","body","config"],re=["params","body","config"],ne=["params","body","config"],oe=["params","body","config"],ie=["params","body","config"],ae=["params","body","config"],se=["params","body","config"],ce=["params","body","config"],le=["params","body","config"],pe=["params","body","config"],ue=["params","body","config"],de=["params","body","config"],me=["params","body","config"],fe=["params","body","config"],be=["params","body","config"],he=["params","body","config"],ye=["params","body","config"],ge=["params","body","config"],ve=["params","body","config"],_e=["params","body","config"],Oe=["params","body","config"],je=["params","body","config"],xe=["params","body","config"],we=["params","body","config"],ke=["params","body","config"],Se=["params","body","config"],Pe=["params","body","config"],Te=["params","body","config"],Ce=["params","body","config"],Ie=["params","body","config"],Ae=["params","body","config"],De=["params","body","config"],Ee=["params","body","config"],$e=["params","body","config"],Ne=["params","body","config"],Le=["params","body","config"],Re=["params","body","config"],qe=["params","body","config"],Me=["params","body","config"],Fe=["params","body","config"],Ue=["params","body","config"],ze=["params","body","config"],Be=["params","body","config"],He=["params","body","config"],Ve=["params","body","config"],We=["params","body","config"],Ge=["params","body","config"],Ke=["params","body","config"],Ye=["params","body","config"],Je=["params","body","config"],Qe=["params","body","config"],Xe=["params","body","config"],Ze=["params","body","config"],et=["params","body","config"],tt=["params","body","config"],rt=["params","body","config"],nt=["params","body","config"],ot=["params","body","config"],it=["params","body","config"],at=["params","body","config"],st=["params","body","config"],ct=["params","body","config"];function lt(e){return(lt="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function pt(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}function ut(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function dt(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ut(Object(r),!0).forEach((function(t){mt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ut(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function mt(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==lt(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==lt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===lt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var ft=Object(i.c)(),bt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_streams_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():ht({params:t,config:i})},options:r})},ht=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/streams",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},yt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,u=void 0===c||c,d=e.showErrorMessage,m=void 0===d||d,f=Object(s.b)(),b=f.t,h=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/streams",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.post(c,r,dt({params:l},o))}),(function(){return u&amp;&amp;b("stream_create.successPostAlert")}),Object(n.g)(t)?t:{},m);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,l);return h.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,p);return h.mutate(dt({params:t,body:r,config:n},o))}},gt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/streams/{name}",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},vt=function(){var e=Object(c.useQueryClient)();return function(){return e.refetchQueries(["streamer_stream_get"])}},_t=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,m=void 0===p||p,f=Object(s.b)(),b=f.t,h=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/streams/{name}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;b("stream_save.successPutAlert")}),Object(n.g)(t)?t:{},m);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,u);return h.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,d);return h.mutate(dt({params:t,body:r,config:n},o))}},Ot=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),b=d.t,h=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/streams/{name}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.delete(c,dt({params:l},o))}),(function(){return l&amp;&amp;b("stream_delete.successDeleteAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,m);return h.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,f);return h.mutate(dt({params:t,body:r,config:n},o))}},jt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_ui_settings_get",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():xt({params:t,config:i})},options:r})},xt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/ui_settings",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},wt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_streamers_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():kt({params:t,config:i})},options:r})},kt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/streamers",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},St=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_streamer_get",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():Pt({params:t,config:i})},options:r})},Pt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/streamers/{hostname}",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Tt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/streamers/{hostname}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("streamer_save.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,b);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,h);return f.mutate(dt({params:t,body:r,config:n},o))}},Ct=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/streamers/{hostname}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.delete(c,dt({params:l},o))}),(function(){return l&amp;&amp;m("streamer_delete.successDeleteAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,y);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,g);return f.mutate(dt({params:t,body:r,config:n},o))}},It=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_streamer_tls_certificate_get",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():At({params:t,config:i})},options:r})},At=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/streamers/{hostname}/letsencrypt",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Dt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/streamers/{hostname}/letsencrypt",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.post(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("streamer_letsencrypt_issue.successPostAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,v);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,_);return f.mutate(dt({params:t,body:r,config:n},o))}},Et=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_auth_backends_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():$t({params:t,config:i})},options:r})},$t=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/auth_backends",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Nt=function(){var e=Object(c.useQueryClient)();return function(){return e.refetchQueries(["streamer_auth_backends_list"])}},Lt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/auth_backends/{name}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("auth_backend_save.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,O);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,j);return f.mutate(dt({params:t,body:r,config:n},o))}},Rt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/auth_backends/{name}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.delete(c,dt({params:l},o))}),(function(){return l&amp;&amp;m("auth_backend_delete.successDeleteAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,x);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,w);return f.mutate(dt({params:t,body:r,config:n},o))}},qt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/admin_view_token",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.post(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("admin_view_token_generate.successPostAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,k);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,S);return f.mutate(dt({params:t,body:r,config:n},o))}},Mt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_stream_layouts_get",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():Ft({params:t,config:i})},options:r})},Ft=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/streams/{name}/layouts",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Ut=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_agents_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():zt({params:t,config:i})},options:r})},zt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/agents",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Bt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_agent_get",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():Ht({params:t,config:i})},options:r})},Ht=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/agents/{id}",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Vt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_dvrs_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():Wt({params:t,config:i})},options:r})},Wt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/dvrs",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Gt=function(){var e=Object(c.useQueryClient)();return function(){return e.refetchQueries(["streamer_dvrs_list"])}},Kt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_episodes_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():Yt({params:t,config:i})},options:r})},Yt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/episodes",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Jt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_persons_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():Qt({params:t,config:i})},options:r})},Qt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/persons",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Xt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_config_get",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():Zt({params:t,config:i})},options:r})},Zt=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/config",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},er=function(){var e=Object(c.useQueryClient)();return function(){return e.refetchQueries(["streamer_config_get"])}},tr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/config",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("config_save.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,P);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,T);return f.mutate(dt({params:t,body:r,config:n},o))}},rr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_cluster_stats_get",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():nr({params:t,config:i})},options:r})},nr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/cluster/stats",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},or=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_sessions_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():ir({params:t,config:i})},options:r})},ir=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/sessions",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},ar=function(){var e=Object(c.useQueryClient)();return function(){return e.refetchQueries(["streamer_sessions_list"])}},sr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_event_sinks_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():cr({params:t,config:i})},options:r})},cr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/event_sinks",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},lr=function(){var e=Object(c.useQueryClient)();return function(){return e.refetchQueries(["streamer_event_sinks_list"])}},pr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/event_sinks/{name}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("event_sink_save.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,C);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,I);return f.mutate(dt({params:t,body:r,config:n},o))}},ur=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/event_sinks/{name}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.delete(c,dt({params:l},o))}),(function(){return l&amp;&amp;m("event_sink_delete.successDeleteAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,A);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,D);return f.mutate(dt({params:t,body:r,config:n},o))}},dr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_usages_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():mr({params:t,config:i})},options:r})},mr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/usages",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},fr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_api_calls_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():br({params:t,config:i})},options:r})},br=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/api_calls",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},hr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_vods_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():yr({params:t,config:i})},options:r})},yr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/vods",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},gr=function(){var e=Object(c.useQueryClient)();return function(){return e.refetchQueries(["streamer_vods_list"])}},vr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_vod_get",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():_r({params:t,config:i})},options:r})},_r=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/vods/{prefix}",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Or=function(){var e=Object(c.useQueryClient)();return function(){return e.refetchQueries(["streamer_vod_get"])}},jr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/vods/{prefix}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("vod_save.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,E);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,$);return f.mutate(dt({params:t,body:r,config:n},o))}},xr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/vods/{prefix}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.delete(c,dt({params:l},o))}),(function(){return l&amp;&amp;m("vod_delete.successDeleteAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,N);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,L);return f.mutate(dt({params:t,body:r,config:n},o))}},wr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_disk_files_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():kr({params:t,config:i})},options:r})},kr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/vods/{prefix}/storages/{storage_index}/files",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Sr=function(){var e=Object(c.useQueryClient)();return function(){return e.refetchQueries(["streamer_disk_files_list"])}},Pr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/vods/{prefix}/storages/{storage_index}/files/{subpath}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("disk_file_save.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,R);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,q);return f.mutate(dt({params:t,body:r,config:n},o))}},Tr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/vods/{prefix}/storages/{storage_index}/files/{subpath}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.delete(c,dt({params:l},o))}),(function(){return l&amp;&amp;m("disk_file_delete.successDeleteAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,M);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,F);return f.mutate(dt({params:t,body:r,config:n},o))}},Cr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/streams/{name}/stop",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.post(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("stream_stop.successPostAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,U);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,z);return f.mutate(dt({params:t,body:r,config:n},o))}},Ir=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/streams/{name}/inputs/{index}/select",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.post(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("stream_input_select.successPostAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,B);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,H);return f.mutate(dt({params:t,body:r,config:n},o))}},Ar=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/sessions/{id}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.delete(c,dt({params:l},o))}),(function(){return l&amp;&amp;m("session_delete.successDeleteAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,V);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,W);return f.mutate(dt({params:t,body:r,config:n},o))}},Dr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_templates_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():Er({params:t,config:i})},options:r})},Er=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/templates",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},$r=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_template_get",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():Nr({params:t,config:i})},options:r})},Nr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/templates/{name}",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Lr=function(){var e=Object(c.useQueryClient)();return function(){return e.refetchQueries(["streamer_template_get"])}},Rr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/templates/{name}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("template_save.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,G);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,K);return f.mutate(dt({params:t,body:r,config:n},o))}},qr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/templates/{name}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.delete(c,dt({params:l},o))}),(function(){return l&amp;&amp;m("template_delete.successDeleteAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Y);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,J);return f.mutate(dt({params:t,body:r,config:n},o))}},Mr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_transponders_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():Fr({params:t,config:i})},options:r})},Fr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/transponders",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Ur=function(){var e=Object(c.useQueryClient)();return function(){return e.refetchQueries(["streamer_transponders_list"])}},zr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/transponders/{name}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.delete(c,dt({params:l},o))}),(function(){return l&amp;&amp;m("transponder_delete.successDeleteAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Q);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,X);return f.mutate(dt({params:t,body:r,config:n},o))}},Br=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_transponder_get",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():Hr({params:t,config:i})},options:r})},Hr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/transponders/{name}",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Vr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/transponders/{name}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("transponder_save.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Z);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,ee);return f.mutate(dt({params:t,body:r,config:n},o))}},Wr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/multiplexers/{name}/xmltv_upload",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.post(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("multiplexer_xmltv_upload.successPostAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,te);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,re);return f.mutate(dt({params:t,body:r,config:n},o))}},Gr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_dvb_cards_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():Kr({params:t,config:i})},options:r})},Kr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/dvb_cards",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Yr=function(){var e=Object(c.useQueryClient)();return function(){return e.refetchQueries(["streamer_dvb_cards_list"])}},Jr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_dvb_card_get",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():Qr({params:t,config:i})},options:r})},Qr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/dvb_cards/{name}",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Xr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/dvb_cards/{name}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("dvb_card_save.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,ne);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,oe);return f.mutate(dt({params:t,body:r,config:n},o))}},Zr=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/dvb_cards/{name}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.delete(c,dt({params:l},o))}),(function(){return l&amp;&amp;m("dvb_card_delete.successDeleteAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,ie);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,ae);return f.mutate(dt({params:t,body:r,config:n},o))}},en=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_dvb_card_available_programs_get",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():tn({params:t,config:i})},options:r})},tn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/dvb_cards/{name}/available_programs",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},rn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/dvrs/{name}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("dvr_save.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,se);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,ce);return f.mutate(dt({params:t,body:r,config:n},o))}},nn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/dvrs/{name}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.delete(c,dt({params:l},o))}),(function(){return l&amp;&amp;m("dvr_delete.successDeleteAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,le);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,pe);return f.mutate(dt({params:t,body:r,config:n},o))}},on=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_peers_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():an({params:t,config:i})},options:r})},an=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/cluster/peers",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},sn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_peer_get",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():cn({params:t,config:i})},options:r})},cn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/cluster/peers/{hostname}",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},ln=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/cluster/peers/{hostname}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("peer_save.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,ue);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,de);return f.mutate(dt({params:t,body:r,config:n},o))}},pn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/cluster/peers/{hostname}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.delete(c,dt({params:l},o))}),(function(){return l&amp;&amp;m("peer_delete.successDeleteAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,me);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,fe);return f.mutate(dt({params:t,body:r,config:n},o))}},un=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_sources_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():dn({params:t,config:i})},options:r})},dn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/cluster/sources",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},mn=function(){var e=Object(c.useQueryClient)();return function(){return e.refetchQueries(["streamer_sources_list"])}},fn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_source_get",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():bn({params:t,config:i})},options:r})},bn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/cluster/sources/{url}",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},hn=function(){var e=Object(c.useQueryClient)();return function(){return e.refetchQueries(["streamer_source_get"])}},yn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/cluster/sources/{url}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("source_save.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,be);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,he);return f.mutate(dt({params:t,body:r,config:n},o))}},gn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/cluster/sources/{url}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.delete(c,dt({params:l},o))}),(function(){return l&amp;&amp;m("source_delete.successDeleteAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,ye);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,ge);return f.mutate(dt({params:t,body:r,config:n},o))}},vn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_logos_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():_n({params:t,config:i})},options:r})},_n=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/logos",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},On=function(){var e=Object(c.useQueryClient)();return function(){return e.refetchQueries(["streamer_logos_list"])}},jn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/logos/{name}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("logo_save.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,ve);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,_e);return f.mutate(dt({params:t,body:r,config:n},o))}},xn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/logos/{name}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.delete(c,dt({params:l},o))}),(function(){return l&amp;&amp;m("logo_delete.successDeleteAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Oe);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,je);return f.mutate(dt({params:t,body:r,config:n},o))}},wn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_opened_files_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():kn({params:t,config:i})},options:r})},kn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/vods/opened_files",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Sn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/activate",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("license_activate.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,xe);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,we);return f.mutate(dt({params:t,body:r,config:n},o))}},Pn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/license",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("license_save.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,ke);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Se);return f.mutate(dt({params:t,body:r,config:n},o))}},Tn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/license",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.delete(c,dt({params:l},o))}),(function(){return l&amp;&amp;m("license_delete.successDeleteAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Pe);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Te);return f.mutate(dt({params:t,body:r,config:n},o))}},Cn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_activations_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():In({params:t,config:i})},options:r})},In=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/license/activations",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},An=function(){var e=Object(c.useQueryClient)();return function(){return e.refetchQueries(["streamer_activations_list"])}},Dn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/license/activations/{version}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("activation_save.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Ce);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Ie);return f.mutate(dt({params:t,body:r,config:n},o))}},En=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/license/activations/{version}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.delete(c,dt({params:l},o))}),(function(){return l&amp;&amp;m("activation_delete.successDeleteAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Ae);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,De);return f.mutate(dt({params:t,body:r,config:n},o))}},$n=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_iptv_get",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():Nn({params:t,config:i})},options:r})},Nn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/iptv",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Ln=function(){var e=Object(c.useQueryClient)();return function(){return e.refetchQueries(["streamer_iptv_get"])}},Rn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/iptv",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("iptv_save.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Ee);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,$e);return f.mutate(dt({params:t,body:r,config:n},o))}},qn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/iptv",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.delete(c,dt({params:l},o))}),(function(){return l&amp;&amp;m("iptv_delete.successDeleteAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Ne);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Le);return f.mutate(dt({params:t,body:r,config:n},o))}},Mn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_packages_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():Fn({params:t,config:i})},options:r})},Fn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/iptv/packages",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Un=function(){var e=Object(c.useQueryClient)();return function(){return e.refetchQueries(["streamer_packages_list"])}},zn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/iptv/packages/{name}",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Bn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/iptv/packages/{name}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("package_save.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Re);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,qe);return f.mutate(dt({params:t,body:r,config:n},o))}},Hn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/iptv/packages/{name}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.delete(c,dt({params:l},o))}),(function(){return l&amp;&amp;m("package_delete.successDeleteAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Me);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Fe);return f.mutate(dt({params:t,body:r,config:n},o))}},Vn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_subscribers_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():Wn({params:t,config:i})},options:r})},Wn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/iptv/subscribers",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Gn=function(){var e=Object(c.useQueryClient)();return function(){return e.refetchQueries(["streamer_subscribers_list"])}},Kn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/iptv/subscribers/{name}",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Yn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/iptv/subscribers/{name}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("subscriber_save.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Ue);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,ze);return f.mutate(dt({params:t,body:r,config:n},o))}},Jn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/iptv/subscribers/{name}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.delete(c,dt({params:l},o))}),(function(){return l&amp;&amp;m("subscriber_delete.successDeleteAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Be);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,He);return f.mutate(dt({params:t,body:r,config:n},o))}},Qn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_ssh_agent_get",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():Xn({params:t,config:i})},options:r})},Xn=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/system/ssh_agent",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},Zn=function(){var e=Object(c.useQueryClient)();return function(){return e.refetchQueries(["streamer_ssh_agent_get"])}},eo=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/system/ssh_agent",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("ssh_agent_save.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Ve);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,We);return f.mutate(dt({params:t,body:r,config:n},o))}},to=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/system/ssh_agent",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.delete(c,dt({params:l},o))}),(function(){return l&amp;&amp;m("ssh_agent_delete.successDeleteAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Ge);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Ke);return f.mutate(dt({params:t,body:r,config:n},o))}},ro=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/system/restart",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.post(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("system_restart.successPostAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Ye);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Je);return f.mutate(dt({params:t,body:r,config:n},o))}},no=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_system_updater_get",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():oo({params:t,config:i})},options:r})},oo=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/system/updater",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},io=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/system/updater",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.post(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("system_updater_update.successPostAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Qe);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Xe);return f.mutate(dt({params:t,body:r,config:n},o))}},ao=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/system/upload_logs",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.post(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("upload_logs.successPostAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,Ze);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,et);return f.mutate(dt({params:t,body:r,config:n},o))}},so=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_logs_download",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():co({params:t,config:i})},options:r})},co=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/system/logs_download",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},lo=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/tls/letsencrypt",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.post(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("letsencrypt_issue.successPostAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,tt);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,rt);return f.mutate(dt({params:t,body:r,config:n},o))}},po=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streamer_tls_certificate_get",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():uo({params:t,config:i})},options:r})},uo=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/tls/certificate",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return ft.get(o,dt({params:i},r))},mo=function(){var e=Object(c.useQueryClient)();return function(){return e.refetchQueries(["streamer_tls_certificate_get"])}},fo=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/tls/certificate",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.delete(c,dt({params:l},o))}),(function(){return l&amp;&amp;m("tls_certificate_delete.successDeleteAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,nt);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,ot);return f.mutate(dt({params:t,body:r,config:n},o))}},bo=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/tls/certificate",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("tls_certificate_save.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,it);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,at);return f.mutate(dt({params:t,body:r,config:n},o))}},ho=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,c=e.showSuccessMessage,l=void 0===c||c,p=e.showErrorMessage,u=void 0===p||p,d=Object(s.b)(),m=d.t,f=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/admin_session_save/{session_id}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):ft.put(c,r,dt({params:l},o))}),(function(){return l&amp;&amp;m("admin_session_save.successPutAlert")}),Object(n.g)(t)?t:{},u);return r?function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,st);return f.mutateAsync(dt({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=pt(e,ct);return f.mutate(dt({params:t,body:r,config:n},o))}}},131:function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=r(460);r.d(t,"b",(function(){return n.a}));var o=r(15),i=Object(o.a)(n.a)((function(e){var t=e.theme,r=e.variant,n=void 0===r?"default":r,o=e.size,i=e.mr,a=e.fontSize,s=void 0===a?16:a;return{border:"1px solid #98A2B2",borderRadius:"4px",padding:"3px",marginRight:t.spacing(null!=i?i:0),backgroundColor:"contained"===n?t.palette.primary.main:"#fff","&amp; svg":{fontSize:"small"===o?13:s,color:"contained"!==n?t.palette.primary.main:"#fff"},"&amp;:hover":{backgroundColor:"contained"===n?t.palette.primary.main:"#fff"}}}))},1349:function(e,t,r){},135:function(e,t,r){"use strict";r.d(t,"b",(function(){return a})),r.d(t,"a",(function(){return s})),r.d(t,"d",(function(){return p})),r.d(t,"c",(function(){return c})),r.d(t,"g",(function(){return l})),r.d(t,"e",(function(){return d})),r.d(t,"f",(function(){return u}));var n=r(48),o=r(22),i=r(4),a="no sources defined",s="expecting publication",c=function(e){var t=e.showInputBitrate,r=e.stats,n=null==r?void 0:r.input_bitrate,o=null==r?void 0:r.output_bitrate,i=null==r?void 0:r.running_transcoder;return o?"".concat(o,"kbit/s").concat(t&amp;&amp;i?" (".concat(n,"kbit/s)"):""):"n/a"},l=function(e,t){var r=e?e.ts_delay:null;return r&gt;(/^(hls|m4f)/i.test(e?e.url:"")?t.hlsLower:t.lower)&amp;&amp;r&lt;t.upper},p=function(e){var t=e.source_error||"error",r=e.ts_delay&amp;&amp;e.ts_delay&gt;8e3?"".concat(t,", ").concat(n.a.shortestTimeFormat(e.ts_delay)," delay"):t,i=!o.b.isUnavailable(e)&amp;&amp;e.source_error.length&lt;20?"".concat(t,", "):"",a=e.retry_count&gt;0,s="".concat(e.retry_count," retries");return{mainText:r,detailText:a&amp;&amp;"".concat(i).concat(s)}},u=function(e){switch(!0){case e&gt;0&amp;&amp;e&lt;700:return"SD";case e&gt;0&amp;&amp;e&lt;1070:return"HD";case e&gt;0&amp;&amp;e&lt;1300:return"FHD";case e&gt;0&amp;&amp;e&gt;=1300:return"UHD";default:return""}},d=function(e){if(e&amp;&amp;e.tracks){var t=e.tracks.filter((function(e){return"video"===e.content})),r=0;return t.forEach((function(e){var t=null==e?void 0:e.height;Object(i.e)(e)&amp;&amp;Object(i.e)(t)&amp;&amp;(r=t&gt;r?t:r)})),u(r)}return""}},1351:function(e,t,r){},1357:function(e,t,r){},144:function(e,t,r){"use strict";r.d(t,"c",(function(){return y})),r.d(t,"b",(function(){return g})),r.d(t,"a",(function(){return v})),r.d(t,"d",(function(){return _}));var n=r(353),o=r(145),i=r(105),a=r(170),s=r(91),c=r(107),l=r(312),p=r(398),u=r(612),d=r(143),m=r(4),f=r(50),b=r(31),h=b.J.global.deviceid,y=n.a(b.h,["size","width"]),g=o.a(b.G,y),v=(o.a(i.a(a.a,-1),s.a(c.a("key")),l.a(o.a(m.d&amp;&amp;m.g,c.a("value"))),p.a,u.a((function(e,t){return{value:e,key:Object(f.c)(t)}}))),function(e){var t=e.transcoderSettings,r=e.transcoderDevices.map((function(e){return[{id:e.id,type:e.type},"".concat(e.name," (").concat(e.id,") ").concat(Object(m.d)(e.load)?" - ".concat(e.load,"%"):""),"".concat(e.id,"_").concat(e.type)]})),n=h(d.a(["global","deviceid"])(t)),o=d.a(["global","hw"])(t),i=r.find((function(e){return e[0].id===n&amp;&amp;e[0].type===o}));return{hardwares:r,currentValueHw:i,resultHw:i?i[0]:null,resultHwFull:i||[null]}}),_=function(e){e.stopPropagation()}},150:function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));r(2);var n=r(525),o=r(0),i=function(e){var t=e.severity,r=e.details,i=void 0===r?null:r;return{anchorOrigin:{horizontal:"right",vertical:"top"},autoHideDuration:7e3,variant:"success",preventDuplicate:!0,content:function(e,r){return Object(o.c)(n.a,{id:e,message:r,severity:t,details:i})}}}},1520:function(e,t,r){},1521:function(e,t,r){},1522:function(e,t,r){},1523:function(e,t,r){},1524:function(e,t,r){},1525:function(e,t,r){},1526:function(e,t,r){},1527:function(e,t,r){},1528:function(e,t,r){},1529:function(e,t,r){},1531:function(e,t,r){},1532:function(e,t,r){},1533:function(e,t,r){"use strict";r.r(t);r(943),r(1154),r(1155);var n=r(2),o=r.n(n),i=r(99),a=r(14),s=r(157),c=r(311),l=r(124),p=r(1),u=r(35),d=r(11),m=r(0);function f(e){return(f="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function b(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==f(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==f(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===f(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var h=Object(c.a)({key:"mui",prepend:!0}),y=function(e){var t=e.primaryColor,r=e.secondaryColor,n=e.fonts,o=e.background,i="body {\n    font-size: 14px;\n    @media (max-width: 767px) {\n      padding-top: 54px;\n    }\n    // background: #D2D9DF;\n  }\n  html, body, #root {\n    height: 100%;\n  }\n  ";n.push(i);var a=n.length&gt;0?n.join(" "):i;return Object(p.sc)({breakpoints:{values:{xs:0,sm:768,md:900,lg:1200,xl:1536}},palette:{primary:{main:t},secondary:{main:r},background:{default:o},text:{primary:"#232323",secondary:"#98A2B2"},warning:{main:"#FF9900"},error:{main:"#d32f2f"},success:{main:"#10B981"},red:{light:p.xc[400],default:p.xc[500],main:p.xc[500],dark:p.xc[700]},grey:{light:p.tc[300],default:p.tc[500],main:p.tc[500],dark:p.tc[700]}},zIndex:{drawer:1100,appBar:1200},typography:{body1:{fontSize:12},useNextVariants:!0,fontFamily:'"CustomFont", "Helvetica", "Arial", sans-serif'},components:{MuiCssBaseline:{styleOverrides:a},MuiInputBase:{styleOverrides:{input:{font:'400 14px CustomFont, "Helvetica", "Arial", sans-serif'}}},MuiInputLabel:{styleOverrides:{root:{font:'400 14px CustomFont, "Helvetica", "Arial", sans-serif'}}},MuiContainer:{styleOverrides:{root:function(e){var t=e.theme;return b(b({},t.breakpoints.up("sm"),{paddingLeft:d.l?"178px":"84px",paddingRight:"19px"}),t.breakpoints.only("sm"),{paddingLeft:d.l?"60px":"84px"})}}},MuiButton:{styleOverrides:{root:{textTransform:"capitalize"},outlinedInherit:{backgroundColor:"#fff",borderColor:"#98A2B2"}}},MuiAlert:{styleOverrides:{filledSuccess:{backgroundColor:"#10B981"}}}}})},g=function(e,t){return"@font-face {\n  font-family: 'CustomFont';\n  font-style: normal;\n  font-display: swap;\n  font-weight: ".concat(t,";\n  src: url(").concat(e,") format('woff2');\n}")},v=function(e){var t=e.children,r=Object(n.useContext)(u.d),o=r.colors,i=r.fonts,a="data:application/font-woff2;charset=utf-8;base64,",s=i?[g("".concat(a).concat(i.regular),400),g("".concat(a).concat(i.light),300),g("".concat(a).concat(i.medium),500)]:[];return Object(m.c)(l.a,{value:h},Object(m.c)(p.hc,{theme:y({primaryColor:null==o?void 0:o.primary,secondaryColor:null==o?void 0:o.secondary,fonts:s,background:null==o?void 0:o.background})},Object(m.c)(p.z,null),Object(m.c)(u.c.Provider,{value:null==r?void 0:r.product},Object(m.c)(u.b.Provider,{value:null==r?void 0:r.menu_items},Object(m.c)(u.a.Provider,{value:null==r?void 0:r.debian_package},t)))))},_=r(13),O=r(532),j=r(7),x=r(869),w=r(866),k=r(126),S=r.n(k);function P(e){var t=e.tags,r=e.brandName,n={};return Object.keys(t).forEach((function(e){n[e]=t[e].replace(/brandName/g,r)})),n}var T=r(78);function C(e){return(C="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function I(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */I=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function l(e,t,r,o){var i=t&amp;&amp;t.prototype instanceof d?t:d,a=Object.create(i.prototype),s=new k(o||[]);return n(a,"_invoke",{value:O(e,r,s)}),a}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=l;var u={};function d(){}function m(){}function f(){}var b={};c(b,i,(function(){return this}));var h=Object.getPrototypeOf,y=h&amp;&amp;h(h(S([])));y&amp;&amp;y!==t&amp;&amp;r.call(y,i)&amp;&amp;(b=y);var g=f.prototype=d.prototype=Object.create(b);function v(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function _(e,t){var o;n(this,"_invoke",{value:function(n,i){function a(){return new t((function(o,a){!function n(o,i,a,s){var c=p(e[o],e,i);if("throw"!==c.type){var l=c.arg,u=l.value;return u&amp;&amp;"object"==C(u)&amp;&amp;r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(u).then((function(e){l.value=e,a(l)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}(n,i,o,a)}))}return o=o?o.then(a,a):a()}})}function O(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return P()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var s=j(a,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&amp;&amp;r.abrupt("return",r.arg);n="executing";var c=p(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===u)continue;return{value:c.arg,done:r.done}}"throw"===c.type&amp;&amp;(n="completed",r.method="throw",r.arg=c.arg)}}}function j(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&amp;&amp;e.iterator.return&amp;&amp;(t.method="return",t.arg=void 0,j(e,t),"throw"===t.method)||"return"!==r&amp;&amp;(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),u;var o=p(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,u;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&amp;&amp;(t.method="next",t.arg=void 0),t.delegate=null,u):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function x(e){var t={tryLoc:e[0]};1 in e&amp;&amp;(t.catchLoc=e[1]),2 in e&amp;&amp;(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function w(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function S(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n&lt;e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:P}}function P(){return{value:void 0,done:!0}}return m.prototype=f,n(g,"constructor",{value:f,configurable:!0}),n(f,"constructor",{value:m,configurable:!0}),m.displayName=c(f,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&amp;&amp;e.constructor;return!!t&amp;&amp;(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,c(e,s,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},v(_.prototype),c(_.prototype,a,(function(){return this})),e.AsyncIterator=_,e.async=function(t,r,n,o,i){void 0===i&amp;&amp;(i=Promise);var a=new _(l(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},v(g),c(g,s,"Generator"),c(g,i,(function(){return this})),c(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=S,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(w),!e)for(var t in this)"t"===t.charAt(0)&amp;&amp;r.call(this,t)&amp;&amp;!isNaN(+t.slice(1))&amp;&amp;(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&amp;&amp;(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o&gt;=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc&lt;=this.prev){var s=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(s&amp;&amp;c){if(this.prev&lt;i.catchLoc)return n(i.catchLoc,!0);if(this.prev&lt;i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev&lt;i.catchLoc)return n(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev&lt;i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n&gt;=0;--n){var o=this.tryEntries[n];if(o.tryLoc&lt;=this.prev&amp;&amp;r.call(o,"finallyLoc")&amp;&amp;this.prev&lt;o.finallyLoc){var i=o;break}}i&amp;&amp;("break"===e||"continue"===e)&amp;&amp;i.tryLoc&lt;=t&amp;&amp;t&lt;=i.finallyLoc&amp;&amp;(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&amp;&amp;t&amp;&amp;(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t&gt;=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),w(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t&gt;=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;w(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:S(e),resultName:t,nextLoc:r},"next"===this.method&amp;&amp;(this.arg=void 0),u}},e}function A(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function D(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?A(Object(r),!0).forEach((function(t){E(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):A(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function E(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==C(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==C(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===C(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function $(e,t,r,n,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}O.a.use(x.a).use(w.a).use(j.a);var N=function(e,t){var n,o;O.a.init({lng:t,fallbackLng:"en",keySeparator:!1,interpolation:{escapeValue:!1},backend:{loadPath:"{{lng}}",parse:function(e){return e},ajax:(n=I().mark((function t(n,o,i){var a,s,c,l,p,u,m;return I().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.brand,t.next=3,r(1245)("./".concat(n,".json")).then((function(e){return P({tags:e.default,brandName:a})})).catch((function(){return r.e(2).then(r.t.bind(null,1553,3)).then((function(e){return P({tags:e.default,brandName:a})}))}));case 3:if(s=t.sent,!d.i){t.next=12;break}return t.next=7,r(1246)("./".concat(n,".json")).then((function(e){return P({tags:e.default,brandName:a})})).catch((function(){return r.e(0).then(r.t.bind(null,1554,3)).then((function(e){return P({tags:e.default,brandName:a})}))}));case 7:return c=t.sent,t.next=10,r(1247)("./".concat(n,".json")).catch((function(){return r.e(3).then(r.t.bind(null,1555,3))}));case 10:l=t.sent,s=D(D(D({},s),c),l);case 12:if(!d.l){t.next=26;break}return t.next=15,r.e(11).then(r.t.bind(null,1699,3)).then((function(e){return P({tags:e.default,brandName:a})}));case 15:if(p=t.sent,!d.h){t.next=22;break}return t.next=19,r(1248)("./".concat(n,".json"));case 19:u=t.sent,t.next=25;break;case 22:return t.next=24,S.a.get("".concat(Object(T.b)(),"/watcher/client-api/v3/language_tags/").concat(n)).then((function(e){return D(D({},p),P({tags:e.data,brandName:a}))})).catch((function(){return r.e(4).then(r.t.bind(null,1556,3)).then((function(e){return D(D({},p),P({tags:e.default,brandName:a}))}))}));case 24:u=t.sent;case 25:s=D({},u);case 26:if(!d.j){t.next=31;break}return t.next=29,r(1249)("./".concat(n,".json")).then((function(e){return P({tags:e.default,brandName:a})})).catch((function(){return r.e(1).then(r.t.bind(null,1557,3)).then((function(e){return P({tags:e.default,brandName:a})}))}));case 29:m=t.sent,s=D({},m);case 31:i(s,{status:"200"});case 32:case"end":return t.stop()}}),t)})),o=function(){var e=this,t=arguments;return new Promise((function(r,o){var i=n.apply(e,t);function a(e){$(i,r,o,a,s,"next",e)}function s(e){$(i,r,o,a,s,"throw",e)}a(void 0)}))},function(e,t,r){return o.apply(this,arguments)})}})};O.a;function L(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return R(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return R(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function R(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var q=r(145),M=r(132),F=r(143),U=r(94),z=r(115),B=r(4),H=r(392),V=r.n(H),W=r(391),G=r.n(W),K=/^[^ ;]{7,}$/,Y=function(e){return!!e&amp;&amp;e.includes("".concat(d.n,"|"))};function J(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Q(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Q(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Q(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var X=/^[A-Za-z0-9_-]{3,16}$/,Z=function(e){var t=e.config.stats,r=Object(j.b)().t,i=J(Object(n.useState)(""),2),a=i[0],s=i[1],c=J(Object(n.useState)(""),2),l=c[0],u=c[1],d=J(Object(n.useState)(""),2),f=d[0],b=d[1],h=J(Object(n.useState)(""),2),y=h[0],g=h[1],v=J(Object(n.useState)(""),2),O=v[0],x=v[1],w=J(Object(n.useState)(""),2),k=w[0],S=w[1],P=J(Object(n.useState)(""),2),T=P[0],C=P[1],I=J(Object(n.useState)(""),2),A=I[0],D=I[1],E=J(Object(n.useState)(""),2),$=E[0],N=E[1],L=J(Object(n.useState)("password"),2),R=L[0],q=L[1],M=J(Object(n.useState)("password"),2),F=M[0],U=M[1],z=J(Object(n.useState)(""),2),B=z[0],H=z[1],W=J(Object(n.useState)(!1),2),Q=W[0],Z=W[1],ee=J(Object(n.useState)(!1),2),te=ee[0],re=ee[1],ne=Object(_.Q)(),oe=function(){var e=Y(a)?"".concat(a,"\n").concat(l):a;re(!0),ne({body:{key:e,login:f,password:y},onSuccess:function(){H(""),Z(!0),localStorage.setItem("MediaServerAuth",JSON.stringify({login:f,password:y}))},onError:function(e){re(!1),e&amp;&amp;e.response.text&amp;&amp;e.response.text().then((function(e){var t=JSON.parse(e),r="";r=t.status&amp;&amp;t.responseText?"".concat(t.status," ").concat(t.responseText):t.error_msg?t.error_msg:JSON.stringify(t),H(r)}))}})},ie=function(e){"Enter"!==e.key||k||T||A||$||!(a&amp;&amp;f&amp;&amp;y)||te||oe()};return Object(m.c)(p.y,{"data-testid":"no-license-page"},Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{mt:{xs:3,md:10}},Object(m.c)(p.mc,{variant:"h4"},r("noLicense.title"))),Object(m.c)(p.l,{mt:1},Object(m.c)(p.mc,{variant:"subtitle1",component:"span"},r("noLicense.description")),Object(m.c)(p.mc,{variant:"subtitle2",component:"span"},"license.txt")),Object(m.c)(p.l,{mt:1},Object(m.c)(p.mc,{variant:"subtitle1",component:"span"},r("noLicense.changeLoginPasswordNotice")))),Object(m.c)(p.ib,{item:!0,xs:12,sm:6},Object(m.c)(p.l,{mt:{xs:2,sm:0,md:5}},Object(m.c)(p.fc,{label:r(t.license_txt?" ":"noLicense.licenseKeyLabel"),InputLabelProps:{shrink:!!t.license_txt||!!a},value:a,placeholder:t.license_txt?"".concat(r("noLicense.confirmLicenseKeyLabel")," ").concat(t.license_txt):"",onChange:function(e){var t=e.target.value;s(t),!t||t.length&lt;15?S("noLicense.toShortLicenseError"):!(t.includes("l4|")||t.includes("g4|")||Y(t))||t.includes(" ")?S("noLicense.invalidLicenseError"):S("")},onKeyPress:ie,error:!!k,helperText:r(k),inputProps:{tabIndex:1,"data-testid":"activation-license",autocomplete:"off"}})),Y(a)&amp;&amp;Object(m.c)(p.l,{mt:{xs:2,sm:0,md:5}},Object(m.c)(p.fc,{label:r("noLicense.privateKey"),value:l,onChange:function(e){u(e.target.value)},onKeyPress:ie,inputProps:{tabIndex:2,"data-testid":"license-private-key",autocomplete:"off"}}))),Object(m.c)(p.ib,{item:!0,xs:12,sm:6},Object(m.c)(p.l,{mt:{xs:0,md:5}},Object(m.c)(p.fc,{label:r("noLicense.loginLabel"),value:f,onChange:function(e){var t=e.target.value;b(t),X.test(t)?C(""):C("noLicense.loginError")},onKeyPress:ie,error:!!T,helperText:r(T),inputProps:{tabIndex:3,"data-testid":"activation-login",autocomplete:"off"}})),Object(m.c)(p.l,{mt:2},Object(m.c)(p.fc,{label:r("noLicense.passwordLabel"),value:y,type:R,onChange:function(e){var t=e.target.value;g(t),K.test(t)?(D(""),N(t===O?"":"noLicense.repeatedPasswordError")):D("noLicense.passwordError")},onKeyPress:ie,error:!!A,helperText:r(A),InputProps:{endAdornment:Object(m.c)(p.rb,{position:"start"},Object(m.c)(p.mb,{"aria-label":"visibility",size:"small",onClick:function(){"password"===R?q("text"):"text"===R&amp;&amp;q("password")}},"password"===R&amp;&amp;Object(m.c)(G.a,{fontSize:"small",color:"primary"}),"text"===R&amp;&amp;Object(m.c)(V.a,{fontSize:"small",color:"primary"})))},inputProps:{tabIndex:4,"data-testid":"activation-password"}})),Object(m.c)(p.l,{mt:2},Object(m.c)(p.fc,{label:r("noLicense.repeatPasswordLabel"),value:O,type:F,onChange:function(e){var t=e.target.value;x(t),K.test(t)?(N(""),N(y===t?"":"noLicense.repeatedPasswordError")):N("noLicense.passwordError")},onKeyPress:ie,error:!!$,helperText:r($),InputProps:{endAdornment:Object(m.c)(p.rb,{position:"start"},Object(m.c)(p.mb,{"aria-label":"visibility",size:"small",onClick:function(){"password"===F?U("text"):"text"===F&amp;&amp;U("password")}},"password"===F&amp;&amp;Object(m.c)(G.a,{fontSize:"small",color:"primary"}),"text"===F&amp;&amp;Object(m.c)(V.a,{fontSize:"small",color:"primary"})))},inputProps:{tabIndex:5,"data-testid":"activation-repeat-password"}}))),Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{mt:5},Object(m.c)(p.n,{color:"primary",variant:"contained",onClick:oe,onKeyPress:ie,disabled:!!k||!!T||!!A||!!$||!(a&amp;&amp;f&amp;&amp;y)||te||Y(a)&amp;&amp;!l,endIcon:te&amp;&amp;Object(m.c)(p.u,{size:20,color:"primary"}),tabIndex:"5","data-testid":"saveButton"},r("noLicense.saveButton"))),Object(m.c)(p.l,{mt:2},B&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.mc,{variant:"body2",color:"error","data-testid":"try-license-error"},r("noLicense.tryLicenseError")),Object(m.c)(p.mc,{variant:"body2",color:"error"},B)),Q&amp;&amp;Object(m.c)(p.mc,{variant:"body2",color:"textPrimary","data-testid":"try-license-success"},r("noLicense.tryLicenseSuccess"))))))};Z.defaultProps={serverInfo:null};var ee=Z,te=r(349);function re(e){return(re="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function ne(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ne=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function l(e,t,r,o){var i=t&amp;&amp;t.prototype instanceof d?t:d,a=Object.create(i.prototype),s=new k(o||[]);return n(a,"_invoke",{value:O(e,r,s)}),a}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=l;var u={};function d(){}function m(){}function f(){}var b={};c(b,i,(function(){return this}));var h=Object.getPrototypeOf,y=h&amp;&amp;h(h(S([])));y&amp;&amp;y!==t&amp;&amp;r.call(y,i)&amp;&amp;(b=y);var g=f.prototype=d.prototype=Object.create(b);function v(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function _(e,t){var o;n(this,"_invoke",{value:function(n,i){function a(){return new t((function(o,a){!function n(o,i,a,s){var c=p(e[o],e,i);if("throw"!==c.type){var l=c.arg,u=l.value;return u&amp;&amp;"object"==re(u)&amp;&amp;r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(u).then((function(e){l.value=e,a(l)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}(n,i,o,a)}))}return o=o?o.then(a,a):a()}})}function O(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return P()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var s=j(a,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&amp;&amp;r.abrupt("return",r.arg);n="executing";var c=p(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===u)continue;return{value:c.arg,done:r.done}}"throw"===c.type&amp;&amp;(n="completed",r.method="throw",r.arg=c.arg)}}}function j(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&amp;&amp;e.iterator.return&amp;&amp;(t.method="return",t.arg=void 0,j(e,t),"throw"===t.method)||"return"!==r&amp;&amp;(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),u;var o=p(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,u;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&amp;&amp;(t.method="next",t.arg=void 0),t.delegate=null,u):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function x(e){var t={tryLoc:e[0]};1 in e&amp;&amp;(t.catchLoc=e[1]),2 in e&amp;&amp;(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function w(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function S(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n&lt;e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:P}}function P(){return{value:void 0,done:!0}}return m.prototype=f,n(g,"constructor",{value:f,configurable:!0}),n(f,"constructor",{value:m,configurable:!0}),m.displayName=c(f,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&amp;&amp;e.constructor;return!!t&amp;&amp;(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,c(e,s,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},v(_.prototype),c(_.prototype,a,(function(){return this})),e.AsyncIterator=_,e.async=function(t,r,n,o,i){void 0===i&amp;&amp;(i=Promise);var a=new _(l(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},v(g),c(g,s,"Generator"),c(g,i,(function(){return this})),c(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=S,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(w),!e)for(var t in this)"t"===t.charAt(0)&amp;&amp;r.call(this,t)&amp;&amp;!isNaN(+t.slice(1))&amp;&amp;(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&amp;&amp;(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o&gt;=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc&lt;=this.prev){var s=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(s&amp;&amp;c){if(this.prev&lt;i.catchLoc)return n(i.catchLoc,!0);if(this.prev&lt;i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev&lt;i.catchLoc)return n(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev&lt;i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n&gt;=0;--n){var o=this.tryEntries[n];if(o.tryLoc&lt;=this.prev&amp;&amp;r.call(o,"finallyLoc")&amp;&amp;this.prev&lt;o.finallyLoc){var i=o;break}}i&amp;&amp;("break"===e||"continue"===e)&amp;&amp;i.tryLoc&lt;=t&amp;&amp;t&lt;=i.finallyLoc&amp;&amp;(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&amp;&amp;t&amp;&amp;(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t&gt;=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),w(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t&gt;=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;w(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:S(e),resultName:t,nextLoc:r},"next"===this.method&amp;&amp;(this.arg=void 0),u}},e}function oe(e,t,r,n,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}function ie(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return ae(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ae(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ae(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var se=function(e){var t=e.uiSettings,r=e.tryLogin,o=Object(j.b)().t,i=t.logoAuth,a=i?Object(te.a)(i):"",s=ie(Object(n.useState)(""),2),c=s[0],l=s[1],u=ie(Object(n.useState)(""),2),d=u[0],f=u[1],b=ie(Object(n.useState)(!1),2),h=b[0],y=b[1],g=ie(Object(n.useState)(!1),2),v=g[0],_=g[1],O=ie(Object(n.useState)(!1),2),x=O[0],w=O[1],k=function(){var e,t=(e=ne().mark((function e(t){var n;return ne().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t.preventDefault(),_(!1),n={login:c,password:d},y(!0),r(n).then((function(e){y(!1),e?(w(!1),_(!1)):(w(!1),_(!0))})).catch((function(e){var t,r;401===(null===(t=e.response)||void 0===t?void 0:t.status)||403===(null===(r=e.response)||void 0===r?void 0:r.status)?_(!0):w(!0)})).finally((function(){return y(!1)}));case 5:case"end":return e.stop()}}),e)})),function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(e){oe(i,n,o,a,s,"next",e)}function s(e){oe(i,n,o,a,s,"throw",e)}a(void 0)}))});return function(e){return t.apply(this,arguments)}}(),S=function(e){"Enter"===e.key&amp;&amp;k(e)};return Object(m.c)(p.y,null,Object(m.c)(p.l,{mt:6,className:"border-bottom",textAlign:"center"},Object(m.c)("img",{src:a,alt:"",style:{maxHeight:"190px",maxWidth:"100%"}})),Object(m.c)(p.ib,{container:!0},Object(m.c)(p.lb,{only:"xs"},Object(m.c)(p.ib,{item:!0,xs:2,md:4})),Object(m.c)(p.ib,{item:!0,xs:12,sm:8,md:4,container:!0},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{mt:2},Object(m.c)(p.fc,{autoFocus:!0,label:o("root.auth.login"),"data-testid":"login",value:c,onChange:function(e){var t=e.target.value;l(t)},onKeyPress:function(e){return S(e)}})),Object(m.c)(p.l,{mt:2},Object(m.c)(p.fc,{label:o("root.auth.password"),"data-testid":"password",value:d,type:"password",onChange:function(e){var t=e.target.value;f(t)},onKeyPress:function(e){return S(e)}}))),Object(m.c)(p.ib,{item:!0,xs:4},Object(m.c)(p.l,{mt:2},Object(m.c)(p.n,{type:"submit",color:"primary",variant:"contained",onClick:function(e){return k(e)},onKeyPress:function(e){return S(e)},"data-testid":"submit"},o("root.login.sign")))),Object(m.c)(p.ib,{item:!0,xs:8},Object(m.c)(p.l,{mt:3},h&amp;&amp;o("root.login.loginProcess"),v&amp;&amp;o("root.global.wrong_login_or_password"),x&amp;&amp;o("root.login.error"))))))};function ce(e){return(ce="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function le(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */le=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function l(e,t,r,o){var i=t&amp;&amp;t.prototype instanceof d?t:d,a=Object.create(i.prototype),s=new k(o||[]);return n(a,"_invoke",{value:O(e,r,s)}),a}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=l;var u={};function d(){}function m(){}function f(){}var b={};c(b,i,(function(){return this}));var h=Object.getPrototypeOf,y=h&amp;&amp;h(h(S([])));y&amp;&amp;y!==t&amp;&amp;r.call(y,i)&amp;&amp;(b=y);var g=f.prototype=d.prototype=Object.create(b);function v(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function _(e,t){var o;n(this,"_invoke",{value:function(n,i){function a(){return new t((function(o,a){!function n(o,i,a,s){var c=p(e[o],e,i);if("throw"!==c.type){var l=c.arg,u=l.value;return u&amp;&amp;"object"==ce(u)&amp;&amp;r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(u).then((function(e){l.value=e,a(l)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}(n,i,o,a)}))}return o=o?o.then(a,a):a()}})}function O(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return P()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var s=j(a,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&amp;&amp;r.abrupt("return",r.arg);n="executing";var c=p(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===u)continue;return{value:c.arg,done:r.done}}"throw"===c.type&amp;&amp;(n="completed",r.method="throw",r.arg=c.arg)}}}function j(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&amp;&amp;e.iterator.return&amp;&amp;(t.method="return",t.arg=void 0,j(e,t),"throw"===t.method)||"return"!==r&amp;&amp;(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),u;var o=p(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,u;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&amp;&amp;(t.method="next",t.arg=void 0),t.delegate=null,u):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function x(e){var t={tryLoc:e[0]};1 in e&amp;&amp;(t.catchLoc=e[1]),2 in e&amp;&amp;(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function w(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function S(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n&lt;e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:P}}function P(){return{value:void 0,done:!0}}return m.prototype=f,n(g,"constructor",{value:f,configurable:!0}),n(f,"constructor",{value:m,configurable:!0}),m.displayName=c(f,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&amp;&amp;e.constructor;return!!t&amp;&amp;(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,c(e,s,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},v(_.prototype),c(_.prototype,a,(function(){return this})),e.AsyncIterator=_,e.async=function(t,r,n,o,i){void 0===i&amp;&amp;(i=Promise);var a=new _(l(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},v(g),c(g,s,"Generator"),c(g,i,(function(){return this})),c(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=S,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(w),!e)for(var t in this)"t"===t.charAt(0)&amp;&amp;r.call(this,t)&amp;&amp;!isNaN(+t.slice(1))&amp;&amp;(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&amp;&amp;(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o&gt;=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc&lt;=this.prev){var s=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(s&amp;&amp;c){if(this.prev&lt;i.catchLoc)return n(i.catchLoc,!0);if(this.prev&lt;i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev&lt;i.catchLoc)return n(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev&lt;i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n&gt;=0;--n){var o=this.tryEntries[n];if(o.tryLoc&lt;=this.prev&amp;&amp;r.call(o,"finallyLoc")&amp;&amp;this.prev&lt;o.finallyLoc){var i=o;break}}i&amp;&amp;("break"===e||"continue"===e)&amp;&amp;i.tryLoc&lt;=t&amp;&amp;t&lt;=i.finallyLoc&amp;&amp;(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&amp;&amp;t&amp;&amp;(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t&gt;=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),w(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t&gt;=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;w(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:S(e),resultName:t,nextLoc:r},"next"===this.method&amp;&amp;(this.arg=void 0),u}},e}function pe(e,t,r,n,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}function ue(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return de(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return de(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function de(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var me=o.a.createContext({}),fe=function(e){var t,r,o,i,s,c,l=e.children,u=e.uiSettings,f=Object(U.useHistory)(),b=Object(a.useQueryClient)(),h=ue(Object(n.useState)(!0),2),y=h[0],g=h[1],v=ue(Object(n.useState)(null),2),O=v[0],j=v[1],x=d.k;Object(_.o)({options:{keepPreviousData:!1,refetchInterval:3e3,retry:function(e,t){var r;return 403!==(null==t?void 0:null===(r=t.response)||void 0===r?void 0:r.status)&amp;&amp;3},onSuccess:function(e){Object(B.d)(O)&amp;&amp;(F.a(["stats","status"])(e)===d.t&amp;&amp;F.a(["stats","status"])(O)===d.u||!F.a(["stats","config_error"])(O)&amp;&amp;F.a(["stats","config_error"])(e))&amp;&amp;window.location.reload(),j(e),g(!1)},onError:function(e){var t;403===(null==e?void 0:null===(t=e.response)||void 0===t?void 0:t.status)&amp;&amp;(g(!1),j(null),localStorage.removeItem(z.a))}}});var w=(null==O?void 0:null===(t=O.stats)||void 0===t?void 0:t.streamer_status)===d.q,k=!(null==O||null===(r=O.stats)||void 0===r||null===(o=r.capabilities)||void 0===o||!o.server_error_page),S=(null==O?void 0:null===(i=O.stats)||void 0===i?void 0:i.streamer_status)===d.r,P=Object(_.q)(),C=function(){var e,t=(e=le().mark((function e(t){return le().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Object(_.p)({config:{headers:{Authorization:Object(T.d)(t)}}}).then((function(e){var r,n=null===(r=e.data.stats)||void 0===r?void 0:r.streamer_status;j(e.data),localStorage.setItem(z.a,JSON.stringify(t)),n===d.q&amp;&amp;f.push("/config/editor"),n===d.r&amp;&amp;f.push("/config")})));case 1:case"end":return e.stop()}}),e)})),function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(e){pe(i,n,o,a,s,"next",e)}function s(e){pe(i,n,o,a,s,"throw",e)}a(void 0)}))});return function(e){return t.apply(this,arguments)}}(),I=Object(n.useCallback)((function(){localStorage.removeItem(z.a),b.clear(),j(null)}),[b]),A=Object(n.useMemo)((function(){return{globalSettings:O,isBrokenConfig:w,isServerErrorPage:k,isLicenseFailure:S,authorizationRequired:!O,refreshSettings:P,isLoading:y,isSuccess:!!O,logout:I}}),[y,w,S,k,I,P,O]);return null!=O&amp;&amp;null!==(s=O.stats)&amp;&amp;void 0!==s&amp;&amp;null!==(c=s.capabilities)&amp;&amp;void 0!==c&amp;&amp;c.need_to_init_credentials?Object(m.c)(ee,{config:O}):x&amp;&amp;y?Object(m.c)(p.Sb,null):!x||y||O?Object(m.c)(me.Provider,{value:A},l):Object(m.c)(se,{uiSettings:u,tryLogin:C})};function be(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return he(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return he(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function he(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var ye=o.a.createContext({}),ge=r(66),ve=r(848),_e=r(48);function Oe(e){return(Oe="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function je(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Oe(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Oe(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Oe(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var xe=Object(p.wc)()((function(e,t){var r=t.isTooltipOpened;return{infoIcon:{paddingLeft:"5px"},uptime:{minWidth:"90px"},statusLine:je({display:"inline-flex",justifyContent:"space-between",alignItems:"center",border:"1px solid #D2D9DF",borderRadius:"16px",background:e.palette.common.white},e.breakpoints.only("xs"),{width:"100%"}),statusLineContent:{display:"inline-flex",justifyContent:"space-between",padding:"".concat(e.spacing(.5)," 0"),"&amp; &gt; span":je(je({borderRight:"1px solid #B2B8BF","&amp;:last-of-type":{border:0}},e.breakpoints.between("sm","lg"),{"&amp;:first-of-type":{border:0}}),e.breakpoints.only("xs"),{'&amp;[data-testid="status-line-in"]':{border:0}})},noWrap:{whiteSpace:"nowrap"},statusItem:je(je({minWidth:"120px",textAlign:"center",textTransform:"uppercase",fontWeight:400,padding:"0 3px"},e.breakpoints.down("lg"),{display:"none"}),e.breakpoints.only("xs"),{minWidth:"100px","&amp;.status-item-mobile":{display:"inline-block"},fontSize:"12px","&amp; span":{fontSize:"12px"}}),statusVal:{color:e.palette.primary.main},statusItemTooltip:je({textTransform:"uppercase",color:e.palette.text.primary,fontSize:"14px",display:"block"},e.breakpoints.only("xs"),{"&amp;.status-item-mobile":{display:"none"}}),statusFirstItem:{minWidth:"auto",padding:"0 10px"},moreIcon:je({fontSize:"30px",color:r?e.palette.primary.dark:"#D0D7DD",cursor:"pointer"},e.breakpoints.up("lg"),{display:"none"}),tooltip:{border:"1px solid #D2D9DF",borderRadius:"16px",background:e.palette.common.white,marginTop:"4px !important"}}}));function we(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return ke(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ke(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ke(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Se=p.uc.PendingIcon,Pe=function(e){var t=e.inGbps,r=e.inMbps,n=e.outGbps,o=e.outMbps;return[t,r,n,o].every(Number.isFinite)?t&lt;1&amp;&amp;n&lt;1?{inText:"".concat(r&lt;10?r.toFixed(3):Math.floor(r)," Mbps"),outText:"".concat(o&lt;10?o.toFixed(3):Math.floor(o)," Mbps")}:{inText:"".concat(t&lt;10?t.toFixed(3):Math.floor(t)," Gbps"),outText:"".concat(n&lt;10?n.toFixed(3):Math.floor(n)," Gbps")}:{inText:"-",outText:"-"}},Te=function(){var e=Object(j.b)().t,t=we(Object(n.useState)(!1),2),r=t[0],i=t[1],a=xe({isTooltipOpened:r}),s=a.classes,c=a.cx,l=Object(n.useContext)(me).globalSettings,u=Object(n.useCallback)((function(){var t,r,n,o,i=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]&amp;&amp;arguments[0];return[Object(m.c)(p.mc,{component:"span",key:"streams",variant:"subtitle2",className:c(i?s.statusItemTooltip:s.statusItem,"status-item-mobile"),"data-testid":"status-line-streams"},e("headerTopNavStatsStreamsFilesClients.streams")," ",Object(m.c)("span",{className:s.statusVal},null!==(t=l.stats.online_streams)&amp;&amp;void 0!==t?t:"-"," / ",null!==(r=l.stats.total_streams)&amp;&amp;void 0!==r?r:"-")),Object(m.c)(p.mc,{component:"span",key:"files",variant:"subtitle2",className:i?s.statusItemTooltip:s.statusItem,"data-testid":"status-line-files"},e("headerTopNavStatsStreamsFilesClients.files")," ",Object(m.c)("span",{className:s.statusVal},null!==(n=l.stats.opened_files)&amp;&amp;void 0!==n?n:"-")),Object(m.c)(p.mc,{component:"span",key:"clients",variant:"subtitle2",className:i?s.statusItemTooltip:s.statusItem,"data-testid":"status-line-clients"},e("headerTopNavStatsStreamsFilesClients.clients")," ",Object(m.c)("span",{className:s.statusVal},null!==(o=l.stats.total_clients)&amp;&amp;void 0!==o?o:"-"))].filter(Boolean)}),[l.stats]),d=Object(n.useCallback)((function(){var t=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]&amp;&amp;arguments[0],r=Pe({inGbps:l.stats.input_kbit/1e6,inMbps:l.stats.input_kbit/1e3,outGbps:l.stats.output_kbit/1e6,outMbps:l.stats.output_kbit/1e3}),n=r.inText,i=r.outText;return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.mc,{component:"span",variant:"subtitle2",className:c(t?s.statusItemTooltip:s.statusItem,"status-item-mobile"),"data-testid":"status-line-in"},e("headerTopNavInOut.in")," ",Object(m.c)("span",{className:s.statusVal},n)),Object(m.c)(p.mc,{component:"span",variant:"subtitle2",className:t?s.statusItemTooltip:s.statusItem,"data-testid":"status-line-out"},e("headerTopNavInOut.out")," ",Object(m.c)("span",{className:s.statusVal},i)))}),[l.stats]),f=Object(n.useCallback)((function(){var t,r=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]&amp;&amp;arguments[0];return Object(m.c)(p.mc,{component:"span",variant:"subtitle2",className:c(r?s.statusItemTooltip:s.statusItem,s.uptime),"data-testid":"status-line-uptime"},e("headerTopNavStatusLine.up"),Object(m.c)("span",{className:s.statusVal},null!==(t=l.stats)&amp;&amp;void 0!==t&amp;&amp;t.uptime?_e.a.seconds(l.stats.uptime):"-"))}),[l.stats]),b=Object(n.useMemo)((function(){var e;return null!==(e=l.stats)&amp;&amp;void 0!==e&amp;&amp;e.server_version?"".concat(l.stats.server_version).concat(l.stats.build&gt;0?"-".concat(l.stats.build):""):"-"}),[l.stats]);return l.stats?Object(m.c)(p.l,{display:"flex",justifyContent:"flex-end",mt:2,"data-testid":"status-line"},Object(m.c)(p.l,{className:s.statusLine},Object(m.c)("div",{className:c(s.statusLineContent,s.noWrap)},Object(m.c)(p.mc,{component:"span",variant:"subtitle2","data-testid":"status-line-version",className:c(s.statusItem,s.statusFirstItem)},b),u(),d(),f()),Object(m.c)(p.lc,{title:Object(m.c)(o.a.Fragment,null,u(!0),d(!0),f(!0)),placement:"bottom",classes:{tooltip:s.tooltip},enterTouchDelay:50,leaveTouchDelay:1e4,onOpen:function(){return i(!0)},onClose:function(){return i(!1)}},Object(m.c)(Se,{className:s.moreIcon})))):null},Ce=r(1643);function Ie(e){return function(e){if(Array.isArray(e))return Ae(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Ae(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ae(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ae(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var De=function(e){e.stopPropagation()},Ee=function(e){return e?{next_version:e.stats&amp;&amp;e.stats.next_version||void 0,errors:e.stats&amp;&amp;e.stats.text_alerts?Object.keys(e.stats.text_alerts).reduce((function(t,r){return r.includes("error_")?[].concat(Ie(t),[{id:r,error:e.stats.text_alerts[r]}]):t}),[]):[]}:{next_version:void 0,errors:[]}};function $e(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Ne(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ne(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ne(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function Le(e){return(Le="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Re(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function qe(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Re(Object(r),!0).forEach((function(t){Me(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Re(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Me(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Le(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Le(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Le(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Fe=function(e){return{background:"#FFF5E6",border:"1px solid ".concat(e.palette.warning.main),fontWeight:500,color:e.palette.text.primary,fontSize:"14px"}},Ue=Object(p.wc)()((function(e){return{errorChip:qe(qe({},Fe(e)),{},Me({marginLeft:e.spacing(.5),marginTop:e.spacing(1),userSelect:"none","&amp; .MuiSvgIcon-root":Me({color:e.palette.warning.main,marginLeft:e.spacing(1)},e.breakpoints.only("sm"),{marginLeft:"6px",marginRight:"6px"})},e.breakpoints.only("sm"),{"&amp; .MuiChip-label":{display:"none"}})),errorMin:Me({},e.breakpoints.only("xs"),{display:"none"}),errorMax:Me({},e.breakpoints.up("sm"),{display:"none"}),tooltip:qe(qe({},Fe(e)),{},{borderRadius:"15px",padding:e.spacing(1),marginTop:"4px !important",p:{marginBlock:"2px","&amp;:first-of-type, &amp;:last-of-type":{marginBlock:"0px"}}})}})),ze=/[^("|')]https?:\/\/[^\s]+/g,Be=p.uc.InfoIcon,He=function(e){var t,r,n,o=e.replace(/,\\n/g,"").replace(/\\"&gt;&gt;,&lt;&lt;\\"/,"\n\r").replace(/\\"&gt;&gt;}/g,"\n\r}").replace(/\\"&gt;&gt;]/g,"\n\r]").replace(/\\\\n/g,"\n\r").replace(/\\\\\\/g,"").replace(/\n/g,"\n\r").replace(/\\n/g,"\n\r").replace(/&lt;&lt;\\"/g,"\n\r").replace(/\\"&gt;&gt;/g,"\n\r").replace(/\s{4}/g,"");return r=t=o,(n=t.match(ze))&amp;&amp;n.forEach((function(e){var t=e.trim();r=r.replace("".concat(t),"[".concat(t,"](").concat(t,")"))})),r},Ve=function(){var e=Object(j.b)().t,t=Ue().classes,r=function(){var e=Object(n.useContext)(me).globalSettings,t=$e(o.a.useState(Ee(e)),2),r=t[0],i=t[1];return o.a.useEffect((function(){var t=Ee(e);i(t)}),[e]),{notifications:r}}().notifications;return Object(m.c)(p.l,{display:"flex",justifyContent:"flex-end",flexWrap:"wrap",mb:1},r.errors.map((function(r){var n=He(r.error);if("Not optimal scaling_governor profile (please set scaling_governor to 'performance' for each CPU)"===n)return null;var i=n&amp;&amp;n.includes(d.f)?e("externalError"):n;return Object(m.c)(p.lc,{key:r.id,title:Object(m.c)(Ce.a,null,i),placement:"bottom",classes:{tooltip:t.tooltip},enterTouchDelay:50,leaveTouchDelay:3e3},Object(m.c)(p.t,{className:t.errorChip,color:"warning",label:Object(m.c)(o.a.Fragment,null,Object(m.c)("span",{className:t.errorMin},e("error")),Object(m.c)("span",{className:t.errorMax},i)),icon:Object(m.c)(Be,{fontSize:"small"})}))})))},We=r(42),Ge=r.n(We),Ke=r(403),Ye=r(89),Je=r(402),Qe=Je.a(Ye.a);function Xe(e){return(Xe="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Ze(e,t){for(var r=0;r&lt;t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&amp;&amp;(n.writable=!0),Object.defineProperty(e,ot(n.key),n)}}function et(e,t,r){return t=tt(t),function(e,t){if(t&amp;&amp;("object"===Xe(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){return!1}}()?Reflect.construct(t,r||[],tt(e).constructor):t.apply(e,r))}function tt(e){return(tt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function rt(e,t){return(rt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function nt(e,t,r){return(t=ot(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ot(e){var t=function(e,t){if("object"!==Xe(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Xe(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Xe(t)?t:String(t)}var it=o.a.createContext(),at=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),nt(r=et(this,t,[e]),"skipNextMemoCheck",(function(){r.setState({shouldSkipNextMemoCheck:!0})})),nt(r,"stopMemoCheck",(function(e){r.setState({shouldCheck:!1,defaultResult:e})})),nt(r,"resumeMemoCheck",(function(){r.setState({shouldCheck:!0,defaultResult:void 0}),setTimeout((function(){r.setState({shouldSkipNextMemoCheck:!0})}))})),r.state={shouldSkipNextMemoCheck:!1,shouldCheck:!0,defaultResult:void 0},r}return function(e,t){if("function"!=typeof t&amp;&amp;null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&amp;&amp;t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&amp;&amp;rt(e,t)}(t,e),r=t,(n=[{key:"shouldComponentUpdate",value:function(e){var t=this.state,r=t.shouldCheck,n=t.defaultResult,o=t.shouldSkipNextMemoCheck,i=this.props,a=i.debug,s=i.id,c=i.debugAll,l=i.paths,p=i.propsToCheck;return r?o?(this.setState({shouldSkipNextMemoCheck:!1}),!0):function(e){var t=arguments.length&gt;1&amp;&amp;void 0!==arguments[1]?arguments[1]:[[]];return function(r,n){var o=Object(B.e)(e),i=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]&amp;&amp;arguments[0];return function(t){var o=Qe(F.a(t,r),F.a(t,n));return e&amp;&amp;(console.group(t),console.log("prev",F.a(t,r)),console.log("next",F.a(t,n)),console.groupEnd()),o}},a=t.some(i(!1));return(a&amp;&amp;o||o&amp;&amp;e.all)&amp;&amp;(console.group("".concat(e.title,". Props changes detected: ")),t.forEach(i(!0)),console.groupEnd()),a}}(a?{title:"Memo(".concat(s,")"),all:c}:void 0,l)(p,e.propsToCheck):n}},{key:"render",value:function(){var e=this.props.children;return(Object(m.c)(it.Provider,{value:{skipNextMemoCheck:this.skipNextMemoCheck}},Object(B.a)(e)?e({skipNextMemoCheck:this.skipNextMemoCheck,stopMemoCheck:this.stopMemoCheck,resumeMemoCheck:this.resumeMemoCheck}):e))}}])&amp;&amp;Ze(r.prototype,n),o&amp;&amp;Ze(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o}(o.a.Component);at.defaultProps={id:"unknown",paths:[[]],propsToCheck:void 0,debug:!1,debugAll:!1};var st=r(22),ct=r(125),lt=r(222);function pt(e){return(pt="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function ut(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function dt(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ut(Object(r),!0).forEach((function(t){mt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ut(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function mt(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==pt(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==pt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===pt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ft(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return bt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return bt(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bt(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function ht(){return(ht=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}var yt=function(e){var t,r,n=ht({},(function(e){if(null==e)throw new TypeError("Cannot destructure "+e)}(e),e)),i=Ge()(),a=i.location,s=i.history,c=ft(o.a.useState((t=new URLSearchParams(a.search),r={},Object.keys(d.y).forEach((function(e){r[e]=t.get(e)||n[e]})),r)),2),l=c[0],p=c[1];return dt(dt({},l),{},{handlePaginationChange:function(e){var t=dt(dt({},l),e);p(dt({},t)),function(e){var t=lt.a(e);Object.keys(t).forEach((function(e){(Object(B.b)(t[e])||"undefined"===t[e]||"null"===t[e])&amp;&amp;delete t[e]})),s.replace({pathname:a.pathname,search:"?".concat(new URLSearchParams(dt({},t)).toString())})}(dt({},t))}})},gt=r(281),vt=r(103),_t=r.n(vt),Ot=r(107),jt=r(243),xt=(r(1250),r(146)),wt=function(e){var t=e.tokenName,r=void 0===t?"token":t,o=e.name,i=e.autoplay,a=e.token,s=e.player,c=e.from,l=e.to,p=e.ui,m=e.egressHostnames,f=e.streamingEndpoint,b=Object(n.useContext)(u.c),h=Object(n.useMemo)((function(){var e="";switch(s){case"mse":e="realtime=true";break;case"dash":e="proto=dash";break;case"webrtc":e="proto=webrtc";break;case"dvr":e="dvr=true&amp;proto=hls";break;case"dvrMseLd":e="dvr=true"}return e}),[s]);return Object(n.useMemo)((function(){var e=b===d.a?encodeURIComponent(o):decodeURIComponent(o),t=b===d.b&amp;&amp;m?"".concat(window.location.protocol,"//").concat(m[0]):Object(T.b)(),n="".concat(f||t,"/").concat(b===d.a?"lb/-/":"").concat(e,"/embed.html"),s=[];return a&amp;&amp;s.push("tokenName=".concat(r,"&amp;").concat(r,"=").concat(a)),xt.a(i)||s.push("autoplay=".concat(i)),h&amp;&amp;s.push(h),c&amp;&amp;s.push("from=".concat(c)),l&amp;&amp;s.push("to=".concat(l)),p&amp;&amp;s.push("ui=".concat(p)),s.length&gt;0&amp;&amp;(n+="?".concat(s.join("&amp;"))),n}),[b,o,m,a,i,h,c,l,p,r])},kt=r(509),St=r.n(kt);function Pt(e){return(Pt="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Tt(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Pt(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Pt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Pt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ct(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return It(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return It(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function It(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var At=["hls","mse","dash","dvr"],Dt=["hls","dash","dvr"],Et=Object(p.wc)()((function(){return{mediaOverviewPlayerContent:{position:"absolute",left:0,top:0,width:"100%",height:"100%",border:0},mediaOverviewPlayerContentWrapper:{position:"relative",width:"100%",height:"100%",background:"no-repeat url(".concat(St.a,")"),backgroundSize:"cover"},togglePlayer:{"&amp; .MuiToggleButton-root":{"&amp; p":{fontSize:14}}}}})),$t=function(e){return(null==e?void 0:e.auth_token)||"token"},Nt=function(e){var t=e.name,r=e.media,o=e.config,i=e.canChangePlayer,a=e.configEffective,s=e.product,c=e.buttons,l=Object(j.b)().t,u=Ct(Object(n.useState)(""),2),f=u[0],b=u[1],h=Et().classes,y=Ct(Object(n.useState)(!1),2),g=y[0],v=y[1],O=s===d.b?Dt:At,x=Ct(Object(n.useState)(O[0]),2),w=x[0],k=x[1],S=Ot.a("egress_hostnames")(a),P=Object(n.useMemo)((function(){return O.map((function(e){return{value:e,label:e.toUpperCase()}}))}),[O]),C=Object(_.f)({showSuccessMessage:!1}),I=Ot.a("disabled")(r);Object(n.useEffect)((function(){I||(v(!1),C({onSuccess:function(e){b(e.data.token||""),v(!0)},onError:function(){v(!0)}}))}),[I]);var A=wt({name:t,tokenName:$t(o),player:w,autoplay:!1,token:f,egressHostnames:S}),D=wt({name:t,player:w,egressHostnames:S}),E="string"==typeof A&amp;&amp;A.length&gt;1,$=Object(n.useMemo)((function(){return"".concat(s===d.b&amp;&amp;S?"".concat(window.location.protocol,"//").concat(S[0]):Object(T.b)(),"/").concat(s===d.a?"lb/-":"")}),[S,s]),N=Object(jt.b)({params:Tt({name:t,autoplay:!1,realtime:!0,tokenName:$t(o)},$t(o),f||void 0),options:{enabled:!I&amp;&amp;g&amp;&amp;E},config:{baseURL:$,encodeParams:s===d.a}}).isSuccess,L=!1;return r&amp;&amp;r.drm&amp;&amp;(L=0!==Object.keys(r.drm).length),Object(m.c)("div",{className:"media-player-content","data-testid":"media-player-content"},Object(m.c)(p.ib,{container:!0,spacing:0},Object(m.c)(p.ib,{item:!0,xs:12},c,L&amp;&amp;Object(m.c)(p.l,{width:"100%"},Object(m.c)(p.mc,{variant:"subtitle1",color:"error"},l("player.attention"))),!c&amp;&amp;i&amp;&amp;Object(m.c)(p.l,{mb:1},Object(m.c)(p.jc,{onChange:k,value:w,possibleValues:P,minWidth:80,className:h.togglePlayer})),Object(m.c)("div",{style:{position:"relative",height:440}},Object(m.c)("div",{className:h.mediaOverviewPlayerContentWrapper},!I&amp;&amp;g&amp;&amp;N&amp;&amp;Object(m.c)("iframe",{title:"Player",frameBorder:"0",src:A,className:h.mediaOverviewPlayerContent,style:{height:440}}))),c&amp;&amp;i&amp;&amp;Object(m.c)(p.l,{mt:1},Object(m.c)(p.jc,{onChange:k,value:w,possibleValues:P,minWidth:80,className:h.togglePlayer})),Object(m.c)(p.l,{mt:2,width:"100%"},Object(m.c)(p.gc,{label:l("mediaOverviewPlayerContent.htmlCodeLabel"),value:st.b.embedCode(D),inputProps:{"data-testid":"media-overview-html-code"},startAdornmentLabel:"HTML Code"})))))},Lt=function(e){var t=e.name,r=e.close,o=e.classes,i=e.configEffective,a=e.product,s=Object(n.useContext)(me).globalSettings;return function(e){var t=e.key,r=e.callback;Object(n.useEffect)((function(){var e=function(e){e.key===t&amp;&amp;r()};return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,r])}({key:"Escape",callback:r}),Object(m.c)(p.l,{id:"modal-overlay",className:_t()(o.modalVisible),onClick:r},Object(m.c)("div",{id:"modal-content",onClick:De},Object(m.c)("div",{className:"close",onClick:r},"â¨¯"),Object(m.c)(Nt,{name:t,media:{static:!0},config:s,height:320,canChangePlayer:!0,product:a,configEffective:i})))},Rt=function(e){var t=e.classes;return Object(m.c)(gt.a,null,(function(e){return e.modal?Object(m.c)(Lt,{classes:t,name:e.modal,close:function(){return e.setModal(!1)},configEffective:e.configEffective,product:e.product}):null}))},qt=r(57),Mt=r(36),Ft=r(241),Ut=function(e){var t,r=e.media,n=e.name,o=e.renderIgnored,i=e.isIgnored,a=e.isTemplate,s=e.product,c=Object(j.b)().t,l=Ge()().location,u=r.title||r.meta&amp;&amp;r.meta.comment||"",f=s===d.b?r.name||n:u,b=(null===(t=r.stats)||void 0===t?void 0:t.running_on)||[],h="".concat(c("runningOn")," ").concat(b.join(", "));return Object(m.c)("div",{className:"fixedWidthTableContent"},Object(m.c)("div",{className:"fixedWidthTableContent"},i?Object(m.c)(p.mc,{color:"primary",component:"span",variant:"subtitle2"},r.name||n):Object(m.c)(p.yb,{to:{pathname:a?"/templates/".concat(encodeURIComponent(r.name)):"/streams/".concat(encodeURIComponent(r.name)),state:{filter:Ot.a("search")(l)}},component:Mt.b,color:"primary","data-testid":"".concat(a?"template":"stream","-link-").concat(r.name)},Object(m.c)(p.mc,{color:"primary",component:"span",variant:"subtitle2"},s===d.b?u:r.name||n))," "),!a&amp;&amp;Object(m.c)("div",{className:"fixedWidthTableContent"},Object(m.c)(p.lc,{title:f,placement:"right-end"},Object(m.c)(p.mc,{component:"span",lineHeight:"20px"},f))),o&amp;&amp;o(),s===d.b||r.named_by!==st.d.config&amp;&amp;r.named_by!==st.d.remote?"":Object(m.c)(p.mc,{component:"p",lineHeight:"20px"},r.static?c("streamList.table.alwaysStarted"):c("streamList.table.onDemand")),b.length&gt;0&amp;&amp;Object(m.c)(p.lc,{title:h,placement:"right-end"},Object(m.c)(p.mc,{lineHeight:"20px",className:"fixedWidthTableContent"},h)),a&amp;&amp;Object(B.e)(Ot.a("prefixes")(r))?Object(m.c)(p.l,{display:"flex",justifyContent:"start",alignItems:"start"},Object(m.c)(p.l,{mt:.5},c("streamList.table.prefixes")),Object(m.c)("div",null,r.prefixes.map((function(e){return Object(m.c)(p.l,{my:.5,ml:.5,display:"inline-block",key:e},Object(m.c)(p.t,{label:e,size:"small"}))})))):"",Object(m.c)(Ft.a,{media:r,stats:r.stats,"data-testid":"stream-link-".concat(r.name)}))};Ut.defaultProps={name:"",renderIgnored:null,isIgnored:!1,isTemplate:!1};var zt=r(352),Bt=["children","maxWidth"];function Ht(){return(Ht=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function Vt(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var Wt=Object(p.wc)()((function(e,t){var r=t.maxWidth;return{tooltip:{backgroundColor:e.palette.common.white,color:"rgba(0, 0, 0, 0.87)",boxShadow:e.shadows[2],fontSize:11,maxWidth:r||"none"}}})),Gt=function(e){var t=e.children,r=e.maxWidth,n=Vt(e,Bt),o=Wt({maxWidth:r}).classes;return Object(m.c)(p.lc,Ht({classes:o},n),t)},Kt=r(135),Yt=r(49);function Jt(e){return(Jt="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Qt(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Jt(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Jt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Jt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Xt=function(){var e=Object(p.zc)(),t=Object(n.useMemo)((function(){return Qt(Qt(Qt({},qt.k.success,e.palette.success.main),qt.k.error,e.palette.error.main),qt.k.disabled,e.palette.grey[500])}),[e.palette.error.main,e.palette.grey,e.palette.success.main]);return{getInputStatusColor:Object(n.useCallback)((function(r){var n=r.status,o=r.useDifferColorByInputKey,i=r.inputIndex;return n===qt.k.success&amp;&amp;o&amp;&amp;i&amp;&amp;i&gt;0?e.palette.warning.main:t[n]}),[t,e.palette.warning.main])}};function Zt(e){return(Zt="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function er(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Zt(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Zt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Zt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var tr=[{title:"streamList.table.url",lg:2},{title:"streamList.table.comment",lg:2},{title:"streamList.table.status",lg:2},{title:"streamList.table.track",lg:1.5},{title:"streamList.table.resolution",lg:1.5},{title:"streamList.table.codec",lg:1.5},{title:"streamList.table.bitrate",lg:1.5}],rr=er(er(er({},qt.k.success,Object(m.c)(Yt.q,null)),qt.k.error,Object(m.c)(Yt.i,null)),qt.k.disabled,Object(m.c)(Yt.h,null)),nr=Object(p.wc)()((function(e){return{statusIcon:{fontSize:15,marginRight:7},inputNumber:{display:"inline-flex",fontSize:10,lineHeight:"1",justifyContent:"center",paddingTop:3,width:16,height:16,border:"1px solid #fff",color:e.palette.common.white,borderRadius:"50%",marginRight:5,flexShrink:0,pointerEvents:"none"},inputNumberClickable:{cursor:"pointer",pointerEvents:"all","&amp;:hover":{backgroundColor:"#003cff !important"}}}})),or=function(e){var t=e.media,r=e.infoIconSize,i=void 0===r?20:r,a=Object(j.b)().t,s=Object(n.useMemo)((function(){return t.inputs||[]}),[t.inputs]),c=nr(),l=c.classes,u=c.cx,d=Xt().getInputStatusColor,f=Object(_.Bb)(),b=Object(n.useCallback)((function(e){f({params:{name:t.name,index:e}})}),[t.name]),h=Object(n.useMemo)((function(){return er(er(er({},qt.k.success,a("streamList.table.active")),qt.k.error,a("streamList.table.error")),qt.k.disabled,a("streamList.table.disabled"))}),[a]),y=Object(n.useCallback)((function(e,r){var n,i,a,s,c,f,y=e.url,g=(null==e?void 0:null===(n=e.stats)||void 0===n?void 0:null===(i=n.media_info)||void 0===i?void 0:i.tracks)||[],v=Object(qt.h)(t,e),_=null!==(a=h[v])&amp;&amp;void 0!==a?a:"",O=d({status:v});return[Object(m.c)(p.l,{key:"input-url",display:"flex"},Object(m.c)("span",{className:u(l.inputNumber,er({},l.inputNumberClickable,!(null!==(s=e.stats)&amp;&amp;void 0!==s&amp;&amp;s.active)&amp;&amp;(null===(c=t.stats)||void 0===c?void 0:c.alive))),style:{backgroundColor:O},onClick:function(){return b(r)}},r+1),Object(m.c)(p.mc,{variant:"body2"},y)),Object(m.c)(p.l,{key:"input-comment",display:"flex"},Object(m.c)(p.mc,{variant:"body2"},null==e?void 0:e.comment)),Object(m.c)(p.l,{key:"input-status",display:"flex",alignItems:"center"},Object(m.c)("span",{className:l.statusIcon,style:{color:O}},null!==(f=rr[v])&amp;&amp;void 0!==f?f:""),Object(m.c)(p.mc,{style:{fontWeight:500,color:O},variant:"body2",component:"span"},_)),g.map((function(e,t){var r=Object(Kt.f)(null==e?void 0:e.height);return Object(m.c)(p.ib,{container:!0,item:!0,xs:12,key:e.track_id,className:t===g.length-1?"table-block-without-border":"uik-table-block"},Object(m.c)(p.ib,{item:!0,xs:3},Object(m.c)(p.mc,{variant:"body2"},e.track_id)),Object(m.c)(p.ib,{item:!0,xs:3,style:{padding:"0 8px"}},r&amp;&amp;Object(m.c)(o.a.Fragment,null,e.width&amp;&amp;e.height&amp;&amp;"".concat(e.width,"x").concat(e.height),Object(m.c)("span",{className:"video-resolution",style:{marginLeft:"4px"}},r))),Object(m.c)(p.ib,{item:!0,xs:3,style:{padding:"0 8px"}},Object(m.c)(p.mc,{variant:"body2"},e.codec)),Object(m.c)(p.ib,{item:!0,xs:3,style:{padding:"0 8px"}},Object(m.c)(p.mc,{variant:"body2"},"".concat(e.bitrate,"K"))))}))]}),[t,h,d,l.inputNumber,l.statusIcon,l.statusIconClickable,u,b]),g=Object(n.useMemo)((function(){return s.map((function(e,t){return Object(m.c)(p.ib,{item:!0,container:!0,xs:12,alignItems:"flex-start",key:t,className:"uik-table-block"},y(e,t).map((function(e,t){return Object(m.c)(p.dc,{settings:[{title:"streamList.table.url",lg:2},{title:"streamList.table.comment",lg:2},{title:"streamList.table.status",lg:2},{title:"streamList.table.track",lg:6}],index:t,cell:e,key:t})})))}))}),[y,s]);return Object(B.b)(s)?null:Object(m.c)(Gt,{title:Object(m.c)(p.cc,{settings:tr,body:g}),placement:"right","data-testid":"stream-input-inf-".concat(t.name)},Object(m.c)(p.l,{ml:1,component:"span",display:"inline-flex"},Object(m.c)(p.pb,{fontSize:"small",style:{fontSize:i},color:"primary"})))},ir=function(e){var t,r,n=e.media,i=e.isTemplate,a=Object(j.b)().t,s=null==n?void 0:null===(t=n.stats)||void 0===t?void 0:t.lifetime,c=Object(qt.b)({bitrate:null==n?void 0:null===(r=n.stats)||void 0===r?void 0:r.input_bitrate}),l=Object(qt.e)({media:n});return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.l,{display:"flex",alignItems:"center"},Object(m.c)(p.lc,{title:l,placement:"top-start"},Object(m.c)(p.l,{className:"fixedWidthTableContent","data-testid":"stream-source-".concat(n.name)},l)),Object(m.c)(or,{media:n})),Object(m.c)(zt.a,{media:n,isSources:!0}),!i&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.mc,{lineHeight:"20px",color:"textSecondary",component:"p","data-testid":"stream-uptime-".concat(n.name)},Object(m.c)(p.mc,{color:"textPrimary",component:"span"},a("streamList.table.uptime"),":"," "),s?_e.a.getFormattedTime(s):""),Object(m.c)(p.mc,{lineHeight:"20px",color:"textSecondary",component:"p","data-testid":"stream-bitrate-".concat(n.name)},Object(m.c)(p.mc,{color:"textPrimary",component:"span"},a("streamList.table.bitrate"),":"," "),c),(null==n?void 0:n.named_by)===st.d.remote&amp;&amp;Object(m.c)(p.mc,{lineHeight:"20px",color:"primary",component:"p","data-testid":"stream-sourced-".concat(n.name)},a("streamList.table.sourced"))))},ar=r(353),sr=r(144),cr=[{title:"streamList.table.track",lg:2},{title:"streamList.table.resolution",lg:4},{title:"streamList.table.codec",lg:3},{title:"streamList.table.bitrate",lg:3}],lr=function(e){var t=e.media,r=e.config,n=e.isTemplate,i=Object(j.b)().t,a=null,s=0,c=0,l=[],u="";if(Object(B.e)(t.transcoder)){var d=ar.a([],["stats","transcoder_devices"])(r);if(a=Object(sr.a)({transcoderSettings:t.transcoder,transcoderDevices:d}).resultHwFull,!n){var f=F.a(["stats","media_info","tracks"])(t);Array.isArray(f)&amp;&amp;f.forEach((function(e){"video"===e.content&amp;&amp;(s+=1,l.push(e)),"audio"===e.content&amp;&amp;(c+=1,l.push(e))}))}u=Object(qt.b)({bitrate:F.a(["stats","output_bitrate"])(t)})}return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.mc,{component:"span","data-testid":"stream-hw-".concat(t.name)},a?a[1]:""),!n&amp;&amp;a&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.l,{display:"flex",alignItems:"center"},Object(m.c)(p.mc,{color:"textSecondary",component:"p"},Object(m.c)(p.mc,{color:"textPrimary",component:"span",variant:"body2"},i("streamList.table.video"),":"," "),Object(m.c)(p.mc,{component:"span",variant:"body2","data-testid":"stream-video-count-".concat(t.name)},s," "),Object(m.c)(p.mc,{color:"textPrimary",variant:"body2",component:"span"},i("streamList.table.audio"),":"," "),Object(m.c)(p.mc,{component:"span",variant:"body2","data-testid":"stream-audio-count-".concat(t.name)},c," ")),Object(m.c)(Gt,{title:Object(m.c)("div",null,Object(B.e)(l)?Object(m.c)(p.cc,{settings:cr,rows:l.map((function(e){var t=Object(Kt.f)(Ot.a("height")(e));return[Object(m.c)(p.mc,{variant:"body2",key:"track-id"},e.track_id),Object(m.c)(o.a.Fragment,{key:"track-resolution"},e.width&amp;&amp;e.height&amp;&amp;"".concat(e.width,"x").concat(e.height),t&amp;&amp;Object(m.c)(p.l,{component:"span",ml:.5,className:"video-resolution"},t)),Object(m.c)(p.mc,{variant:"body2",key:"track-codec"},e.codec),Object(m.c)(p.mc,{variant:"body2",key:"track-bitrate"},"".concat(e.bitrate,"K"))]}))}):Object(m.c)(p.l,{textAlign:"center",m:1},Object(m.c)(p.mc,{component:"p",variant:"subtitle1"},i("streamList.table.noTracks")))),placement:"right","data-testid":"stream-transcode-inf-".concat(t.name)},Object(m.c)(p.l,{ml:1,mb:.5},Object(m.c)(p.pb,{fontSize:"small",color:"primary"})))),Object(m.c)(p.mc,{lineHeight:"20px",color:"textSecondary",component:"p","data-testid":"stream-transcode-bitrate-".concat(t.name)},Object(m.c)(p.mc,{color:"textPrimary",component:"span"},i("streamList.table.bitrateAfterTranscoding"),":"," "),u)),Object(B.b)(t.transcoder)&amp;&amp;Object(m.c)(p.mc,{color:"textSecondary",component:"p",variant:"body2","data-testid":"stream-transcoder-disabled-".concat(t.name)},i("streamList.table.transcoderDisabled")))},pr=r(354),ur=r(511),dr=r(173),mr=r(512),fr=r(174),br=function(e,t,r){return q.a(ur.a([[B.d,dr.a],[mr.a,fr.a(F.a(e,(r||[]).find((function(e){return e.name===t.reference}))))]]),F.a(e))(t)},hr=function(e){var t=e.dvr,r=e.dvrs;return{root:br(["root"],t,r),disk_usage_limit:br(["disk_usage_limit"],t,r),storage_limit:br(["storage_limit"],t,r),expiration:br(["expiration"],t,r),dvr_replicate:br(["dvr_replicate"],t,r),replication_port:br(["replication_port"],t,r),copy:br(["copy"],t,r),reference:t.reference}},yr=r(105),gr=r(95),vr=r(473),_r=r(706),Or=["defaultValue","label","onChange","validate","isRequired","getUnitString","getUnitValue","helperText","validateUnitString","dataTestIdLabel","externalChangeTimeout"];function jr(){return(jr=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function xr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return wr(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return wr(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function wr(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function kr(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var Sr=function(e){var t=e.defaultValue,r=e.label,o=e.onChange,i=e.validate,a=e.isRequired,s=e.getUnitString,c=e.getUnitValue,l=e.helperText,u=e.validateUnitString,d=e.dataTestIdLabel,f=e.externalChangeTimeout,b=kr(e,Or),h=Object(j.b)().t,y=xr(Object(n.useState)(t),2),g=y[0],v=y[1],_=xr(Object(n.useState)(s(t)),2),O=_[0],x=_[1],w=xr(Object(n.useState)(""),2),k=w[0],S=w[1];return Object(n.useEffect)((function(){f&amp;&amp;x(t)}),[f]),Object(n.useEffect)((function(){Object(B.b)(g)&amp;&amp;v(t)}),[t]),Object(n.useEffect)((function(){O!==s(t)&amp;&amp;x(s(t))}),[b.streamName,f]),Object(n.useEffect)((function(){Object(B.b)(O)&amp;&amp;O!==s(t)&amp;&amp;x(s(t))}),[g]),Object(m.c)(p.fc,jr({},b,{error:k,helperText:k||l,label:Object(m.c)("span",{"data-testid":d},r),value:O,onChange:function(e){var t=e.target.value;x(t);var r=u(t,a);if(r.isValid){var n=c(t),s=i(n,t);s.isValid?(o(n),S("")):S(h(s.validationError))}else S(h(r.validationError))}}))};Sr.defaultProps={label:null,validate:fr.a({isValid:!0}),isRequired:!1,helperText:null,defaultValue:null,"data-testid":"",dataTestIdLabel:""};var Pr=["defaultValue","label","onChange","validate","isRequired"];function Tr(e){return(Tr="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Cr(){return(Cr=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function Ir(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}function Ar(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Tr(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Tr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Tr(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Dr={s:"s",m:"m",h:"h",d:"d",w:"w"},Er=Ar(Ar(Ar(Ar(Ar({},Dr.s,1),Dr.m,60),Dr.h,3600),Dr.d,86400),Dr.w,604800),$r=function(e){return e?q.a((function(t){return"".concat(e/Er[t]).concat(t)}),yr.a((function(t,r){return e%Er[r]==0&amp;&amp;Er[t]&lt;Er[r]?r:t}),Dr.s),gr.a)(Dr):""},Nr=function(e){var t=Dr[vr.a(e)],r=t?_r.a(e):e;return parseInt(r,10)*(Er[t]||1)},Lr=function(e,t){var r=/^\d+(s|m|h|d|w)?$/.test(e),n=Ke.a(e),o=r||!t&amp;&amp;n;return o||console.error("timeValueInput.errorMessage",e),{isValid:o,validationError:o?"":"timeValueInput.errorMessage"}},Rr=function(e){var t=e.defaultValue,r=e.label,n=e.onChange,o=e.validate,i=e.isRequired,a=Ir(e,Pr),s=Object(j.b)().t;return Object(m.c)(Sr,Cr({},a,{onChange:n,defaultValue:t,label:r,validate:o,isRequired:i,getUnitString:$r,getUnitValue:Nr,validateUnitString:Lr,helperText:s("timeValueInput.availableTimeFormats")}))};function qr(e){return(qr="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Mr(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==qr(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==qr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===qr(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}Rr.defaultProps={label:null,validate:fr.a({isValid:!0}),isRequired:!1,defaultValue:null};var Fr=Object(p.wc)()((function(e){return{footer:Mr({display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},e.breakpoints.only("xs"),{display:"block"}),footerButton:{width:"130px","&amp;:last-of-type":{marginLeft:e.spacing(2)}}}})),Ur=Object(p.wc)()((function(e,t){var r=t.dvrReplicationRunning;return{replicationIcon:{color:r?e.palette.success.main:e.palette.grey[500],fontSize:15},replicationText:{color:r?e.palette.success.main:e.palette.grey[500]}}})),zr=function(e){var t=e.dvrReplication,r=e.dvrReplicationRunning,n=Object(j.b)().t,o=Ur({dvrReplicationRunning:r}).classes;return Object(m.c)(p.wb,{placement:"bottom",title:Object(m.c)(p.l,{p:1},Object(m.c)(p.l,{display:"flex",justifyContent:"center"},Object(m.c)(p.l,{position:"relative",width:47,height:47},Object(m.c)(p.l,{position:"absolute",top:0},Object(m.c)(p.u,{thickness:4,size:47,style:{color:"grey"},variant:"determinate",value:100})),Object(m.c)(p.l,{position:"absolute",top:0},Object(m.c)(p.v,{thickness:4,color:"success",variant:"determinate",value:t||0,size:47,textColor:t?"success":"grey.main"})))),Object(m.c)(p.mc,{variant:"subtitle2",fontSize:10,textAlign:"center",className:o.replicationText,mt:1},n(r?"streamList.table.dvrReplicateRunning":"streamList.table.dvrReplicateOff")))},Object(m.c)("span",{className:o.replicationIcon},Object(m.c)(Yt.g,null)))};function Br(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Hr(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Hr(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Hr(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Vr=function(e){var t,r,i,a,s=e.media,c=e.dvr,l=e.dvrs,u=e.isTemplate,f=e.product,b=Object(j.b)().t,h=Br(Object(n.useState)(200),2),y=h[0],g=h[1],v=c||(null==s?void 0:s.dvr)||{},_=hr({dvr:v,dvrs:l}),O=null==_?void 0:_.root,x=null==_?void 0:_.reference,w=null==_?void 0:_.expiration,k=$r(w),S=!(null==s||null===(t=s.stats)||void 0===t||!t.dvr_info),P=null==s?void 0:null===(r=s.dvr)||void 0===r?void 0:r.dvr_replicate,T=function(){var e=document.getElementById("dvrLine");e&amp;&amp;g(e.offsetWidth)};return Object(n.useEffect)((function(){return window.addEventListener("resize",T),function(){window.removeEventListener("resize",T)}}),[]),Object(m.c)(o.a.Fragment,null,Object(m.c)("div",{className:"fixedWidthTableContent"},Object(m.c)(p.mc,{variant:"body2",component:"span","data-testid":"stream-dvr-path-".concat(s.name),alignItems:"center",display:"flex",gap:1},Object(m.c)(p.lc,{title:O?"".concat(b("streamList.table.path"),": ").concat(O):"",placement:"top-start"},Object(m.c)("span",null,O?"".concat(b("streamList.table.path"),": ").concat(O):"")),P&amp;&amp;Object(m.c)(zr,{dvrReplication:null==s?void 0:null===(i=s.stats)||void 0===i?void 0:i.dvr_replication,dvrReplicationRunning:null==s?void 0:null===(a=s.stats)||void 0===a?void 0:a.dvr_replication_running}))),!u&amp;&amp;!O&amp;&amp;S&amp;&amp;Object(m.c)(p.mc,{variant:"body2",color:"textSecondary",component:"p","data-testid":"stream-dvr-disabled-".concat(s.name)},b("streamList.table.archiveFromRemote")),S&amp;&amp;Object(m.c)("div",{style:{margin:"4px 0",borderBottom:"2px solid #E7EAEE"},id:"dvrLine"},Object(m.c)(pr.a,{info:s.stats.dvr_info,maxWidth:y,secondsPerCell:420,pxPerCell:3,"data-testid":"stream-dvr-line-".concat(s.name)})),Object(m.c)(p.mc,{lineHeight:"20px",color:"textSecondary",component:"p","data-testid":"stream-dvr-limit-".concat(s.name)},k&amp;&amp;Object(m.c)(p.mc,{color:"textPrimary",component:"span"},b("streamList.table.depth"),":"," "),k),f===d.b&amp;&amp;!x||f!==d.b&amp;&amp;!S&amp;&amp;!O?Object(m.c)(p.mc,{variant:"body2",color:"textSecondary",component:"p","data-testid":"stream-dvr-disabled-".concat(s.name)},b("streamList.table.archiveDisabled")):"")};Vr.defaultProps={dvr:null,isTemplate:!1};var Wr=r(86),Gr=Object(p.wc)()((function(e,t){var r=t.isThumbnails,n=t.isAuth;return{moreButton:{textDecoration:"underline",cursor:"pointer"},arrowIcon:{fontSize:"6px",marginLeft:"5px"},thumbnailsVal:{color:r?e.palette.success.main:e.palette.grey.main},authVal:{color:n?e.palette.success.main:e.palette.red.main},compactFont:{fontSize:10}}}));function Kr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Yr(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Yr(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Yr(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Jr=p.uc.IconArrowDown,Qr=p.uc.IconArrowUp,Xr=function(e){var t,r,o=e.media,i=e.stats,a=e.named_by,s=e.isAuth,c=e.isDrm,l=e.dvrs,u=e.sourceKey,f=e.isTemplate,b=e.product,h=Object(j.b)().t,y=Kr(Object(n.useState)(!1),2),g=y[0],v=y[1],_=(null==o?void 0:o.dvr)||{},O=hr({dvr:_,dvrs:l}),x=null==O?void 0:O.root,w=null==o?void 0:null===(t=o.cache)||void 0===t?void 0:t.path,k=0,S=0,P=(null==o?void 0:o.pushes)||[];P.forEach((function(e){var t,r,n;(null==e?void 0:null===(t=e.stats)||void 0===t?void 0:t.status)===Wr.g.running&amp;&amp;(k+=1,S+=null!==(r=null==e?void 0:null===(n=e.stats)||void 0===n?void 0:n.bytes)&amp;&amp;void 0!==r?r:0)}));var T=null==o?void 0:null===(r=o.thumbnails)||void 0===r?void 0:r.enabled,C=null==i?void 0:i.online_clients,I=Gr({isThumbnails:T,isAuth:s}).classes;return Object(m.c)("div",null,Object(m.c)(p.mc,{lineHeight:"20px",component:"span","data-testid":"stream-output-clients-".concat(o.name),className:"output-clients"},Object(B.d)(C)?"".concat(h("streamList.table.clients"),": ").concat(C):""),b!==d.b&amp;&amp;a!==st.d.remote&amp;&amp;Object(m.c)(p.l,{display:"flex",alignItems:"center"},Object(m.c)(p.mc,{color:"textSecondary",component:"p",lineHeight:"20px"},Object(m.c)(p.mc,{color:"textPrimary",component:"span"},h(f?"templatePage.pushes":"streamList.table.pushSummary"),":"," "),Object(m.c)(p.mc,{component:"span","data-testid":"stream-output-push-summary-".concat(o.name)},"".concat(f?"":Wr.g.running," ").concat(f?P.length:k," ").concat(S?"(".concat(Object(Wr.c)(S),")"):""))),Object(B.e)(P)?Object(m.c)(Gt,{title:Object(m.c)(p.cc,{settings:[{title:"streamList.table.url",lg:6}].concat(f?[]:[{title:"streamList.table.status",lg:2},{title:"streamList.table.details",lg:4}]),rows:P.map((function(e){var t=Object(Wr.b)({pushStats:e.stats||{}}),r=t.status,n=t.statusColor,o=t.duration,i=t.resultStatusParams,a=f?[]:[Object(m.c)(p.mc,{variant:"subtitle2",component:"span",style:{color:n},key:"push-status"},r,Object(m.c)(p.mc,{component:"span",style:{color:"#616161"}},o)),Object(m.c)(p.mc,{variant:"body2",key:"push-status-params"},i)];return[Object(m.c)(p.mc,{variant:"body2",key:"push-url"},e.url)].concat(a)}))}),placement:"top",maxWidth:"90vw","data-testid":"stream-output-pushes-inf-".concat(o.name)},Object(m.c)("div",{style:{marginLeft:"4px"}},Object(m.c)(p.pb,{fontSize:"small",color:"primary"}))):""),g&amp;&amp;Object(m.c)("div",null,x&amp;&amp;b!==d.b&amp;&amp;Object(m.c)(p.mc,{lineHeight:"20px",color:"textSecondary",component:"p","data-testid":"stream-output-dvr-cache-".concat(o.name)},Object(m.c)(p.mc,{color:"textPrimary",component:"span"},h("streamList.table.dvrCache"),":"," "),Object(B.d)(w)?w:h("streamList.table.none")),a===st.d.config&amp;&amp;b!==d.b&amp;&amp;Object(m.c)(p.mc,{color:"textSecondary",component:"p",lineHeight:"20px"},Object(m.c)(p.mc,{color:"textPrimary",component:"span"},h("streamList.table.thumbnails"),":"," "),Object(m.c)(p.mc,{component:"span",className:I.thumbnailsVal,"data-testid":"stream-output-thumbnails-".concat(o.name)},h(T?"streamList.table.on":"streamList.table.off"))),b!==d.b&amp;&amp;Object(m.c)(p.mc,{color:"textSecondary",component:"p",lineHeight:"20px"},Object(m.c)(p.mc,{color:"textPrimary",component:"span"},h("streamList.table.authorization"),":"," "),Object(m.c)(p.mc,{component:"span",className:I.authVal,"data-testid":"stream-output-auth-".concat(o.name)},h(s?"streamList.table.on":"streamList.table.off"))),b!==d.b&amp;&amp;(a!==st.d.user&amp;&amp;c?Object(m.c)(p.mc,{lineHeight:"20px","data-testid":"stream-output-drm-".concat(o.name)},h("streamList.table.contentProtectedDRM")):Object(m.c)(p.mc,{lineHeight:"20px","data-testid":"stream-output-no-drm-".concat(o.name)},h("streamList.table.contentUnprotected")," ",Object(m.c)(p.yb,{to:{pathname:f?"/templates/".concat(encodeURIComponent(o.name),"/auth"):Object(qt.g)(o,u),state:Object(qt.f)(o,u)},component:Mt.b,color:"primary","data-testid":"stream-output-drm-link-".concat(o.name)},h("streamList.table.turnOnDRM"))))),Object(m.c)(p.mc,{color:"primary",onClick:function(){return v(!g)},alignItems:"center",display:"flex"},Object(m.c)(p.mc,{component:"span",variant:"subtitle2",className:I.moreButton},h(g?"hide":"more"))," ",Object(m.c)("span",{className:I.arrowIcon},g?Object(m.c)(Qr,null):Object(m.c)(Jr,null))))};Xr.defaultProps={sourceKey:null};var Zr=r(359),en=function(e){var t=e.label,r=e.mediaCount,n=Object(j.b)().t;return Object(m.c)(p.mc,{variant:"body2",component:"span"},n(t)," ",Object(B.d)(r)&amp;&amp;Object(m.c)(p.mc,{component:"span",variant:"subtitle2"},"(".concat(r,")")))};function tn(e){return(tn="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function rn(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==tn(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==tn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===tn(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var nn=Object(p.wc)()((function(e,t){var r,n=t.product;return{marginRight10:rn({marginRight:"10px !important"},e.breakpoints.down("lg"),{marginRight:5}),dvrToggle:rn({},e.breakpoints.only("xs"),{marginLeft:0}),wrapper:rn({borderBottom:"1px solid #edf0f2"},e.breakpoints.only("xs"),n!==d.b?{flexWrap:"wrap"}:{}),statusCircle:{fontSize:16},online:{color:null===(r=e.palette.success)||void 0===r?void 0:r.main},waiting:{color:e.palette.warning.main},disabled:{color:"#98A2B2"},error:{color:e.palette.error.main},filterTitle:rn({whiteSpace:"nowrap"},e.breakpoints.only("xs"),{width:"100%",marginBottom:e.spacing(1)}),textFilterWrapper:rn(rn(rn({},e.breakpoints.up("xs"),n!==d.b?{}:{paddingRight:0,"&amp; .MuiToggleButtonGroup-root":{"&amp; button:last-of-type":{marginRight:0}}}),e.breakpoints.up("sm"),{flex:"1 auto"}),e.breakpoints.only("xs"),n!==d.b?{width:"100%",paddingRight:0}:{flex:"1 auto","&amp; .MuiToggleButtonGroup-root":{flexWrap:"nowrap"}}),otherFiltersWrapper:rn({justifyContent:"flex-end"},e.breakpoints.only("xs"),{width:"100%",marginTop:e.spacing(2),justifyContent:"space-between",flexWrap:"wrap"}),viewFilter:rn({marginRight:"auto"},e.breakpoints.down("sm"),{width:"100%",marginBottom:e.spacing(2)})}})),on=function(e){var t=e.title,r=e.children,i=nn({}).classes,a=Object(n.useContext)(u.c);return Object(m.c)(o.a.Fragment,null,t&amp;&amp;Object(m.c)(p.mc,{className:i.filterTitle,variant:"subtitle2"},t),Object(m.c)(p.l,{ml:{xs:a===d.b?2:0,sm:2}},r))},an=p.uc.IconOnline,sn=p.uc.IconWaiting,cn=p.uc.IconDisabled,ln=p.uc.IconError,pn=function(e){var t=e.handleToggleFilter,r=e.filterCounts,n=Object(j.b)().t,o=Ge()().location,i=nn({}),a=i.classes,s=i.cx,c=new URLSearchParams(o.search).get(d.y.status);return Object(m.c)(on,{title:n("filterByStatus")},Object(m.c)(p.kc,{isNullable:!0,possibleValues:[{value:st.e.online,icon:Object(m.c)("div",{className:s(a.statusCircle,a.online)},Object(m.c)(an,null)),label:Object(m.c)(en,{label:"headerMediaListFilters.online",mediaCount:r[st.e.online]})},{value:st.e.waiting,icon:Object(m.c)("div",{className:s(a.statusCircle,a.waiting)},Object(m.c)(sn,null)),label:Object(m.c)(en,{label:"headerMediaListFilters.waiting",mediaCount:r[st.e.waiting]})},{value:st.e.disabled,icon:Object(m.c)("div",{className:s(a.statusCircle,a.disabled)},Object(m.c)(cn,null)),label:Object(m.c)(en,{label:"headerMediaListFilters.disabled",mediaCount:r[st.e.disabled]})},{value:st.e.error,icon:Object(m.c)("div",{className:s(a.statusCircle,a.error)},Object(m.c)(ln,null)),label:Object(m.c)(en,{label:"headerMediaListFilters.error",mediaCount:r[st.e.error]})}],value:c,onChange:t(d.y.status)}))};function un(e){return function(e){if(Array.isArray(e))return dn(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return dn(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return dn(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function dn(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var mn=function(e){var t=e.filterCounts,r=e.handleToggleMultipleFilter,o=Object(j.b)().t,i=Ge()().location,a=Object(n.useContext)(u.c),s=new URLSearchParams(i.search).get(d.y.feature),c=s?s.split(","):s,l=function(){return[{value:st.c.dvr,label:Object(m.c)(en,{label:"headerMediaListFilters.dvr",mediaCount:t[st.c.dvr]})},{value:st.c.transcoder,label:Object(m.c)(en,{label:"headerMediaListFilters.transcoder",mediaCount:t[st.c.transcoder]})}]};return Object(m.c)(on,{title:o("filterByFeature")},Object(m.c)(p.kc,{isNullable:!0,possibleValues:a===d.a?[].concat(un(l()),[{value:st.c.vision,label:Object(m.c)(en,{label:"headerMediaListFilters.vision",mediaCount:t[st.c.vision]})}]):l(),value:c,onChange:r(d.y.feature,c)}))},fn=function(e){var t=e.filterCounts,r=e.handleToggleFilter,n=Object(j.b)().t,o=Ge()().location,i=new URLSearchParams(o.search).get(d.y.named_by);return Object(m.c)(on,{title:n("namedBy")},Object(m.c)(p.kc,{isNullable:!0,possibleValues:[{value:st.d.config,label:Object(m.c)(en,{label:"config",mediaCount:t[st.d.config]})},{value:st.d.user,label:Object(m.c)(en,{label:"user",mediaCount:t[st.d.user]})},{value:st.d.remote,label:Object(m.c)(en,{label:"remote",mediaCount:t[st.d.remote]})}],value:i,onChange:r(d.y.named_by)}))},bn=p.uc.IconBoardView,hn=p.uc.IconList,yn=p.uc.IconCompact,gn=function(e){var t=e.handleToggleFilter,r=e.view;return Object(m.c)(on,null,Object(m.c)(p.kc,{possibleValues:[{value:st.f.row,icon:Object(m.c)(hn,null)},{value:st.f.card,icon:Object(m.c)(bn,null)},{value:st.f.compact,icon:Object(m.c)(yn,null)}],value:r,onChange:t(d.y.view)}))};function vn(e){return function(e){if(Array.isArray(e))return jn(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||On(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||On(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function On(e,t){if(e){if("string"==typeof e)return jn(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?jn(e,t):void 0}}function jn(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var xn=function(e){var t=e.children,r=nn({}).classes;return Object(m.c)(p.l,{display:"flex",mb:2,width:"100%",alignItems:"center",pb:2,className:r.wrapper},t)},wn=function(e){var t=e.query,r=e.handleFilterChange,i=e.onTextFilterChange,a=e.filterCounts,s=e.total,c=e.sort,l=e.view,f=Object(j.b)().t,b=Object(n.useContext)(u.c),h=Object(p.yc)((function(e){return e.breakpoints.down("xl")})),y=nn({product:b}).classes,g=_n(Object(n.useState)(!1),2),v=g[0],_=g[1],O=function(e){return function(t){r(e,t||"")}},x=t&amp;&amp;t.length&gt;0?"".concat(f("headerMediaList.textFilterLabelWithMediaCount",{mediaCount:s})):f("headerMediaList.textFilterLabel");return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.l,{display:"flex",mb:2,width:"100%",alignItems:"center",pb:2,className:y.wrapper},Object(m.c)(p.l,{display:"flex",width:100,pr:2,className:y.textFilterWrapper},Object(m.c)(p.Tb,{placeholder:x,value:t||"",onChange:i}),b===d.b&amp;&amp;Object(m.c)(gn,{handleToggleFilter:O,view:l})),b!==d.b&amp;&amp;Object(m.c)(p.l,{display:"flex",alignItems:"center",className:y.otherFiltersWrapper},Object(m.c)(p.l,{className:y.viewFilter},Object(m.c)(gn,{handleToggleFilter:O,view:l})),Object(m.c)(p.l,{mr:2},Object(m.c)(p.Xb,{sort:c,menuWidth:186,onChange:r,items:[{label:f("sort.streamName"),radioButtons:[{value:"name",label:f("sort.sortAZ")},{value:"-name",label:f("sort.sortZA")}]},{label:f("sort.inputBitrate"),radioButtons:[{value:"stats.input_bitrate",label:f("sort.sortAsc")},{value:"-stats.input_bitrate",label:f("sort.sortDesc")}]},{label:f("sort.numberOfClients"),radioButtons:[{value:"stats.online_clients",label:f("sort.sortAsc")},{value:"-stats.online_clients",label:f("sort.sortDesc")}]}]})),!h&amp;&amp;Object(m.c)(pn,{filterCounts:a,handleToggleFilter:O}),Object(m.c)(p.o,{isOpen:v,onChangeIsOpen:_}))),v&amp;&amp;Object(m.c)(o.a.Fragment,null,h&amp;&amp;Object(m.c)(xn,null,Object(m.c)(pn,{filterCounts:a,handleToggleFilter:O})),Object(m.c)(xn,null,Object(m.c)(mn,{filterCounts:a,handleToggleMultipleFilter:function(e,t){return function(n){var o=Object(lt.a)(t||[]);o=o.includes(n)?o.filter((function(e){return e!==n})):[].concat(vn(o),[n]),r(e,o.join(","))}}})),Object(m.c)(xn,null,Object(m.c)(fn,{filterCounts:a,handleToggleFilter:O}))))};wn.defaultProps={query:void 0};var kn=function(e){var t=e.children,r=Object(n.useContext)(u.b),o=Object(n.useCallback)((function(){return function(e){return[{to:"/create",enabled:!0,isSpecial:!0},{name:"media.streams",to:"/streams",enabled:!0,entity:d.c.stream},{name:"media.templates",to:"/templates",enabled:null==e?void 0:e.main_templates,entity:d.c.template},{name:"media.multiplexers",to:"/multiplexers",enabled:null==e?void 0:e.main_transponders,entity:d.c.multiplexer},{name:"media.sources",to:"/sources",enabled:null==e?void 0:e.main_cluster_sources,entity:d.c.source},{name:"media.vods",to:"/vods",enabled:null==e?void 0:e.main_vod_locations,entity:d.c.vod},{name:"media.dvbCards",to:"/dvb-cards",enabled:null==e?void 0:e.main_dvb_cards,entity:d.c.dvbCard},{name:"media.agents",to:"/agents",enabled:null==e?void 0:e.main_agents,entity:"agent"}].filter((function(e){return e.enabled}))}(r)}),[r]);return Object(m.c)(p.Lb,{menuItems:o(),id:"media-list"},t)},Sn=r(8),Pn=r(850),Tn=r.n(Pn),Cn=r(851),In=r.n(Cn),An=r(351),Dn=r(852),En=r(41);function $n(e){return($n="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Nn(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==$n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==$n(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===$n(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Ln="disabled",Rn="error",qn="waiting",Mn="running",Fn=Object(En.a)()((function(e,t){var r,n,o=t.status,i=t.isIcon,a=Nn(Nn(Nn(Nn({},Mn,e.palette.success.main),qn,e.palette.warning.main),Ln,e.palette.grey[500]),Rn,e.palette.error.main);return i?{icon:{fontSize:15,lineHeight:1,display:"inline-flex",color:null!==(n=a[o])&amp;&amp;void 0!==n?n:e.palette.text.primary}}:{icon:{background:null!==(r=a[o])&amp;&amp;void 0!==r?r:e.palette.text.primary,borderRadius:"50%",width:8,height:8}}})),Un=Nn(Nn(Nn(Nn({},Mn,Object(m.c)(Yt.q,null)),qn,Object(m.c)(Yt.t,null)),Ln,Object(m.c)(Yt.h,null)),Rn,Object(m.c)(Yt.i,null)),zn=function(e){var t,r=e.disabled,n=e.status,o=e.isIcon,i=r?Ln:null!=n?n:"",a=Fn({status:i,isIcon:o}).classes;return Object(m.c)("span",{className:a.icon},o&amp;&amp;null!==(t=Un[i])&amp;&amp;void 0!==t?t:"")},Bn=function(e){var t,r,i=e.media,a=e.expanded,s=Object(j.b)().t,c=Object(n.useContext)(u.c),l=Object(U.useLocation)(),f=(null===(t=i.stats)||void 0===t?void 0:t.running_on)||[],b="".concat(s("runningOn")," ").concat(f.join(", ")),h=i.title||i.meta&amp;&amp;i.meta.comment||"",y=c===d.b?i.name:h;return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.l,{display:"flex",alignItems:"center",gap:1,lineHeight:"15px"},Object(m.c)(zn,{disabled:i.disabled,status:null===(r=i.stats)||void 0===r?void 0:r.status,isIcon:!0}),Object(m.c)(p.yb,{to:{pathname:"/streams/".concat(encodeURIComponent(i.name)),state:{filter:l.search}},component:Mt.a,color:"primary",className:"fixedWidthTableContent"},Object(m.c)(p.mc,{color:"primary",fontSize:12,component:"span",variant:"subtitle2",lineHeight:"15px"},c===d.b?h:i.name))),a&amp;&amp;Object(m.c)(p.l,{mt:1},Object(m.c)("div",{className:"fixedWidthTableContent"},Object(m.c)(p.lc,{title:y,placement:"right-end"},Object(m.c)(p.mc,{component:"span",lineHeight:"20px",fontSize:10},y))),c!==d.b&amp;&amp;(i.named_by===st.d.config||i.named_by===st.d.remote)&amp;&amp;Object(m.c)(p.mc,{component:"p",lineHeight:"20px",fontSize:10},i.static?s("streamList.table.alwaysStarted"):s("streamList.table.onDemand")),f.length&gt;0&amp;&amp;Object(m.c)(p.lc,{title:b,placement:"right-end"},Object(m.c)(p.mc,{lineHeight:"20px",className:"fixedWidthTableContent",fontSize:10},b)),Object(m.c)(Ft.a,{media:i,stats:i.stats,"data-testid":"stream-link-".concat(i.name),fontSize:10})))};function Hn(e){return(Hn="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Vn(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Hn(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Hn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Hn(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Wn=Object(p.wc)()((function(e,t){var r=t.color;return{statusLine:Vn({display:"inline-flex",alignItems:"center",position:"relative",fontSize:12,padding:"0 4px",minWidth:0,width:100},e.breakpoints.down("lg"),{width:"auto"}),statusBg:{position:"absolute",backgroundColor:r,left:0,top:-2,bottom:-2,right:0,opacity:.08,pointerEvents:"none",borderRadius:4},statusIcon:{display:"inline-flex",fontSize:10,lineHeight:"1",justifyContent:"center",paddingTop:3,width:16,height:16,backgroundColor:r,border:"1px solid #fff",color:e.palette.common.white,borderRadius:"50%",marginRight:5,flexShrink:0},source:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}}})),Gn=Object(p.wc)()((function(e){return{toggleRowButton:{color:e.palette.text.primary,fontSize:14,marginLeft:20},tableBodyCell:{padding:e.spacing(1)},tableCheckbox:Vn({padding:0},e.breakpoints.up("lg"),{marginTop:-2}),outputCell:Vn({display:"flex",alignItems:"flex-start",gap:e.spacing(1)},e.breakpoints.down("lg"),{flexDirection:"column"}),actions:Vn(Vn({},e.breakpoints.up("lg"),{justifyContent:"flex-end",marginLeft:"auto",marginTop:-6}),e.breakpoints.down("lg"),{width:"100%",borderTop:"1px solid rgba(212, 214, 221, 0.2)",paddingTop:e.spacing(1)})}})),Kn=Object(p.wc)()((function(e){return{icon:{color:e.palette.grey[500],marginRight:5,fontSize:15,lineHeight:"1",display:"inline-flex"},text:{fontSize:12}}})),Yn=function(e){var t=e.Icon,r=e.text,n=e.minWidth,o=Kn().classes;return Object(m.c)(p.l,{display:"flex",alignItems:"center",flexShrink:0,minWidth:n},Object(m.c)("span",{className:o.icon},Object(m.c)(t,null)),Object(m.c)("span",{className:o.text},r))},Jn=function(e){var t,r,n,o,i,a=e.media,s=null!==(t=null===(r=a.inputs)||void 0===r?void 0:r.findIndex((function(e){var t;return null===(t=e.stats)||void 0===t?void 0:t.active})))&amp;&amp;void 0!==t?t:-1,c=null===(n=a.inputs)||void 0===n?void 0:n[s],l=Object(qt.h)(a,c),u=Xt().getInputStatusColor,d=_e.a.getFormattedTime(null===(o=a.stats)||void 0===o?void 0:o.lifetime,!1,"n/a"),f=Object(qt.e)({media:a}),b=Wn({color:u({status:l,useDifferColorByInputKey:!0,inputIndex:s})}).classes;return Object(m.c)(p.l,{display:"flex",alignItems:"flex-start",gap:1},Object(m.c)("span",{className:b.statusLine},Object(m.c)("span",{className:b.statusBg}),Object(m.c)("span",{className:b.statusIcon},c?s+1:""),Object(m.c)("span",{className:b.source,title:f},f),Object(m.c)(p.l,{marginLeft:"auto"},Object(m.c)(or,{media:a,infoIconSize:16}))),Object(m.c)(Yn,{Icon:Yt.r,text:d,minWidth:65}),Object(m.c)(Yn,{Icon:Yt.e,text:Object(qt.b)({bitrate:null===(i=a.stats)||void 0===i?void 0:i.input_bitrate}),minWidth:80}))};function Qn(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Xn(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Xn(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Xn(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Zn=p.uc.IconArchiveStream,eo=function(e){var t,r,i,a,s=e.media,c=e.dvrs,l=e.expanded,f=Object(j.b)().t,b=Object(n.useContext)(u.c),h=Qn(Object(n.useState)(100),2),y=h[0],g=h[1],v=(null==s?void 0:s.dvr)||{},_=hr({dvr:v,dvrs:c}),O=null==_?void 0:_.root,x=null==_?void 0:_.reference,w=null==_?void 0:_.expiration,k=$r(w),S=!(null==s||null===(t=s.stats)||void 0===t||!t.dvr_info),P=b===d.b&amp;&amp;!x||b!==d.b&amp;&amp;!(S||O),T=function(){var e=document.getElementById("dvrLine");e&amp;&amp;g(e.offsetWidth)};return Object(n.useEffect)((function(){return window.addEventListener("resize",T),function(){window.removeEventListener("resize",T)}}),[]),P?Object(m.c)(p.mc,{variant:"body2",color:"textSecondary",component:"p","data-testid":"stream-dvr-disabled-".concat(s.name),fontSize:12},f("streamList.tableCompact.disabled")):Object(m.c)(o.a.Fragment,null,Object(m.c)(p.l,{display:"flex",alignItems:"center",gap:1},Object(m.c)(Yn,{Icon:Zn,text:k||0}),S&amp;&amp;Object(m.c)("div",{style:{borderBottom:"2px solid #E7EAEE",flex:1},id:"dvrLine"},Object(m.c)(pr.a,{info:null===(r=s.stats)||void 0===r?void 0:r.dvr_info,maxWidth:y,secondsPerCell:420,pxPerCell:3,"data-testid":"stream-dvr-line-".concat(s.name)}))),l&amp;&amp;Object(m.c)(p.l,{display:"flex",alignItems:"center",gap:1,mt:1},O&amp;&amp;Object(m.c)(p.mc,{fontSize:10},"".concat(f("streamList.table.path"),": ").concat(O)),Object(m.c)(zr,{dvrReplication:null==s?void 0:null===(i=s.stats)||void 0===i?void 0:i.dvr_replication,dvrReplicationRunning:null==s?void 0:null===(a=s.stats)||void 0===a?void 0:a.dvr_replication_running})))},to=function(e){var t,r,i,a,s,c,l,f=e.media,b=e.expanded,h=e.dvrs,y=Object(j.b)().t,g=Object(n.useContext)(u.c),v=null==f?void 0:null===(t=f.thumbnails)||void 0===t?void 0:t.enabled,_=!(null==f||null===(r=f.on_play)||void 0===r||!r.url),O=(null==f?void 0:f.dvr)||{},x=hr({dvr:O,dvrs:h}),w=null==x?void 0:x.root,k=null==f?void 0:null===(i=f.cache)||void 0===i?void 0:i.path,S=null!==(a=null===(s=f.pushes)||void 0===s?void 0:s.filter((function(e){var t;return(null==e?void 0:null===(t=e.stats)||void 0===t?void 0:t.status)===Wr.g.running})).length)&amp;&amp;void 0!==a?a:0,P=(null==f?void 0:f.drm)&amp;&amp;!!Object.keys(f.drm).length,T=Gr({isThumbnails:v,isAuth:_}),C=T.classes,I=T.cx;return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.l,{display:"flex",alignItems:"center",gap:1},Object(m.c)(Yn,{Icon:Yt.d,text:null!==(c=null===(l=f.stats)||void 0===l?void 0:l.online_clients)&amp;&amp;void 0!==c?c:0}),Object(m.c)(Yn,{Icon:Yt.n,text:S})),b&amp;&amp;Object(m.c)(p.l,{mt:1},w&amp;&amp;g!==d.b&amp;&amp;Object(m.c)(p.mc,{lineHeight:"20px",color:"textSecondary",component:"p","data-testid":"stream-output-dvr-cache-".concat(f.name),className:C.compactFont},Object(m.c)(p.mc,{color:"textPrimary",component:"span",className:C.compactFont},y("streamList.table.dvrCache"),":"," "),Object(B.d)(k)?k:y("streamList.table.none")),f.named_by===st.d.config&amp;&amp;g!==d.b&amp;&amp;Object(m.c)(p.mc,{color:"textSecondary",component:"p",lineHeight:"20px",className:C.compactFont},Object(m.c)(p.mc,{color:"textPrimary",component:"span",className:C.compactFont},y("streamList.table.thumbnails"),":"," "),Object(m.c)(p.mc,{component:"span",className:I(C.thumbnailsVal,C.compactFont),"data-testid":"stream-output-thumbnails-".concat(f.name)},y(v?"streamList.table.on":"streamList.table.off"))),g!==d.b&amp;&amp;Object(m.c)(p.mc,{color:"textSecondary",component:"p",lineHeight:"20px",className:C.compactFont},Object(m.c)(p.mc,{color:"textPrimary",component:"span",className:C.compactFont},y("streamList.table.authorization"),":"," "),Object(m.c)(p.mc,{component:"span",className:I(C.authVal,C.compactFont),"data-testid":"stream-output-auth-".concat(f.name)},y(_?"streamList.table.on":"streamList.table.off"))),g!==d.b&amp;&amp;Object(m.c)(o.a.Fragment,null,f.named_by!==st.d.user&amp;&amp;P?Object(m.c)(p.mc,{lineHeight:"20px","data-testid":"stream-output-drm-".concat(f.name),className:C.compactFont},y("streamList.table.contentProtectedDRM")):Object(m.c)(p.mc,{lineHeight:"20px","data-testid":"stream-output-no-drm-".concat(f.name),className:C.compactFont},y("streamList.table.contentUnprotected")," ",Object(m.c)(p.yb,{to:{pathname:Object(qt.g)(f,null),state:Object(qt.f)(f,null)},component:Mt.b,color:"primary","data-testid":"stream-output-drm-link-".concat(f.name)},y("streamList.table.turnOnDRM"))))))},ro=function(e){var t=e.selectedStreams,r=e.goToMultiEdit,n=e.setSelectedStreams,o=Object(j.b)().t,i=Fr().classes;return Object(m.c)("div",{className:i.footer},Object(m.c)(p.l,{pl:{xs:0,sm:4},mb:{xs:2,sm:0}},Object(m.c)(p.mc,{variant:"body2"},"".concat(o("selected"),":"),Object(m.c)(p.l,{component:"span",mx:2},"|"),"".concat(t.length," ").concat(1===t.length?o("stream"):o("footer.streams")))),Object(m.c)("div",null,Object(m.c)(p.n,{color:"inherit",variant:"outlined",size:"small",onClick:function(){return n([])},className:i.footerButton},o("cancel")),Object(m.c)(p.n,{color:"primary",variant:"contained",size:"small",onClick:r,className:i.footerButton,"data-testid":"streamList_multiediting_edit_button"},o("editSelected"))))};function no(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return oo(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return oo(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function oo(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var io=function(e){var t=e.streams,r=e.dvrs,o=e.selectedStreams,i=e.onStreamToggle,a=e.onAllStreamsToggle,s=e.toggleStreamDisabled,c=e.onIgnoreStream,l=e.setSelectedStreams,d=e.goToMultiEdit,f=Object(j.b)().t,b=Object(n.useContext)(u.c),h=Gn().classes,y=no(Object(n.useState)(),2),g=y[0],v=y[1],_=Object(n.useCallback)((function(e){v((function(t){if(t!==e)return e}))}),[]),O=Object(n.useMemo)((function(){return{showCheckbox:function(e){return e.named_by===st.d.config},checked:function(e){return o.includes(null==e?void 0:e.name)},items:[{title:f("streamList.table.stream"),renderData:function(e){return Object(m.c)(Bn,{media:e,expanded:g===e.name})}},{title:f("streamList.table.input"),grow:2,renderData:function(e){return Object(m.c)(Jn,{media:e})}},{title:f("streamList.table.transcode"),renderData:function(e){var t,r,n,o;if(Object(B.b)(e.transcoder))return Object(m.c)(p.mc,{color:"textSecondary",component:"p",variant:"body2","data-testid":"stream-transcoder-disabled-".concat(e.name),fontSize:12},f("streamList.tableCompact.disabled"));var i=0,a=0;return null===(t=e.stats)||void 0===t||null===(r=t.media_info)||void 0===r||null===(n=r.tracks)||void 0===n||n.forEach((function(e){"video"===e.content&amp;&amp;(i+=1),"audio"===e.content&amp;&amp;(a+=1)})),Object(m.c)(p.l,{display:"flex",alignItems:"center",gap:1},Object(m.c)(Yn,{Icon:Yt.s,text:i,minWidth:27}),Object(m.c)(Yn,{Icon:Yt.p,text:a,minWidth:27}),Object(m.c)(Yn,{Icon:Yt.e,text:Object(qt.b)({bitrate:null===(o=e.stats)||void 0===o?void 0:o.output_bitrate}),minWidth:75}))}},{title:f("streamList.table.dvr"),renderData:function(e){return Object(m.c)(eo,{dvrs:r,media:e,expanded:g===e.name})}},{title:f("streamList.table.output"),renderData:function(e){var t=g===e.name;return Object(m.c)(p.l,{className:h.outputCell},Object(m.c)(p.l,null,Object(m.c)(to,{media:e,expanded:g===e.name,dvrs:r})),Object(m.c)(p.l,{display:"flex",alignItems:"center",className:h.actions},Object(m.c)(Zr.a,{media:e,toggleStreamDisabled:s,named_by:e.named_by,onIgnoreStream:c,product:b,size:"compact",disableMobileView:!0}),Object(m.c)(p.mb,{size:"small",onClick:function(){return _(e.name)},className:h.toggleRowButton},t?Object(m.c)(Yt.c,null):Object(m.c)(Yt.b,null))))},grow:2}]}}),[h,r,g,c,b,o,s,f,_]);return Object(m.c)(p.A,{titleMobile:f("streamList.table.streams"),data:t,primaryKey:"name",columns:O,showCheckbox:!0,handleCheckAll:a,handleCheck:i,checkedAll:o.length===(t||[]).length,classes:{bodyCell:h.tableBodyCell,checkbox:h.tableCheckbox},footer:o.length&gt;0&amp;&amp;Object(m.c)(ro,{selectedStreams:o,setSelectedStreams:l,goToMultiEdit:d})})},ao=r(32),so=r(10),co={title:""},lo=ao.d().shape({title:ao.e().required("required")}),po=function(){var e=Object(j.b)().t,t=Ge()().history,r=Object(_.xb)();return Object(m.c)(p.X,{initialValues:co,onSubmit:function(e){return r({body:{title:e.title},onSuccess:function(e){var r;t.push("/streams/".concat(encodeURIComponent(null==e?void 0:null===(r=e.data)||void 0===r?void 0:r.name)))}})},validationSchema:lo},(function(){return Object(m.c)(p.l,{width:{md:"33%"}},Object(m.c)(p.cb,{name:"title",label:e("streamList.newItemForm.streamTitleLabel"),inputProps:{"data-testid":"new-stream-title"},autoFocus:!0,docDescription:so.a.schemas.stream_config_specific.properties.name.description}))}))};function uo(e){return(uo="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function mo(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
mo=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function l(e,t,r,o){var i=t&amp;&amp;t.prototype instanceof d?t:d,a=Object.create(i.prototype),s=new k(o||[]);return n(a,"_invoke",{value:O(e,r,s)}),a}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=l;var u={};function d(){}function m(){}function f(){}var b={};c(b,i,(function(){return this}));var h=Object.getPrototypeOf,y=h&amp;&amp;h(h(S([])));y&amp;&amp;y!==t&amp;&amp;r.call(y,i)&amp;&amp;(b=y);var g=f.prototype=d.prototype=Object.create(b);function v(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function _(e,t){var o;n(this,"_invoke",{value:function(n,i){function a(){return new t((function(o,a){!function n(o,i,a,s){var c=p(e[o],e,i);if("throw"!==c.type){var l=c.arg,u=l.value;return u&amp;&amp;"object"==uo(u)&amp;&amp;r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(u).then((function(e){l.value=e,a(l)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}(n,i,o,a)}))}return o=o?o.then(a,a):a()}})}function O(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return P()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var s=j(a,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&amp;&amp;r.abrupt("return",r.arg);n="executing";var c=p(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===u)continue;return{value:c.arg,done:r.done}}"throw"===c.type&amp;&amp;(n="completed",r.method="throw",r.arg=c.arg)}}}function j(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&amp;&amp;e.iterator.return&amp;&amp;(t.method="return",t.arg=void 0,j(e,t),"throw"===t.method)||"return"!==r&amp;&amp;(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),u;var o=p(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,u;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&amp;&amp;(t.method="next",t.arg=void 0),t.delegate=null,u):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function x(e){var t={tryLoc:e[0]};1 in e&amp;&amp;(t.catchLoc=e[1]),2 in e&amp;&amp;(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function w(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function S(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n&lt;e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:P}}function P(){return{value:void 0,done:!0}}return m.prototype=f,n(g,"constructor",{value:f,configurable:!0}),n(f,"constructor",{value:m,configurable:!0}),m.displayName=c(f,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&amp;&amp;e.constructor;return!!t&amp;&amp;(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,c(e,s,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},v(_.prototype),c(_.prototype,a,(function(){return this})),e.AsyncIterator=_,e.async=function(t,r,n,o,i){void 0===i&amp;&amp;(i=Promise);var a=new _(l(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},v(g),c(g,s,"Generator"),c(g,i,(function(){return this})),c(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=S,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(w),!e)for(var t in this)"t"===t.charAt(0)&amp;&amp;r.call(this,t)&amp;&amp;!isNaN(+t.slice(1))&amp;&amp;(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&amp;&amp;(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o&gt;=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc&lt;=this.prev){var s=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(s&amp;&amp;c){if(this.prev&lt;i.catchLoc)return n(i.catchLoc,!0);if(this.prev&lt;i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev&lt;i.catchLoc)return n(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev&lt;i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n&gt;=0;--n){var o=this.tryEntries[n];if(o.tryLoc&lt;=this.prev&amp;&amp;r.call(o,"finallyLoc")&amp;&amp;this.prev&lt;o.finallyLoc){var i=o;break}}i&amp;&amp;("break"===e||"continue"===e)&amp;&amp;i.tryLoc&lt;=t&amp;&amp;t&lt;=i.finallyLoc&amp;&amp;(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&amp;&amp;t&amp;&amp;(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t&gt;=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),w(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t&gt;=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;w(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:S(e),resultName:t,nextLoc:r},"next"===this.method&amp;&amp;(this.arg=void 0),u}},e}function fo(e,t,r,n,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}function bo(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(e){fo(i,n,o,a,s,"next",e)}function s(e){fo(i,n,o,a,s,"throw",e)}a(void 0)}))}}var ho=function(e){var t=e.validateFn,r=e.timeOutMs,o=void 0===r?300:r,i=Object(n.useRef)({}),a=Object(n.useRef)();return Object(n.useCallback)((function(e){return!e||(void 0!==i.current[e]?i.current[e]:new Promise((function(r,n){var s=Date.now();a.current=s,window.setTimeout(bo(mo().mark((function o(){var c;return mo().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:if(a.current!==s){o.next=8;break}return o.next=3,t(e);case 3:c=o.sent,i.current[e]=c,r(c),o.next=9;break;case 8:n();case 9:case"end":return o.stop()}}),o)}))),o)})))}),[o])};function yo(e){return function(e){if(Array.isArray(e))return go(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return go(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return go(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function go(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var vo={name:"",url:"",template:"",publication:!1},_o=function(){var e=Object(j.b)().t,t=Ge()().history,r=Object(n.useContext)(u.c),o=Object(_.Db)(),i=Object(_.ac)().data,a=Object(n.useMemo)((function(){var t,r,n=null!==(t=null==i?void 0:null===(r=i.templates)||void 0===r?void 0:r.map((function(e){var t;return null!==(t=e.name)&amp;&amp;void 0!==t?t:""})))&amp;&amp;void 0!==t?t:[];return[{label:e("not-selected"),value:""}].concat(yo(n.map((function(e){return{label:e,value:e}}))))}),[null==i?void 0:i.templates,e]),s=ho({validateFn:function(e){return Object(_.zb)({params:{name:e}}).then((function(){return!1})).catch((function(){return!0}))}}),c=Object(n.useMemo)((function(){return r===d.b?ao.d().shape({name:ao.e().required("required")}):ao.d().shape({name:ao.e().test("unique","usedNameError",s).matches(qt.l,{message:"validNameError"}).required("required")})}),[s,r]);return Object(m.c)(p.X,{initialValues:vo,onSubmit:function(e,r){var n=e.publication?"publish://":e.url;return o({params:{name:e.name},body:{name:e.name,inputs:n?[{url:n}]:[],template:e.template||void 0},onSuccess:function(){t.push("/streams/".concat(encodeURIComponent(e.name)))},onError:function(){r.setSubmitting(!1)}})},validationSchema:c,initialTouched:{name:!0}},(function(t){var r=t.values;return Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,md:3},Object(m.c)(p.cb,{name:"name",label:e("streamList.newItemForm.streamNameLabel"),inputProps:{"data-testid":"new-stream-name"},autoFocus:!0,id:"new-stream-name",docDescription:so.a.schemas.stream_config_specific.properties.name.description})),Object(m.c)(p.ib,{item:!0,display:"flex",alignItems:"end",maxHeight:75},Object(m.c)(p.V,{name:"publication",label:e("streamList.newItemForm.publication"),docDescription:e("streamList.newItemForm.publication.desc")})),Object(m.c)(p.ib,{item:!0,xs:12,md:3,lg:4},Object(m.c)(p.cb,{name:"url",label:e("streamList.newItemForm.sourceUrlLabel"),value:r.publication?"publish://":r.url,disabled:r.publication,inputProps:{"data-testid":"new-stream-url"}})),Object(m.c)(p.ib,{item:!0,xs:12,md:3},Object(m.c)(p.ab,{name:"template",displayEmpty:!0,label:e("streamList.newItemForm.templateLabel"),"data-testid":"new-stream-template",items:a,docDescription:so.a.schemas.stream_config_specific.properties.template.description})))}))};function Oo(e){return(Oo="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function jo(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function xo(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?jo(Object(r),!0).forEach((function(t){wo(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):jo(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function wo(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Oo(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Oo(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Oo(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ko(e){return function(e){if(Array.isArray(e))return To(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Po(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function So(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||Po(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Po(e,t){if(e){if("string"==typeof e)return To(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?To(e,t):void 0}}function To(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Co=p.uc.InfoOutlinedIcon,Io=[["streams"],["mediaNames"],["selectedStreams"],["estimatedCount"],["isStreamsLoading"],["isIgnoring"],["filterCounts"],["view"]],Ao=function(){var e=Object(j.b)().t,t=Object(An.a)().classes,r=Object(n.useContext)(me).globalSettings,i=Object(n.useContext)(u.a),a=Object(n.useContext)(u.c),s=Ge()().history,c=So(Object(n.useState)(0),2),l=c[0],f=c[1],b=So(Object(n.useState)({}),2),h=b[0],y=b[1],g=So(Object(n.useState)(null),2),v=g[0],O=g[1],x=So(Object(n.useState)([]),2),w=x[0],k=x[1],S=So(Object(n.useState)(""),2),P=S[0],T=S[1],C=yt({page:ct.b,limit:ct.a,view:st.f.row}),I=C.query,A=C.page,D=C.limit,E=C.sort,$=C.cursor,N=C.named_by,L=C.status,R=C.feature,q=C.view,M=C.handlePaginationChange,F=So(Object(n.useState)(!1),2),U=F[0],z=F[1],H=function(e){return function(t){t.target.checked?k([].concat(ko(w),[e.name])):k(w.filter((function(t){return t!==e.name})))}},V=function(e){if(e.target.checked){var t=v.filter((function(e){return e.named_by===st.d.config}));k(ko(t.map((function(e){return e.name}))))}else k([])},W=function(){s.push({pathname:"/streams/".concat(encodeURIComponent(w.join(",")))})},G=Object(_.f)({showSuccessMessage:!1}),K=Object(_.E)().data,Y=(null==K?void 0:K.dvrs)||[],J=Object(_.rb)().data,Q=Object(_.sb)(),X=(null==J?void 0:J.sources)||[],Z=Object(_.qb)(),ee=Object(qt.d)(R,qt.a),te=Object(_.Lb)({params:xo(xo({limit:D||void 0,cursor:$||void 0,sort:E||void 0,q:I||void 0,named_by:N||void 0},qt.j[L]||{}),ee),options:{refetchInterval:1e3,keepPreviousData:!0,onSuccess:function(e){var t;O(null==e?void 0:e.streams),f(null!==(t=null==e?void 0:e.estimated_count)&amp;&amp;void 0!==t?t:0)}}}),re=te.isLoading,ne=te.data,oe=(null==ne?void 0:ne.prev)||null,ie=(null==ne?void 0:ne.next)||null,ae=Object(_.Db)(),se=Object(n.useCallback)((function(e,t){ae({params:{name:e},body:{name:e,disabled:t}})}),[]),ce=Object(qt.c)({query:I,named_by:N,status:L,feature:R});Object(Sn.a)({queryKey:["streams_list",ce],queryFn:function(){return new Promise((function(e){return e({data:Promise.all(ko(Object.keys(ce).map((function(e){var t=ce[e];return Object(_.Mb)({params:xo({limit:1},t)}).then((function(e){return e.data}))}))))})}))},options:{refetchInterval:6e4,onSuccess:function(e){if(Array.isArray(e)){var t={};Object.keys(Object(qt.c)({query:I,named_by:N,status:L,feature:R})).forEach((function(r,n){var o;t[r]=null===(o=e[n])||void 0===o?void 0:o.estimated_count})),y(xo({},t))}}}}),Object(n.useEffect)((function(){G&amp;&amp;!P&amp;&amp;G({onSuccess:function(e){T(e.data.token)}})}),[]);var le=function(e){var t=e.media,r=e.setDisableButton,n=e.disableButton,o=t.name,i=t.stats.source_hostname,a=X.find((function(e){return e.url.startsWith(i)})),s=[].concat(ko(a.except||[]),[o]);z(!0),Z({params:{url:a.url},body:{except:s},onSuccess:function(){r(xo(xo({},n),{},{ignore:!0})),Q().finally((function(){return z(!1)}))},onError:function(){r(xo(xo({},n),{},{ignore:!1})),z(!1)}})},pe=Object(n.useMemo)((function(){return!re&amp;&amp;Object(B.e)(v)?Object(m.c)(p.ec,{estimatedCount:l,page:A,limit:D,nextCursor:ie,prevCursor:oe,handlePaginationChange:M,handlePageChangeCb:function(){return k([])},labelRowsPerPage:"Per page"}):null}),[l,A,D,ie,oe]),ue=Object(n.useMemo)((function(){return{showCheckbox:function(e){return e.named_by===st.d.config},checked:function(e){return w.includes(null==e?void 0:e.name)},items:[{title:e("streamList.table.stream"),renderData:function(e){return Object(m.c)(Ut,{media:e,product:a,key:"stream-inf-select-".concat(null==e?void 0:e.name)})}},{title:e("streamList.table.input"),renderData:function(e){return Object(m.c)(ir,{media:e,key:"stream-input-".concat(null==e?void 0:e.name)})}},{title:e("streamList.table.transcode"),renderData:function(e){return Object(m.c)(lr,{media:e,config:r,key:"stream-transcode-".concat(null==e?void 0:e.name)})}},{title:e("streamList.table.dvr"),renderData:function(e){return Object(m.c)(Vr,{media:e,dvrs:Y,product:a,key:"stream-dvr-".concat(null==e?void 0:e.name)})}},{grow:2,title:e("streamList.table.output"),renderData:function(e){var r,n=!(null==e||null===(r=e.on_play)||void 0===r||!r.url),o=(null==e?void 0:e.drm)&amp;&amp;!!Object.keys(e.drm).length;return Object(m.c)(p.l,{display:"flex",justifyContent:"space-between",key:"stream-output-actions-".concat(null==e?void 0:e.name),className:t.outputActions},Object(m.c)(Xr,{media:e,stats:e.stats||{},named_by:e.named_by,isAuth:n,isDrm:o,dvrs:Y,sourceKey:null,product:a}),Object(m.c)(Zr.a,{media:e,toggleStreamDisabled:se,named_by:e.named_by,onIgnoreStream:le,product:a}))}}]}}),[v,Y,r,a,U,w,se]);return Object(m.c)(kn,null,Object(m.c)(p.eb,{id:"streams-list","data-testid":"streams-list"},Object(m.c)(gt.b,null,Object(m.c)(Rt,{classes:t}),Object(m.c)(at,{id:"stream-list-wrapper",paths:Io,propsToCheck:{streams:v,selectedStreams:w,estimatedCount:l,isStreamsLoading:re,isIgnoring:U,filterCounts:h,view:q}},!re&amp;&amp;(Object(B.e)(v)||Object(B.b)(v)&amp;&amp;(L||I||R||N))&amp;&amp;Object(m.c)(p.l,null,Object(m.c)(wn,{onTextFilterChange:function(e){M({query:e.target.value})},handleFilterChange:function(e,t){M(wo({},e,t))},query:I,filterCounts:h,total:l,sort:E,view:q})),!re&amp;&amp;Object(Ke.a)(v)&amp;&amp;(L||I||R||N)&amp;&amp;Object(m.c)(p.l,{display:"flex",alignItems:"flex-end",className:t.noStreams},Object(m.c)(Co,{color:"primary"}),Object(m.c)(p.mc,{variant:"subtitle2",color:"primary",component:"span",className:t.noStreamsText},e("streamList.noStreams"))),!re&amp;&amp;Object(Ke.a)(v)&amp;&amp;!L&amp;&amp;!I&amp;&amp;!R&amp;&amp;!N&amp;&amp;Object(m.c)("div",{className:t.createFirstStream},Object(m.c)("img",{alt:"no streams found",src:"streamer"===(null==i?void 0:i.name)?In.a:Tn.a}),Object(m.c)(p.mc,{variant:"h4",fontWeight:"500",className:t.createFirstStreamTitle},e("streamList.createFirstStream")),Object(m.c)(p.l,{p:1,textAlign:"left"},a===d.b?Object(m.c)(po,null):Object(m.c)(_o,null))),Object(m.c)(p.Ib,{defer:!0},!re&amp;&amp;Object(B.e)(v)&amp;&amp;Object(m.c)(o.a.Fragment,null,(q===st.f.row||!q)&amp;&amp;Object(m.c)(p.A,{titleMobile:e("streamList.table.streams"),data:v,primaryKey:"name",columns:ue,showCheckbox:!0,handleCheckAll:V,handleCheck:H,checkedAll:w.length===(v||[]).length,footer:w.length&gt;0&amp;&amp;Object(m.c)(ro,{selectedStreams:w,setSelectedStreams:k,goToMultiEdit:W})}),q===st.f.card&amp;&amp;Object(m.c)(p.eb,null,Object(m.c)(p.ib,{container:!0,spacing:2},(v||[]).map((function(e){return Object(m.c)(p.ib,{item:!0,xs:12,md:4,lg:3,xl:2,key:e.name},Object(m.c)(Dn.a,{token:P,stream:e,config:r,product:a,onIgnoreStream:le,toggleStreamDisabled:se,named_by:N}))})))),q===st.f.compact&amp;&amp;Object(m.c)(io,{streams:v,onAllStreamsToggle:V,onStreamToggle:H,selectedStreams:w,toggleStreamDisabled:se,onIgnoreStream:le,dvrs:Y,setSelectedStreams:k,goToMultiEdit:W}))),Object(m.c)(p.l,null,Object(m.c)(p.l,null,pe),re&amp;&amp;Object(m.c)(p.l,{textAlign:"center",width:"100%"},Object(m.c)(p.u,{size:30,color:"primary"})))))))};Ao.defaultProps={mediaNames:[]};var Do=r(734),Eo=function(e){var t,r,o=e.media,i=Object(j.b)().t,a=Object(p.zc)(),s=yt({}),c=s.sort,l=s.handlePaginationChange,u=Object(_.lb)({params:{name:o.name,sort:c||void 0},options:{refetchInterval:3e3,keepPreviousData:!0}}),d=u.data,f=u.isLoading,b=Object(_.kb)(),h=Object(_.mb)(),y=Object(n.useCallback)((function(e){return b({params:{id:e},onSuccess:function(){return h()},onError:function(){return h()}})}),[]),g=Object(n.useMemo)((function(){return{items:[{title:i("mediaClientsPage.protocol"),renderData:function(e){return e.proto}},{title:Object(m.c)(p.Yb,{sortKey:"dvr",label:"mediaClientsPage.dvr",handlePaginationChange:l,sort:c}),renderData:function(e){return Object(m.c)(p.l,{fontSize:16,color:a.palette.success.main},e.dvr&amp;&amp;"âœ”")}},{title:i("mediaClientsPage.address"),renderData:function(e){return e.ip}},{title:i("mediaClientsPage.country"),renderData:function(e){return e.country}},{title:i("mediaClientsPage.transmitted"),renderData:function(e){return _e.a.bytes(e.bytes)}},{title:i("mediaClientsPage.duration"),renderData:function(e){var t=e.updated_at&amp;&amp;e.opened_at?e.updated_at-e.opened_at:null;return _e.a.getFormattedTime(t)}},{title:i("mediaClientsPage.token"),renderData:function(e){return e.token},breakWord:!0},{title:i("mediaClientsPage.userId"),renderData:function(e){return e.user_id},grow:2},{title:i("mediaClientsPage.userAgent"),renderData:function(e){return Object(m.c)(p.l,{display:"flex",justifyContent:"space-between",gap:1,overflow:"hidden"},Object(m.c)(p.l,{style:{wordBreak:"break-all"}},e.user_agent),Object(m.c)(p.l,null,Object(m.c)(p.mb,{"aria-label":i("kill"),title:i("kill"),onClick:function(){return y(e.id)},color:"secondary"},Object(m.c)(p.B,{fontSize:"small"}))))},grow:4}]}}),[l,y,c,i,a.palette.success.main]);return Object(m.c)(p.eb,{"data-testid":"media-clients"},Object(m.c)(p.Ub,{isLoading:f},0===(null==d?void 0:null===(t=d.sessions)||void 0===t?void 0:t.length)&amp;&amp;Object(m.c)("div",{"data-testid":"media-clients"},Object(m.c)("div",{className:"row-height flex-end"},Object(m.c)("div",{className:"notice-text"},i("mediaClientsPage.noInformation")))),!(null==d||null===(r=d.sessions)||void 0===r||!r.length)&amp;&amp;d.sessions.length&gt;0&amp;&amp;Object(m.c)(p.A,{data:null==d?void 0:d.sessions,columns:g,primaryKey:"id"})))},$o=r(290),No=r(53),Lo=r(117),Ro=/^[0-9]*$/,qo=/^(?:((srt)|(tshttp)|(rtmp)|(hls)|(m4s)|(m4f)|(udp)|(decklink)|(aja)|(dektec)|(tshttps)|(udp1)|(udp2)|(m4fs)|(m4ss)|(rtmps)):\/\/)[\w.-]+[\w\-._~:/?#[\]@!$&amp;'()*+,;=%]*$/,Mo=/^(?:([A-Za-z1-9_+-.]+):\/{2,3})[\w\-._~:/?#[\]@!$&amp;'()*+,;=%]*$/,Fo=/^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)(\/([1-9]|[12]\d|3[0-2]))?$/,Uo=/^((25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){0,3}(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(\/\d{1,2})?$/,zo=q.a(B.e,Ot.a("value")),Bo=function(e){var t=e.value;return Ro.test(t)},Ho=function(e){return Object(Lo.a)(Object(Lo.b)(zo,"".concat(e," validators.fieldRequiredError")))},Vo=Object(Lo.a)(Object(Lo.b)(Bo,"shouldBeNumberError")),Wo=function(e){var t=e.value;return Bo({value:t})?"":"shouldBeNumberError"},Go=function(e){return Object(Lo.a)(Object(Lo.b)(zo,"".concat(e," validators.fieldRequiredError")),Object(Lo.b)(Bo,"shouldBeNumberError"))},Ko=function(e){return e&amp;&amp;3!==String(e).length?"countryError":""},Yo=Object(Lo.a)(Object(Lo.b)((function(e){var t=e.value;return Fo.test(t)}),"shouldBeIpError")),Jo=function(e){return function(e){var t=e.value;return Uo.test(t)}({value:e.value})?"":"shouldBeIpError"},Qo=function(e){var t=e.value,r=e.field,n=e.names;return zo({value:t})?n.includes(t)?"nameUniqueError":"":"".concat(r," validators.fieldRequiredError")};function Xo(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Zo(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Zo(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Zo(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var ei=function(e){var t=e.unit,r=e.onClick,n=e.className,o=Object(j.b)().t,i="cycled-select notice-text";return n&amp;&amp;(i="".concat(i," ").concat(n)),Object(m.c)("div",{className:i,onClick:r},o(t.label))},ti=function(e){var t=e.units,r=e.readOnly,o=e.entity,i=e.path,a=e.isCalculatedValue,s=e.disabled,c=e.data,l=e.templateData,u=e.showFullHelperInf,d=e.defaultUnit,f=e.value,b=e.isDefaultValue,h=e.onChange,y=e.docDescription,g=Xo(Object(n.useState)(),2),v=g[0],_=g[1],O=Xo(Object(n.useState)(),2),j=O[0],x=O[1],w=Xo(Object(n.useState)(""),2),k=w[0],S=w[1];Object(n.useEffect)((function(){if(!k){var e=function(e,t){if(e){for(var r=0;r&lt;t.length;r+=1)if(e===t[r].label)return parseInt(r,10);console.error("Unable to find unit by it's label: ",e,t)}}(d,t),r=function(e,t,r,n){if(!e){var o=r||0;return{value:n?0:"",unit:t[o],index:o}}for(var i=0;i&lt;t.length;i+=1){var a=Math.floor(e/t[i].factor);if(a&gt;0)return{value:a,unit:t[i],index:parseInt(i,10)}}console.error("could find suitable unit for value: ",e,t)}(f,t,e,b);_(r.unit),x(r.index),S(r.value)}}),[f]);var P;if(k){var T=t.length&lt;=1||r;P=Object(m.c)(ei,{readOnly:T,unit:v,onClick:function(){var e=j+1;e&gt;=t.length&amp;&amp;(e=0);var r=t[e];h(k*r.factor),_(r),x(e)},className:"margin-left-10"})}return Object(m.c)(p.l,{className:"numeric-unit-input",mt:1},Object(m.c)(p.fc,{entity:o,path:i,value:k,onChange:function(e){e.target.value?(S(e.target.value),h(e.target.value*v.factor)):(S(void 0),h(null))},readOnly:r,dimension:P,validation:function(e){return Wo({value:e})},isCalculatedValue:a,disabled:s,data:c,templateData:l,showFullHelperInf:u,docDescription:y}))};ti.displayName="NumericUnitInput",ti.defaultProps={defaultUnit:"",readOnly:!1,isDefaultValue:!1,isCalculatedValue:!1,value:void 0,label:"",disabled:!1};var ri=["value","onChange","defaultUnit"];function ni(){return(ni=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function oi(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var ii=[{label:"bandWidthInput.gigabitsPerSecond",factor:1073741824},{label:"bandWidthInput.megabitsPerSecond",factor:1048576},{label:"bandWidthInput.kilobitsPerSecond",factor:1024}],ai=function(e){var t=e.value,r=e.onChange,n=e.defaultUnit,o=oi(e,ri);return Object(m.c)(ti,ni({value:t,onChange:r,defaultUnit:n,units:ii},o))};ai.defaultProps={label:"",value:void 0};var si=ai,ci=r(396),li=r(72);function pi(e){return(pi="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}var ui=["token","handleRemove"];function di(e,t){for(var r=0;r&lt;t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&amp;&amp;(n.writable=!0),Object.defineProperty(e,yi(n.key),n)}}function mi(e,t,r){return t=fi(t),function(e,t){if(t&amp;&amp;("object"===pi(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){return!1}}()?Reflect.construct(t,r||[],fi(e).constructor):t.apply(e,r))}function fi(e){return(fi=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function bi(e,t){return(bi=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function hi(e,t,r){return(t=yi(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function yi(e){var t=function(e,t){if("object"!==pi(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==pi(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===pi(t)?t:String(t)}function gi(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var vi={ENTER:13,BACKSPACE:8},_i=function(e){var t=e.token,r=e.handleRemove,n=gi(e,ui);return Object(m.c)("div",{"data-testid":n["data-testid"]},t,Object(m.c)("span",{className:"remove",onClick:r},"Ã—"))},Oi=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),hi(r=mi(this,t,[e]),"inputRef",null),hi(r,"setInputRef",(function(e){!r.inputRef&amp;&amp;e&amp;&amp;(r.inputRef=e)})),hi(r,"handleLabelClick",(function(){r.inputRef.focus()})),hi(r,"handleFocus",(function(){var e=r.props.expandLabel;r.setState({focus:!0}),e&amp;&amp;e(!0)})),hi(r,"checkValidation",(function(){var e=r.props,t=e.isValidation,n=e.validationFun,o=e.onChange,i=r.state.value;Object(B.c)(i)&amp;&amp;t&amp;&amp;n&amp;&amp;(n(i[i.length-1])||(r.setState({value:_r.a(i)}),o(_r.a(i))))})),hi(r,"handleBlur",(function(){var e=r.props,t=e.expandLabel,n=e.value;t&amp;&amp;!r.inputRef.value&amp;&amp;Ke.a(n)&amp;&amp;t(!1),r.checkValidation(),r.setState({focus:!1,editing:!1})})),hi(r,"handleChange",(function(e){var t=e.target.value,n=r.props,o=n.separators,i=n.isValidation,a=n.validationFun,s=n.onChange;r.setState((function(e){var n,c=lt.a(e.value);o.forEach((function(e){var r=t.split(e);r.length&gt;1&amp;&amp;(n=r[0])})),e.editing?(c.pop(),n?(i&amp;&amp;a?a(n)&amp;&amp;c.push(n):c.push(n),r.setState({editing:!1})):c.push(t)):e.editing||""===t||(r.setState({editing:!0}),c.push(t));var l=Ke.a(c)||Ye.a(ci.a(c),"");return s(l?null:c),{value:c}}))})),hi(r,"handleKeyPress",(function(e){var t=e.keyCode,n=r.props.onChange,o=r.state,i=o.value,a=o.editing;t!==vi.BACKSPACE?a&amp;&amp;t===vi.ENTER&amp;&amp;(r.checkValidation(),r.setState({editing:!1})):Object(B.c)(i)&amp;&amp;(""===vr.a(i)||a?""===vr.a(i)&amp;&amp;(r.setState({value:_r.a(i)}),n(_r.a(i)),r.setState({editing:!1})):r.setState({editing:!0}))})),hi(r,"handleTokenRemove",(function(e){return function(){var t=r.props,n=t.onChange,o=t.value.filter((function(t,r){return r!==e}));r.setState({value:o}),n(o)}})),r.state={focus:!1,editing:!1,value:e.value},r}return function(e,t){if("function"!=typeof t&amp;&amp;null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&amp;&amp;t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&amp;&amp;bi(e,t)}(t,e),r=t,(n=[{key:"componentDidMount",value:function(){var e=this.props,t=e.expandLabel,r=e.value,n=e.listenToLabelClick;t&amp;&amp;t(Object(B.c)(r)),n&amp;&amp;n(this.handleLabelClick)}},{key:"componentDidUpdate",value:function(e){var t=this.props,r=t.value,n=t.expandLabel,o=Object(B.c)(e.value),i=Object(B.c)(r);n&amp;&amp;(!o&amp;&amp;i?n(!0):o&amp;&amp;!i&amp;&amp;n(!1)),!o&amp;&amp;i&amp;&amp;this.setState((function(){return{value:r}}))}},{key:"render",value:function(){var e=this,t=this.state,r=t.value,n=t.editing,o=t.focus,i=this.props,a=i.dataTestId,s=i.changed,c=i.disabled,l=i.readOnly,p=i.docDescription,u=n&amp;&amp;Object(B.c)(r),d=u?_r.a(r):r,f=u?vr.a(r):"",b=String(f).split("");return Object(B.e)(b)&amp;&amp;b.every(Ye.a(" "))&amp;&amp;(f=" "),Object(m.c)("div",{className:_t()("tokenline",{focus:o,changed:s,disabled:c})},Object(m.c)("div",{className:"tokens","data-testid":"".concat(a,"-tokens")},(d||[]).map((function(t,r){return Object(m.c)(_i,{key:r,token:t,handleRemove:e.handleTokenRemove(r),"data-testid":"".concat(a,"-tokens-token-").concat(r)})}))),Object(m.c)("input",{type:"text",ref:this.setInputRef,value:f,disabled:c,onChange:this.handleChange,readOnly:l,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyPress,"data-testid":a}),p&amp;&amp;Object(m.c)(li.a,{style:{alignSelf:"center"},docDescription:p}))}}])&amp;&amp;di(r.prototype,n),o&amp;&amp;di(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o}(o.a.Component);Oi.defaultProps={value:[],changed:void 0,disabled:void 0,readOnly:void 0,isValidation:!1,validationFun:null,separators:[],onChange:void 0,expandLabel:void 0,listenToLabelClick:void 0,dataTestId:""};var ji=Oi;function xi(e){return(xi="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function wi(e,t){for(var r=0;r&lt;t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&amp;&amp;(n.writable=!0),Object.defineProperty(e,Ci(n.key),n)}}function ki(e,t,r){return t=Si(t),function(e,t){if(t&amp;&amp;("object"===xi(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){return!1}}()?Reflect.construct(t,r||[],Si(e).constructor):t.apply(e,r))}function Si(e){return(Si=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Pi(e,t){return(Pi=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function Ti(e,t,r){return(t=Ci(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ci(e){var t=function(e,t){if("object"!==xi(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==xi(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===xi(t)?t:String(t)}var Ii=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Ti(r=ki(this,t,[e]),"expandLabel",(function(e){r.setState({expanded:e})})),Ti(r,"listenToLabelClick",(function(e){r.setState({clickCallback:e})})),Ti(r,"onLabelClick",(function(){var e=r.state.clickCallback;e&amp;&amp;e()})),r.state={expanded:!1},r}return function(e,t){if("function"!=typeof t&amp;&amp;null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&amp;&amp;t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&amp;&amp;Pi(e,t)}(t,e),r=t,(n=[{key:"getInitialState",value:function(){return{expanded:!1,clickCallback:void 0}}},{key:"render",value:function(){var e=this,t="row-height labeled",r=this.props.label,n=this.props,i=n.dataTestId,a=n.expanded,s=n.details,c=n.className,l=n.errorMessage,u=n.warningMessage,d=n.children,f=n.noBottom,b=n.widthAuto,h=n.docDescription,y=this.state.expanded;a||y?t="".concat(t," expanded"):s&amp;&amp;(r="".concat(r,": ")),c&amp;&amp;(t="".concat(t," ").concat(c));var g,v=this.props.details;l?(v=l,t+="".concat(t," error")):u&amp;&amp;(v=u,t+="".concat(t," warning")),this.props.label&amp;&amp;(g=Object(m.c)("span",{className:"main"},r));var _=o.a.Children.map(d,(function(t){if(!t)return t;switch(t.type){case ti:case si:case ji:return o.a.cloneElement(t,{expandLabel:e.expandLabel,listenToLabelClick:e.listenToLabelClick});default:return t}})),O=f?{bottom:0}:{},j=b?{width:"auto"}:{};return Object(m.c)("div",{className:t,style:j},Object(m.c)("div",{className:"text-label disable-select",onClick:this.onLabelClick,"data-testid":i,style:O},g,Object(m.c)(p.lc,{title:v,placement:"top"},Object(m.c)("span",null,v)),h&amp;&amp;Object(m.c)(li.a,{style:{position:"absolute",top:-4},docDescription:h})),_)}}])&amp;&amp;wi(r.prototype,n),i&amp;&amp;wi(r,i),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,i}(o.a.Component);Ii.displayName="Labeled",Ii.defaultProps={label:"",details:"",errorMessage:"",warningMessage:"",className:"",expanded:!1,dataTestId:"",noBottom:!1,widthAuto:!1};var Ai=Ii,Di=r(91),Ei=r(262),$i=r(611),Ni=r(729),Li=r(737),Ri=r(732),qi=Object(Lo.b)((function(e){var t=e.value;return Object(B.b)(t)||/^[^#]*$/.test(t)}),"Value should not include # symbol."),Mi=Object(Lo.a)(qi),Fi=Object(Lo.b)((function(e){var t=e.key;return Object(B.b)(t)||/^[a-zA-Z]+[0-9_a-zA-Z]*$/.test(t)}),"Key should start with character, not digit or special symbol."),Ui=Object(Lo.a)(Fi),zi=["extra","isArray","errorPath","errors","onError","onErrorResolve","onChange","onRemove","onRemoveByKey","disabled","isCalculatedValue","isTemplate","removeAlignEnd"];function Bi(e){return(Bi="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Hi(e){return function(e){if(Array.isArray(e))return Gi(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Wi(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Vi(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||Wi(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Wi(e,t){if(e){if("string"==typeof e)return Gi(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Gi(e,t):void 0}}function Gi(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function Ki(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}function Yi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Ji(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Yi(Object(r),!0).forEach((function(t){Qi(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Yi(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Qi(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Bi(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Bi(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Bi(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Xi=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{};return q.a(Di.a((function(t){return{key:t,value:e[t]}})),Ei.a($i.a("_changed")),gr.a)(e)},Zi=function(e){return e.reduce((function(e,t){var r=t.key,n=t.value;return r?Ji(Ji({},e),{},Qi({},r,n)):e}),{})},ea={key:"",value:""},ta=function(e){var t=e.extra,r=e.isArray,o=e.errorPath,i=e.errors,a=e.onError,s=e.onErrorResolve,c=e.onChange,l=e.onRemove,u=e.onRemoveByKey,d=e.disabled,f=e.isCalculatedValue,b=e.isTemplate,h=e.removeAlignEnd,y=Ki(e,zi),g=Object(j.b)().t,v=Vi(Object(n.useState)(t),2),_=v[0],O=v[1],x=Vi(Object(n.useState)(r?t:Xi(t)),2),w=x[0],k=x[1],S=Vi(Object(n.useState)(!1),2),P=S[0],T=S[1],C=Vi(Object(n.useState)(null),2),I=C[0],A=C[1];Object(n.useEffect)((function(){Ye.a(_,t)||(O(JSON.stringify(t)),k(r?t:Xi(t)))}),[t]);var D=function(e,t){return o?[].concat(Hi(o),[e,t]):void 0},E=function(e,t){return i&amp;&amp;o?i[Object(ge.c)(D(e,t))]:void 0},$=function(e){return function(){T(e)}},N=function(e,t){return function(r){var n,i,c=r.target.value,l=Ni.a([t,e]),p="key"===e&amp;&amp;/^\d+.*$/.test(c)?c.slice(1):c,u=Li.a(l,w);if(Object(B.e)(u)&amp;&amp;(n=u,i=e,s&amp;&amp;o?s(D(n,i)):fr.a(void 0))(),!Object(B.b)(u)||!Object(B.b)(p)){var d=function(e,t){return"key"===e&amp;&amp;Ui({key:t})||"value"===e&amp;&amp;Mi({value:t})||{isValid:!0}}(e,p);d.isValid||function(e,t){return function(r){return a&amp;&amp;o?a(D(e,t))(r):void 0}}(p,e)(d.error)}A(t),k(t&lt;w.length?Ri.a(l,p,w):[].concat(Hi(w),[Ji(Ji({},ea),{},Qi({},e,p))]))}},L=function(e){return function(){var t=w.find((function(t,r){return r===e})).key,n=w.filter((function(t,r){return r!==e}));k(n),r?l(e):Object(B.a)(u)?u(t):c(Zi(n))}},R=function(e){return function(){var t=e===w.length?ea:w[e];t.key||t.value?c(r?w:Zi(w)):L(e)}},q=function(e){var t=e===w.length?g("extraParamsEditor.newKey"):g("multiplexer.keyLabel"),r=e===w.length?g("extraParamsEditor.newValue"):g("multiplexer.valueLabel"),n=e===w.length?ea:w[e],o=n.key,i=n.value,a=y["data-testid"];return!Array.isArray(i)&amp;&amp;!Object(B.g)(i)&amp;&amp;Object(m.c)(p.ib,{container:!0,spacing:1,alignItems:"flex-end",key:e||"new",style:{width:"100%",marginRight:0}},Object(m.c)(p.ib,{container:!0,item:!0,xs:11,spacing:1,style:{width:"100%",marginRight:0}},Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(p.l,{mt:1},Object(m.c)(p.fc,{label:t,value:o,inputProps:{"data-testid":a?"".concat(a,"Key").concat(e):void 0},onChange:N("key",e),onBlur:R(e),onFocus:$(!1),autoFocus:!P&amp;&amp;e===I,error:E(o,"key"),disabled:d||b,isCalculatedValue:f}))),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(p.l,{mt:1},Object(m.c)(p.fc,{label:r,value:i,inputProps:{"data-testid":a?"".concat(a,"Value").concat(e):void 0},onChange:N("value",e),onBlur:R(e),onFocus:$(!0),autoFocus:P&amp;&amp;e===I,error:E(i,"value"),disabled:d||b,isCalculatedValue:f})))),Object(m.c)(p.ib,{container:!0,item:!0,xs:1,justifyContent:h?"flex-end":"flex-start"},w.length!==e&amp;&amp;Object(m.c)(p.l,{mt:1},Object(m.c)(p.mb,{"aria-label":g("remove"),color:"secondary",onClick:L(e),"data-testid":a?"".concat(a,"Remove").concat(e):void 0,size:"small",style:{marginLeft:"-8px"},disabled:d||b},Object(m.c)(p.B,{fontSize:"small"})))))};return Object(m.c)(p.ib,{container:!0,item:!0,xs:12},Object(m.c)(p.ib,{item:!0,xs:12},w.map((function(e,t){return q(t)}))),Object(m.c)(p.ib,{item:!0,xs:12},q(w.length)))};ta.defaultProps={extra:void 0,onRemove:fr.a(void 0),onRemoveByKey:null,onError:fr.a(void 0),onErrorResolve:fr.a(void 0),errors:{},errorPath:void 0,isArray:!1,removeAlignEnd:!1,"data-testid":void 0,disabled:!1,isCalculatedValue:!1,isTemplate:!1};var ra=ta,na=r(106),oa=r(44);function ia(){return(ia=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function aa(e){return function(e){if(Array.isArray(e))return da(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ua(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function sa(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function ca(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?sa(Object(r),!0).forEach((function(t){la(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):sa(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function la(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==ma(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==ma(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ma(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function pa(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||ua(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ua(e,t){if(e){if("string"==typeof e)return da(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?da(e,t):void 0}}function da(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function ma(e){return(ma="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}var fa=so.a.schemas.session_key.anyOf[0].oneOf.map((function(e){return e.const})),ba={none:"none",stalker:"stalker",securetoken:"securetoken",vsaas:"vsaas",iptv:"iptv",custom:"custom"},ha=/https?:\/\/([^/]+)\/stalker_portal\/server\/api\/chk_flussonic_tmp_link\.php/,ya=/^securetoken:\/\//,ga=/^iptv:\/\//,va=/^vsaas:\/\//,_a=/^auth:\/\//,Oa=["boolean","string"],ja=function(e){return e&amp;&amp;Oa.includes(ma(e))},xa=function(e){return ja(e)?ha.test(e)?ba.stalker:ya.test(e)?ba.securetoken:va.test(e)?ba.vsaas:ga.test(e)?ba.iptv:ba.custom:ba.none},wa=function(e){return ja(e)?("".concat(e).split("//")||[])[1]:""},ka=q.a(vr.a,Do.a("//"),(function(e){return"".concat(e||"")})),Sa=function(e){return-1!==e.search(/[A-Za-z]/)},Pa=function(e){var t,r,i,a,s,c,l,u,f,b,h,y,g=e.media,v=e.templateConfig,_=e.change,O=e.isStream,x=e.product,w=e.authBackends,k=Object(j.b)().t,S=ja(null==g?void 0:null===(t=g.on_play)||void 0===t?void 0:t.url)?"".concat(null==g?void 0:null===(r=g.on_play)||void 0===r?void 0:r.url):"",P=ja(null==v?void 0:null===(i=v.on_play)||void 0===i?void 0:i.url)?"".concat(null==v?void 0:null===(a=v.on_play)||void 0===a?void 0:a.url):"",T=!(null!=g&amp;&amp;g.on_play)&amp;&amp;(null==v?void 0:v.on_play),C=null==g?void 0:null===(s=g.on_play)||void 0===s?void 0:s.extra,I=null==g?void 0:null===(c=g.on_play)||void 0===c?void 0:c.session_keys;T&amp;&amp;(C=null==v?void 0:null===(h=v.on_play)||void 0===h?void 0:h.extra,I=null==v?void 0:null===(y=v.on_play)||void 0===y?void 0:y.session_keys);var A=pa(Object(n.useState)(xa((null==g?void 0:null===(l=g.on_play)||void 0===l?void 0:l.url)||"")),2),D=A[0],E=A[1],$=pa(Object(n.useState)(xa((null==v?void 0:null===(u=v.on_play)||void 0===u?void 0:u.url)||"")),2),N=$[0],L=$[1];Object(n.useEffect)((function(){var e,t;N===ba.none&amp;&amp;L(xa(null==v?void 0:null===(e=v.on_play)||void 0===e?void 0:e.url));D===ba.none&amp;&amp;E(xa(null==g?void 0:null===(t=g.on_play)||void 0===t?void 0:t.url))}),[null==g?void 0:null===(f=g.on_play)||void 0===f?void 0:f.url,null==v?void 0:null===(b=v.on_play)||void 0===b?void 0:b.url,D,N]);var R=function(e){var t="http://".concat(e.target.value,"/stalker_portal/server/api/chk_flussonic_tmp_link.php");_(["on_play","url"])(t)},q=function(e){var t=e.target.value;_(["on_play","url"])("securetoken://".concat(Object(B.e)(t)?t:""))},M=function(e){return function(){E(e),D===ba.iptv&amp;&amp;_(["on_play","url"])(""),e===ba.none?_(["on_play"])(ca(ca({},(null==g?void 0:g.on_play)||{}),{},{url:null,extra:{}})):e===ba.custom?_(["on_play"])(ca(ca({},(null==g?void 0:g.on_play)||{}),{},{url:null})):e===ba.iptv?_(["on_play","url"])("iptv://localhost"):e===ba.securetoken&amp;&amp;_(["on_play","url"])("securetoken://")}},F=function(e,t){_(["on_play","allowed_countries"])(t)},U=function(e,t){_(["on_play","disallowed_countries"])(t)},z=function(e){var t=e.target.value;_(["on_play","url"])(t?"auth://".concat(t):"")},H=function(e){var t=e.target.value;_(["on_play","url"])(t)},V=function(e){_(["on_play","extra"])(e)},W=function(e){_(["on_play","extra",e])(null)},G=function(e){var t=e.target.checked;_(["on_play","soft_limitation"])(t)},K=function(e){return Object(m.c)(p.fc,{value:ja(S)?S:e,path:["on_play","url"],entity:"auth_backend",onChange:H,disabled:T&amp;&amp;e,data:g,templateData:{on_play:{url:e}},showFullHelperInf:O,label:k(x===d.b?"mediaAuthCommon.authBackendUrlLabelCloud":"mediaAuthCommon.authBackendUrlLabel"),docDescription:so.a.schemas.auth_backend_url.properties.url.description})},Y=function(e){var t=e.auth,r=e.isEffective,n=void 0!==r&amp;&amp;r,o=e.authTemplate,i=t.soft_limitation,a=null==o?void 0:o.soft_limitation;return Object(m.c)(p.l,{width:"100%",display:"flex",justifyContent:"flex-start",alignItems:"center"},Object(m.c)(na.a,{label:k("mediaAuthCommon.softLimitations"),color:"primary","data-testid":"soft-limitation",checked:T?a:i,onChange:G,HelperDocProps:{docDescription:so.a.schemas.auth_spec.properties.soft_limitation.description,diskValue:i?"true":null,templateValue:a?"true":null,showFullHelperInf:O},disabled:n,style:{marginLeft:"-11px"}}))},J=g.on_play||{},Q=(null==v?void 0:v.on_play)||{};return Object(m.c)(o.a.Fragment,null,x!==d.b&amp;&amp;Object(m.c)(p.l,{display:"flex",justifyContent:"start",alignItems:"start"},Object(m.c)(Ai,{expanded:!0,label:k("mediaAuthCommon.authTypeLabel"),className:"auto-height",widthAuto:!0},[[k("mediaAuthCommon.authType.none"),ba.none,!0],[k("mediaAuthCommon.authType.custom"),ba.custom,!0],[k("mediaAuthCommon.authType.stalker"),ba.stalker,!0],[k("mediaAuthCommon.authType.securelink"),ba.securetoken,!0],[k("mediaAuthCommon.authType.iptv"),ba.iptv,!!g.name],[k("mediaAuthCommon.authType.watcher"),ba.vsaas,!!g.name]].map((function(e){var t=pa(e,3),r=t[0],n=t[1];return t[2]&amp;&amp;Object(m.c)(No.a,{key:n,label:r,onClick:M(n),checked:D===n&amp;&amp;D===ba.none&amp;&amp;N===ba.none||D===n&amp;&amp;D!==ba.none||D===ba.none&amp;&amp;N===n&amp;&amp;N!==ba.none,className:"margin-right-10",isRadio:!0,"data-testid":"auth-type-".concat(n)})}))),Object(m.c)(p.kb,{docDescription:so.a.schemas.stream_config_media.properties.on_play.description,diskValue:D===ba.none?"":D,templateValue:N===ba.none?"":N,showFullHelperInf:O})),x===d.b?K(null):function(){if(D===ba.iptv||D===ba.none&amp;&amp;N===ba.iptv||D===ba.none&amp;&amp;N===ba.none)return null;if(D===ba.stalker||D===ba.none&amp;&amp;N===ba.stalker)return e=(S||"").match(ha),t=(P||"").match(ha),r=e&amp;&amp;e[1]||t&amp;&amp;t[1]||"",Object(m.c)(p.fc,{value:r,path:["on_play","url"],entity:"stream",onChange:R,disabled:D===ba.none&amp;&amp;N===ba.stalker,data:{on_play:{url:e&amp;&amp;e[1]||""}},templateData:{on_play:{url:t&amp;&amp;t[1]||""}},showFullHelperInf:O,docDescription:so.a.schemas.auth_spec.properties.url.description});var e,t,r,n,i;if(D===ba.securetoken||D===ba.none&amp;&amp;N===ba.securetoken)return n=ka(S),i=ka(P),Object(m.c)(p.fc,{value:n||i,path:["on_play","url"],entity:"stream",onChange:q,disabled:D===ba.none&amp;&amp;N===ba.securetoken,data:g,templateData:v,showFullHelperInf:O,label:k("mediaAuthCommon.securelinkLabel"),getValueFn:ka});var a=![ba.iptv,ba.stalker,ba.securetoken].includes(N)&amp;&amp;P,s=ja(S)&amp;&amp;_a.test(S),c=ja(P)&amp;&amp;_a.test(P),l=wa(S),u=wa(P);return Object(m.c)(o.a.Fragment,null,Object(B.e)(w)&amp;&amp;Object(m.c)(p.l,{mb:4,mt:2},Object(m.c)(oa.a,{displayEmpty:!0,width:"30%",label:k("mediaAuthCommon.authBackendLabel"),value:s&amp;&amp;l||c&amp;&amp;u||"","data-testid":"auth-backend-select",onChange:z,items:[["",k("not-selected")]].concat(aa(w.map((function(e){return[e.name,e.name]})))),disabled:T,HelperDocProps:{path:"auth_spec.properties.url",diskValue:l,templateValue:u,showFullHelperInf:O}})),K(a),ja(S)||a?Object(m.c)(p.l,{mt:1,width:"100%",key:"media-auth-extra_params"},Object(m.c)(p.ib,{container:!0},Object(m.c)(p.ib,{item:!0,xs:5,lg:3},Object(m.c)("div",{className:"row-height flex-end"},Object(m.c)("div",{className:"notice-text"},k("mediaAuthCommon.specifyNotice")))),Object(m.c)(p.ib,{item:!0,xs:7,lg:6},Object(m.c)(ra,{extra:C||{},onChange:V,onRemoveByKey:W,"data-testid":"media-auth-extra_params",disabled:T})))):"")}(),x!==d.b&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.l,{mt:1,key:"media-auth-session_keys"},Object(m.c)(p.g,{id:"media-auth-session_keys","data-testid":"media-auth-session_keys",label:k("mediaAuthCommon.sessionKeysLabel"),multiple:!0,options:fa,value:I||[],onChange:function(e,t){_(["on_play","session_keys"])(t)},renderOption:function(e,t){return Object(m.c)(p.l,ia({component:"li"},e),Object(m.c)(p.mc,{component:"span",variant:"body1","data-testid":"media-auth-session_keys-".concat(t,"-option")},t))},disableCloseOnSelect:!0,docDescription:so.a.schemas.auth_spec.properties.session_keys.description})),[ba.none,ba.iptv,ba.vsaas].includes(D)?null:Y({auth:J,authTemplate:Q}),D===ba.none&amp;&amp;[ba.custom,ba.stalker,ba.securetoken].includes(N)&amp;&amp;Y({authTemplate:Q,isEffective:!0,auth:J}),Object(m.c)(p.l,{display:"flex",justifyContent:"flex-start",alignItems:"center"},Object(m.c)(Ai,{label:k("mediaAuthCommon.allowedDomainsLabel"),details:k("mediaAuthCommon.allowedDomainsLabelDetail"),className:"auto-height margin-top-10",dataTestId:"allowed-domains-input-label"},Object(m.c)(ji,{value:J.domains||Q.domains||[],onChange:function(e){var t=e&amp;&amp;e.length?e:null;_(["on_play","domains"])(t)},separators:[","," "],dataTestId:"allowed-domains-input",isValidation:!0,validationFun:Sa})),Object(m.c)(p.kb,{docDescription:so.a.schemas.auth_spec.properties.domains.description,diskValue:((null==J?void 0:J.domains)||[]).join(", "),templateValue:((null==Q?void 0:Q.domains)||[]).join(", "),showFullHelperInf:O})),Object(m.c)(p.l,{mt:4,display:"flex",justifyContent:"flex-start",alignItems:"center"},Object(m.c)(Ai,{expanded:!0,label:k("mediaAuthCommon.limitByCountryLabel"),details:k("mediaAuthCommon.limitByCountryLabelDetail"),className:"auto-height"},Object(m.c)(p.ib,{container:!0,alignItems:"flex-end",style:{minHeight:"54px"}},Object(m.c)(p.ib,{item:!0,xs:4,sm:3,md:2,xl:1},Object(m.c)(No.a,{label:k("disabled"),checked:!(J.allowed_countries||J.disallowed_countries||Q.allowed_countries||Q.disallowed_countries),onClick:function(){_(["on_play"])(ca(ca({},(null==g?void 0:g.on_play)||{}),{},{allowed_countries:null,disallowed_countries:null}))},className:"margin-right-10",isRadio:!0,"data-testid":"limit-access-disabled"})),Object(m.c)(p.ib,{item:!0,xs:4,sm:3,md:2,xl:1},Object(m.c)(No.a,{label:k("whitelist"),checked:!!J.allowed_countries||!J.disallowed_countries&amp;&amp;!!Q.allowed_countries,onClick:function(){_(["on_play"])(ca(ca({},(null==g?void 0:g.on_play)||{}),{},{allowed_countries:[],disallowed_countries:null}))},className:"margin-right-10",isRadio:!0,"data-testid":"limit-access-whitelist"})),Object(m.c)(p.ib,{item:!0,xs:4,sm:3,md:2,xl:1},Object(m.c)(No.a,{label:k("blacklist"),checked:!!J.disallowed_countries||!J.allowed_countries&amp;&amp;!!Q.disallowed_countries,onClick:function(){_(["on_play"])(ca(ca({},(null==g?void 0:g.on_play)||{}),{},{allowed_countries:null,disallowed_countries:[]}))},className:"margin-right-10",isRadio:!0,"data-testid":"limit-access-blacklist"})),Object(m.c)(p.ib,{item:!0,xs:!0},function(e,t){var r=!e.allowed_countries&amp;&amp;!e.disallowed_countries&amp;&amp;!!t.allowed_countries;return(e.allowed_countries||t.allowed_countries?Object(m.c)(p.l,{mt:1},Object(m.c)(p.g,{id:"allowed-countries-input","data-testid":"allowed-countries-input",freeSolo:!0,multiple:!0,options:[],value:e.allowed_countries||t.allowed_countries||[],onChange:F,autoSelect:!0,disabled:r})):"")||(e.disallowed_countries||t.disallowed_countries?Object(m.c)(p.l,{mt:1},Object(m.c)(p.g,{id:"not-allowed-countries-input","data-testid":"not-allowed-countries-input",freeSolo:!0,multiple:!0,options:[],value:e.disallowed_countries||t.disallowed_countries||[],onChange:U,autoSelect:!0,disabled:r})):"")}(J,Q)))),Object(m.c)(p.kb,{docDescription:so.a.schemas.auth_spec.properties.disallowed_countries.description,diskValue:J.allowed_countries?((null==J?void 0:J.allowed_countries)||[]).join(", "):((null==J?void 0:J.disallowed_countries)||[]).join(", "),templateValue:null!=Q&amp;&amp;Q.allowed_countries?((null==Q?void 0:Q.allowed_countries)||[]).join(", "):((null==Q?void 0:Q.disallowed_countries)||[]).join(", "),showFullHelperInf:O}))))};Pa.defaultProps={authBackends:void 0,templateConfig:null,isStream:!1};var Ta,Ca=Pa;r(1349);function Ia(e){return(Ia="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Aa(e){return function(e){if(Array.isArray(e))return Da(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Da(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Da(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Da(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function Ea(e,t){for(var r=0;r&lt;t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&amp;&amp;(n.writable=!0),Object.defineProperty(e,qa(n.key),n)}}function $a(e,t,r){return t=Na(t),function(e,t){if(t&amp;&amp;("object"===Ia(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){return!1}}()?Reflect.construct(t,r||[],Na(e).constructor):t.apply(e,r))}function Na(e){return(Na=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function La(e,t){return(La=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function Ra(e,t,r){return(t=qa(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function qa(e){var t=function(e,t){if("object"!==Ia(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Ia(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ia(t)?t:String(t)}var Ma="aes128",Fa="sample_aes",Ua="conax",za="ezdrm",Ba="ezdrm_classic",Ha="pallycon",Va="widevine",Wa="keyos",Ga="gsdrm",Ka="irdeto",Ya="solocoo",Ja="axinom",Qa="resource_id",Xa="keyserver",Za="userkey",es="aes_key",ts="iv",rs="signer",ns="content_id",os="enc_token",is="password",as="ic_host",ss="account_id",cs="user_name",ls="expires",ps="user_path",us="secret",ds="site",ms="tenant_id",fs="management_key",bs="encryption",hs={drm:"drm"},ys={key:Qa},gs={key:Qa,isRequired:!0},vs={key:Xa,isRequired:!0,placeholder:"Key server url"},_s=[ys,{key:"user",isRequired:!0},{key:is,isRequired:!0},{key:ls}],Os=(Ra(Ra(Ra(Ra(Ra(Ra(Ra(Ra(Ra(Ra(Ta={},"disabled",{name:"disabled",value:null,options:[]}),Ma,{name:"AES-128",value:Ma,options:[ys,vs,{key:ls}]}),Fa,{name:"Sample AES",value:Fa,options:[ys,vs,{key:ls}]}),Ua,{name:"Conax",value:"conax",options:[ys,vs,{key:ps},{key:ls}]}),Wa,{name:"BuyDRM KeyOS",value:Wa,options:[ys,{key:Za,isRequired:!0},{key:ls}]}),Va,{name:"Widevine",value:Va,options:[{key:es,isRequired:!0},{key:ts,isRequired:!0},{key:ns},{key:rs,isRequiredIfNoOptions:[Xa],helper:"required if keyserver not passed"},{key:Xa,isRequiredNoOptions:[rs],helper:"required if signer not passed"},{key:ls}]}),za,{name:"EzDRM",value:za,options:_s}),Ba,{name:"EzDRM Classic",value:Ba,options:_s}),Ha,{name:"PallyCon",value:Ha,options:[ys,{key:os,isRequired:!0},{key:ls}]}),Ga,{name:"GS DRM",value:Ga,options:[gs,{key:Xa,isRequired:!0},{key:ls}]}),Ra(Ra(Ra(Ta,Ka,{name:"Irdeto",value:Ka,options:[ys,{key:as,isRequired:!0},{key:ss,isRequired:!0},{key:cs,isRequired:!0},{key:is,isRequired:!0}]}),Ya,{name:"Solocoo",value:Ya,options:[{key:us,isRequired:!0},{key:ds,isRequired:!0}]}),Ja,{name:"Axinom",value:Ja,options:[{key:ms},{key:fs},{key:Xa},{key:Qa},{key:ls},{key:bs},{key:ts}]})),js=function(e){return!e},xs=null,ws=function(e){return e&amp;&amp;e.vendor||xs},ks=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Ra(r=$a(this,t,[e]),"isDrmValid",(function(){var e=r.props.media.drm,t=r.state.vendors;return!e||!t[e.vendor]||t[e.vendor].options.every((function(t){return t.isRequired&amp;&amp;!!e[t.key]||t.isRequiredIfNoOptions&amp;&amp;t.isRequiredIfNoOptions.some((function(t){return!!e[t]}))||!0}))})),Ra(r,"handleVendorChange",(function(e){var t=e.target.value,n=r.state.vendors,o=r.props,i=o.media,a=o.change,s={};js(t)?s.drm=null:(s.drm={resource_id:null},i.drm&amp;&amp;Object.keys(i.drm).forEach((function(e){s.drm[e]=null})),s.drm.vendor=n[t].value||null),a([],"raw")(s)})),Ra(r,"handleOptionChange",(function(e,t,n){return function(o){var i=r.props.change,a=n?o:o.target.value;i([e,t],"raw")(a)}})),Ra(r,"renderOptions",(function(e,t){var n=arguments.length&gt;2&amp;&amp;void 0!==arguments[2]&amp;&amp;arguments[2],o=r.state.vendors;return Object(m.c)(p.ib,{item:!0,xs:12,container:!0,spacing:2,className:"media-auth-input-container"},t&amp;&amp;o[t.vendor]&amp;&amp;o[t.vendor].options&amp;&amp;o[t.vendor].options.map((function(t){var o=t.key,i=t.placeholder,a=t.section,s=void 0===a?hs.drm:a,c=t.isRequired,l=t.helper;return Object(m.c)(p.ib,{item:!0,xs:4,key:o,className:"media-auth-input-wrapper"},Object(m.c)(p.fc,{required:c,helperText:l,label:o,placeholder:i,value:ar.a("",[s,o],e),onChange:r.handleOptionChange(s,o),inputProps:{"data-testId":"media-auth-drm-input-".concat(o)},disabled:n}))})))})),Ra(r,"renderVendorSelector",(function(){var e=r.props,t=e.media,n=e.isStream,o=r.state.vendors;return Object(m.c)(oa.a,{displayEmpty:!0,label:"",value:ws(Ot.a("drm")(t))||ws(F.a(["templateConfig","drm"])(r.props)),"data-testid":"drm-auth-select",onChange:r.handleVendorChange,items:Aa(Object.keys(o).map((function(e){return[o[e].value||xs,o[e].name]}))),HelperDocProps:{docDescription:so.a.schemas.stream_config_media.properties.drm.description,path:"stream_config_media.properties.drm",diskValue:ws(Ot.a("drm")(t)),templateValue:ws(F.a(["templateConfig","drm"])(r.props)),showFullHelperInf:n}})})),r.state={vendors:lt.a(Os)},r}return function(e,t){if("function"!=typeof t&amp;&amp;null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&amp;&amp;t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&amp;&amp;La(e,t)}(t,e),r=t,o=[{key:"getDerivedStateFromProps",value:function(e,t){var r=null;if(e.media.drm&amp;&amp;Object.keys(e.media.drm).length&gt;0&amp;&amp;!Object.keys(t.vendors).includes(e.media.drm.vendor)){var n=t.vendors,o=Object.keys(e.media.drm);o.splice(o.indexOf("vendor"),1);var i=o.map((function(e){return{key:e,isRequired:!0}}));e.media.resource_id&amp;&amp;(i=[ys].concat(Aa(i))),n[e.media.drm.vendor]={name:e.media.drm.vendor,value:e.media.drm.vendor,options:i},r={vendors:n}}return r}}],(n=[{key:"render",value:function(){var e=this.props,t=e.t,r=e.media,n=e.templateConfig;return Object(m.c)(p.ib,{container:!0,"data-testid":"media-auth-requireDrm"},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.mc,{variant:"subtitle1"},t("mediaAuthDrm.requireDrm"))),Object(m.c)(p.ib,{item:!0,xs:12,container:!0},Object(m.c)(p.ib,{item:!0,xs:12,sm:3,lg:3,className:"media-auth-selector"},this.renderVendorSelector()),Object(m.c)(p.ib,{item:!0,xs:12,sm:9,lg:9,container:!0},Object(m.c)(p.l,{mt:{xs:4,sm:0},width:"100%"},F.a(["drm","vendor"])(r)&amp;&amp;this.renderOptions(r,Ot.a("drm")(r)),!F.a(["drm","vendor"])(r)&amp;&amp;F.a(["drm","vendor"])(n)&amp;&amp;this.renderOptions(n,Ot.a("drm")(n),!0)))))}}])&amp;&amp;Ea(r.prototype,n),o&amp;&amp;Ea(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o}(o.a.Component);ks.defaultProps={isStream:!1};var Ss=ks,Ps=function(){var e=Object(j.b)().t;return Object(m.c)(p.mc,{variant:"h5"},e("templatePage.streamSettings"))},Ts=function(e){var t=e.media,r=e.isConfigChanged,i=e.onConfigChange,a=e.onConfigSave,s=e.isConfigSaving,c=e.showSaveButton,l=e.isTemplate,f=e.templateConfig,b=Object(j.b)().t,h=Object(n.useContext)(u.c),y=Object(B.e)(Ot.a("named_by")(t)),g=(h===d.b?{}:Object(_.l)()).data,v=$o.a([],"auth_backends")(g),O=Object(n.useRef)(),x=i(),w=function(){return!!O.current&amp;&amp;O.current.isDrmValid()};return Object(m.c)(o.a.Fragment,null,c&amp;&amp;Object(m.c)(p.n,{variant:"contained",color:"primary",size:"small",onClick:h===d.b||w()?a:fr.a(void 0),"data-testid":"saveButton",disabled:h!==d.b&amp;&amp;!w()||s||!r,endIcon:s&amp;&amp;Object(m.c)(p.u,{size:20,color:"primary"})},b(l?"templatePage.save":"save")),t?Object(m.c)(p.l,{"data-testid":"media-auth"},Object(m.c)(p.ib,{container:!0},Object(m.c)(p.ib,{item:!0,xs:12,lg:11,xl:9,"data-testid":"media-auth-common"},l&amp;&amp;Object(m.c)(p.l,{mt:1,mb:2},Object(m.c)(Ps,null)),Object(m.c)(Ca,{media:t,change:x,authBackends:v,templateConfig:f,isStream:y,product:h}),Object(m.c)("div",{className:"row-height"})),h!==d.b&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12,lg:11,xl:9},Object(m.c)(Ss,{ref:O,media:t,change:x,t:b,templateConfig:f,isStream:y})))):null)};Ts.defaultProps={media:void 0,templateConfig:void 0,onConfigChange:function(){},onConfigSave:function(){},isConfigChanged:!1,isConfigSaving:!1,showSaveButton:!1,isTemplate:!1};var Cs=Ts,Is=r(355),As=r.n(Is),Ds=r(77),Es=r(83),$s=r(123);function Ns(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Ls(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ls(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ls(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Rs,qs=function(e){if(/^http:\/\//.test(e)){if(/\.m3u8$/.test(e))return"hls".concat(e.slice(4));if(/ts$/.test(e))return"tshttp".concat(e.slice(4));if(/\/udp\//.test(e))return"tshttp".concat(e.slice(4))}else if(/^https:\/\//.test(e)){if(/\.m3u8$/.test(e))return"hlss".concat(e.slice(5));if(/ts$/.test(e))return"tshttps".concat(e.slice(5));if(/\/udp\//.test(e))return"tshttps".concat(e.slice(5))}return e},Ms=function(e){var t=e.url,r=e.media,o=e.index,i=e.lastIndex,a=e.onConfigChange,s=e.mediaNames,c=e.isTemplate,l=e.fromTemplate,u=e.entity,d=e.history,f=e.getConfigDelta,b=e.configEffective,h=e.handleInputsReorder,y=Object(j.b)().t,g=Ns(Object(n.useState)(!1),2),v=g[0],O=g[1],x=Ns(Object(n.useState)(qs(t.url)),2),w=x[0],k=x[1],S=Ns(Object(n.useState)(Object(Es.a)(t.url)?y("ffmpegWarning"):""),2),P=S[0],T=S[1],C=Object($s.a)(),I=C.onError,A=C.onErrorResolve,D=C.errors,E=Object(_.Bb)(),$=function(e){var t,r;Object(Es.b)(e)?A(["input",o])():Object(Es.a)(e)?(A(["input",o])(),T(y("ffmpegWarning"))):(T(""),t={value:qs(e)},r=t.value,Mo.test(r)||!r?/^https?:\/\//.test(e)?I(["input",o])("specifyTshttpOrHlsError"):A(["input",o])():I(["input",o])("rfcUrlError"))};Object(n.useEffect)((function(){var e=qs(t.url);$(e),k(e)}),[t.url]);var N=function(){O(!0),E({params:{name:r.name,index:o},onSuccess:function(){setTimeout((function(){O(!1)}),3e3)}})},L=function(){var e=JSON.parse(JSON.stringify(r.inputs));e.splice(o,1),a(["inputs"])(e)},R=!r.inputs||r.inputs&amp;&amp;o===r.inputs.length,q=R?Object(m.c)("span",{"data-testid":"stream-input-label-".concat(o)},y("streamInputUrl.newUrlLabel")):Object(m.c)("span",{"data-testid":"stream-input-label-".concat(o)},y("streamInputUrl.urlLabel",{urlNumber:o+1})),M=D?Object(Ds.b)(D[Object(ge.c)(["input",o])],y):"";return Object(m.c)("div",{className:"stream-input-url"},Object(m.c)("div",{className:"row-height flex-end switch-block margin-right-10"},!R&amp;&amp;!l&amp;&amp;!c&amp;&amp;function(){var e,n,i,a=null==b?void 0:null===(e=b.inputs[o])||void 0===e?void 0:e.stats,s=null==b?void 0:b.disabled,c=1===(null==b?void 0:b.inputs.length);if(t&amp;&amp;Object(B.e)(a)&amp;&amp;a.active&amp;&amp;null!==(n=r.stats)&amp;&amp;void 0!==n&amp;&amp;n.alive)return Object(m.c)("div",{className:"success-text underline","data-testid":"stream-online-url-".concat(o)},y("online"));if(t&amp;&amp;s)return Object(m.c)("div",{className:"underline","data-testid":"stream-offline-url-".concat(o)},y("offline"));var l=!!f&amp;&amp;($o.a([],"inputs")(f()).filter((function(e){return e.url===t.url})).length&gt;0&amp;&amp;0===$o.a([],"inputs")(b).filter((function(e){return e.url===t.url})).length);return!t||l||s||(!Object(B.e)(a)||a.active)&amp;&amp;null!==(i=r.stats)&amp;&amp;void 0!==i&amp;&amp;i.alive?l?Object(m.c)("div",{className:"underline","data-testid":"stream-unsaved-url-".concat(o)},y("unsaved")):null:Object(m.c)(No.a,{label:y(c?"connect":"switch"),disabled:v,onClick:N,"data-testid":"stream-switch-url-".concat(o)})}()),!R&amp;&amp;Object(m.c)("div",null,Object(m.c)(p.mb,{size:"small",disabled:0===o||l,onClick:function(){return h({oldIndex:o,newIndex:o-1})}},Object(m.c)(p.vb,null)),Object(m.c)(p.mb,{size:"small",disabled:o===i||l,onClick:function(){return h({oldIndex:o,newIndex:o+1})}},Object(m.c)(p.ub,null))),Object(m.c)(p.fc,{force:!0,path:["input","url",o],label:q,value:w,onChange:function(e){e.persist(),clearTimeout(Rs),k(e.target.value),Rs=setTimeout((function(){$(e.target.value);var t=qs(e.target.value),n=r.inputs?JSON.parse(JSON.stringify(r.inputs)):[];n[o]?n[o].url=t:n[o]={url:t},a(["inputs"],"raw")(n)}),1e3)},onBlur:function(){!w&amp;&amp;r.inputs[o]&amp;&amp;L()},inputProps:{"data-testid":"stream-input-url-".concat(o)},error:M,warning:P,className:P&amp;&amp;"warning",disabled:l}),!R&amp;&amp;Object(m.c)("div",{className:"row-height flex-end more-block margin-left-10 margin-right-10"},Object(m.c)(p.n,{onClick:function(){d.push({pathname:"/".concat(u,"/").concat(encodeURIComponent(s.join(",")),"/input/").concat(o,"/options"),state:{names:s,sourceIndex:o}})},"data-testid":"stream-show-options-url-".concat(o),size:"small",variant:"text",color:"primary"},y("options-button"))),!R&amp;&amp;!l&amp;&amp;Object(m.c)("div",{key:2,className:"row-height flex-end more-block margin-left-10"},Object(m.c)(p.mb,{"aria-label":y("remove"),color:"secondary",onClick:L,"data-testid":"stream-remove-url-".concat(o),size:"small"},Object(m.c)(p.B,{fontSize:"small"}))))};Ms.defaultProps={fromTemplate:!1};var Fs=window.location.port,Us=window.location.protocol,zs=window.location.hostname,Bs=q.a(vr.a,Do.a(":")),Hs=function(e){var t=e.config,r=e.protocol,n=e.defaultPort,o=e.excludeDefaultPorts,i=void 0!==o&amp;&amp;o,a=e.adminPorts,s=void 0===a?[]:a,c=e.portInConfig,l=e.egressHostnames,p=e.mediaPort,u=e.prefix,d=Array.isArray(t[r])&amp;&amp;Object(B.e)(t[r])&amp;&amp;t[r][0].address?t[r][0].address:null;if("".concat(r,":")===Us){var m=String(Fs);return i?(s.includes(Number(Fs))&amp;&amp;!xt.a(c)&amp;&amp;(m=String(c)),"".concat(r,"://").concat(l?l[0]:d||zs).concat(p&amp;&amp;":".concat(p)||(m===n||""===m?"":":".concat(m))).concat(u||"")):"".concat(r,"://").concat(l?l[0]:d||zs,":").concat(p||"".concat(m===n||""===m?n:Fs)).concat(u||"")}var f=Bs(String(Array.isArray(t[r])&amp;&amp;Object(B.e)(t[r])&amp;&amp;t[r][0].port?t[r][0].port:t[r]));return i?"".concat(r,"://").concat(l?l[0]:d||zs).concat(p&amp;&amp;":".concat(p)||(f===n?"":":".concat(f))).concat(u||""):"".concat(r,"://").concat(l?l[0]:d||zs,":").concat(p||f).concat(u||"")},Vs={httpHostPort:function(e){var t,r,n=arguments.length&gt;1&amp;&amp;void 0!==arguments[1]&amp;&amp;arguments[1],o=arguments.length&gt;2?arguments[2]:void 0,i=arguments.length&gt;3?arguments[3]:void 0;if(null!=e&amp;&amp;null!==(t=e.listeners)&amp;&amp;void 0!==t&amp;&amp;t.http&amp;&amp;0!==(null==e?void 0:null===(r=e.listeners)||void 0===r?void 0:r.http.length))return Hs({config:e.listeners,protocol:"http",defaultPort:"80",excludeDefaultPorts:n,adminPorts:e.admin_http,portInConfig:e.http?e.http[0]:null,egressHostnames:o,prefix:i})},httpsHostPort:function(e){var t,r,n=arguments.length&gt;1&amp;&amp;void 0!==arguments[1]&amp;&amp;arguments[1],o=arguments.length&gt;2?arguments[2]:void 0,i=arguments.length&gt;3?arguments[3]:void 0;if(null!=e&amp;&amp;null!==(t=e.listeners)&amp;&amp;void 0!==t&amp;&amp;t.https&amp;&amp;0!==(null==e?void 0:null===(r=e.listeners)||void 0===r?void 0:r.https.length))return Hs({config:e.listeners,protocol:"https",defaultPort:"443",excludeDefaultPorts:n,egressHostnames:o,prefix:i})},rtmpHostPort:function(e){var t,r,n=arguments.length&gt;1&amp;&amp;void 0!==arguments[1]&amp;&amp;arguments[1];if(null!==(t=e.listeners)&amp;&amp;void 0!==t&amp;&amp;t.rtmp&amp;&amp;0!==(null===(r=e.listeners)||void 0===r?void 0:r.rtmp.length))return Hs({config:e.listeners,protocol:"rtmp",defaultPort:"1935",excludeDefaultPorts:n})},rtspHostPort:function(e){var t,r,n=arguments.length&gt;1&amp;&amp;void 0!==arguments[1]&amp;&amp;arguments[1];if(null!==(t=e.listeners)&amp;&amp;void 0!==t&amp;&amp;t.rtsp&amp;&amp;0!==(null===(r=e.listeners)||void 0===r?void 0:r.rtsp.length))return Hs({config:e.listeners,protocol:"rtsp",defaultPort:"554",excludeDefaultPorts:n})},mseldProtocol:function(e){var t;return(null==e?void 0:null===(t=e.listeners)||void 0===t?void 0:t.https)&amp;&amp;e.listeners.https.length&gt;0?"wss":"ws"},srtHostPort:function(e,t,r){if(e.srt||t)return Hs({config:e,protocol:"srt",mediaPort:t,egressHostnames:r})}},Ws=r(856),Gs=r.n(Ws);function Ks(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Ys(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ys(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ys(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Js,Qs=Object(T.b)(),Xs=function(e){var t=e.name,r=e.password,o=e.entity,i=e.product,a=e.renderTextField,s=e.templateConfig,c=e.media,l=Object(j.b)().t,u=Object(n.useRef)(null),f=Ks(Object(n.useState)(!1),2),b=f[0],h=f[1],y=function(){Js&amp;&amp;(Js.stop(),Js.destroy())},g=function(){if(u.current)try{y()}catch(e){console.error(e)}h(!1),u.current=null};Object(n.useEffect)((function(){return g(),function(){y()}}),[t]);var v=function(e){e&amp;&amp;(u.current?(Js=new Gs.a.Publisher("".concat(Qs,"/").concat(t),{preview:u.current,previewOptions:{autoplay:!0,controls:!0,muted:!0},constraints:{video:!0,audio:!0},onWebsocketClose:g,password:r})).start({openPeerConnectionOptions:{getMediaOptions:{onGetUserMediaError:g}}}):setTimeout((function(){return v(!0)}),50))},_=b?Object(m.c)("div",{className:"labeled"},Object(m.c)("video",{ref:function(e){!u.current&amp;&amp;e&amp;&amp;(u.current=e)},width:"640",height:"480","data-testid":"webrtc-video"})):null;return Object(m.c)(p.ib,{container:!0,spacing:2},o!==d.d.templates&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(Ai,{label:l("webrtcPublish.webrtcLabel"),expanded:!0},Object(m.c)(No.a,{label:l("webrtcPublish.publishFromWebcam"),className:"rect filled",disabled:b,onClick:function(){v(!0),h(!0)},"data-testid":"publish-from-webcam"}),Object(m.c)(No.a,{label:l("webrtcPublish.stopPublishing"),className:"rect filled",disabled:!u.current||!b,onClick:g,"data-testid":"stop-publishing"})),_),i!==d.b&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12,sm:4,lg:4},a({value:Ot.a("frames_timeout")(c)||Ot.a("frames_timeout")(s),path:["frames_timeout"],type:"number",inputProps:{min:0},docDescription:so.a.schemas.stream_input_base.properties.frames_timeout.description})))};Xs.defaultProps={password:void 0,templateConfig:null,media:null};var Zs=Xs,ec=["path"];function tc(){return(tc=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function rc(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}function nc(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return oc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return oc(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function oc(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var ic=function(e){var t,r,i=e.media,a=e.entity,s=e.product,c=e.isTemplate,l=e.config,u=e.isOverviewPage,f=e.configEffective,b=e.name,h=e.mediaNames,y=e.templateConfig,g=e.onConfigChange,v=e.isStream,_=e.hideWebRTC,O=e.isMultiEdit,x=Object(j.b)().t,w=nc(Object(n.useState)(i.password),2),k=w[0],S=w[1];Object(n.useEffect)((function(){S(i.password)}),[i.password]);var P=nc(Object(n.useState)(""),2),T=P[0],C=P[1],I=function(){return i.password?"?password=".concat(i.password):""},A=Vs.httpHostPort(l),D=Vs.httpsHostPort(l),E=Vs.rtmpHostPort(l),$=Vs.rtspHostPort(l),N=Vs.srtHostPort(l),L=Vs.srtHostPort({},F.a(["srt_publish","port"])(f)),R=$o.a([],"prefixes")(i),q=b?c&amp;&amp;R.length&gt;0&amp;&amp;R[0]||!b.includes("/")&amp;&amp;"static"||"":h.every((function(e){return!e.includes("/")}))?"static":"",M=c&amp;&amp;R.length&gt;0?R[0]:i.prefix,U=i.prefix||q,z=a===d.d.templates?"&lt;stream-name&gt;":b||"&lt;stream-name&gt;",B=function(e){var t=e.path,r=rc(e,ec);return Object(m.c)(p.fc,tc({entity:"streams",path:t,data:i,templateData:y,onChange:g(t),showFullHelperInf:v},r))},H=function(e){return"".concat(e,"/").concat(U?"".concat(U,"/"):"").concat(z).concat(I())},V=function(e){return Object(m.c)(p.gc,{value:e,inputProps:{"data-testid":"rtmp"},startAdornmentLabel:x("mediaPublishLocation.rtmp")})},W=Object(m.c)("div",{className:"row-height notice-text flex-end"},Object(m.c)(p.mc,{variant:"body1",component:"p"},x("mediaPublishLocation.rtmpIsNotConfigured"),"Â&nbsp;",Object(m.c)(p.yb,{to:"/config",component:Mt.b,color:"primary"},x("mediaPublishLocation.globalConfigPage"))));if(E&amp;&amp;s!==d.b){var G=H(E);W=V(G)}s===d.b&amp;&amp;(W=$o.a([],"ingress_hostnames")(f).map((function(e){var t=H("rtmp://".concat(e));return Object(m.c)(p.l,{key:e,mt:1},V(t))})));var K=Object(m.c)("div",{className:"row-height notice-text flex-end"},Object(m.c)(p.mc,{variant:"body1",component:"p"},x("mediaPublishLocation.rtspIsNotConfired"),"Â&nbsp;",Object(m.c)(p.yb,{to:"/config",component:Mt.b,color:"primary"},x("mediaPublishLocation.globalConfigPage"))));if($){var Y="".concat($,"/").concat(M?"".concat(M,"/"):"").concat(z).concat(I());K=Object(m.c)(p.gc,{value:Y,inputProps:{"data-testid":"rtsp"},startAdornmentLabel:x("mediaPublishLocation.rtsp")})}var J=function(e){var t=arguments.length&gt;1&amp;&amp;void 0!==arguments[1]&amp;&amp;arguments[1];if(t){var r=F.a(["srt_publish","passphrase"])(i);return"".concat(e).concat(r?"?passphrase=".concat(r):"")}return"".concat(e,"?streamid=#!::r=").concat(M?"".concat(M,"/"):"").concat(z,",m=publish")},Q=Object(m.c)(p.gc,{value:N?J(N):x("mediaPublishLocation.srtIsNotConfired"),inputProps:{"data-testid":"srt"},startAdornmentLabel:x("mediaPublishLocation.srt"),color:!N&amp;&amp;"grey",link:!N&amp;&amp;"/config"}),X=Object(m.c)(p.gc,{value:L?J(L,!0):x("mediaPublishLocation.srtPublishIsNotConfired"),inputProps:{"data-testid":"srt-dedicated"},startAdornmentLabel:x("mediaPublishLocation.srtDedicatedPort"),color:!L&amp;&amp;"grey",hideEndAdornment:!L});if(s===d.b){var Z=F.a(["srt_publish","port"])(i)||"";X=$o.a([],"ingress_hostnames")(f).map((function(e){var t=J("srt://".concat(e).concat(Z?":".concat(Z):""),!0);return Object(m.c)(p.l,{key:e,mt:1},function(e,t){return Object(m.c)(p.gc,{value:e,inputProps:{"data-testid":t?"srt-dedicated":"srt"},startAdornmentLabel:x(t?"mediaPublishLocation.srtDedicatedPort":"mediaPublishLocation.srt")})}(t,!0))}))}var ee=null;if(D){var te="".concat(D,"/").concat(M?"".concat(M,"/"):"").concat(z,"/mpegts").concat(I());ee=Object(m.c)(p.gc,{value:te,inputProps:{"data-testid":"https-mpegts"},startAdornmentLabel:x("mediaPublishLocation.httpsMpegts")})}var re=null;if(A){var ne="".concat(A,"/").concat(M?"".concat(M,"/"):"").concat(z,"/mpegts").concat(I());re=Object(m.c)(p.gc,{value:ne,inputProps:{"data-testid":"http-mpegts"},startAdornmentLabel:x("mediaPublishLocation.httpMpegts")})}var oe=null;_||O||(oe=Object(m.c)(Zs,{name:b||"&lt;stream-name&gt;",password:k,entity:a,product:s,templateConfig:y,media:i,renderTextField:B}));var ie=T&amp;&amp;(T.length&lt;so.a.schemas.srt_config_base.properties.passphrase.minLength||T.length&gt;so.a.schemas.srt_config_base.properties.passphrase.maxLength)?x("streams-invalid-passphrase"):null;return Object(m.c)(o.a.Fragment,null,s!==d.b&amp;&amp;!u&amp;&amp;Object(m.c)(p.l,{my:1,width:"100%"},oe),Object(m.c)(p.ib,{container:!0,spacing:2},s!==d.b&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:12,sm:6},re),Object(m.c)(p.ib,{item:!0,xs:12,sm:6},ee),Object(m.c)(p.ib,{item:!0,xs:12,sm:6},K)),Object(m.c)(p.ib,{item:!0,xs:12,sm:6},W),s!==d.b&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12,sm:6},Q),Object(m.c)(p.ib,{item:!0,xs:12,sm:6},X)),Object(m.c)(p.ib,{container:!0,spacing:2,mt:1},Object(m.c)(p.ib,{item:!0,xs:6},B({value:(null==i?void 0:null===(t=i.srt_publish)||void 0===t?void 0:t.port)||$o.a("",["srt_publish","port"])(y),path:["srt_publish","port"],docDescription:so.a.schemas.srt_config.allOf[0].properties.port.description,inputProps:{"data-testid":"stream-srt_publish-port"},onChange:function(e){return g(["srt_publish","port"])(e.target.value?Number(e.target.value):null)}})),Object(m.c)(p.ib,{item:!0,xs:6},B({value:(null==i?void 0:null===(r=i.srt_publish)||void 0===r?void 0:r.passphrase)||$o.a("",["srt_publish","passphrase"])(y),path:["srt_publish","passphrase"],docDescription:so.a.schemas.srt_config_base.properties.passphrase.description,inputProps:{"data-testid":"stream-srt_publish-passphrase"},onChange:function(e){return function(e){var t=e.target.value;C(t),(!t.length||t.length&gt;=so.a.schemas.srt_config_base.properties.passphrase.minLength&amp;&amp;t.length&lt;=so.a.schemas.srt_config_base.properties.passphrase.maxLength)&amp;&amp;g(["srt_publish","passphrase"])(t)}(e)},error:ie,helperText:ie}))),Object(m.c)(p.l,{mt:1,width:"100%"},B({value:i.password||$o.a("","password")(y),path:["password"],docDescription:so.a.schemas.stream_config_input.properties.password.description})),Object(m.c)(p.l,{mt:1,width:"100%"},B({value:i.max_bitrate||$o.a("","max_bitrate")(y),path:["max_bitrate"],docDescription:so.a.schemas.stream_input_base.properties.max_bitrate.description})),s!==d.b&amp;&amp;Object(m.c)(p.l,{mt:1,width:"100%"},B({value:F.a(["on_publish","url"])(i)||ar.a("",["on_publish","url"])(y),path:["on_publish","url"],docDescription:so.a.schemas.auth_spec.properties.url.description})))};ic.defaultProps={hideWebRTC:!1,change:void 0,onConfigChange:void 0,isMultiEdit:!1,templateConfig:null,mediaNames:[],entity:"",isStream:!1};var ac=ic,sc=function(e){var t=e.media,r=e.config,n=e.onConfigChange,o=e.mediaNames,i=e.isMultiEdit,a=e.entity,s=e.templateConfig,c=e.isStream,l=e.product,p=e.configEffective,u=e.isTemplate,d=e.isOverviewPage;return Object(Es.j)(t,s)?Object(m.c)(ac,{isMultiEdit:i,mediaNames:o,name:t.name,config:r,media:t,onConfigChange:n,entity:a,templateConfig:s,isStream:c,product:l,configEffective:p,isTemplate:u,isOverviewPage:d}):null};sc.defaultProps={media:void 0,config:void 0,isMultiEdit:!1,isStream:!1,templateConfig:null};var cc=sc,lc=(r(1351),["path"]);function pc(){return(pc=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function uc(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}function dc(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return mc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return mc(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function mc(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var fc=function(e){var t,r,i,a,s,c,l,u,d=e.config,f=e.media,b=e.onConfigChange,h=e.entity,y=e.isTemplate,g=e.templateConfig,v=e.isStream,_=e.configEffective,O=e.mediaNames,x=e.isMultiEdit,w=e.getConfigDelta,k=Object(j.b)().t,S=Ge()().history,P=dc(Object(n.useState)(!1),2),T=P[0],C=P[1],I=function(e){var t=e.oldIndex,r=e.newIndex,n=Object(Es.c)({array:Object(B.e)(f.inputs)?f.inputs:[],oldIndex:t,newIndex:r});b(["inputs"],"raw")(n)},A=function(e,t){return function(){b(e,"raw")(!t)}},D=function(e){return function(){return b(["dvbocr"])(e)}},E=function(){C(!1)},$=function(e){var t=e.path,r=uc(e,lc);return Object(m.c)(p.fc,pc({onChange:r.onChange||b(t),path:t,entity:"streams",templateData:g,showFullHelperInf:v},r))},N=f.inputs?f.inputs.concat([{url:""}]):[{url:""}];return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.l,{display:"flex",mb:2},!x&amp;&amp;g&amp;&amp;Object(B.b)(f.inputs)&amp;&amp;Object(m.c)(p.l,null,Object(m.c)(p.n,{variant:"contained",color:"primary",size:"small",onClick:function(){b(["inputs"],"raw")(Ot.a("inputs")(g))},"data-testid":"copy-urls-from-template-button"},k("streamInputMainPage.copyUrlsFromTemplateButton"))),!x&amp;&amp;g&amp;&amp;Object(B.e)(Ot.a("inputs")(g))&amp;&amp;Object(B.e)(f.inputs)&amp;&amp;Object(m.c)(p.l,{ml:1},Object(m.c)(p.n,{variant:"contained",color:"primary",size:"small",onClick:function(){C(!0)},"data-testid":"use-urls-from-template-button"},k("streamInputMainPage.useUrlsFromTemplateButton"))),Object(m.c)(p.kb,{docDescription:so.a.schemas.stream_config_input.properties.inputs.description,diskValue:Object(B.e)(f.inputs)?"âœ”":"",templateValue:Object(B.e)(Ot.a("inputs")(g))?"âœ”":"",showFullHelperInf:v})),d&amp;&amp;f?Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{container:!0,spacing:0},Object(m.c)(p.ib,{item:!0,container:!0,xs:12,sm:11,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,lg:9},Object(m.c)(p.l,{mb:8},y&amp;&amp;Object(m.c)(p.l,{my:1},Object(m.c)(Ps,null)),!x&amp;&amp;Object(B.e)(f.inputs)||Object(B.b)(f.inputs)&amp;&amp;Object(B.b)(Ot.a("inputs")(g))?Object(m.c)(o.a.Fragment,null,N.map((function(e,t){return Object(m.c)(Ms,{key:t,index:t,lastIndex:f.inputs?f.inputs.length-1:0,url:e,media:f,mediaNames:O,onConfigChange:b,entity:h,history:S,isTemplate:y,getConfigDelta:w,configEffective:_,handleInputsReorder:I})}))):"",!x&amp;&amp;Object(B.b)(f.inputs)&amp;&amp;g&amp;&amp;Object(B.e)(g.inputs)&amp;&amp;Object(m.c)(o.a.Fragment,null,g.inputs.map((function(e,t){return Object(m.c)(Ms,{index:t,url:e,media:g,mediaNames:O,entity:h,history:S,fromTemplate:!0,key:e.url,handleInputsReorder:I})})))),Object(m.c)(p.l,{my:5,display:"flex",justifyContent:"start",alignItems:"start"},Object(m.c)(Ai,{expanded:!0,label:k("streamInputMainPage.publishedInputLabel"),details:k("streamInputMainPage.publishedInputLabelDetail"),widthAuto:!0},Object(m.c)(No.a,{label:k("streamInputMainPage.enabledLabel"),checked:Object(B.e)(f.inputs)&amp;&amp;st.b.publishEnabled(f)||Object(B.b)(f.inputs)&amp;&amp;Object(B.e)(Ot.a("inputs")(g))&amp;&amp;st.b.publishEnabled(g),onClick:st.b.enablePublishing(f,b),className:"margin-right-10",isRadio:!0,"data-testid":"published-accept",disabled:Object(B.b)(f.inputs)&amp;&amp;Object(B.e)(Ot.a("inputs")(g))}),Object(m.c)(No.a,{label:k("streamInputMainPage.disabledLabel"),checked:Object(B.e)(f.inputs)&amp;&amp;!st.b.publishEnabled(f)||Object(B.b)(f.inputs)&amp;&amp;Object(B.e)(Ot.a("inputs")(g))&amp;&amp;!st.b.publishEnabled(g),onClick:st.b.disablePublishing(f,b),isRadio:!0,"data-testid":"published-ignore",disabled:Object(B.b)(f.inputs)&amp;&amp;Object(B.e)(Ot.a("inputs")(g))})),Object(m.c)(p.kb,{path:"",diskValue:st.b.publishEnabled(f)?"true":null,templateValue:st.b.publishEnabled(g||{})?"true":null,showFullHelperInf:v})),Object(m.c)(cc,{isMultiEdit:x,media:f,config:d,onConfigChange:b,mediaNames:O,entity:h,templateConfig:g,isStream:v,configEffective:_,isTemplate:y})),Object(m.c)(p.ib,{item:!0,xs:12,lg:9},Object(m.c)(p.ib,{container:!0,spacing:2,"data-testid":"fallback-video-settings"},Object(m.c)(p.ib,{item:!0,xs:12},$({value:F.a(["backup","file"])(f)||ar.a("",["backup","file"])(g),path:["backup","file"],onChange:function(e){var t=e.target.value;Object(B.e)(t)?b(["backup","file"])(e):b(["backup"])(null)},docDescription:so.a.schemas.backup_config.properties.file.description})),Object(m.c)(p.ib,{item:!0,xs:12,sm:2},$({value:F.a(["backup","timeout"])(f)||ar.a("",["backup","timeout"])(g),path:["backup","timeout"],disabled:!(f.backup||Ot.a("backup")(g)),docDescription:so.a.schemas.backup_config.properties.timeout.description})),Object(m.c)(p.ib,{item:!0,xs:6,sm:2},$({value:F.a(["backup","video_timeout"])(f)||ar.a("",["backup","video_timeout"])(g),path:["backup","video_timeout"],disabled:!(f.backup||Ot.a("backup")(g)),docDescription:so.a.schemas.backup_config.properties.video_timeout.description})),Object(m.c)(p.ib,{item:!0,xs:6,sm:2},$({value:F.a(["backup","audio_timeout"])(f)||ar.a("",["backup","audio_timeout"])(g),path:["backup","audio_timeout"],disabled:!(f.backup||Ot.a("backup")(g)),docDescription:so.a.schemas.backup_config.properties.audio_timeout.description})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6},Object(m.c)(p.l,{display:"flex",alignItems:"center",gap:1},Object(m.c)(p.l,{display:"flex",className:"dvr-toggle-wrapper"},Object(m.c)(p.R,{control:Object(m.c)(p.s,{checked:F.a(["backup","dvr"])(f)?!!F.a(["backup","dvr"])(f):!!F.a(["backup","dvr"])(g),onChange:A(["backup","dvr"],F.a(["backup","dvr"])(f)),color:"primary",inputProps:{"data-testid":"dvr-toggle"},disabled:!f.backup||!F.a(["backup","dvr"])(f)&amp;&amp;F.a(["backup","dvr"])(g)}),label:k("streamInputMainPage.dvrLabel")}),Object(m.c)(p.kb,{docDescription:so.a.schemas.backup_config.properties.dvr.description,diskValue:F.a(["backup","dvr"])(f)?"true":null,templateValue:F.a(["backup","dvr"])(g)?"true":null,showFullHelperInf:v})),Object(m.c)(p.l,{display:"flex",className:"dvr-toggle-wrapper"},Object(m.c)(p.R,{control:Object(m.c)(p.s,{checked:null!==(t=null===(r=f.backup)||void 0===r?void 0:r.transcode)&amp;&amp;void 0!==t?t:null==g?void 0:null===(i=g.backup)||void 0===i?void 0:i.transcode,onChange:A(["backup","transcode"],null===(a=f.backup)||void 0===a?void 0:a.transcode),color:"primary",inputProps:{"data-testid":"transcode-toggle"},disabled:!f.backup||!(null!==(s=f.backup)&amp;&amp;void 0!==s&amp;&amp;s.transcode)&amp;&amp;(null==g?void 0:null===(c=g.backup)||void 0===c?void 0:c.transcode)}),label:k("streamInputMainPage.transcodeLabel")}),Object(m.c)(p.kb,{docDescription:so.a.schemas.backup_config.properties.transcode.description,diskValue:null!=f&amp;&amp;null!==(l=f.backup)&amp;&amp;void 0!==l&amp;&amp;l.transcode?"true":null,templateValue:null!=g&amp;&amp;null!==(u=g.backup)&amp;&amp;void 0!==u&amp;&amp;u.transcode?"true":null,showFullHelperInf:v})))))),Object(m.c)(p.ib,{item:!0,xs:12,lg:9},Object(m.c)(ti,{entity:"streams",path:["source_timeout"],value:f.source_timeout||Ot.a("source_timeout")(g),onChange:function(e){Bo({value:e})&amp;&amp;e&gt;0&amp;&amp;b(["source_timeout"])(e),xt.a(e)&amp;&amp;b(["source_timeout"])(null)},units:[{label:k("seconds"),factor:1}],data:f,templateData:g,showFullHelperInf:v,docDescription:so.a.schemas.stream_input_base.properties.source_timeout.description}),Object(m.c)("div",{className:"row-height"})),Object(m.c)(p.ib,{item:!0,xs:12,lg:9},Object(m.c)(o.a.Fragment,null,Object(m.c)(p.l,{display:"flex",justifyContent:"start",alignItems:"start"},Object(m.c)(Ai,{expanded:!0,widthAuto:!0,className:"auto-height",label:k("streamInputUrlOptionsPage.dvbToWebvttLabel")}),Object(m.c)(p.kb,{docDescription:so.a.schemas.stream_config_input.properties.dvbocr.description})),Object(m.c)(No.a,{label:k("disable"),onClick:D(null),checked:!f.dvbocr,className:"margin-right-10","data-testid":"dvbocr-disable",isRadio:!0}),Object(m.c)(No.a,{label:k("addButton"),onClick:D("add"),checked:"add"===f.dvbocr,"data-testid":"dvbocr-add",isRadio:!0}),Object(m.c)(No.a,{label:k("replace"),onClick:D("replace"),checked:"replace"===f.dvbocr,"data-testid":"dvbocr-replace",isRadio:!0}))))),Object(m.c)(p.ib,{container:!0,spacing:0},Object(m.c)(p.ib,{item:!0,container:!0,xs:12,sm:11,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,lg:9},Object(m.c)(p.l,{mt:2,display:"flex",alignItems:"center"},Object(m.c)(p.l,{mr:2,style:{position:"relative",top:9,whiteSpace:"nowrap"}},Object(m.c)(p.R,{control:Object(m.c)(p.s,{checked:Object(B.d)(f.cluster_ingest)?!!f.cluster_ingest:!!Ot.a("cluster_ingest")(g),onChange:function(){b(["cluster_ingest"],"raw")(xt.a(f.cluster_ingest)?{capture_at:null}:null)},color:"primary",inputProps:{"data-testid":"cluster-ingest-toggle"},disabled:xt.a(f.cluster_ingest)&amp;&amp;Object(B.d)(Ot.a("cluster_ingest")(g))}),label:k("streamInputMainPage.clusterIngestLabel")}),Object(m.c)(p.kb,{docDescription:so.a.schemas.stream_config_onpremises.properties.cluster_ingest.description,diskValue:f.cluster_ingest?"true":null,templateValue:Ot.a("cluster_ingest")(g)?"true":null,showFullHelperInf:v})),Object(m.c)(p.l,null,$({value:F.a(["cluster_ingest","capture_at"])(f)||ar.a("",["cluster_ingest","capture_at"])(g),path:["cluster_ingest","capture_at"],disabled:!(f.cluster_ingest||Ot.a("cluster_ingest")(g)),docDescription:so.a.schemas.cluster_ingest_config.properties.capture_at.description})))))),Object(m.c)(p.C,{open:T,handleClose:E,onDelete:function(){b(["inputs"],"raw",(function(){return E()}))([])},title:k("streamInputMainPage.useUrlsFromTemplateConfirm"),notice:k("streamInputMainPage.useUrlsFromTemplateNotice"),removeButtonText:k("streamInputMainPage.useUrlsFromTemplateButton")})):null)};fc.defaultProps={media:void 0,templateConfig:null,isStream:!1};var bc=Object(ge.b)(fc),hc=r(472),yc=r(730),gc=r(476),vc=r(340),_c=r(736),Oc=r(733);function jc(e){return function(e){if(Array.isArray(e))return xc(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return xc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return xc(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function xc(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var wc=so.a.schemas.output_audio.oneOf.map((function(e){return[e.const,e.title]})),kc=function(e){var t=e.url,r=e.handleStrChange,n=e.handleIntChange,o=e.renderTextField,i=e.isEffective,a=Object(j.b)().t,s=function(e,r){return o({path:e,onChange:n(e),url:t,type:"number",inputProps:{min:0},dimension:r})};return Object(m.c)(p.ib,{container:!0,spacing:2,style:{width:"100%"}},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.mc,{variant:"h5"},a("streamInputUrlOptionsPage.webrtc.title"))),Object(m.c)(p.ib,{item:!0,xs:6,sm:3,lg:2},Object(m.c)(oa.a,{displayEmpty:!0,label:a("inputs-output_audio"),value:(null==t?void 0:t.output_audio)||"",onChange:r("output_audio"),items:[["",a("not-selected")]].concat(jc(wc)),disabled:i,"data-testid":"inputs-output_audio",HelperDocProps:{docDescription:so.a.schemas.stream_input_base.properties.output_audio.description}})),Object(m.c)(p.ib,{item:!0,xs:6,sm:3,lg:2},s(["max_bitrate"])),Object(m.c)(p.ib,{item:!0,xs:6,sm:3,lg:2},s(["min_bitrate"])),Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{mt:2},Object(m.c)(p.mc,{variant:"subtitle2"},a("streamInputUrlOptionsPage.webrtc.abrTitle")))),Object(m.c)(p.ib,{item:!0,xs:6,sm:3,lg:2},s(["abr_mode"])),Object(m.c)(p.ib,{item:!0,xs:6,sm:3,lg:2},s(["abr_stepup"],"%")),Object(m.c)(p.ib,{item:!0,xs:6,sm:3,lg:2},s(["abr_stepdown"],"%")),Object(m.c)(p.ib,{item:!0,xs:6,sm:3,lg:2},s(["abr_loss_lower"],"%")),Object(m.c)(p.ib,{item:!0,xs:6,sm:3,lg:2},s(["abr_loss_upper"],"%")),Object(m.c)(p.ib,{item:!0,xs:6,sm:3,lg:2},s(["abr_cycles"])))},Sc=r(33),Pc=Object(p.wc)()((function(e){return{blockWrapper:{background:"#F9FAFB",borderRadius:e.spacing(.5,.5,0,0),height:"100%"}}})),Tc=Object(p.wc)()((function(e){return{streamsWrapper:{background:"#F9FAFB",borderRadius:e.spacing(.5,.5,0,0),boxShadow:"none"},streams:{maxHeight:750,overflow:"auto"},searchWrapper:{background:e.palette.common.white}}})),Cc=Object(p.wc)()((function(e){return{streamWrapper:{background:e.palette.common.white,"&amp;:first-of-type":{marginTop:0}},iconMultiplexer:{color:e.palette.primary.main},statusWrapper:{"&amp; &gt; p":{overflow:"hidden",textOverflow:"ellipsis"}}}})),Ic=Object(p.wc)()((function(e){return{searchWrapper:{background:e.palette.common.white}}})),Ac=Object(p.wc)()((function(e){return{multiplexerWrapper:{padding:e.spacing(2),marginTop:e.spacing(2)},generalWrapper:{background:"#F9FAFB",borderRadius:e.spacing(.5,.5,0,0),boxShadow:"none",marginTop:e.spacing(1),"&amp;:before":{display:"none"}},addButton:{width:20,height:20,minWidth:"auto",padding:e.spacing(.5)},deleteSettingsButton:{marginTop:e.spacing(3)},labelWithInfo:{"&amp; label":{top:-6}},addProgram:{"&amp;&gt;div":{alignItems:"flex-end"}}}})),Dc=["onClick","docDescription","disabled"];function Ec(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var $c=function(e){var t=e.onClick,r=e.docDescription,n=e.disabled,i=Ec(e,Dc),a=Ac().classes;return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ac,{color:"primary",variant:"contained",onClick:t,className:a.addButton,"data-testid":i["data-testid"],disabled:n},Object(m.c)(p.mc,{component:"span",variant:"h6",fontWeight:500,lineHeight:1},"+")),r&amp;&amp;Object(m.c)(p.kb,{docDescription:r}))};function Nc(e){return(Nc="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Lc(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||Uc(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Rc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function qc(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Rc(Object(r),!0).forEach((function(t){Mc(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Rc(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Mc(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Nc(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Nc(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Nc(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Fc(e){return function(e){if(Array.isArray(e))return zc(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Uc(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Uc(e,t){if(e){if("string"==typeof e)return zc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?zc(e,t):void 0}}function zc(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Bc=Object.values(Sc.a),Hc=p.uc.DeleteIcon,Vc=function(e){var t,r,i,a=e.disabled,s=e.media,c=e.audioTracks,l=void 0===c?[]:c,u=e.onChange,d=e.errors,f=e.onError,b=e.onErrorResolve,h=Object(j.b)().t,y=Ac().classes,g=Object(n.useMemo)((function(){var e,t;return((null===(e=s.stats)||void 0===e?void 0:null===(t=e.media_info)||void 0===t?void 0:t.tracks)||[]).filter((function(e){return"audio"===e.content})).map((function(e){return e.track_id||""}))}),[null===(t=s.stats)||void 0===t?void 0:null===(r=t.media_info)||void 0===r?void 0:r.tracks]),v=function(e,t){var r=l.map((function(r,n){return e===n?qc(qc({},r),t):r}));u(r),Object.entries(t).forEach((function(t){var r=Lc(t,2),n=r[0];r[1]?b(["audio_tracks[".concat(e,"].").concat(n)])():f(["audio_tracks[".concat(e,"].").concat(n)])(h("validators.fieldRequiredError"))}))};return Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,display:"flex",alignItems:"center"},Object(m.c)(p.mc,{variant:"subtitle2",mr:1},h("audioTracks.title")),Object(m.c)($c,{onClick:function(){u([].concat(Fc(l),[{}]));var e=l.length;f(["audio_tracks[".concat(e,"].track")])(h("validators.fieldRequiredError")),f(["audio_tracks[".concat(e,"].channels")])(h("validators.fieldRequiredError"))},docDescription:null===(i=so.a.schemas.stream_input_decklink.allOf[0].properties)||void 0===i?void 0:i.audio_tracks.description,"data-testid":"audio-tracks-add",disabled:a})),(l||[]).map((function(e,t){var r;return(Object(m.c)(o.a.Fragment,{key:t},Object(m.c)(p.ib,{item:!0,xs:12,sm:8,lg:2},Object(m.c)(p.g,{freeSolo:!0,autoSelect:!0,value:e.track,label:h("audioTracks.track"),options:g,onChange:function(e,r){"string"!=typeof r&amp;&amp;null!==r||v(t,{track:r||""})},"data-testid":"audio-tracks-track-".concat(t),docDescription:so.a.schemas.audio_track.properties.track.description,error:d["audio_tracks[".concat(t,"].track")],disabled:a})),Object(m.c)(p.ib,{item:!0,xs:12,sm:8,lg:3},Object(m.c)(p.g,{freeSolo:!0,autoSelect:!0,multiple:!0,value:(null!==(r=e.channels)&amp;&amp;void 0!==r?r:[]).map(String),label:h("audioTracks.channels"),options:[],onChange:function(e,r){Array.isArray(r)&amp;&amp;v(t,{channels:r.filter((function(e){return parseInt(e,10)})).map((function(e){return parseInt(e,10)}))||[]})},"data-testid":"audio-tracks-channels-".concat(t),docDescription:so.a.schemas.audio_track.properties.channels.description,error:d["audio_tracks[".concat(t,"].channels")],disabled:a})),Object(m.c)(p.ib,{item:!0,xs:12,sm:8,lg:3},Object(m.c)(p.g,{freeSolo:!0,disableClearable:!0,value:e.sample_type,label:h("audioTracks.sample_type"),options:Bc,onChange:function(e,r){"string"==typeof r&amp;&amp;v(t,{sample_type:r||""})},"data-testid":"audio-tracks-sample_type-".concat(t),docDescription:so.a.schemas.audio_track.properties.sample_type.description,disabled:a})),Object(m.c)(p.ib,{item:!0,xs:12,sm:8,lg:3},Object(m.c)(p.fc,{value:e.lang,label:h("audioTracks.lang"),onChange:function(e){"string"==typeof e.target.value&amp;&amp;v(t,{lang:e.target.value||""})},inputProps:{"data-testid":"audio-tracks-lang-".concat(t)},docDescription:so.a.schemas.audio_track.properties.lang.description,error:d["audio_tracks[".concat(t,"].lang")],disabled:a})),Object(m.c)(p.ib,{item:!0,xs:6,sm:6,lg:1},Object(m.c)(p.mb,{"aria-label":"delete",size:"small",color:"secondary",onClick:function(){return function(e){u([].concat(Fc(l.slice(0,e)),Fc(l.slice(e+1)))),b(["audio_tracks[".concat(e,"].track")])(),b(["audio_tracks[".concat(e,"].channels")])(),b(["audio_tracks[".concat(e,"].sample_type")])(),b(["audio_tracks[".concat(e,"].lang")])()}(t)},"data-testid":"audio-tracks-".concat(t,"-delete"),className:y.deleteSettingsButton,disabled:a},Object(m.c)(Hc,{fontSize:"small"})))))})))};function Wc(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Gc(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Gc(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Gc(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Kc=function(e){var t=e.index,r=e.language,o=e.onConfigChange,i=e.urls,a=e.sourceIndex,s=e.audioTracks,c=e.languages,l=e.isEffective,u=Object(j.b)().t,d=Wc(Object(n.useState)(r.key||""),2),f=d[0],b=d[1];Object(n.useEffect)((function(){f!==r.key&amp;&amp;b(r.key)}),[r.key]);var h=function(e,t){b(t||"")};return Object(m.c)(p.g,{id:"url-languages-".concat(t,"-track"),"data-testid":"url-languages-".concat(t,"-track"),label:u("streamInputUrlOptionsPage.trackLabel"),freeSolo:!0,options:s,value:f,inputValue:f,onInputChange:function(e,t){e&amp;&amp;h(0,t)},onChange:h,onBlur:function(){var e=lt.a(i),n=lt.a(c);Object(B.e)(f)&amp;&amp;f!==r.key&amp;&amp;(n[t].key=f),Object(B.b)(f)&amp;&amp;delete n[t];var s=Object(Es.d)(n);e[a].languages=lt.a(s),o("inputs","raw")(e)},disabled:l})};Kc.defaultProps={isEffective:!1};var Yc=function(e){var t=e.index,r=e.language,n=e.onConfigChange,o=e.urls,i=e.sourceIndex,a=e.isEffective;return Object(m.c)(p.fc,{entity:"languages",value:r.value,path:["value"],onChange:function(e){var t=lt.a(o);t[i].languages[r.key]=e.target.value,n("inputs","raw")(t)},index:t,validation:Ko,disabled:a})};Yc.defaultProps={isEffective:!1};var Jc=r(504),Qc=r.n(Jc);function Xc(e){return(Xc="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}var Zc=["maskParams","inputProps"];function el(){return(el=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function tl(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function rl(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?tl(Object(r),!0).forEach((function(t){nl(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):tl(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function nl(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Xc(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Xc(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Xc(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ol(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var il=function(e){var t=e.maskParams,r=e.inputProps,o=ol(e,Zc),i=Object(n.useRef)();return Object(n.useEffect)((function(){new Qc.a(rl({},t)).mask(i.current)}),[]),Object(m.c)(p.fc,el({inputProps:rl({ref:i},r)},o))};function al(e){return function(e){if(Array.isArray(e))return ll(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||cl(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function sl(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||cl(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function cl(e,t){if(e){if("string"==typeof e)return ll(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ll(e,t):void 0}}function ll(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}il.defaultProps={inputProps:{}};var pl=Object.values(Sc.b).map((function(e){return[e,e]})),ul=Object.values(Sc.B).map((function(e){return[e,e]})),dl=Object.values(Sc.A).map((function(e){return[e,e]})),ml=function(e){var t,r,n,i,a,s,c=e.url,l=e.isEffective,u=e.onRawChange,d=e.onStringChange,f=e.errors,b=e.onError,h=e.onErrorResolve,y=Object(j.b)().t,g=[["audio",y("streamInputUrlOptionsPage.decklink.vpts.optionLabelAudio")],["ref",y("streamInputUrlOptionsPage.decklink.vpts.optionLabelRef")]],v=[["video",y("streamInputUrlOptionsPage.decklink.apts.optionLabelVideo")],["ref",y("streamInputUrlOptionsPage.decklink.apts.optionLabelRef")]],_=f.decklink_sar,O=sl(o.a.useState(c.sar||""),2),x=O[0],w=O[1];return Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,sm:6,lg:4},Object(m.c)(oa.a,{displayEmpty:!0,label:y("streamInputUrlOptionsPage.decklink.modeLabel"),value:c.mode||"",onChange:function(e){return u("mode")(e.target.value)},items:[["",y("not-selected")]].concat(al(pl)),disabled:l,"data-testid":"decklink-mode",HelperDocProps:{docDescription:null===(t=so.a.schemas.stream_input_decklink.allOf[0].properties)||void 0===t?void 0:t.mode.description}})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,lg:4},Object(m.c)(oa.a,{displayEmpty:!0,label:y("streamInputUrlOptionsPage.decklink.vinputLabel"),value:c.vinput||"",onChange:function(e){return u("vinput")(e.target.value)},items:[["",y("not-selected")]].concat(al(ul)),disabled:l,"data-testid":"decklink-vinput",HelperDocProps:{docDescription:null===(r=so.a.schemas.stream_input_decklink.allOf[0].properties)||void 0===r?void 0:r.vinput.description}})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,lg:4},Object(m.c)(oa.a,{displayEmpty:!0,label:y("streamInputUrlOptionsPage.decklink.ainputLabel"),value:c.ainput||"",onChange:function(e){return u("ainput")(e.target.value)},items:[["",y("not-selected")]].concat(al(dl)),disabled:l,"data-testid":"decklink-ainput",HelperDocProps:{docDescription:null===(n=so.a.schemas.stream_input_decklink.allOf[0].properties)||void 0===n?void 0:n.ainput.description}})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,lg:4},Object(m.c)(oa.a,{displayEmpty:!0,label:y("streamInputUrlOptionsPage.decklink.vptsLabel"),value:c.vpts||"",onChange:function(e){return u("vpts")(e.target.value)},items:[["",y("not-selected")]].concat(g),disabled:l,"data-testid":"decklink-vpts",HelperDocProps:{docDescription:null===(i=so.a.schemas.stream_input_decklink.allOf[0].properties)||void 0===i?void 0:i.vpts.description}})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,lg:4},Object(m.c)(oa.a,{displayEmpty:!0,label:y("streamInputUrlOptionsPage.decklink.aptsLabel"),value:c.apts||"",onChange:function(e){return u("apts")(e.target.value)},items:[["",y("not-selected")]].concat(v),disabled:l,"data-testid":"decklink-apts",HelperDocProps:{docDescription:null===(a=so.a.schemas.stream_input_decklink.allOf[0].properties)||void 0===a?void 0:a.apts.description}})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,lg:4},Object(m.c)(il,{entity:"input",path:["sar"],value:x,onChange:function(e){w(e.target.value);var t=e.target.value.split(":");if(t.length&gt;1)if(t.includes("_"))b(["decklink_sar"])(y("specifyAllSettingsError"));else{var r=!1;t.forEach((function(e){0===Number(e)&amp;&amp;(r=!0,b(["decklink","sar"])(y("specifyAllSettingsError")))})),r||(h(["decklink_sar"])(),d("sar")(e))}else h(["decklink_sar"])(),d("sar")()},maskParams:{mask:"9[9[9]]:9[9[9]]",greedy:!1},error:_,disabled:l,docDescription:null===(s=so.a.schemas.stream_input_decklink.allOf[0].properties)||void 0===s?void 0:s.sar.description})))};function fl(e){return(fl="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function bl(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||_l(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function hl(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function yl(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?hl(Object(r),!0).forEach((function(t){gl(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):hl(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function gl(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==fl(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==fl(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===fl(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function vl(e){return function(e){if(Array.isArray(e))return Ol(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||_l(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _l(e,t){if(e){if("string"==typeof e)return Ol(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ol(e,t):void 0}}function Ol(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var jl=Object(p.wc)()((function(){return{descriptorTypeSelect:{marginTop:4}}})),xl=function(e){var t,r=e.ttxtDescriptors,n=void 0===r?[]:r,i=e.onChange,a=e.errors,s=e.onError,c=e.onErrorResolve,l=Object(j.b)().t,u=jl().classes,d=function(e){i([].concat(vl(n.slice(0,e)),vl(n.slice(e+1)))),c(["ttxt_descriptors[".concat(e,"].page")])(),c(["ttxt_descriptors[".concat(e,"].lang")])(),c(["ttxt_descriptors[".concat(e,"].type")])()},f=function(e,t){var r=n.map((function(r,n){return e===n?yl(yl({},r),t):r}));i(r),Object.entries(t).forEach((function(t){var r=bl(t,2),n=r[0];r[1]?c(["ttxt_descriptors[".concat(e,"].").concat(n)])():s(["ttxt_descriptors[".concat(e,"].").concat(n)])(l("validators.fieldRequiredError"))}))};return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.mc,{variant:"h6"},l("streamInputUrlOptionsPage.ttxtDescriptorsLabel"),Object(m.c)(p.kb,{docDescription:null===(t=so.a.schemas.stream_input_decklink.allOf[0].properties)||void 0===t?void 0:t.ttxt_descriptors.description}),Object(m.c)(p.k,{color:"primary",size:"small",variant:"contained",onClick:function(){i([].concat(vl(n),[{}]));var e=n.length;s(["ttxt_descriptors[".concat(e,"].page")])(l("validators.fieldRequiredError")),s(["ttxt_descriptors[".concat(e,"].lang")])(l("validators.fieldRequiredError")),s(["ttxt_descriptors[".concat(e,"].type")])(l("validators.fieldRequiredError"))},"data-testid":"ttxt_descriptors-add"},Object(m.c)(p.e,{fontSize:"small"}))),Object(m.c)(p.ib,{container:!0,spacing:1,mt:1,sx:{display:{xs:"none",md:"flex"}}},Object(m.c)(p.ib,{item:!0,xs:3},Object(m.c)(p.mc,{variant:"subtitle2"},l("streamInputUrlOptionsPage.ttxtDescriptors.page"))),Object(m.c)(p.ib,{item:!0,xs:3},Object(m.c)(p.mc,{variant:"subtitle2"},l("streamInputUrlOptionsPage.ttxtDescriptors.lang"))),Object(m.c)(p.ib,{item:!0,xs:3},Object(m.c)(p.mc,{variant:"subtitle2"},l("streamInputUrlOptionsPage.ttxtDescriptors.type"))),Object(m.c)(p.ib,{item:!0,xs:3})),n.map((function(e,t){return Object(m.c)(p.ib,{container:!0,spacing:1,key:t,mt:1,alignItems:"flex-start"},Object(m.c)(p.ib,{item:!0,xs:4,sx:{display:{xs:"block",md:"none"}}},Object(m.c)(p.mc,{variant:"subtitle2"},l("streamInputUrlOptionsPage.ttxtDescriptors.page"))),Object(m.c)(p.ib,{item:!0,xs:8,md:3},Object(m.c)(p.fc,{value:e.page,onChange:function(e){return f(t,{page:e.target.value?+e.target.value:void 0})},type:"number",docDescription:so.a.schemas.ttxt_descriptors.properties.page.description,error:a["ttxt_descriptors[".concat(t,"].page")],inputProps:{"data-testid":"ttxt_descriptors-".concat(t,"-page")}})),Object(m.c)(p.ib,{item:!0,xs:4,sx:{display:{xs:"block",md:"none"}}},Object(m.c)(p.mc,{variant:"subtitle2"},l("streamInputUrlOptionsPage.ttxtDescriptors.lang"))),Object(m.c)(p.ib,{item:!0,xs:8,md:3},Object(m.c)(p.fc,{value:e.lang,onChange:function(e){return f(t,{lang:e.target.value})},docDescription:so.a.schemas.ttxt_descriptors.properties.lang.description,error:a["ttxt_descriptors[".concat(t,"].lang")],inputProps:{"data-testid":"ttxt_descriptors-".concat(t,"-lang")}})),Object(m.c)(p.ib,{item:!0,xs:4,sx:{display:{xs:"block",md:"none"}}},Object(m.c)(p.mc,{variant:"subtitle2"},l("streamInputUrlOptionsPage.ttxtDescriptors.type"))),Object(m.c)(p.ib,{item:!0,xs:8,md:3},Object(m.c)(oa.a,{displayEmpty:!0,value:e.type||"",onChange:function(e){f(t,{type:e.target.value})},items:[["",l("not-selected")]].concat(vl(Sc.I.map((function(e){return[e.value,e.label]})))),HelperDocProps:{docDescription:so.a.schemas.ttxt_descriptors.properties.type.description},className:u.descriptorTypeSelect,hideLabel:!0,error:a["ttxt_descriptors[".concat(t,"].type")],"data-testid":"ttxt_descriptors-".concat(t,"-type")})),Object(m.c)(p.ib,{item:!0,xs:4,sx:{display:{xs:"block",md:"none"}}}),Object(m.c)(p.ib,{item:!0,xs:8,alignItems:"flex-end",sx:{display:{xs:"block",md:"none"}}},Object(m.c)(p.l,{display:"flex",gap:1},Object(m.c)(p.n,{variant:"contained",color:"secondary",onClick:function(){return d(t)},size:"small"},l("remove")))),Object(m.c)(p.l,{sx:{display:{xs:"none",md:"block"}}},Object(m.c)(p.ib,{item:!0,md:2,alignItems:"flex-end",display:"flex",style:{paddingTop:11}},Object(m.c)(p.l,{ml:.5},Object(m.c)(p.mb,{"aria-label":l("remove"),title:l("remove"),onClick:function(){return d(t)},color:"secondary",size:"small","data-testid":"ttxt_descriptors-".concat(t,"-delete")},Object(m.c)(p.B,{fontSize:"small"}))))))})))},wl=["path","url"];function kl(e){return function(e){if(Array.isArray(e))return Il(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Cl(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Sl(){return(Sl=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function Pl(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}function Tl(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||Cl(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Cl(e,t){if(e){if("string"==typeof e)return Il(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Il(e,t):void 0}}function Il(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function Al(e){return(Al="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}var Dl=so.a.schemas.output_audio.oneOf.map((function(e){return[e.const,e.title]})),El=Sc.C.map((function(e){return[e.value,e.label]})),$l={priority:!0,user_agent:!0,source_timeout:!0,url:!0,buffer:!0,rtp:!0,tracks:!0,pids:!0,programs:!0,dvbsubs_ocr:!0,allow_subtitles:!0,subtitles:!0,output_audio:!0,max_bitrate:!0,min_bitrate:!0,frames_timeout:!0,abr_stepup:!0,abr_stepdown:!0,abr_loss_lower:!0,abr_loss_upper:!0,abr_mode:!0,abr_cycles:!0,headers:!0,languages:!0,stats:!0,mode:!0,vinput:!0,ainput:!0,vpts:!0,apts:!0,sar:!0,allow_if:!0,deny_if:!0,cluster_key:!0},Nl=function(e){return"object"===Al(e)&amp;&amp;Object.keys(e).filter((function(e){return!$l[e]})).map((function(t){return{key:t,value:e[t]}}))},Ll=function(e){var t=e.media,r=e.sourceIndex,i=e.templateConfig,a=e.onConfigChange,s=e.entity,c=e.isTemplate,l=e.mediaNames,u=e.errors,d=e.onError,f=e.onErrorResolve,b=Object(j.b)().t,h=Tl(Object(n.useState)([]),2),y=h[0],g=h[1];Object(n.useEffect)((function(){var e=function(e,t){var r=arguments.length&gt;2&amp;&amp;void 0!==arguments[2]?arguments[2]:[],n=Nl(e)||[],o=r||[];return q.a(hc.a(Ot.a("key")),Di.a((function(e){return yc.a(o.find((function(t){return t.key===e.key})),e)})),gc.a(vc.a,[dr.a,dr.a]))(t?n:o,t?o:n)}(t.template&amp;&amp;Object(B.b)(t.inputs)?null==i?void 0:i.inputs[r]:t.inputs[r],!0,y);g(e)}),[]);var v=function(e){return function(n){var o=lt.a(t.inputs);n.target.value?o[r][e]=n.target.value:delete o[r][e],a("inputs")(o)}},_=function(e){return function(n){var o=lt.a(t.inputs);n&amp;&amp;0!==n.length?o[r][e]=n:delete o[r][e],a("inputs")(o)}},O=function(e){return function(){var n=lt.a(t.inputs);e?n[r].rtp="udp":delete n[r].rtp,a("inputs")(n)}},x=function(e){return function(n){var o=lt.a(t.inputs),i=n.target.value;i?o[r][e]=i.split(","):delete o[r][e],a("inputs")(o)}},w=function(e,n){return function(o){var i=lt.a(t.inputs),s=o.target.value;if(s){var c=n(s);","===vr.a(s)&amp;&amp;(c+=","),i[r][e]=c.split(",")}a("inputs")(i)}},k=function(e){var r=e.path,n=e.url,o=Pl(e,wl),i=!!t.template&amp;&amp;Object(B.b)(t.inputs);return Object(m.c)(p.fc,Sl({entity:"inputs",value:$o.a("",r)(n),path:r,disabled:i},o))},S=function(e){var n=e.url,i=e.isEffective,s=n.languages,c=_c.a(s),l=c.map((function(e){return e[0]})),u=c.map((function(e){return{key:e[0],value:e[1]}})),d=q.a($o.a([],"tracks"),$o.a({},"media_info"),$o.a({},"stats"))(t),f=l.includes("default")?[]:["default"];f=[].concat(kl(f),kl(d.filter((function(e){return"a"===e.track_id.slice(0,1)&amp;&amp;!l.includes(e.track_id)})).map((function(e){return e.track_id}))));return Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{display:"flex",alignItems:"center"},Object(m.c)(p.mc,{variant:"subtitle1"},b("streamInputUrlOptionsPage.languagesLabel"),Object(m.c)(p.kb,{docDescription:so.a.schemas.stream_input_mpegts_specific.properties.languages.description})),!i&amp;&amp;Object(m.c)(p.l,{ml:1},Object(m.c)(p.n,{variant:"contained",color:"primary",size:"small",onClick:function(){var e=lt.a(t.inputs);if(Ke.a(c))e[r].languages={},e[r].languages[f[1]||"a1"]="";else{var n=c.map((function(e){return e[0]})),o=[];n.forEach((function(e){"default"!==e&amp;&amp;o.push(Number(e.slice(1)))}));var i=Oc.a((function(e,t){return e.value-t.value}),o);e[r].languages["a".concat(Ke.a(i)?1:i[i.length-1]+1)]=""}a("inputs")(e)},"data-testid":"add-language"},b("streamInputUrlOptionsPage.addLanguageButton"))))),u.map((function(e,n){return Object(m.c)(o.a.Fragment,{key:n},Object(m.c)(p.ib,{item:!0,xs:5},Object(m.c)(Kc,{index:n,language:e,languages:u,onConfigChange:a,urls:t.inputs,sourceIndex:r,audioTracks:f,isEffective:i})),Object(m.c)(p.ib,{item:!0,xs:5},Object(m.c)(Yc,{index:n,language:e,onConfigChange:a,urls:t.inputs,sourceIndex:r,isEffective:i})),Object(m.c)(p.ib,{item:!0,xs:2},!i&amp;&amp;Object(m.c)(p.mb,{"aria-label":b("remove"),title:b("remove"),onClick:function(){return n=e.key,delete(o=lt.a(t.inputs))[r].languages[n],void a("inputs")(o);var n,o},"data-testid":"url-languages-".concat(n,"-remove"),color:"secondary",size:"large"},Object(m.c)(p.B,{fontSize:"small"}))))})))},P=function(e){var n=e.url,a=e.isEffective,s=n.pids?n.pids.join(","):"",c=n.programs?n.programs.join(","):"";return Object(m.c)(o.a.Fragment,null,function(e){var n=e.isEffective,o=t.template&amp;&amp;Object(B.b)(t.inputs)?i.inputs[r]:t.inputs[r];return Object(m.c)(oa.a,{displayEmpty:!0,label:b("inputs-subtitles"),value:(null==o?void 0:o.subtitles)||"",onChange:v("subtitles"),items:[["",b("not-selected")]].concat(kl(El)),disabled:n,"data-testid":"inputs-subtitles",HelperDocProps:{docDescription:so.a.schemas.stream_input_mpegts_specific.properties.subtitles.description}})}({isEffective:a}),Object(m.c)(p.l,{mt:2},Object(m.c)(p.fc,{entity:"inputs",path:["programs"],value:c,disabled:a,onChange:x("programs"),onBlur:w("programs",Es.f),docDescription:so.a.schemas.stream_input_mpegts_specific.properties.programs.description})),Object(m.c)(p.l,{mt:2},Object(m.c)(p.fc,{entity:"inputs",path:["pids"],value:s,disabled:a,onChange:x("pids"),onBlur:w("pids",Es.e),docDescription:so.a.schemas.stream_input_mpegts_specific.properties.pids.description})),Object(m.c)(p.l,{mt:2,mb:5},S({url:n,isEffective:a})))},T=!!t.template&amp;&amp;Object(B.b)(t.inputs),C=T?F.a(["inputs",r])(i)||{}:t.inputs[r]||{},I=!!Object(B.e)(C.url)&amp;&amp;C.url.includes("publish://"),A=!!Object(B.e)(C.url)&amp;&amp;C.url.includes("decklink://"),D=!!Object(B.e)(C.url)&amp;&amp;(C.url.includes("v4l://")||C.url.includes("v4l2://")),E=!!Object(B.e)(C.url)&amp;&amp;C.url.startsWith("dektec");return Object(m.c)(p.ib,{container:!0,spacing:0},Object(m.c)(p.ib,{item:!0,container:!0,xs:12,sm:11,spacing:0},Object(m.c)(p.ib,{item:!0,xs:12,lg:9},Object(m.c)(p.l,{mt:1},Object(m.c)(p.yb,{to:"/".concat(s,"/").concat(encodeURIComponent(l.join(",")),"/input"),state:{names:l.join(",")},component:Mt.b,color:"primary","data-testid":"back-to-input"},"â† ",b("streamInputUrlOptionsPage.backToInput"))),c&amp;&amp;Object(m.c)(p.l,{my:1},Object(m.c)(Ps,null)),Object(m.c)(p.l,{mt:1,mb:2},Object(m.c)(p.mc,{variant:"subtitle1"},C.url)),k({path:["comment"],onChange:v("comment"),url:C,docDescription:so.a.schemas.stream_input_base.properties.comment.description}),Object(m.c)(p.l,{mt:1},k({path:["priority"],onChange:v("priority"),url:C,docDescription:so.a.schemas.stream_input_base.properties.priority.description})),Object(m.c)(ti,{entity:"inputs",path:["source_timeout"],value:C.source_timeout,onChange:_("source_timeout"),units:[{label:"seconds",factor:1}],isDefaultValue:!0,disabled:T,docDescription:so.a.schemas.stream_input_base.properties.source_timeout.description}),Object(m.c)(p.l,{mt:1},k({path:["allow_if"],onChange:v("allow_if"),url:C,docDescription:so.a.schemas.stream_input_base.properties.allow_if.description})),Object(m.c)(p.l,{mt:1},k({path:["deny_if"],onChange:v("deny_if"),url:C,docDescription:so.a.schemas.stream_input_base.properties.deny_if.description})),Object(m.c)(p.l,{mt:1},k({path:["cluster_key"],onChange:v("cluster_key"),url:C,docDescription:so.a.schemas.stream_input_base.properties.cluster_key.description})),Object(m.c)(p.l,{mt:3},Object(m.c)(p.mc,{variant:"h6"},b("streamInputUrlOptionsPage.headers"),Object(m.c)(p.kb,{docDescription:so.a.schemas.stream_input_base.properties.headers.description})),Object(m.c)(ra,{extra:$o.a({},"headers")(C),onChange:function(e){var n=lt.a(t.inputs);n[r].headers=lt.a(e),a("inputs")(n)},"data-testid":"input-headers",disabled:T})),Object(m.c)(p.l,{mt:1,mb:5},k({path:["user_agent"],onChange:v("user_agent"),url:C,docDescription:so.a.schemas.stream_input_base.properties.user_agent.description})),A&amp;&amp;Object(m.c)(p.l,{mt:3,"data-testid":"decklink-block"},Object(m.c)(p.mc,{variant:"h6",mb:2},b("streamInputUrlOptionsPage.decklink.title")),Object(m.c)(ml,{url:C,onRawChange:_,onStringChange:v,isEffective:T,errors:u,onError:d,onErrorResolve:f})),function(e){var n=e.url,i=e.isEffective,s=Object(Es.g)(n);return Object(Es.k)(s,n)&amp;&amp;function(e){var n,i,s=e.url,c=e.isEffective;return Object(m.c)(o.a.Fragment,null,Object(m.c)(Ai,{expanded:!0,label:b("streamInputUrlOptionsPage.rtpTransportTypeLabel"),details:b("streamInputUrlOptionsPage.rtpTransportTypeLabelDetail")},Object(m.c)(No.a,{label:b("streamInputUrlOptionsPage.tcpLabel"),checked:!s.rtp,onClick:O(!1),className:"margin-right-10",isRadio:!0,"data-testid":"rtp-transport-type-tcp",disabled:c}),Object(m.c)(No.a,{label:b("streamInputUrlOptionsPage.udpLabel"),checked:"udp"===s.rtp,onClick:O(!0),isRadio:!0,"data-testid":"rtp-transport-type-udp",disabled:c})),Object(m.c)(p.l,{mt:2},k({path:["tracks"],onChange:(i="tracks",function(e){var n=lt.a(t.inputs),o=e.target.value.split(",").map((function(e){return parseInt(e,10)}));o&amp;&amp;e.target.value?n[r][i]=o:delete n[r][i],a("inputs")(n)}),url:s,docDescription:null===(n=so.a.schemas.stream_input_rtsp.allOf[0])||void 0===n?void 0:n.properties.tracks.description})),Object(m.c)(p.l,{mt:2,mb:5},Object(m.c)(oa.a,{displayEmpty:!0,label:b("inputs-output_audio"),value:(null==s?void 0:s.output_audio)||"",onChange:v("output_audio"),items:[["",b("not-selected")]].concat(kl(Dl)),disabled:c,"data-testid":"inputs-output_audio",HelperDocProps:{docDescription:so.a.schemas.stream_input_base.properties.output_audio.description}})))}({url:n,isEffective:i})||Object(Es.m)(s,n)&amp;&amp;P({url:n,isEffective:i})||null}({url:C,isEffective:T}),I&amp;&amp;Object(m.c)(kc,{url:C,handleStrChange:v,handleIntChange:function(e){return function(n){var o=lt.a(t.inputs);n.target.value?o[r][e]=parseInt(n.target.value,10):delete o[r][e],a("inputs")(o)}},renderTextField:k,isEffective:T}),Object(m.c)(p.l,{mb:5}),(A||E||D)&amp;&amp;Object(m.c)(p.l,{mb:2},Object(m.c)(xl,{onChange:_("ttxt_descriptors"),ttxtDescriptors:C.ttxt_descriptors,errors:u,onError:d,onErrorResolve:f})),Object(m.c)(p.ib,{container:!0,spacing:0},Object(m.c)(p.ib,{item:!0,xs:12,sm:5},Object(m.c)("div",{className:"row-height flex-end"},Object(m.c)("div",{className:"notice-text"},b("streamInputUrlOptionsPage.specifyExtraParamsNotice")))),Object(m.c)(p.ib,{item:!0,xs:12,sm:7},Object(m.c)(ra,{isArray:!0,extra:y||{},onChange:function(e){var n=lt.a(t.inputs),o=n[r];e.filter((function(e){return!$l[e.key]})).forEach((function(e){o[e.key]=e.value})),a("inputs")(n),g(e)},onRemove:function(e){var n=lt.a(t.inputs);delete n[r][y[e].key],a("inputs")(n),g(y.filter((function(t,r){return r!==e})))},"data-testid":"extra-source-params",disabled:T}))),Object(m.c)(p.l,{mb:5}),E&amp;&amp;Object(m.c)(Vc,{disabled:T,media:t,audioTracks:C.audio_tracks,onChange:_("audio_tracks"),errors:u,onError:d,onErrorResolve:f}))))};Ll.defaultProps={templateConfig:null};var Rl=Object(ge.b)(Ll),ql=function(e){var t=e.entity,r=e.mediaNames,n="/".concat(t,"/").concat(encodeURIComponent(r.join(",")),"/input");return Object(m.c)(U.Switch,null,Object(m.c)(U.Route,{path:n,render:function(){return Object(m.c)(bc,e)},exact:!0}),Object(m.c)(U.Route,{path:"".concat(n,"/:index/options"),render:function(t){return Object(m.c)(Rl,(r=e,n=t,As()(r,{sourceIndex:{$set:parseInt(n.match.params.index,10)},$merge:n})));var r,n}}))},Ml=function(e){var t=e.config,r=e.media,n=e.onConfigSave,o=e.onConfigChange,i=e.isConfigSaving,a=e.isConfigChanged,s=e.getConfigDelta,c=e.entity,l=e.isTemplate,p=e.templateConfig,u=e.isStream,d=e.configEffective,f=e.mediaNames,b=o();return r?Object(m.c)("div",{"data-testid":"stream-input"},Object(m.c)(ql,{media:r,mediaNames:f,onConfigChange:b,onConfigSave:n,isConfigSaving:i,isConfigChanged:a,config:t,getConfigDelta:s,entity:c,isTemplate:l,templateConfig:p,isStream:u,configEffective:d})):null};Ml.defaultProps={media:void 0,isTemplate:!1,templateConfig:null,isStream:!1};var Fl=Ml,Ul=r(405),zl=r(514),Bl={mb:function(e){return"".concat(Math.max(e/1024/1024).toFixed(1),"Mb")},percent:function(e){return"".concat(e.toFixed(),"%")},degree:function(e){return"".concat(e.toFixed(),"Â°C")}},Hl=r(865);function Vl(e){return(Vl="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Wl(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||Kl(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Gl(e){return function(e){if(Array.isArray(e))return Yl(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Kl(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Kl(e,t){if(e){if("string"==typeof e)return Yl(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Yl(e,t):void 0}}function Yl(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function Jl(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Ql(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Jl(Object(r),!0).forEach((function(t){Xl(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Jl(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Xl(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Vl(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Vl(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Vl(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Zl=function(e){var t=e.topic,r=e.resolution,o=Wl(Object(n.useState)([]),2),i=o[0],a=o[1],s=Object(n.useMemo)((function(){return i.map((function(e){return e.label}))}),[i]);return Object(n.useEffect)((function(){var e,n,o,i=(e=Object(T.b)().replace(/^http/,"ws"),n=localStorage.getItem(z.a),o=n?JSON.parse(n):null,new WebSocket("".concat(e,"/flussonic/api/events").concat(o?"?fluadmin=".concat(encodeURIComponent(Object(T.a)({login:o.login,password:o.password}))):"")));return i.onopen=function(){i.send("pulse_subscribe:".concat(t))},i.onmessage=function(e){var n=JSON.parse(e.data),o=t.replace(/^custom\//,"");if(n[o]){var i=n[o][r];if(i)return n.partial_update?a((function(e){return t=i,e.map((function(e){var r,n=t.find((function(t){return t.label===e.label}));if(!n)return e;var o=n.data[0],i=null!==(r=e.data[e.data.length-1])&amp;&amp;void 0!==r?r:[];if(o[0]&lt;=+i[0])return e;var a=e.data.length+n.data.length,s=a&gt;60?60-a:0;return Ql(Ql({},e),{},{data:[].concat(Gl(e.data.slice(s)),Gl(n.data))})}));var t})):a(i),null}},function(){i.close()}}),[r,t]),{runtimeData:i,dataLabels:s}},ep=function(e){var t=e.topic,r=e.resolution,o=e.yAxis,i=void 0===o?[{position:"left"}]:o,a=e.series,s=e.labelPostfix,c=Object(n.useRef)(),l=Zl({topic:t,resolution:r}),p=l.runtimeData,u=l.dataLabels,d=Object(n.useRef)(!1),f=Object(n.useMemo)((function(){return{legend:{formatter:function(e){var t,r=u.findIndex((function(t){return t===e})),n=null==a?void 0:a[r];return null!==(t=null==n?void 0:n.label)&amp;&amp;void 0!==t?t:e},top:5},animation:!1,tooltip:{trigger:"axis",axisPointer:{animation:!1},valueFormatter:s?function(e){return"".concat(e," ").concat(s)}:void 0},grid:{left:"3%",right:"3%",bottom:"3%",containLabel:!0},xAxis:{type:"time",splitLine:{show:!0},splitNumber:3},yAxis:i.map((function(e,t){return{type:"value",position:e.position,splitLine:{show:!0,lineStyle:{type:0===t?"solid":"dashed"}},splitNumber:2,axisLabel:{formatter:e.formatter},min:e.min,max:e.max}})),series:p.map((function(e,t){var r,n=null==a?void 0:a[t];return{name:null!==(r=null==n?void 0:n.label)&amp;&amp;void 0!==r?r:e.label,type:"line",showSymbol:!1,data:e.data,yAxisIndex:e.yaxis?e.yaxis-1:void 0,lineStyle:{width:1},color:null==n?void 0:n.color}}))}}),[u,s,p,a,i]);return Object(n.useEffect)((function(){var e;p.length&amp;&amp;!d.current&amp;&amp;(d.current=!0,null===(e=c.current)||void 0===e||e.getEchartsInstance().resize())}),[p]),Object(m.c)(Hl.a,{ref:function(e){c.current=e},opts:{renderer:"svg"},option:f,style:{width:"100%",height:"100%",border:"1px solid #9e9e9e"}})},tp=function(e){var t=e.name;return Object(B.e)(t)&amp;&amp;Object(m.c)(p.l,{style:{height:"200px"}},Object(m.c)(ep,{topic:"media/".concat(t),resolution:"minute",series:[{label:"In",color:"red"},{label:"Out",color:"green"},{label:"Clients",color:"blue"}],yAxis:[{position:"left",formatter:Bl.mb},{position:"right"}]}))},rp=Object(p.wc)()((function(e){return{statusChip:{borderRadius:"60px !important",color:"#232323 !important",fontSize:14,height:"28px !important",padding:e.spacing(.5,2),marginBottom:e.spacing(.5)},online:{border:"1px solid ".concat(e.palette.success.main),backgroundColor:Object(p.rc)(e.palette.success.main,.08)},warning:{border:"1px solid #F79E1B",backgroundColor:Object(p.rc)("#F79E1B",.08)},error:{border:"1px solid #C11030",backgroundColor:Object(p.rc)("#C11030",.08)},statusItem:{marginRight:e.spacing(2),fontSize:14,display:"flex",alignItems:"center"},statsIcon:{marginRight:e.spacing(1)}}})),np=p.uc.IconQuality,op=p.uc.IconBitrate,ip=p.uc.IconTime,ap=function(e){var t=e.media,r=e.stats,n=e.showInputBitrate,o=e.delayRange,i=rp(),a=i.classes,s=i.cx;if(t.disabled)return Object(m.c)(p.t,{label:"Disabled",className:s(a.statusChip,a.warning)});if(!r)return"";if(r.source_error&amp;&amp;r.source_error!==st.a||st.b.isUnavailable(r)){var c=Object(Kt.d)(r),l=c.mainText,u=c.detailText;return Object(m.c)(p.t,{label:"".concat(l," ").concat(u||""),className:s(a.statusChip,a.error)})}if(st.b.hasNoSources(t))return Object(m.c)(p.t,{label:"No sources defined",className:s(a.statusChip,a.warning)});if(st.b.hasOnlyPublish(t)&amp;&amp;!r.alive)return Object(m.c)(p.l,{display:"flex",alignItems:"center"},Object(m.c)(p.t,{label:"Expecting publication",className:s(a.statusChip,a.warning)}),r.lifetime?Object(m.c)("div",{className:a.statusLifetime},_e.a.getFormattedTime(r.lifetime)):"");if(!t.static&amp;&amp;!r.alive)return Object(m.c)(p.t,{label:"Waiting for ".concat(t.static?"stream":"clients"),className:s(a.statusChip,a.warning)});var d=r.running_transcoder?Object(m.c)("div",{className:"transcoder-icon"}):null,f=Object(Kt.c)({showInputBitrate:n,stats:r}),b=Object(Kt.e)(r.media_info),h=function(){return Object(m.c)(p.l,{display:"flex"},b?Object(m.c)("div",{className:a.statusItem},Object(m.c)("span",{className:a.statsIcon},Object(m.c)(np,null)),b):"",f&amp;&amp;Object(m.c)("div",{className:a.statusItem},Object(m.c)("span",{className:a.statsIcon},Object(m.c)(op,null)),f),d,Object(m.c)("div",{className:a.statusItem},Object(m.c)("span",{className:a.statsIcon},Object(m.c)(ip,null)),_e.a.getFormattedTime(r.lifetime)))};if(Object(Kt.g)(r,o)){var y=Math.floor(r.ts_delay/1e3);return Object(m.c)(p.l,{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",flexWrap:"wrap"},Object(m.c)(p.t,{label:"Delay ".concat(y,"s"),className:s(a.statusChip,a.warning)}),h())}return r.input_error_rate?Object(m.c)(p.l,{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",flexWrap:"wrap"},Object(m.c)(p.t,{label:"".concat(r.input_error_rate," drops/s"),className:s(a.statusChip,a.warning)}),h()):Object(m.c)(p.l,{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",flexWrap:"wrap"},Object(m.c)(p.t,{label:"Online",className:s(a.statusChip,a.online)}),h())};ap.defaultProps={delayRange:{lower:2e4,hlsLower:2e4,upper:6e4},showInputBitrate:!1};var sp="mono",cp="stereo",lp="5.0",pp="5.1",up=function(e){return"".concat(function(e){return"".concat(e.track_id," ").concat(e.codec)}(e)).concat(function(e){var t;switch(e.channels){case 1:t=sp;break;case 2:t=cp;break;case 5:t=lp;break;case 6:t=pp;break;default:t=""}return t?" ".concat(t):t}(e)).concat(function(e){return e.language?" ".concat(e.language):""}(e)).concat(function(e){return e.width&amp;&amp;e.height&amp;&amp;" ".concat(e.width,"x").concat(e.height)||""}(e)).concat(function(e){return e.bitrate?" (".concat(e.bitrate,"kbps)"):""}(e)).concat(function(e){return e.pid?" pid: ".concat(e.pid):""}(e))},dp=Object(p.wc)()((function(e){var t,r;return{"track-video":{display:"block",color:null===(t=e.palette)||void 0===t?void 0:t.primary.main},"track-audio":{display:"block",color:null===(r=e.palette)||void 0===r?void 0:r.secondary.main}}})),mp=function(e){var t=e.track,r=e.dataTestId,n=dp().classes,o="track-".concat(t.content);return Object(m.c)("span",{className:_t()("track",n[o]),"data-testid":"".concat(r,"-").concat(t.content)},up(t))},fp=p.uc.IconInput,bp=p.uc.IconOutput,hp=p.uc.IconNoInfo,yp=Object(p.wc)()((function(){return{"track-empty":{color:Object(p.rc)("#B2B8BF",.4),textAlign:"center",fontSize:35},mediaInfoTracks:{marginTop:"10px"},mediaInfoWrapper:{background:"#F9FAFB"}}})),gp=function(e){var t=e.mediaInfo,r=e.inputMediaInfo,n=Object(j.b)().t,o=yp().classes;return Object(m.c)(p.l,{className:o.mediaInfoTracks},Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,sm:6},Object(m.c)(p.l,{height:"100%",p:2,className:o.mediaInfoWrapper},Object(m.c)(p.l,{display:"flex",alignItems:"center",mb:1},Object(m.c)(p.mc,{color:"primary",component:"span",fontSize:16,mr:1},Object(m.c)(fp,null)),Object(m.c)(p.mc,{variant:"body2",component:"span"},n("mediaOverviewMediaInfo.inputInfo"))),r&amp;&amp;r.tracks?r.tracks.map((function(e,t){return Object(m.c)(mp,{key:e.track_id,track:e,dataTestId:"input-media-track-".concat(t)})})):Object(m.c)("div",{"data-testid":"input-media-info-empty",className:o["track-empty"]},Object(m.c)(hp,null)))),Object(m.c)(p.ib,{item:!0,xs:12,sm:6},Object(m.c)(p.l,{height:"100%",p:2,className:o.mediaInfoWrapper},Object(m.c)(p.l,{display:"flex",alignItems:"center",mb:1},Object(m.c)(p.mc,{color:"primary",component:"span",fontSize:16,mr:1},Object(m.c)(bp,null)),Object(m.c)(p.mc,{variant:"body2",component:"span"},n("mediaOverviewMediaInfo.outputInfo"))),t&amp;&amp;t.tracks?t.tracks.map((function(e,t){return Object(m.c)(mp,{key:e.track_id,track:e,dataTestId:"output-media-track-".concat(t)})})):Object(m.c)("div",{"data-testid":"input-media-info-empty",className:o["track-empty"]},Object(m.c)(hp,null)))),Object(m.c)(p.ib,{item:!0,xs:12},t&amp;&amp;function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.tracks,r=void 0===t?[]:t;return r.some((function(e){return"mpeg2"===e.codec}))}(t)&amp;&amp;Object(m.c)("div",{className:"notice-text"},n("mediaOverviewMediaInfo.mpegNotice")))))};gp.defaultProps={mediaInfo:null,inputMediaInfo:null};var vp=gp;function _p(e){return(_p="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Op(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==_p(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==_p(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===_p(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var jp=Object(p.wc)()((function(e){return{buttonsWrapper:Op({},e.breakpoints.only("xs"),{flexWrap:"wrap"}),overviewMediaStopStartButton:{"&amp; button":{padding:6},"&amp; svg":{fontSize:"22px !important"}},staticOnDemand:{"&amp; button":{minWidth:"100px"}}}})),xp=["path"];function wp(){return(wp=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function kp(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}function Sp(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||Tp(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Pp(e){return function(e){if(Array.isArray(e))return Cp(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Tp(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Tp(e,t){if(e){if("string"==typeof e)return Cp(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Cp(e,t):void 0}}function Cp(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Ip=p.uc.IconCheck,Ap=[["media"],["config","http"],["config","https"],["config","rtmp"],["config","rtsp"],["isConfigSaving"],["isConfigChanged"],["templates"],["templateConfig"],["streamersOptions"]],Dp=function(e){var t,r,i,a,s,c=e.media,l=e.config,f=e.isConfigSaving,b=e.isConfigChanged,h=e.onConfigChange,y=e.onConfigSave,g=e.templateConfig,v=e.isStream,O=e.configEffective,x=e.isMultiEdit,w=e.mediaNames,k=Object(j.b)().t,S=Ge()().history,P=jp().classes,T=Object(n.useContext)(u.c),C=h(),I=((null==O?void 0:O.inputs)||[]).find((function(e){var t;return null===(t=e.stats)||void 0===t?void 0:t.active})),A=Object(_.ac)().data,D=ar.a([],["templates"])(A),E=Object(_.Ab)(),$=Object(_.Kb)({options:{enabled:T===d.a}}).data,N=Object(n.useMemo)((function(){return[["",k("not-selected")]].concat(Pp(((null==$?void 0:$.streamers)||[]).filter((function(e){return(null==e?void 0:e.role)===Sc.c.STREAMER})).map((function(e){return[null==e?void 0:e.hostname,null==e?void 0:e.hostname]}))))}),[null==$?void 0:$.streamers]),L=function(){return w[0]},R=Sp(o.a.useState(L()),2),q=R[0],M=R[1];o.a.useEffect((function(){var e=L();q!==e&amp;&amp;M(e)}),[S.location.pathname]);var U=function(){E()},z=function(e){var t=e.path,r=kp(e,xp);return Object(m.c)(p.fc,wp({onChange:C(t),path:t,entity:"streams"},r))};return c&amp;&amp;l?Object(m.c)(at,{id:"StreamOverviewPage",paths:Ap,propsToCheck:{config:l,media:c,isConfigSaving:f,isConfigChanged:b,templates:D,templateConfig:g,streamersOptions:N}},Object(m.c)(p.l,{"data-testid":"stream-overview"},Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.Kb,{title:k("overviewPage.description")},Object(m.c)(p.ib,{container:!0,spacing:2},!x&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:12,sm:6,md:3},z({value:c.name,path:["name"],docDescription:so.a.schemas.stream_config_specific.properties.name.description,validation:function(e){return qt.l.test(e)?x||e?"":"Name ".concat(k("validators.fieldRequiredError")):k("validNameError")},readOnly:T===d.b})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,md:3},(c.named_by===st.d.config||c.named_by===st.d.external)&amp;&amp;z({value:c.title,path:["title"],docDescription:so.a.schemas.stream_config_specific.properties.title.description}))),(c.named_by===st.d.config||c.named_by===st.d.external)&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:12,sm:6,md:3},z({value:F.a(["meta","comment"])(c)||ar.a("",["meta","comment"])(g),path:["meta","comment"],templateData:g,showFullHelperInf:v})),T===d.a&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12,sm:6,md:3},Object(m.c)(oa.a,{displayEmpty:!0,label:k("overviewPage.hostnameLabel"),value:(null==c?void 0:null===(t=c.layout)||void 0===t?void 0:t.ingest)||"","data-testid":"stream-overview-streamer_hostname",onChange:C(["layout","ingest"],"string"),items:N})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,md:3},Object(m.c)(oa.a,{displayEmpty:!0,label:k("overviewPage.templateLabel"),value:c.template||"","data-testid":"stream-overview-template",onChange:C(["template"],"string"),items:[["",k("not-selected")]].concat(Pp(D.map((function(e){return[e.name,e.name]})))),HelperDocProps:{docDescription:so.a.schemas.stream_config_specific.properties.template.description}})),x&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12,sm:6,md:3},Object(m.c)(Ul.a,{media:c,dataTestid:"media-disable-button",onConfigChange:C,onConfigSave:y,onSaveCallback:U})))))),Object(Es.j)(c,g)&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.Kb,{title:k("overviewPage.publishLinks")},Object(m.c)(cc,{isMultiEdit:x,media:c,config:l,onConfigChange:C,mediaNames:w,templateConfig:g,isStream:v,product:T,configEffective:O,isOverviewPage:!0}))),!x&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:12,lg:6},Object(m.c)(p.Kb,null,Object(m.c)(Nt,{name:q,media:c,config:l,configEffective:O,product:T,canChangePlayer:!0,buttons:Object(m.c)(p.l,{mb:2,display:"flex",justifyContent:"space-between",className:P.buttonsWrapper},Object(m.c)(p.l,{display:"flex",mt:{xs:1,sm:0}},c.named_by===st.d.config&amp;&amp;Object(m.c)(Ul.a,{media:c,dataTestid:"media-disable-button",onConfigChange:C,onConfigSave:y,onSaveCallback:U}),c.named_by!==st.d.config||(null==c?void 0:null===(r=c.stats)||void 0===r?void 0:r.status)===d.t?Object(m.c)(p.l,{ml:1},Object(m.c)(zl.a,{mediaNames:w,name:c.name,media:c,status:null==c?void 0:null===(i=c.stats)||void 0===i?void 0:i.status,className:P.overviewMediaStopStartButton})):""),c.named_by===st.d.config&amp;&amp;Object(m.c)(p.l,{mt:{xs:1,sm:0}},Object(m.c)(p.jc,{possibleValues:[{value:!0,label:k("static"),icon:Object(m.c)(Ip,null)},{value:!1,label:k("onDemand"),icon:Object(m.c)(Ip,null)}],value:c.static,onChange:function(e){C(["static"],"raw",(function(e){y(U,e)}))(e)},"data-testid":"toggle-group-ondemand",className:P.staticOnDemand})))}))),Object(m.c)(p.ib,{item:!0,xs:12,lg:6},Object(m.c)(p.Kb,{title:Object(m.c)(ap,{media:O||{},stats:null==O?void 0:O.stats,showInputBitrate:!0,isStreamPage:!0})},c.stats&amp;&amp;Object(m.c)(vp,{mediaInfo:null==O?void 0:null===(a=O.stats)||void 0===a?void 0:a.media_info,inputMediaInfo:null==I?void 0:null===(s=I.stats)||void 0===s?void 0:s.media_info})),!x&amp;&amp;T!==d.b&amp;&amp;Object(m.c)(p.Kb,{mt:2},Object(m.c)(tp,{name:c.name,product:T}))))))):null};Dp.defaultProps={templateConfig:null,isStream:!1,config:{}};var Ep=Dp;r(1357);function $p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Np(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Np(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Np(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Lp=function(e){return e.split(/\s+/).map((function(e){return e[0].toUpperCase()+e.slice(1)})).join(" ")},Rp=function(e){var t=e.title,r=e.onChange,n=e.value,o=e.selected,i=e.dataTestId;return Object(m.c)("label",{onClick:function(){return r(t)},className:"switchLabel ".concat(n===o?"switchLabelChecked":""),"data-testid":"".concat(i,"-switch-label-").concat(t?Lp(t):t)},t?Lp(t):t)},qp=function(e){var t=e.value,r=e.selected,n=e.dataTestId,o=e.title;return Object(m.c)("input",{type:"radio",name:"switch",defaultChecked:r===t,className:"switchRadio","data-testid":"".concat(n,"-switch-input-").concat(o?Lp(o):o)})},Mp=function(e){var t=e.selected,r=e.handleSwitchChange,o=e.values,i=e.disabled,a=e.dataTestId,s=$p(Object(n.useState)(t),2),c=s[0],l=s[1];Object(n.useEffect)((function(){l(t)}),[t]);var p=function(e){l(e),r(e)};return Object(m.c)("div",{className:_t()("switch",{disabled:i})},o.map((function(e){return Object(m.c)("span",{key:e},Object(m.c)(qp,{value:e,selected:c,dataTestId:a,title:e}),Object(m.c)(Rp,{title:e,onChange:i?function(){}:p,value:e,selected:c,dataTestId:a}))})),Object(m.c)("span",{className:"switchSelection",style:function(){var e;switch(c){case"only":e="#4caf50";break;case"except":e="#f44336";break;default:e="#BCBEC0"}return{left:"".concat(o.indexOf(c)/3*100,"%"),background:e}}()}))};Mp.defaultProps={disabled:!1,dataTestId:void 0};var Fp=Mp,Up={showSwitch:!1,dataTestId:void 0,mt:4,isEffective:!1},zp=function(e){var t=e.getSelectedValue,r=e.handleSwitchChange,n=e.disabled,o=void 0!==n&amp;&amp;n,i=e.dataTestId,a=Object(j.b)().t;return Object(m.c)(Fp,{values:[a("except"),"",a("only")],selected:t(),handleSwitchChange:r,disabled:o,dataTestId:i})};zp.defaultProps={disabled:!1};var Bp=function(e){var t=e.readOnly,r=e.label,n=e.details,o=e.disabled,i=e.value,a=e.dataTestId,s=e.color,c=e.link,l=e.hideEndAdornment;return Object(m.c)("div",null,Object(m.c)(p.gc,{value:i,inputProps:{"data-testid":"".concat(a,"-input")},startAdornmentLabel:r,label:t?"".concat(r," ").concat(n):n||void 0,disabled:o,color:s,link:c,hideEndAdornment:l}))};Bp.defaultProps={details:""};var Hp=function(e){var t=e.readOnly,r=e.label,n=e.details,o=e.value,i=e.showSwitch,a=e.protocolsAll,s=e.protocol,c=e.handleSwitchChange,l=e.isInputDisabled,u=e.dataTestId,d=e.isEffective,f=e.additional,b=e.color,h=e.link,y=e.hideEndAdornment,g=Object(j.b)().t;return Object(m.c)(p.l,{display:"flex",flexWrap:{xs:"wrap",sm:"nowrap"}},!t&amp;&amp;i&amp;&amp;Object(m.c)(p.l,{mr:2,mt:n?"27px":.5,mb:{xs:2,sm:0}},Object(m.c)(zp,{getSelectedValue:function(){return a&amp;&amp;s?g("only"):!a||xt.a(s)||s?"":g("except")},handleSwitchChange:c,dataTestId:u,disabled:d})),Object(m.c)(p.l,{width:"100%"},Object(m.c)(Bp,{readOnly:t,label:r,details:n,disabled:l,value:o,dataTestId:u,color:b,link:h,hideEndAdornment:y}),f))};Hp.defaultProps=Up;var Vp,Wp,Gp=function(e,t){var r="/{name}/index.m3u8";for(var n in t)r=r.replace(new RegExp("{".concat(n,"}"),"g"),t[n].toString());return"".concat(e).concat(r)},Kp=function(e,t){var r="/{name}/index.ll.m3u8";for(var n in t)r=r.replace(new RegExp("{".concat(n,"}"),"g"),t[n].toString());return"".concat(e).concat(r)},Yp=function(e,t){var r="/{name}/mpegts";for(var n in t)r=r.replace(new RegExp("{".concat(n,"}"),"g"),t[n].toString());return"".concat(e).concat(r)},Jp=function(e,t){var r="/{name}/shoutcast";for(var n in t)r=r.replace(new RegExp("{".concat(n,"}"),"g"),t[n].toString());return"".concat(e).concat(r)},Qp=function(e,t){var r="/{name}.isml/manifest";for(var n in t)r=r.replace(new RegExp("{".concat(n,"}"),"g"),t[n].toString());return"".concat(e).concat(r)},Xp=function(e,t){var r="/{name}/preview.jpg";for(var n in t)r=r.replace(new RegExp("{".concat(n,"}"),"g"),t[n].toString());return"".concat(e).concat(r)},Zp=function(e,t){var r="/{name}/embed.html";for(var n in t)r=r.replace(new RegExp("{".concat(n,"}"),"g"),t[n].toString());return"".concat(e).concat(r)},eu=function(e,t){var r="/{name}/recording_status.json";for(var n in t)r=r.replace(new RegExp("{".concat(n,"}"),"g"),t[n].toString());return"".concat(e).concat(r)},tu=function(e,t){var r="/{name}/media_info.json";for(var n in t)r=r.replace(new RegExp("{".concat(n,"}"),"g"),t[n].toString());return"".concat(e).concat(r)};function ru(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return nu(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return nu(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function nu(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var ou=q.a(vr.a,Do.a("//")),iu=["hls","mss","tshttp","dash","m4f","m4s","rtmp","rtsp","shoutcast","srt","jpeg","mseld","api","cmaf"],au={listeners:"http:"===(null===(Vp=window)||void 0===Vp?void 0:null===(Wp=Vp.location)||void 0===Wp?void 0:Wp.protocol)?{http:[{port:80,api:!0}]}:{https:[{port:443,api:!0}]},rtmps:1936,srt:9999},su=function(e){var t=e.mediaNames,r=e.change,i=e.templateConfig,a=e.media,s=e.isStream,c=e.config,l=e.product,u=e.showFull,f=e.configEffective,b=Object(j.b)().t,h=ru(Object(n.useState)(t&amp;&amp;1===t.length?t[0]:"&lt;stream-name&gt;"),2),y=h[0],g=h[1],v=ru(Object(n.useState)(!1),2),_=v[0],O=v[1],x=Object(n.useMemo)((function(){return l===d.b||l===d.a?au:c}),[c,l]);Object(n.useEffect)((function(){t&amp;&amp;1===t.length&amp;&amp;y!==t[0]&amp;&amp;g(t[0])}),[t,y]);var w=function(){O(!1)},k=function(e){return function(t){r&amp;&amp;(""===t?r(["protocols",e],"raw")(null):r(["protocols",e],"raw")("only"===t))}},S=function(e){var t=a.protocols;return!!t&amp;&amp;(!t[e]&amp;&amp;(!xt.a(t[e])&amp;&amp;!t[e]||!!xt.a(t[e])&amp;&amp;iu.some((function(e){return t[e]}))))},P=function(e){var t=e.protocol,n=e.url,s=e.isDetails,c=e.isHostPortExist,l=void 0===c||c,u=e.additional,d=e.color,f=e.link,h=!r;if(["rtmp","rtsp"].includes(t)){if(!l&amp;&amp;h)return function(e){return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.l,{color:"text.secondary"},b("mediaOutputProtocols.notConfigured",{x:b("mediaOutputProtocols.".concat(e))}),Object(m.c)(p.yb,{to:"/config",component:Mt.b,color:"primary","data-testid":"to-global-config-page"},b("mediaPublishLocation.globalConfigPage")),"."),Object(m.c)(p.jb,null))}(t);if(!l&amp;&amp;!h)return function(e){return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.l,{display:"flex",flexWrap:{xs:"wrap",sm:"nowrap"}},Object(m.c)(p.l,{mr:2,mb:{xs:2,sm:0}},Object(m.c)(zp,{getSelectedValue:function(){return""},disabled:!0,dataTestId:"rtmp"})),Object(m.c)(p.l,{width:"100%"},Object(m.c)(p.l,{color:"text.secondary"},b("mediaOutputProtocols.notConfigured",{x:b("mediaOutputProtocols.".concat(e))}),Object(m.c)(p.yb,{to:"/config",component:Mt.b,color:"primary","data-testid":"to-global-config-page"},b("mediaPublishLocation.globalConfigPage")),"."))),Object(m.c)(p.jb,null))}(t)}var y=Object(B.b)(Ot.a("protocols")(a))&amp;&amp;Object(B.e)(Ot.a("protocols")(i)),g=y?i:a;return Object(m.c)(o.a.Fragment,null,Object(m.c)(Hp,{readOnly:h,label:b("mediaOutputProtocols.".concat(t)),details:s?b("mediaOutputProtocols.".concat(t,"Detail")):"",value:n,showSwitch:!0,protocolsAll:g.protocols,protocol:g.protocols?g.protocols[t]:null,handleSwitchChange:k(t),isInputDisabled:S(t),dataTestId:t,isEffective:y,additional:u,color:d,link:f}),Object(m.c)(p.jb,{mt:1,mb:1}))},T=Ot.a("egress_hostnames")(f),C=Vs.httpsHostPort(x,!0,l===d.b?T:null,l===d.a?"/lb/-":null)||Vs.httpHostPort(x,!0,l===d.b?T:null,l===d.a?"/lb/-":null)||"",I=ou(C),A=Object(B.b)(Ot.a("protocols")(a))&amp;&amp;Object(B.e)(Ot.a("protocols")(i)),D=Object(B.b)(Ot.a("protocols")(a))&amp;&amp;Object(B.b)(Ot.a("protocols")(i)),E=y.includes("/")?"":"static",$=F.a(["srt_play","passphrase"])(a),N=l===d.a?encodeURIComponent(y):y;return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.l,{display:"flex",justifyContent:"start",alignItems:"center",mb:2},Object(B.e)(i)&amp;&amp;A&amp;&amp;!D&amp;&amp;Object(m.c)(p.l,null,Object(m.c)(p.n,{color:"primary",variant:"contained","data-testid":"protocols-copy-button",onClick:function(){r(["protocols"],"raw")(Ot.a("protocols")(i))},size:"small"},b("mediaOutputProtocols.copyProtocolsButton"))),Object(B.e)(i)&amp;&amp;!A&amp;&amp;!D&amp;&amp;Object(m.c)(p.l,null,Object(m.c)(p.n,{color:"primary",variant:"contained","data-testid":"protocols-use-button",onClick:function(){O(!0)},size:"small"},b("mediaOutputProtocols.useProtocolsFromTemplateButton"))),"config"===a.named_by&amp;&amp;Object(m.c)(p.kb,{docDescription:so.a.schemas.stream_config_media.properties.protocols.description,diskValue:Object(B.e)(Ot.a("protocols")(a))?"âœ”":"",templateValue:Object(B.e)(Ot.a("protocols")(i))?"âœ”":"",showFullHelperInf:s})),P({protocol:"hls",url:Gp(C,{name:N}),isDetails:!0,additional:Object(m.c)(p.l,{mt:1},Object(m.c)(Hp,{readOnly:!r,label:b("mediaOutputProtocols.hls"),details:b("mediaOutputProtocols.hlsDetailNonApple"),value:"".concat(C,"/").concat(N,"/video.m3u8"),isInputDisabled:S("hls"),dataTestId:"non-apple-hls",mt:0}))}),u&amp;&amp;P({protocol:"cmaf",url:Kp(C,{name:N})}),P({protocol:"player",url:Zp(C,{name:N})}),P({protocol:"mss",url:Qp(C,{name:N})}),u&amp;&amp;P({protocol:"tshttp",url:Yp(C,{name:N})}),P({protocol:"dash",url:"".concat(C,"/").concat(N,"/index.mpd")}),l!==d.b&amp;&amp;l!==d.a&amp;&amp;P({protocol:"rtmp",url:"".concat(Vs.rtmpHostPort(x,!0),"/").concat(E?"".concat(E,"/"):"").concat(y),isHostPortExist:!!Vs.rtmpHostPort(x,!0)}),l!==d.b&amp;&amp;l!==d.a&amp;&amp;P({protocol:"rtsp",url:"".concat(Vs.rtspHostPort(x,!0),"/").concat(y),isHostPortExist:!!Vs.rtspHostPort(x,!0)}),u&amp;&amp;P({protocol:"m4f",url:"m4f://".concat(I,"/").concat(N),isDetails:!0}),u&amp;&amp;P({protocol:"m4s",url:"m4s://".concat(I,"/").concat(N),isDetails:!0}),u&amp;&amp;P({protocol:"shoutcast",url:Jp(C,{name:N})}),u&amp;&amp;P({protocol:"jpeg",url:Xp(C,{name:N})}),u&amp;&amp;l!==d.a&amp;&amp;P({protocol:"mseld",url:"".concat(Vs.mseldProtocol(x),"://").concat(I,"/").concat(y,"/mse_ld")}),u&amp;&amp;P({protocol:"api",url:tu(C,{name:N}),additional:Object(m.c)(p.l,{mt:1},Object(m.c)(Hp,{readOnly:!r,label:b("mediaOutputProtocols.api"),value:eu(C,{name:N}),isInputDisabled:S("api"),dataTestId:"api-recording-status",mt:0}))}),u&amp;&amp;l!==d.a&amp;&amp;P({protocol:"srt",url:Vs.srtHostPort(x,null,T)?"".concat(Vs.srtHostPort(x,null,T),"?streamid=#!::r=").concat(y,",m=request"):b("mediaOutputProtocols.srtPortIsNotConfigured"),link:!Vs.srtHostPort(x,null,T)&amp;&amp;"/config",color:!Vs.srtHostPort(x,null,T)&amp;&amp;"grey",additional:Object(m.c)(p.l,{mt:1},Object(m.c)(Hp,{readOnly:!r,label:b("mediaOutputProtocols.srt_play-port"),value:Vs.srtHostPort({},F.a(["srt_play","port"])(a),T)?"".concat(Vs.srtHostPort({},F.a(["srt_play","port"])(a),T)).concat($?"?passphrase=".concat($):""):b("mediaOutputProtocols.srtDedicatedPlayPortIsNotConfigured"),isInputDisabled:S("srt"),dataTestId:"srt-dedicated-input",mt:0,color:!Vs.srtHostPort({},F.a(["srt_play","port"])(a),T)&amp;&amp;"grey",hideEndAdornment:!Vs.srtHostPort({},F.a(["srt_play","port"])(a),T)}))}),Object(m.c)(p.C,{open:_,handleClose:w,onDelete:function(){w(),r(["protocols"],"raw")(null)},title:b("mediaOutputProtocols.useProtocolsFromTemplateConfirm"),notice:b("mediaOutputProtocols.useProtocolsFromTemplateNotice"),removeButtonText:b("mediaOutputProtocols.useProtocolsFromTemplateButton")}))};su.defaultProps={change:null,mediaNames:[],templateConfig:{},isStream:!1,showFull:!0};var cu=r(404),lu=["accept","multiple","id","onChange","children","variant","value","isUploadingFile","uploadingError"];function pu(){return(pu=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function uu(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var du=function(e){var t=e.accept,r=e.multiple,n=e.id,o=e.onChange,i=e.children,a=e.variant,s=e.value,c=e.isUploadingFile,l=e.uploadingError,u=uu(e,lu),d=Object(j.b)().t;return Object(m.c)(p.l,null,Object(m.c)("input",{accept:t,className:"upload-button-input",id:n,multiple:r,type:"file",onChange:o,value:s,"data-testid":u["data-testid"],disabled:u.disabled}),Object(m.c)("label",{htmlFor:n,className:"upload-button-label"},Object(m.c)(p.n,pu({variant:a,component:"span","data-testid":"upload-button"},cu.a(["data-testid"],u)),i)),c&amp;&amp;Object(m.c)(p.l,{mt:1},Object(m.c)(p.mc,{variant:"body1"},d("uploadingNotice"))),l&amp;&amp;Object(m.c)(p.l,{mt:1},Object(m.c)(p.mc,{variant:"body1",color:"error"},l)))};du.defaultProps={multiple:!1,variant:"text",accept:"",isUploadingFile:!1,uploadingError:""};var mu=r(622);function fu(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return bu(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return bu(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bu(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var hu=Object(p.wc)()((function(){return{dialog:{minWidth:"40%"},logoImage:{width:64,height:64,cursor:"zoom-in"},popover:{zIndex:9999,cursor:"zoom-out"},actions:{padding:"8px 24px"}}})),yu=function(e){var t=e.isOpened,r=e.onClose,n=e.logo,i=e.onChange,a=e.name,s=Object(j.b)().t,c=hu().classes,l=fu(o.a.useState(null),2),u=l[0],d=l[1],f=fu(o.a.useState(null),2),b=f[0],h=f[1],y=fu(o.a.useState(n),2),g=y[0],v=y[1],O=fu(o.a.useState([]),2),x=O[0],w=O[1],k=Object(_.U)(),S=Object(_.T)(),P=Object(_.W)();Object(_.V)({options:{onSuccess:function(e){w((null==e?void 0:e.logos)||[])}}});var T=function(e){return console.error(e)},C=o.a.useCallback((function(e){return function(){v(e)}}),[]),I=o.a.useCallback((function(){g&amp;&amp;i(g),r()}),[g,i,r]),A=o.a.useCallback((function(){d(null),h(null)}),[]),D=o.a.useCallback((function(e){return function(t){d(t.currentTarget),h(e)}}),[]),E=o.a.useCallback((function(e){return function(t){if(t.target.files.length&gt;0){var r=t.target.files[0],n=e||r.name;mu.a.upload(k,n,r,(function(e){P(),e&amp;&amp;T(e)}))}}}),[x]),$=o.a.useCallback((function(e){return function(){mu.a.delete(S,e,(function(e){P(),e&amp;&amp;T(e)}))}}),[x]);return Object(m.c)(p.E,{open:t,onClose:r,classes:{paper:c.dialog},"data-testid":"logoManager_".concat(a,"_dialog_backdrop"),PaperProps:{"data-testid":"logoManager_".concat(a,"_dialog_main")}},Object(m.c)(p.I,null,Object(m.c)(p.ib,{container:!0,justifyContent:"space-between"},Object(m.c)(p.ib,{container:!0,item:!0,xs:!0},s("logoManagerDialog.selectLogoFile")),Object(m.c)(p.ib,{container:!0,item:!0,xs:!0,justifyContent:"flex-end"},Object(m.c)(du,{id:"logo-new-upload",accept:"image/*",onChange:E(),width:12,color:"primary","data-testid":"logoManager_".concat(a,"_dialog_button_add_new")},s("logoManagerDialog.addNew"))))),Object(m.c)(p.G,{dividers:!0},Object(m.c)(p.ib,{container:!0},Object(m.c)(p.ib,{container:!0,item:!0,xs:12,alignItems:"center"},Object(B.e)(x)&amp;&amp;x.map((function(e,t){return Object(m.c)(o.a.Fragment,{key:e.name},Object(m.c)(p.ib,{item:!0,xs:2,sm:1},Object(m.c)(p.Qb,{checked:g===e.name,onChange:C(e.name),value:g,name:e.name,inputProps:{"data-testid":"logoManager_".concat(a,"_dialog_").concat(e.name,"_radio")}})),Object(m.c)(p.ib,{container:!0,item:!0,xs:10,sm:6,alignItems:"center"},Object(m.c)(p.Pb,{id:"logo-".concat(e.name,"-popover"),open:Boolean(u),anchorEl:u,onClose:A,onClick:A,anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},className:c.popover},b&amp;&amp;Object(m.c)("img",{src:b,alt:"logo"})),Object(m.c)(p.ib,{item:!0},e.content?Object(m.c)("img",{className:c.logoImage,src:"data:image/jpg;base64,".concat(e.content),alt:e.name,onClick:D("data:image/jpg;base64,".concat(e.content))}):Object(m.c)(p.u,{size:64})),Object(m.c)(p.ib,{item:!0},e.name)),Object(m.c)(p.ib,{container:!0,item:!0,xs:12,sm:5,justifyContent:"flex-end",alignItems:"center"},Object(m.c)(p.ib,{item:!0},(e.stream_names||[]).length&gt;0&amp;&amp;Object(m.c)(p.n,{width:12,onClick:$(e.name),color:"red","data-testid":"logoManager_".concat(a,"_dialog_").concat(e.name,"_button_delete")},s("logoManagerDialog.delete"))),Object(m.c)(p.ib,{item:!0},Object(m.c)(du,{id:"logo-".concat(t,"-change"),accept:"image/*",width:12,onChange:E(e.name),color:"primary","data-testid":"logoManager_".concat(a,"_dialog_").concat(e.name,"_button_change")},s("logoManagerDialog.change")))))}))))),Object(m.c)(p.ib,{container:!0,className:c.actions,justifyContent:"flex-end"},Object(m.c)(p.n,{onClick:r,width:12,color:"red","data-testid":"logoManager_".concat(a,"_dialog_button_cancel")},s("logoManagerDialog.cancel")),Object(m.c)(p.n,{onClick:I,width:12,color:"primary","data-testid":"logoManager_".concat(a,"_dialog_button_ok")},s("logoManagerDialog.ok"))))};function gu(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return vu(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return vu(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function vu(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}yu.defaultProps={name:""};var _u=function(e){var t=e.onChange,r=e.logo,n=e.buttonTitle,i=e.buttonWidth,a=e.buttonColor,s=e.name,c=e.buttonSize,l=e.variant,u=e.isTemplate,d=gu(o.a.useState(!1),2),f=d[0],b=d[1],h=o.a.useCallback((function(e){return function(){b(e)}}),[]);return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.n,{"data-testid":"logoManager_".concat(s,"_button_open"),color:a,width:i,onClick:h(!0),size:c,variant:l,style:{minWidth:"90px"},disabled:u},n),f&amp;&amp;Object(m.c)(yu,{isOpened:f,onClose:h(!1),onChange:t,logo:r,name:s}))};function Ou(){return(Ou=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}_u.defaultProps={buttonWidth:32,buttonColor:void 0,name:"",buttonSize:"medium",variant:"text",isTemplate:!1};var ju=function(e){var t=e.change,r=e.media,n=e.templateConfig,o=e.isStream,i=Object(j.b)().t,a=function(e){var o=arguments.length&gt;1&amp;&amp;void 0!==arguments[1]?arguments[1]:{},i=r.logo,a=Ot.a("logo")(n);return Object(m.c)(p.fc,Ou({templateData:Object(B.b)(Ot.a(e)(i))?null:n,entity:"stream",path:["logo",e],value:Object(B.d)(Ot.a(e)(i))?Ot.a(e)(i):Ot.a(e)(a),onChange:t(["logo",e]),type:"number",inputProps:{min:0},disabled:Object(B.b)(i)&amp;&amp;Object(B.b)(a)||Object(B.b)(i)&amp;&amp;Object(B.e)(a),docDescription:so.a.schemas.web_logo_spec.properties[e].description},o))},s=r.logo,c=Ot.a("logo")(n),l="";Object(B.e)(s)&amp;&amp;Object(B.e)(s.path)&amp;&amp;(l=s.path.startsWith("@")?s.path.slice(1):s.path);var u="";return Object(B.e)(Ot.a("path")(c))&amp;&amp;(u=c.path.startsWith("@")?c.path.slice(1):c.path),Object(m.c)(p.ib,{container:!0,spacing:1},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.mc,{variant:"h5"},i("mediaOutputLogo.logoTitle"))),Object(m.c)(p.ib,{item:!0,xs:7,sm:8},Object(m.c)(p.fc,{value:l||u,entity:"stream",path:["logo","path"],disabled:!0,InputProps:{endAdornment:Object(m.c)(li.a,{docDescription:so.a.schemas.web_logo_spec.properties.path.description,diskValue:l,templateValue:u,showFullHelperInf:o})},label:""})),Object(m.c)(p.ib,{item:!0,xs:5,sm:4,container:!0,wrap:"nowrap"},Object(m.c)(_u,{buttonTitle:i("select"),buttonWidth:8,buttonColor:"primary",logo:l||u,onChange:function(e){var n=r.logo,o="@".concat(e).trim();Object(B.b)(n)&amp;&amp;(t(["logo","width"],"raw")(null),t(["logo","height"],"raw")(null),t(["logo","top"],"raw")(null),t(["logo","bottom"],"raw")(null),t(["logo","left"],"raw")(null),t(["logo","right"],"raw")(null)),t(["logo","path"],"raw")(o),Object(B.e)(n)&amp;&amp;Object(B.b)(n.path.trim())&amp;&amp;t(["logo"],"raw")(null)}}),Object(m.c)(p.mb,{"aria-label":i("remove"),color:"secondary",onClick:function(){t(["logo"])(null)},"data-testid":"remove-logo",size:"small",disabled:Object(B.b)(s)&amp;&amp;Object(B.e)(c)},Object(m.c)(p.B,{fontSize:"small"}))),Object(m.c)(p.ib,{item:!0,xs:6},a("width")),Object(m.c)(p.ib,{item:!0,xs:6},a("height")),Object(m.c)(p.ib,{item:!0,xs:3},a("top",{disabled:Object(B.b)(s)||Object(B.e)(s.bottom)||Object(B.b)(s)&amp;&amp;Object(B.e)(c)})),Object(m.c)(p.ib,{item:!0,xs:3},a("bottom",{disabled:Object(B.b)(s)||Object(B.e)(s.top)||Object(B.b)(s)&amp;&amp;Object(B.e)(c)})),Object(m.c)(p.ib,{item:!0,xs:3},a("left",{disabled:Object(B.b)(s)||Object(B.e)(s.right)||Object(B.b)(s)&amp;&amp;Object(B.e)(c)})),Object(m.c)(p.ib,{item:!0,xs:3},a("right",{disabled:Object(B.b)(s)||Object(B.e)(s.left)||Object(B.b)(s)&amp;&amp;Object(B.e)(c)})),Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{mt:5})))};ju.defaultProps={templateConfig:{},isStream:!1};var xu=ju,wu=[["left","left"],["center","center"],["right","right"]],ku=[["top","top"],["middle","middle"],["bottom","bottom"]],Su=function(e){var t,r,n,o,i,a,s,c,l=e.media,u=e.onConfigChange,d=e.templateConfig,f=e.isStream,b=Object(j.b)().t;return Object(m.c)(p.l,{my:2},Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.mc,{variant:"h5"},b("mediaOutputSubstyle.substyleTitle"))),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,lg:3},Object(m.c)(oa.a,{displayEmpty:!0,"data-testid":"subtitles-align",label:b("mediaOutputSubstyle.alignLabel"),value:(null===(t=l.substyle)||void 0===t?void 0:t.align)||(null==d?void 0:null===(r=d.substyle)||void 0===r?void 0:r.align)||"",onChange:u(["substyle","align"],"string"),items:[["",b("not-selected")]].concat(wu),HelperDocProps:{docDescription:so.a.schemas.subtitle_style.properties.align.description,diskValue:null===(n=l.substyle)||void 0===n?void 0:n.align,templateValue:null==d?void 0:null===(o=d.substyle)||void 0===o?void 0:o.align,isStream:f}})),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,lg:3},Object(m.c)(oa.a,{displayEmpty:!0,"data-testid":"subtitles-valign",label:b("mediaOutputSubstyle.valignLabel"),value:(null===(i=l.substyle)||void 0===i?void 0:i.valign)||(null==d?void 0:null===(a=d.substyle)||void 0===a?void 0:a.valign)||"",onChange:u(["substyle","valign"],"string"),items:[["",b("not-selected")]].concat(ku),HelperDocProps:{docDescription:so.a.schemas.subtitle_style.properties.valign.description,diskValue:null===(s=l.substyle)||void 0===s?void 0:s.valign,templateValue:null==d?void 0:null===(c=d.substyle)||void 0===c?void 0:c.valign,isStream:f}}))))};function Pu(e){return function(e){if(Array.isArray(e))return Iu(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Cu(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Tu(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||Cu(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Cu(e,t){if(e){if("string"==typeof e)return Iu(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Iu(e,t):void 0}}function Iu(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}Su.defaultProps={templateConfig:null,isStream:!1};var Au=so.a.schemas.stream_config_media.properties.hls_scte35.oneOf.map((function(e){return[e.const,e.title]})),Du=/^https?:\/\/[0-9a-zA-Z.-]+(:[0-9]+)?\/?$/,Eu=function(e){var t=e.media,r=e.change,i=e.isVod,a=e.templateConfig,s=e.isStream,c=e.isTitle,l=e.isTemplate,u=e.product,f=e.isMultiEdit,b=Object(j.b)().t,h=Tu(Object(n.useState)(t.url_prefix),2),y=h[0],g=h[1];Object(n.useEffect)((function(){g(t.url_prefix)}),[t.url_prefix]);var v,_,O,x=function(e){g(e.target.value),!Du.test(e.target.value)&amp;&amp;e.target.value||r("url_prefix","raw")(e.target.value||null)},w=function(){return f?null:Object(m.c)(p.l,{mt:2},Object(m.c)(p.mc,{variant:"subtitle1"},b("mediaOutputOptions.mpegtsSpecificSubtitle")),Object(m.c)(p.l,{mt:1},Object(m.c)(p.fc,{data:t,templateData:a,entity:"stream",path:["provider"],value:t.provider||Ot.a("provider")(a),onChange:r(["provider"]),showFullHelperInf:s,docDescription:so.a.schemas.stream_config_input.properties.provider.description})),!i&amp;&amp;Object(m.c)(o.a.Fragment,null,!l&amp;&amp;c&amp;&amp;Object(m.c)(p.l,{mt:1},Object(m.c)(p.fc,{data:t,entity:"stream",path:["title"],value:t.title,onChange:r(["title"]),docDescription:so.a.schemas.stream_config_specific.properties.title.description})),Object(m.c)(p.l,{mt:1},Object(m.c)(p.fc,{templateData:a,entity:"stream",path:["meta","program_id"],value:Object(B.d)(F.a(["meta","program_id"])(t))?F.a(["meta","program_id"])(t):F.a(["meta","program_id"])(a),onChange:r(["meta","program_id"]),showFullHelperInf:s,type:"number",inputProps:{min:0},docDescription:so.a.schemas.media_info_common.properties.program_id.description}))))},k=function(e){var t=e.target.value;r("segment_count","raw")(Object(B.e)(t)?Number(t):null)};return Object(m.c)(p.ib,{container:!0},Object(m.c)(p.ib,{item:!0,xs:12,container:!0,spacing:2,"data-testid":"media-output-additional-options-block"},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{mt:2},Object(m.c)(p.mc,{variant:"h5"},b("mediaOutputOptions.additionalOptionsForTitle")))),Object(m.c)(p.ib,{item:!0,xs:12,sm:u!==d.b||6},(v=i?null:Object(m.c)(p.fc,{templateData:a,entity:"stream",path:["segment_count"],value:t.segment_count||Ot.a("segment_count")(a),onChange:k,showFullHelperInf:s,type:"number",inputProps:{min:0},docDescription:so.a.schemas.stream_config_media.properties.segment_count.description}),_=y&amp;&amp;!Du.test(y)?b("mediaOutputOptions.prefixErrorMessage"):null,O=[{label:b("seconds"),factor:1e3}],Object(m.c)(p.l,{mt:2},Object(m.c)(p.mc,{variant:"subtitle1"},b("mediaOutputOptions.segmentBasedProtocolsSubtitle")),u!==d.b&amp;&amp;Object(m.c)(p.l,{display:"flex",justifyContent:"start",alignItems:"start",mt:1},Object(m.c)(Ai,{expanded:!0,label:b("mediaOutputOptions.generatePlaylistLabel"),details:b("mediaOutputOptions.generatePlaylistLabelDetail"),className:"auto-height margin-bottom-0",widthAuto:!0},Object(m.c)(No.a,{label:Object(m.c)("span",{"data-testid":"segment-based-protocols-playlists-disabled-label"},b("disabled")),checked:!t.add_audio_only&amp;&amp;!Ot.a("add_audio_only")(a),onClick:function(){return r("add_audio_only","raw")(null)},className:"margin-right-10",isRadio:!0,"data-testid":"segment-based-protocols-playlists-disabled",disabled:!t.add_audio_only&amp;&amp;Ot.a("add_audio_only")(a)}),Object(m.c)(No.a,{label:Object(m.c)("span",{"data-testid":"segment-based-protocols-playlists-enabled-label"},b("enabled")),checked:t.add_audio_only||Ot.a("add_audio_only")(a),onClick:function(){return r("add_audio_only","raw")(!0)},isRadio:!0,"data-testid":"segment-based-protocols-playlists-enabled",disabled:!t.add_audio_only&amp;&amp;Ot.a("add_audio_only")(a)})),Object(m.c)(p.kb,{docDescription:so.a.schemas.stream_config_media.properties.add_audio_only.description,diskValue:t.add_audio_only?"true":null,templateValue:Ot.a("add_audio_only")(a)?"true":null,showFullHelperInf:s})),v,Object(m.c)(ti,{entity:"streams",path:["segment_duration"],value:t.segment_duration||Ot.a("segment_duration")(a),onChange:r("segment_duration"),units:O,data:t,templateData:a,getValueFn:function(e){return Object(B.d)(Ot.a("segment_duration")(e))?Math.floor(Ot.a("segment_duration")(e)/O[0].factor):null},showFullHelperInf:s,docDescription:so.a.schemas.stream_config_media.properties.segment_duration.description}),u!==d.b&amp;&amp;Object(m.c)(p.l,{mt:1},Object(m.c)(p.fc,{templateData:a,entity:"stream",path:["url_prefix"],value:y||Ot.a("url_prefix")(a),onChange:x,showFullHelperInf:s,error:_,helperText:_,docDescription:so.a.schemas.stream_config_media.properties.url_prefix.description})),Object(m.c)(p.l,{mt:2},Object(m.c)(oa.a,{displayEmpty:!0,"data-testid":"hls_scte35",label:b("streams-hls_scte35"),value:t.hls_scte35||(null==a?void 0:a.hls_scte35)||"",onChange:r("hls_scte35"),items:[["",b("not-selected")]].concat(Pu(Au)),HelperDocProps:{docDescription:so.a.schemas.stream_config_media.properties.hls_scte35.description,diskValue:t.hls_scte35,templateValue:null==a?void 0:a.hls_scte35,isStream:s}})))),Object(m.c)(p.l,{mt:4},i&amp;&amp;w())),u!==d.b&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12,sm:!0},function(){if(!i){var e,n=null!==(e=t.prepush)&amp;&amp;void 0!==e?e:null==a?void 0:a.prepush,o=null==n||!0===n,c=!1===n,l="number"==typeof n,u=Object(B.d)(null==a?void 0:a.prepush)&amp;&amp;!Object(B.d)(null==t?void 0:t.prepush);return Object(m.c)(p.l,{mt:2},Object(m.c)(p.mc,{variant:"subtitle1"},b("mediaOutputOptions.persistentProtocolsSubtitle")),Object(m.c)(p.l,{display:"flex",justifyContent:"start",alignItems:"start",mt:1},Object(m.c)(Ai,{expanded:!0,label:b("mediaOutputOptions.prepushLabel"),details:b("mediaOutputOptions.prepushLabelDetail"),className:"auto-height",widthAuto:!0},Object(m.c)(No.a,{label:Object(m.c)("span",{"data-testid":"persistant-protocols-prepush-disabled-label"},b("disabled")),checked:c,onClick:function(){r("prepush","raw")(!1)},className:"margin-right-10",isRadio:!0,"data-testid":"persistant-protocols-prepush-disabled",disabled:u}),Object(m.c)(No.a,{label:Object(m.c)("span",{"data-testid":"persistant-protocols-prepush-enabled-label"},b("enabled")),checked:o,onClick:function(){return r("prepush","raw")(null)},className:"margin-right-10",isRadio:!0,"data-testid":"persistant-protocols-prepush-enabled",disabled:u}),Object(m.c)(No.a,{label:Object(m.c)("span",{"data-testid":"persistant-protocols-prepush-specific-label"},b("mediaOutputOptions.enabledSpecific")),checked:l,onClick:function(){return r("prepush","raw")(3)},isRadio:!0,"data-testid":"persistant-protocols-prepush-specific",disabled:u})),Object(m.c)(p.kb,{docDescription:so.a.schemas.stream_config_media.properties.prepush.description,diskValue:t.prepush,templateValue:null==a?void 0:a.prepush,showFullHelperInf:s})),l&amp;&amp;Object(m.c)(ti,{entity:"streams",path:["prepush"],value:t.prepush||Ot.a("prepush")(a),onChange:r("prepush"),units:[{label:b("seconds"),factor:1}],isDefaultValue:!0,docDescription:so.a.schemas.stream_config_media.properties.prepush.description}))}}(),!i&amp;&amp;w())),u!==d.b&amp;&amp;Object(m.c)(p.ib,{container:!0,item:!0,xs:12,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,"data-testid":"media-output-subtitles-block"},Object(m.c)(Su,{media:t,onConfigChange:r,templateConfig:a,isStream:s})),u!==d.b&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12,"data-testid":"media-output-logo-block"},Object(m.c)(xu,{media:t,change:r,templateConfig:a,isStream:s}))))};Eu.defaultProps={isVod:!1,isMultiEdit:!1,isTitle:!0,isTemplate:!1,templateConfig:null,isStream:!1};var $u,Nu=Eu,Lu=r(50),Ru=function(e){var t=e.label,r=e.value;return r?Object(m.c)(p.mc,null,Object(m.c)(p.mc,{component:"span"},t," "),Object(m.c)(p.mc,{component:"span",style:{color:"#616161"}},r)):null},qu=function(e){var t,r=e.stats,n=Object(j.b)().t;return Object(m.c)(p.l,{whiteSpace:"nowrap"},Object(m.c)(Ru,{label:n("multiplexer.trimmedBytes"),value:null!=r&amp;&amp;r.trimmed_bytes?_e.a.bytes(null==r?void 0:r.trimmed_bytes):null}),Object(m.c)(Ru,{label:n("multiplexer.trimmedFrames"),value:null!=r&amp;&amp;r.trimmed_frames?(t=null==r?void 0:r.trimmed_frames,t.toString().replace(/\B(?=(\d{3})+(?!\d))/g," ")):null}))},Mu=function(e){var t=e.stats,r=e["data-testid"],o=Object(n.useMemo)((function(){return Object(Wr.b)({pushStats:t})}),[t]),i=o.status,a=o.statusColor,s=o.duration,c=o.resultStatusParams;return Object(m.c)("div",null,Object(m.c)(p.mc,null,Object(m.c)(p.mc,{variant:"subtitle2",component:"span",style:{color:a},"data-testid":r},i,Object(m.c)(p.mc,{component:"span",style:{color:"#616161"}},s)),c),Object(m.c)(qu,{stats:t}))};function Fu(e){return(Fu="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Uu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function zu(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Uu(Object(r),!0).forEach((function(t){Bu(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Uu(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Bu(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Fu(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Fu(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Fu(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Hu(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Vu(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Vu(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Vu(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Wu=function(e){var t=e.push,r=e.pushKey,i=e.pushes,a=e.onChange,s=e.stats,c=e.mediaNames,l=e.entity,u=e.isEffective,d=e.hideStatus,f=Object(j.b)().t,b=Hu(Object(n.useState)(t),2),h=b[0],y=b[1],g=i.length===r,v=t.url.startsWith("udp"),_=t.url.startsWith("dektec"),O=Ge()().history;Object(n.useEffect)((function(){h.url!==t.url&amp;&amp;y(t)}),[t.url,i.length]);var x,w=function(e,t){y(zu(zu({},h),{},Bu({},t,e)));var n=lt.a(i),o=lt.a(i[r]);o[t]=e,n[r]=o,a(["pushes"],"raw")(n)},k=function(){var e=lt.a(i);e.splice(r,1),a(["pushes"])(e)},S=function(){g||h.url||k()},P=function(){O.push({pathname:"/".concat(l,"/").concat(encodeURIComponent(c.join(",")),"/output/").concat(r,"/options"),state:{names:c,sourceIndex:r}})},T=g?"new-push-url":"push-url-".concat(parseInt(r,10)),C=function(e){return Object(m.c)(p.l,{m:1},Object(m.c)(p.fc,{entity:"push",path:[e],value:t[e],index:r,type:"number",onChange:function(t){return w(t.target.value,e)},onBlur:S,disabled:g||xt.a(t.url)||u,inputProps:{"data-testid":"".concat(T,"-").concat(e)},label:"",force:!0}))};return Object(m.c)(p.l,{mt:{xs:3,sm:0}},Object(m.c)(p.ib,{container:!0,alignItems:"baseline"},Object(m.c)(p.lb,{mdUp:!0},Object(m.c)(p.ib,{item:!0,xs:4},!g&amp;&amp;Object(B.d)(t.url)&amp;&amp;Object(m.c)(p.mc,{variant:"subtitle2"},f("streamOutputPage.enabled")))),Object(m.c)(p.ib,{item:!0,xs:8,md:1},!g&amp;&amp;Object(B.d)(t.url)&amp;&amp;Object(m.c)(p.l,{m:1},Object(m.c)(na.a,{isSwitch:!0,checked:xt.a(t.disabled),"data-testid":"".concat(T,"-disabled"),color:"primary",onChange:(x="disabled",function(e){w(!e.target.checked||null,x)}),justifyContent:"start",disabled:u}))),Object(m.c)(p.lb,{mdUp:!0},Object(m.c)(p.ib,{item:!0,xs:4},Object(m.c)(p.mc,{variant:"subtitle2"},f("streamOutputPage.url")))),Object(m.c)(p.ib,{item:!0,xs:8,md:3},Object(m.c)(p.l,{m:1},Object(m.c)(p.fc,{entity:"push",path:["url"],value:h.url,index:r,onChange:function(e){clearTimeout($u),y(zu(zu({},h),{},{url:e.target.value})),$u=setTimeout((function(){var t=lt.a(i);t[r]?t[r].url=e.target.value:t[r]={url:e.target.value},a(["pushes"],"raw")(t)}),1e3)},onBlur:S,inputProps:{"data-testid":T},disabled:u,validation:function(e){return function(e){var t=e.value;return t&amp;&amp;!qo.test(t)?"urlError":""}({value:e})},label:"",force:!0}))),Object(m.c)(p.lb,{mdUp:!0},Object(m.c)(p.ib,{item:!0,xs:4},Object(m.c)(p.mc,{variant:"subtitle2"},f("streamOutputPage.timeout")))),Object(m.c)(p.ib,{item:!0,xs:8,md:1},C("timeout")),Object(m.c)(p.lb,{mdUp:!0},Object(m.c)(p.ib,{item:!0,xs:4},Object(m.c)(p.mc,{variant:"subtitle2"},f("streamOutputPage.retry_timeout")))),Object(m.c)(p.ib,{item:!0,xs:8,md:1},C("retry_timeout")),Object(m.c)(p.lb,{mdUp:!0},Object(m.c)(p.ib,{item:!0,xs:4},Object(m.c)(p.mc,{variant:"subtitle2"},f("streamOutputPage.limit")))),Object(m.c)(p.ib,{item:!0,xs:8,md:1},C("retry_limit")),Object(m.c)(p.lb,{mdUp:!0},Object(m.c)(p.ib,{item:!0,xs:4},Object(m.c)(p.mc,{variant:"subtitle2"},f("streamOutputPage.comment")))),Object(m.c)(p.ib,{item:!0,xs:8,md:2},Object(m.c)(p.l,{m:1},Object(m.c)(p.fc,{entity:"push",path:["comment"],value:t.comment,index:r,onChange:function(e){return w(e.target.value,["comment"])},onBlur:S,inputProps:{"data-testid":"".concat(T,"-","comment")},disabled:u,label:"",force:!0}))),!d&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.lb,{mdUp:!0},Object(m.c)(p.ib,{item:!0,xs:4},Object(m.c)(p.mc,{variant:"subtitle2"},f("streamOutputPage.status")))),Object(m.c)(p.ib,{item:!0,xs:8,md:1},Object(m.c)(p.l,{m:1},Object(m.c)(Mu,{stats:s,"data-testid":"".concat(T,"-status")})))),Object(m.c)(p.lb,{mdUp:!0},Object(m.c)(p.ib,{item:!0,xs:4})),Object(m.c)(p.lb,{mdDown:!0},!g&amp;&amp;Object(B.d)(t.url)&amp;&amp;Object(m.c)(p.ib,{container:!0,item:!0,xs:8,md:2,alignItems:"center",justifyContent:"flex-end"},Object(m.c)(p.l,null,(v||_)&amp;&amp;Object(m.c)(p.n,{onClick:P,"data-testid":"push-show-options-".concat(T),size:"small",variant:"text",color:"primary"},f("options-button"))),Object(m.c)(p.l,{ml:1},Object(m.c)(p.mb,{"aria-label":f("remove"),title:f("remove"),onClick:k,"data-testid":"".concat(T,"-remove"),color:"secondary",disabled:u,size:"large"},Object(m.c)(p.B,{fontSize:"small"}))))),Object(m.c)(p.lb,{mdUp:!0},!g&amp;&amp;Object(B.d)(t.url)&amp;&amp;Object(m.c)(p.ib,{container:!0,item:!0,xs:8,md:2,alignItems:"center",justifyContent:"flex-end"},Object(m.c)(p.l,{sx:{paddingX:1}},(v||_)&amp;&amp;Object(m.c)(p.n,{onClick:P,"data-testid":"push-show-options-".concat(T),size:"small",variant:"contained",color:"primary"},f("options-button"))),Object(m.c)(p.l,{display:"flex",justifyContent:"flex-end"},Object(m.c)(p.n,{variant:"contained",color:"secondary",onClick:k,"data-testid":"".concat(T,"-remove"),size:"small",disabled:u},f("remove")))))))};Wu.defaultProps={isNew:!1,stats:{},hideStatus:!1,isEffective:!1};var Gu=["path"];function Ku(){return(Ku=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function Yu(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}function Ju(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Qu(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Qu(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Qu(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Xu=function(e){var t=e.media,r=e.onConfigChange,n=e.templateConfig,o=e.isStream,i=Object(j.b)().t;return t.static?Object(m.c)(ti,{entity:"streams",path:["clients_timeout"],value:t.clients_timeout||(null==n?void 0:n.clients_timeout)||"",onChange:r(["clients_timeout"],"raw"),units:[{label:i("seconds"),factor:1}],isDefaultValue:!0,data:t,templateData:n,showFullHelperInf:o,docDescription:so.a.schemas.stream_config_media.properties.clients_timeout.description}):null};Xu.defaultProps={media:void 0,onConfigChange:void 0};var Zu=function(e){var t,r,n,i,a,s,c,l,u,d,f,b,h,y,g,v,_,O,x=e.media,w=e.onConfigChange,k=e.templateConfig,S=e.isStream,P=Object(j.b)().t;return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.l,{display:"flex",justifyContent:"start",alignItems:"start",mt:2},Object(m.c)(Ai,{expanded:!0,label:P("streamOutputPage.thumbnailsLabel"),details:P("streamOutputPage.thumbnailsLabelDetail"),widthAuto:!0},Object(m.c)(No.a,{label:P("enabled"),checked:!0===(null===(t=x.thumbnails)||void 0===t?void 0:t.enabled)||!0===(null==k?void 0:null===(r=k.thumbnails)||void 0===r?void 0:r.enabled),onClick:function(){return w(["thumbnails","enabled"],"raw")(!0)},isRadio:!0,"data-testid":"thumbnails-enabled",disabled:!(null!==(n=x.thumbnails)&amp;&amp;void 0!==n&amp;&amp;n.enabled)&amp;&amp;(null==k?void 0:null===(i=k.thumbnails)||void 0===i?void 0:i.enabled)}),Object(m.c)(No.a,{label:P("onDemand"),checked:"ondemand"===(null===(a=x.thumbnails)||void 0===a?void 0:a.enabled)||"ondemand"===(null==k?void 0:null===(s=k.thumbnails)||void 0===s?void 0:s.enabled),onClick:function(){return w(["thumbnails"],"raw")({enabled:"ondemand",url:null})},isRadio:!0,"data-testid":"thumbnails-enabled-ondemand",disabled:!(null!==(c=x.thumbnails)&amp;&amp;void 0!==c&amp;&amp;c.enabled)&amp;&amp;(null==k?void 0:null===(l=k.thumbnails)||void 0===l?void 0:l.enabled)}),Object(m.c)(No.a,{label:P("disabled"),checked:!(null!==(u=x.thumbnails)&amp;&amp;void 0!==u&amp;&amp;u.enabled||null!=k&amp;&amp;null!==(d=k.thumbnails)&amp;&amp;void 0!==d&amp;&amp;d.enabled),onClick:function(){return w(["thumbnails"],"raw")({enabled:!1,url:null})},className:"margin-left-10",isRadio:!0,"data-testid":"thumbnails-disabled",disabled:!(null!==(f=x.thumbnails)&amp;&amp;void 0!==f&amp;&amp;f.enabled)&amp;&amp;(null==k?void 0:null===(b=k.thumbnails)||void 0===b?void 0:b.enabled)})),Object(m.c)(p.kb,{docDescription:so.a.schemas.stream_config_media.properties.thumbnails.description,diskValue:null!==(h=x.thumbnails)&amp;&amp;void 0!==h&amp;&amp;h.enabled?"enabled":null,templateValue:null!=k&amp;&amp;null!==(y=k.thumbnails)&amp;&amp;void 0!==y&amp;&amp;y.enabled?"enabled":null,showFullHelperInf:S})),!0===(null===(g=x.thumbnails)||void 0===g?void 0:g.enabled)||!0===(null==k?void 0:null===(v=k.thumbnails)||void 0===v?void 0:v.enabled)?Object(m.c)(p.l,{mt:2},Object(m.c)(p.fc,{templateData:k,entity:"stream",path:["thumbnails","url"],value:(null===(_=x.thumbnails)||void 0===_?void 0:_.url)||(null==k?void 0:null===(O=k.thumbnails)||void 0===O?void 0:O.url),onChange:function(e){var t,r;null!==(t=x.thumbnails)&amp;&amp;void 0!==t&amp;&amp;t.enabled||null==k||null===(r=k.thumbnails)||void 0===r||!r.enabled?w(["thumbnails","url"],"string")(e):w(["thumbnails"],"raw")({enabled:!0,url:e})},showFullHelperInf:S})):"")};Zu.defaultProps={media:void 0,onConfigChange:void 0};var ed=function(e){var t=e.media,r=e.onConfigChange,n=e.hideStatus,o=e.isEffective,i=e.mediaNames,a=e.configEffective,s=e.entity,c=Object(j.b)().t,l=t.pushes||[],u=(null==a?void 0:a.pushes)||[],d=l?l.concat([{url:""}]):[{url:""}];return Object(m.c)(p.ib,{container:!0},Object(m.c)(p.lb,{mdDown:!0},Object(m.c)(p.ib,{item:!0,xs:1},Object(m.c)(p.l,{m:1},Object(m.c)(p.mc,{variant:"subtitle2"},c("streamOutputPage.enabled")))),Object(m.c)(p.ib,{item:!0,xs:3},Object(m.c)(p.l,{m:1},Object(m.c)(p.mc,{variant:"subtitle2"},c("streamOutputPage.url")))),Object(m.c)(p.ib,{item:!0,xs:1},Object(m.c)(p.l,{m:1},Object(m.c)(p.mc,{variant:"subtitle2"},c("streamOutputPage.timeout")))),Object(m.c)(p.ib,{item:!0,xs:1},Object(m.c)(p.l,{m:1},Object(m.c)(p.mc,{variant:"subtitle2"},c("streamOutputPage.retry_timeout")))),Object(m.c)(p.ib,{item:!0,xs:1},Object(m.c)(p.l,{m:1},Object(m.c)(p.mc,{variant:"subtitle2"},c("streamOutputPage.limit")))),Object(m.c)(p.ib,{item:!0,xs:2},Object(m.c)(p.l,{m:1},Object(m.c)(p.mc,{variant:"subtitle2"},c("streamOutputPage.comment")))),!n&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:1},Object(m.c)(p.l,{m:1},Object(m.c)(p.mc,{variant:"subtitle2"},c("streamOutputPage.status"))))),Object(m.c)(p.ib,{item:!0,xs:12},d.map((function(e,t){var a;return Object(m.c)(Wu,{key:t,pushes:l||[],stats:(null===(a=u.find((function(t){return t.url===e.url})))||void 0===a?void 0:a.stats)||{},push:e,pushKey:t,onChange:r,hideStatus:n,isEffective:o,mediaNames:i,entity:s})}))))};ed.defaultProps={media:void 0,onConfigChange:void 0,hideStatus:!1,isEffective:!1};var td=function(e){var t,r,i,a,s=e.onConfigChange,c=e.config,l=e.media,f=e.entity,b=e.isTemplate,h=e.templateConfig,y=e.configEffective,g=e.isStream,v=e.mediaNames,_=e.isMultiEdit,O=Object(j.b)().t,x=Object(n.useContext)(u.c),w=Ju(Object(n.useState)(!1),2),k=w[0],S=w[1],P=Ju(Object(n.useState)(""),2),T=P[0],C=P[1],I=function(){S(!1)};if(Object(B.b)(l))return"";var A=function(e){var t=e.path,r=Yu(e,Gu);return Object(m.c)(p.fc,Ku({entity:"streams",path:t,data:l,templateData:h,onChange:s(t),showFullHelperInf:g},r))},D=T&amp;&amp;(T.length&lt;so.a.schemas.srt_config_base.properties.passphrase.minLength||T.length&gt;so.a.schemas.srt_config_base.properties.passphrase.maxLength)?O("streams-invalid-passphrase"):null;return Object(m.c)(p.ib,{container:!0,spacing:0,"data-testid":"stream-output"},Object(m.c)(p.ib,{item:!0,xs:12},b&amp;&amp;Object(m.c)(p.l,{my:1},Object(m.c)(Ps,null)),Object(m.c)(su,{config:c,media:l,mediaNames:f===d.d.templates?null:v,name:f===d.d.templates?"&lt;stream-name&gt;":l.name,change:l.named_by===st.d.config||l.named_by===st.d.external||b?s:null,templateConfig:h,isStream:g,product:x,configEffective:y})),l.named_by===st.d.config||l.named_by===st.d.external||b?Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,spacing:2,xs:12,lg:9,display:"flex"},Object(m.c)(p.ib,{item:!0,xs:6},A({value:(null==l?void 0:null===(t=l.srt_play)||void 0===t?void 0:t.port)||$o.a("",["srt_play","port"])(h),path:["srt_play","port"],docDescription:so.a.schemas.srt_config.allOf[0].properties.port.description,inputProps:{"data-testid":"stream-srt_play-port"},onChange:function(e){return s(["srt_play","port"])(e.target.value?Number(e.target.value):null)}})),Object(m.c)(p.ib,{item:!0,xs:6,ml:2},A({value:(null==l?void 0:null===(r=l.srt_play)||void 0===r?void 0:r.passphrase)||$o.a("",["srt_play","passphrase"])(h),path:["srt_play","passphrase"],docDescription:so.a.schemas.srt_config_base.properties.passphrase.description,inputProps:{"data-testid":"stream-srt_play-passphrase"},onChange:function(e){return function(e){var t=e.target.value;C(t),(!t.length||t.length&gt;=so.a.schemas.srt_config_base.properties.passphrase.minLength&amp;&amp;t.length&lt;=so.a.schemas.srt_config_base.properties.passphrase.maxLength)&amp;&amp;s(["srt_play","passphrase"])(t)}(e)},error:D,helperText:D}))),x!==d.b&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12,lg:9,"data-testid":"stream-output-thumbnails-block"},Object(m.c)(Zu,{media:l,onConfigChange:s,templateConfig:h,isStream:g})),x!==d.b&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12,lg:5},Object(m.c)(p.l,{mt:1},Object(m.c)(p.fc,{templateData:h,entity:"stream",path:["on_play","max_sessions"],value:(null===(i=l.on_play)||void 0===i?void 0:i.max_sessions)||(null==h?void 0:null===(a=h.on_play)||void 0===a?void 0:a.max_sessions),onChange:function(e){return s(["on_play","max_sessions"])(Object(Lu.c)(e.target.value))},showFullHelperInf:g,docDescription:so.a.schemas.auth_spec.properties.max_sessions.description})),Object(m.c)(Xu,{media:l,onConfigChange:s,templateConfig:h,isStream:g})),Object(m.c)(p.ib,{item:!0,xs:12,lg:9},Object(m.c)(Nu,{media:l,change:s,isMultiEdit:_,isTemplate:b,templateConfig:h,isStream:g,product:x})),!_&amp;&amp;x!==d.b&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12,container:!0,"data-testid":"media-output-push-block"},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{display:"flex"},Object(m.c)(p.mc,{variant:"h5"},O("streamOutputPage.pushLiveVideoTitle")),Object(m.c)(p.kb,{docDescription:so.a.schemas.stream_config_media.properties.pushes.description,diskValue:Object(B.e)(l.pushes)?"âœ”":"",templateValue:Object(B.e)(null==h?void 0:h.pushes)?"âœ”":"",showFullHelperInf:g}),Object(B.b)(l.pushes)&amp;&amp;Object(B.e)(null==h?void 0:h.pushes)&amp;&amp;Object(m.c)(p.l,{ml:1},Object(m.c)(p.n,{color:"primary",variant:"contained","data-testid":"pushes-copy-button",onClick:function(){s("pushes","raw")(lt.a(null==h?void 0:h.pushes))},size:"small"},O("streamOutputPage.copyPushesButton"))),Object(B.e)(l.pushes)&amp;&amp;Object(B.e)(null==h?void 0:h.pushes)&amp;&amp;Object(m.c)(p.l,{ml:1},Object(m.c)(p.n,{color:"primary",variant:"contained","data-testid":"pushes-use-button",onClick:function(){S(!0)},size:"small"},O("streamOutputPage.usePushesFromTemplateButton"))))),Object(m.c)(p.ib,{item:!0,xs:12},Object(B.e)(l.pushes)||Object(B.b)(l.pushes)&amp;&amp;Object(B.b)(null==h?void 0:h.pushes)?Object(m.c)(ed,{media:l,onConfigChange:s,configEffective:y,mediaNames:v,entity:f}):"",Object(B.b)(l.pushes)&amp;&amp;Object(B.e)(null==h?void 0:h.pushes)&amp;&amp;Object(m.c)(ed,{media:h,configEffective:y,mediaNames:v,isEffective:!0,entity:f}),Object(m.c)(p.l,{mb:5})),Object(m.c)(p.C,{open:k,handleClose:I,onDelete:function(){s("pushes","raw")(null),I()},title:O("streamOutputPage.usePushesFromTemplateConfirm"),notice:O("streamOutputPage.usePushesFromTemplateNotice"),removeButtonText:O("streamOutputPage.usePushesFromTemplateButton")}))):"")};td.defaultProps={entity:void 0,isTemplate:!1,templateConfig:null,configEffective:null,isStream:!1};var rd=Object(ge.b)(td),nd=r(45),od=["name","docDescription","index"];function id(){return(id=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function ad(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var sd=function(e){var t=e.name,r=e.docDescription,n=e.index,o=ad(e,od),i=Object(j.b)().t;return Object(m.c)(p.cb,id({name:t,type:"number",label:i("multiplexer-".concat(t)),docDescription:r,inputProps:{"data-testid":o["data-testid"]||"multiplexer-".concat(t,"-").concat(n)}},cu.a(["data-testid"],o)))};function cd(e){return function(e){if(Array.isArray(e))return ld(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return ld(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ld(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ld(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var pd=Sc.G.map((function(e){return e.value})),ud=["v1","v2","a1","a2","a3","l1","l2"],dd=Sc.H.map((function(e){return e.value})),md=function(e){return function(){var t=e.programs,r=[];return(t||[]).forEach((function(e){var t,n,o=null!==(t=e.pids)&amp;&amp;void 0!==t&amp;&amp;t.pmt?[e.pids.pmt]:[];if(null!==(n=e.pids)&amp;&amp;void 0!==n&amp;&amp;n.media){var i,a=((null===(i=e.pids)||void 0===i?void 0:i.media)||[]).map((function(e){return e.pid}));r=[].concat(cd(r),cd(a),o)}else r=[].concat(cd(r),o)})),Oc.a((function(e,t){return e-t}),r)}},fd=function(e){return{pid:Object(Lu.c)(e&amp;&amp;e.length&gt;0?Number(e[e.length-1]):31)+1}},bd=function(e){var t=e.track;switch(pd.find((function(t){return t===e.content}))){case"audio":return Object(B.e)(t)?"a".concat(t):"";case"video":return Object(B.e)(t)?"v".concat(t):"";case"application":return Object(B.e)(t)?"l".concat(t):"";case"metadata":return Object(B.e)(t)?"m".concat(t):"";default:return""}},hd=function(e,t){var r,n=e?e.slice(0,1):"",o=e&amp;&amp;Number(e.slice(1))||"",i=t;switch(n){case"a":r="audio";break;case"v":r="video";break;case"l":r="application",t&amp;&amp;(i=null);break;case"m":r="metadata",t&amp;&amp;(i=null);break;default:t&amp;&amp;(i=null)}return{content:r,pcr:i,track:o}},yd=function(e){var t,r,n,o,i=e.values,a=e.multiplexers,s=e.program,c=e.value,l=e.streams,p=lt.a(s);if(Object(B.b)(p.lcn)&amp;&amp;(p.lcn=function(e,t){return function(){var r=[e];e.others&amp;&amp;e.others.forEach((function(e){r=[].concat(cd(r),[t.find((function(t){return t.name===e.name}))])}));var n=[];r.forEach((function(e){var t=e.programs||[];n=[].concat(cd(n||[]),cd(t))}));var o=n.map((function(e){return Object(B.e)(e.lcn)?Number(e.lcn):e.lcn})).filter((function(e){return Object(B.e)(e)})),i=Oc.a((function(e,t){return e-t}),o);if(0!==i[0])return 0;for(var a=1;a&lt;i.length;a+=1)if(i[a]-i[a-1]!=1)return i[a-1]+1;return i[i.length-1]+1}}(i,a)()),null===(t=p.pids)||void 0===t||!t.pmt){var u=fd(md(i)());p.pids={pmt:u.pid}}var d=l.find((function(e){return e.name===c})),m=null==d?void 0:null===(r=d.stats)||void 0===r?void 0:null===(n=r.media_info)||void 0===n?void 0:n.tracks;if(p.source=c||void 0,c&amp;&amp;Object(B.b)(null===(o=p.pids)||void 0===o?void 0:o.media)&amp;&amp;(null==m||m.forEach((function(e){var t=e.content;if(t&amp;&amp;pd.includes(t)){var r,n,o=(p.pids.media||[]).map((function(e){return e.pid})),i=null!==(r=p.pids)&amp;&amp;void 0!==r&amp;&amp;r.pmt?fd([p.pids.pmt].concat(cd(o))):null;if(p.pids&amp;&amp;null!=i)p.pids.media=[].concat(cd(p.pids.media||[]),[{pid:i.pid,content:t,track:null===(n=e.track_id)||void 0===n?void 0:n.slice(1)}])}}))),Object(B.b)(null==p?void 0:p.service_type)&amp;&amp;d){var f=null==m?void 0:m.find((function(e){return"video"===e.content})),b=null==m?void 0:m.find((function(e){return"audio"===e.content})),h=(null==f?void 0:f.codec)||null,y=!f&amp;&amp;b&amp;&amp;(null==b?void 0:b.codec)||null,g=(null==f?void 0:f.height)||null;if(f)switch(h){case"h264":p.service_type=g&amp;&amp;g&gt;=720?"digital_tv_avc_hd":"digital_tv_avc_sd";break;case"hevc":p.service_type=g&amp;&amp;g&gt;=720?"digital_tv_hevc_uhd":"digital_tv_hevc";break;case"mp2v":p.service_type="digital_tv_mpeg2_hd"}else"aac"===y?p.service_type="digital_radio_aac":y&amp;&amp;(p.service_type="digital_radio")}return p},gd=p.uc.DeleteIcon,vd=function(e){var t,r=e.programIndex,n=e.index,i=e.values,a=e.setFieldValue,s=e.addPid,c=e.handleChangeTrack,l=e.handleChangeTrackInput,u=e.removePid,d=e.disabled,f=e.programWithStats,b=Object(j.b)().t,h=((void 0!==r?null===(t=i.programs)||void 0===t?void 0:t[r]:i)||{}).pids,y=void 0!==r?"programs.".concat(r,".pids"):"pids";return Object(m.c)(nd.b,{name:"".concat(y,".media"),render:function(e){return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.ic,{titleText:b("multiplexer.pidsTitle"),button:Object(m.c)($c,{onClick:function(){return s(e)},docDescription:so.a.schemas.transponder_program.properties.pids.description,"data-testid":"multiplexers-program-pids-add-".concat(n,"-").concat(r),disabled:d})})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"".concat(y,".pmt"),label:b("multiplexer-pmt"),docDescription:so.a.schemas.output_mpegts_pids.properties.pmt.description,"data-testid":"multiplexers-program-pids-pmt-".concat(n,"-").concat(r),disabled:d})),Object(m.c)(p.ib,{item:!0,xs:12,lg:8}),((null==h?void 0:h.media)||[]).map((function(t,i){var s,g,v;return(!t.$delete&amp;&amp;Object(m.c)(o.a.Fragment,{key:i},Object(m.c)(p.ib,{item:!0,xs:12,sm:6,lg:3},Object(m.c)(sd,{name:"".concat(y,".media.").concat(i,".pid"),label:b("multiplexer-pid"),docDescription:so.a.schemas.transponder_pid.properties.pid.description,"data-testid":"multiplexers-program-pids-media-pid-".concat(n,"-").concat(r,"-").concat(i),disabled:d})),void 0!==r&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12,sm:6,lg:3},Object(m.c)(p.cb,{name:"".concat(y,".media.").concat(i,".bitrate"),type:"number",label:b("multiplexer-bitrate"),inputProps:{"data-testid":"multiplexers-program-pids-media-bitrate-".concat(n,"-").concat(r,"-").concat(i)},docDescription:so.a.schemas.transponder_pid.properties.bitrate.description,endAdornment:Object(m.c)(p.mc,{component:"span",variant:"body2"},"K"),disabled:d})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,lg:2},Object(m.c)(p.U,{freeSolo:!0,name:"".concat(y,".media.").concat(i,".track"),value:bd(t),onChange:c(i,e),onInputChange:l(i,e),label:b("multiplexer-track"),items:ud,"data-testid":"multiplexers-program-pids-media-track-".concat(n,"-").concat(r,"-").concat(i),disabled:d})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,lg:4,display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap"},Object(m.c)(p.l,{display:"flex",alignItems:"center"},("video"===t.content||"audio"===t.content)&amp;&amp;Object(m.c)(p.V,{name:"".concat(y,".media.").concat(i,".pcr"),label:b("multiplexer-pcr"),checked:(null==h?void 0:h.pcr)===t.pid,onChange:function(e){return a("".concat(y,".pcr"),e.target.checked?t.pid:null)},"data-testid":"multiplexers-program-pids-media-pcr-".concat(n,"-").concat(r,"-").concat(i),disabled:d}),Object(m.c)(qu,{stats:null==f?void 0:null===(s=f.pids)||void 0===s?void 0:null===(g=s.media)||void 0===g?void 0:null===(v=g[i])||void 0===v?void 0:v.stats})),Object(m.c)(p.mb,{"aria-label":"delete",size:"small",color:"secondary",onClick:function(){return u(i,e)},"data-testid":"multiplexers-program-pids-delete-".concat(n,"-").concat(r,"-").concat(i),disabled:d},Object(m.c)(gd,{fontSize:"small"}))),Object(m.c)(p.ib,{item:!0,xs:12})))})))}})};function _d(e){return function(e){if(Array.isArray(e))return Od(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Od(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Od(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Od(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function jd(e){return(jd="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function xd(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function wd(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?xd(Object(r),!0).forEach((function(t){kd(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):xd(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function kd(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==jd(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==jd(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===jd(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Sd=function(e){var t=e.index,r=e.values,n=e.setFieldValue,o=e.disabled,i=function(e,t){return function(o,i){var a,s,c;o.stopPropagation();var l=hd(i,null===(a=r.pids)||void 0===a?void 0:a.pcr),p=l.content,u=l.pcr,d=l.track,m=wd(wd({},null===(s=r.pids)||void 0===s?void 0:null===(c=s.media)||void 0===c?void 0:c[e]),{},{content:p,track:d});t.replace(e,m),n("pids.pcr",u)}};return Object(m.c)(vd,{values:r,index:t,setFieldValue:n,addPid:function(e){var t,n=function(e){return{pid:Object(Lu.c)(e&amp;&amp;e.length&gt;0?Number(e[e.length-1]):31)+1}}((t=r,function(){var e,r,n=[],o=null!==(e=t.pids)&amp;&amp;void 0!==e&amp;&amp;e.pmt?[t.pids.pmt]:[];if(null!==(r=t.pids)&amp;&amp;void 0!==r&amp;&amp;r.media){var i,a=((null===(i=t.pids)||void 0===i?void 0:i.media)||[]).map((function(e){return e.pid}));n=[].concat(_d(n),_d(a),o)}else n=[].concat(_d(n),o);return Oc.a((function(e,t){return e-t}),n)})());e.push({pid:n.pid})},handleChangeTrack:i,handleChangeTrackInput:function(e,t){return function(r,n){r&amp;&amp;i(e,t)(r,n)}},removePid:function(e,t){t.remove(e)},disabled:o})},Pd=Object.values(Sc.y),Td=p.uc.DeleteIcon,Cd=function(e){var t,r,i=e.disabled,a=e.media,s=Object(j.b)().t,c=Ac().classes,l=Object(nd.g)().values,u=Object(n.useMemo)((function(){var e,t;return((null===(e=a.stats)||void 0===e?void 0:null===(t=e.media_info)||void 0===t?void 0:t.tracks)||[]).filter((function(e){return"audio"===e.content})).map((function(e){return e.track_id||""}))}),[null===(t=a.stats)||void 0===t?void 0:null===(r=t.media_info)||void 0===r?void 0:r.tracks]);return Object(m.c)(nd.b,{name:"push_audio_tracks",render:function(e){var t;return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.ic,{titleText:s("audioTracks.title"),button:Object(m.c)($c,{onClick:function(){return e.push({})},docDescription:null===(t=so.a.schemas.stream_push_dektec.allOf[0].properties)||void 0===t?void 0:t.push_audio_tracks.description,"data-testid":"audio-tracks-add",disabled:i})})),(l.push_audio_tracks||[]).map((function(t,r){var n;return(Object(m.c)(o.a.Fragment,{key:r},Object(m.c)(p.ib,{item:!0,xs:12,sm:8,lg:3},Object(m.c)(p.U,{freeSolo:!0,name:"push_audio_tracks.".concat(r,".track"),value:t.track,label:s("audioTracks.track"),items:u,"data-testid":"audio-tracks-track-".concat(r),docDescription:so.a.schemas.push_audio_track.properties.track.description,disabled:i})),Object(m.c)(p.ib,{item:!0,xs:12,sm:8,lg:3},Object(m.c)(p.U,{freeSolo:!0,autoSelect:!0,multiple:!0,name:"push_audio_tracks.".concat(r,".channels"),value:(null!==(n=t.channels)&amp;&amp;void 0!==n?n:[]).map(String),label:s("audioTracks.channels"),items:[],"data-testid":"audio-tracks-channels-".concat(r),docDescription:so.a.schemas.push_audio_track.properties.channels.description,disabled:i})),Object(m.c)(p.ib,{item:!0,xs:12,sm:8,lg:3},Object(m.c)(p.U,{freeSolo:!0,name:"push_audio_tracks.".concat(r,".sample_type"),label:s("audioTracks.sample_type"),items:Pd,"data-testid":"audio-tracks-sample_type-".concat(r),docDescription:so.a.schemas.push_audio_track.properties.sample_type.description,disabled:i})),Object(m.c)(p.ib,{item:!0,xs:6,sm:6,lg:2},Object(m.c)(p.mb,{"aria-label":"delete",size:"small",color:"secondary",onClick:function(){return e.remove(r)},"data-testid":"audio-tracks-".concat(r,"-delete"),className:c.deleteSettingsButton,disabled:i},Object(m.c)(Td,{fontSize:"small"})))))})))}})},Id=/^[A-Za-z0-9_]*$/,Ad=function(){return ao.c().nullable().integer("validators.mustBeInteger").typeError("shouldBeNumberError").transform((function(e,t){return Object(B.b)(t)?null:Number(t)}))},Dd=function(){return Ad().min(so.a.schemas.psi_version.minimum,"multiplexer.validators.versionError").max(so.a.schemas.psi_version.maximum,"multiplexer.validators.versionError")},Ed=function(){return Ad().min(so.a.schemas.ts_pid.minimum,"multiplexer.validators.pidIdError").max(so.a.schemas.ts_pid.maximum,"multiplexer.validators.pidIdError").transform((function(e,t){return Object(B.b)(t)?null:Number(t)}))},$d=ao.d().shape({pmt:Ed(),pcr:Ed(),media:ao.a().of(ao.d().shape({pid:Ed().required("required"),bitrate:Ad().positive().default(null)}))}),Nd=ao.d().shape({name:ao.e().matches(Id,{message:"multiplexer.validators.nameError"}).required("required"),bitrate:Ad().required("required"),provider:ao.e().nullable().default(null),ts_stream_id:Ad(),versions:ao.d().shape({psi:Dd(),pat:Dd(),pmt:Dd(),nit:Dd(),sdt:Dd()}),eit:ao.d().shape({max_bitrate:Ad(),xmltv_url:ao.e().nullable().default(null),intervals_pf:ao.d().shape({actual:Ad(),other:Ad()}),intervals_schedule:ao.d().shape({actual:Ad(),other:Ad()})}),network_name:ao.e().nullable().default(null),network_id:Ad(),original_network_id:Ad(),timeouts:ao.d().shape({media_info:Ad()}),ts_descriptors:ao.a().of(ao.d().shape({tag:ao.c().integer("validators.mustBeInteger").typeError("shouldBeNumberError"),hex:ao.e()})),pushes:ao.a().of(ao.d().shape({url:ao.e().required("required"),pkt_limit:Ad(),depth_limit:Ad()})),time_offsets:ao.a().of(ao.d().shape({country:ao.e().required("required"),region:ao.c().integer("validators.mustBeInteger").typeError("shouldBeNumberError").default(null),local_time_offset:ao.e().nullable().default(null),next_time_offset:ao.e().nullable().default(null)})),programs:ao.a().of(ao.d().shape({program_id:Ad().required("required").min(so.a.schemas.ts_pid.minimum,"multiplexer.validators.programIdError").max(so.a.schemas.ts_pid.maximum,"multiplexer.validators.programIdError"),source:ao.e().nullable().default(null),title:ao.e().nullable().default(null),eit_title:ao.e().nullable().default(null),lcn:Ad(),pids:$d}))}),Ld=function(){return ao.c().positive().nullable().integer("validators.mustBeInteger").typeError("shouldBeNumberError").default(null).transform((function(e,t){return""===t?null:Number(t)}))},Rd=ao.d().shape({url:ao.e(),vb:Ld(),bitrate:Ld(),pnr:Ld(),standby:ao.b(),multicast_loop:ao.b(),video_format:ao.e().nullable().default(null).transform((function(e,t){return""===t?null:t})),pids:$d,push_audio_tracks:ao.a().of(ao.d().shape({track:ao.e().required("required"),sample_type:ao.e().nullable(),channels:ao.a().of(Ld()).required("required")})).nullable().transform((function(e,t){return t&amp;&amp;0===t.length?null:t}))});function qd(e){return(qd="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Md(e){return function(e){if(Array.isArray(e))return Fd(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Fd(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Fd(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Fd(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function Ud(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function zd(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ud(Object(r),!0).forEach((function(t){Bd(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ud(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Bd(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==qd(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==qd(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===qd(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Hd=function(e){var t,r,n=e.media,i=e.sourceIndex,a=e.entity,s=e.mediaNames,c=e.templateConfig,l=Object(j.b)().t,u=!!n.template&amp;&amp;Object(B.b)(n.pushes),f=u?(null==c?void 0:c.pushes)||[]:(null==n?void 0:n.pushes)||[],b=null===(t=f[i])||void 0===t?void 0:null===(r=t.url)||void 0===r?void 0:r.startsWith("dektec"),h=n.name,y=f[i]||{},g=b?{}:{standby:(null==y?void 0:y.standby)||!1,multicast_loop:(null==y?void 0:y.multicast_loop)||!1},v=Object(_.Ab)(),O=Object(_.Db)(),x=Object(_.Yb)(),w=Object(_.Zb)();return Object(m.c)(p.X,{initialValues:zd(zd({},y),g),validationSchema:Rd,onSubmit:function(e,t){var r,n={name:h,pushes:Md(f)},o=function(e){var t=zd({},e),r=function(e){if(e in t){var r=t[e];t[e]=""===r?null:Number(r)}};return r("vb"),r("bitrate"),t}(e);return n.pushes&amp;&amp;(n.pushes[i]=zd(zd({},null==n?void 0:null===(r=n.pushes)||void 0===r?void 0:r[i]),o)),a===d.d.templates?w({params:{name:h},body:n,onSuccess:function(){x()}}):O({params:{name:h},body:n,onSuccess:function(){v()},onError:function(){t.setSubmitting(!1)}})}},(function(e){var t=e.values,r=e.setFieldValue;return Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{mt:1,pb:2},Object(m.c)(p.yb,{to:"/".concat(a,"/").concat(encodeURIComponent(s.join(",")),"/output"),component:Mt.b,color:"primary","data-testid":"back-to-output"},"â† ",l("streamOutputPushOptionsPage.backToOutput"))),Object(m.c)(p.l,{mt:1},Object(m.c)(p.ib,{container:!0,spacing:2,alignItems:"flex-end"},!b&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:12,sm:6,lg:1},Object(m.c)(p.cb,{type:"number",name:"vb",label:l("push-vb"),inputProps:{"data-testid":"push-vb"},disabled:u,docDescription:so.a.schemas.stream_push_mpegts_base.properties.vb.description})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,lg:1},Object(m.c)(p.cb,{type:"number",name:"bitrate",label:l("push-bitrate"),inputProps:{"data-testid":"push-bitrate"},disabled:u,docDescription:so.a.schemas.stream_push_mpegts_base.properties.bitrate.description})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,lg:1},Object(m.c)(p.cb,{type:"number",name:"pnr",label:l("push-pnr"),inputProps:{"data-testid":"push-pnr"},disabled:u,docDescription:so.a.schemas.stream_push_mpegts_base.properties.pnr.description})),Object(m.c)(p.ib,{item:!0,xs:12,lg:4},Object(m.c)(p.V,{name:"standby",label:l("push-standby"),"data-testid":"push-standby",disabled:u,docDescription:so.a.schemas.stream_push_udp_base.properties.standby.description}),Object(m.c)(p.l,{ml:2,display:"inline-flex"},Object(m.c)(p.V,{name:"multicast_loop",label:l("push-multicast_loop"),"data-testid":"push-multicast",disabled:u,docDescription:so.a.schemas.stream_push_udp_base.properties.multicast_loop.description}))),Object(m.c)(p.ib,{item:!0,xs:12,container:!0,spacing:2},Object(m.c)(Sd,{values:t,index:0,setFieldValue:r,disabled:u}))),b&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12,container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,sm:8,lg:3},Object(m.c)(p.ab,{fullWidth:!0,name:"video_format",label:l("push-video_format"),items:[{label:l("not-selected"),value:""}].concat(Md(Sc.J)),"data-testid":"push-video_format"})),Object(m.c)(Cd,{disabled:u,media:n}))))))}))},Vd=function(e){var t=e.entity,r=e.mediaNames,n="/".concat(t,"/").concat(encodeURIComponent(r.join(",")),"/output");return Object(m.c)(U.Switch,null,Object(m.c)(U.Route,{path:n,render:function(){return Object(m.c)(rd,e)},exact:!0}),Object(m.c)(U.Route,{path:"".concat(n,"/:index/options"),render:function(t){return Object(m.c)(Hd,(r=e,n=t,As()(r,{sourceIndex:{$set:parseInt(n.match.params.index,10)},$merge:n})));var r,n}}))},Wd=function(e){var t=e.config,r=e.media,n=e.onConfigSave,o=e.onConfigChange,i=e.isConfigSaving,a=e.isConfigChanged,s=e.getConfigDelta,c=e.entity,l=e.isTemplate,p=e.configOverride,u=e.templateConfig,d=e.isStream,f=e.configEffective,b=e.mediaNames,h=o();return r?Object(m.c)("div",{"data-testid":"stream-output"},Object(m.c)(Vd,{media:r,mediaNames:b,onConfigChange:h,onConfigSave:n,isConfigSaving:i,isConfigChanged:a,config:t,getConfigDelta:s,entity:c,isTemplate:l,configOverride:p,templateConfig:u,isStream:d,configEffective:f})):null};Wd.defaultProps={media:void 0,isTemplate:!1,configOverride:null,templateConfig:null,isStream:!1};var Gd=Wd,Kd=r(464),Yd=function(e){return e.target?F.a(["target","value"])(e):e},Jd=q.a(Object(Lu.d)(void 0),Yd),Qd=q.a(ur.a([[Ke.a,fr.a(null)],[mr.a,dr.a]]),Yd),Xd=r(623),Zd=r.n(Xd),em=["defaultValue","label","onChange","validate","isRequired"];function tm(){return(tm=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function rm(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}function nm(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return om(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return om(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function om(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var im=/(\d+)([g|t|p]?i?b?)/i,am=function(e){return(e?Zd()(e).format("0ib"):"").replace("i","")},sm=function(e){if(e){var t=nm(e.match(im),3),r=t[1],n=t[2],o=(n.toLowerCase().startsWith("g")?"GiB":n.toLowerCase().startsWith("t")&amp;&amp;"TiB")||n.toLowerCase().startsWith("p")&amp;&amp;"PiB"||"GiB";return Zd()("".concat(r).concat(o)).value()}return null},cm=function(e,t){var r=im.test(e),n=Ke.a(e),o=r||!t&amp;&amp;n;return o||console.error("bytesValueInput.errorMessage",e),{isValid:o,validationError:o?"":"bytesValueInput.errorMessage"}},lm=function(e){var t=e.defaultValue,r=e.label,n=e.onChange,o=e.validate,i=e.isRequired,a=rm(e,em),s=Object(j.b)().t;return Object(m.c)(Sr,tm({},a,{onChange:n,defaultValue:t,label:r,validate:o,isRequired:i,getUnitString:am,getUnitValue:sm,validateUnitString:cm,helperText:s("bytesValueInput.availableSizeFormats")}))};lm.defaultProps={label:null,validate:fr.a({isValid:!0}),isRequired:!1,defaultValue:null,dataTestIdLabel:""};var pm=function(e){var t=e.stream,r=e.onCacheChange,n=e.streamName,o=e.templateConfig,i=e.disabled;return Object(m.c)(p.ib,{container:!0},Object(m.c)(p.ib,{item:!0,xs:12,md:11,lg:8,container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,sm:6},Object(m.c)(p.fc,{templateData:o,path:["cache","path"],value:F.a(["cache","path"])(t)||ar.a("",["cache","path"])(o),onChange:r(["path"],Qd),disabled:i,docDescription:so.a.schemas.cache_spec.properties.path.description})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6},F.a(["cache","path"])(t)||F.a(["cache","path"])(o)?Object(m.c)("div",null,Object(m.c)(lm,{entity:"dvr",path:["cache","storage_limit"],defaultValue:F.a(["cache","storage_limit"])(t)||F.a(["cache","storage_limit"])(o),onChange:r(["storage_limit"],dr.a),streamName:n,disabled:i,docDescription:so.a.schemas.cache_spec.properties.storage_limit.description}),Object(m.c)(Rr,{entity:"dvr",path:["cache","expiration"],defaultValue:F.a(["cache","expiration"])(t)||F.a(["cache","expiration"])(o),onChange:r(["expiration"],dr.a),streamName:n,disabled:i,docDescription:so.a.schemas.cache_spec.properties.expiration.description})):"")))};pm.defaultProps={cache:{},streamName:"",templateConfig:void 0,isStream:!1};var um=pm,dm=r(610),mm=r(312);function fm(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return bm(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return bm(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bm(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var hm=function(e){var t=e.dvr,r=e.onValueChange,o=e.disabled,i=e.templateDvr,a=Object(j.b)().t,s=fm(Object(n.useState)(""),2),c=s[0],l=s[1];return Object(m.c)("div",null,Object(m.c)(p.fc,{templateData:i,entity:"dvr",path:["disk_usage_limit"],value:t.disk_usage_limit||$o.a("","disk_usage_limit")(i),type:"number",onChange:function(e){var t=e.target.value;r({path:"disk_usage_limit",getValue:Jd})(e),Object(B.d)(t)&amp;&amp;t&gt;=99?l(a("dvrLimits.warning")):l("")},disabled:o,inputProps:{min:0,max:100},dimension:"%",warning:c,docDescription:so.a.schemas.dvr_base_config.properties.disk_usage_limit.description}),Object(m.c)(p.l,{mt:1},Object(m.c)(lm,{entity:"dvr",path:["storage_limit"],disabled:o,defaultValue:t.storage_limit||Ot.a("storage_limit")(i)||"",onChange:r({path:"storage_limit",getValue:dr.a}),label:a("dvr-storage_limit"),docDescription:so.a.schemas.dvr_base_config.properties.storage_limit.description})),Object(m.c)(p.l,{mt:1},Object(m.c)(Rr,{entity:"dvr",path:["expiration"],disabled:o,defaultValue:t.expiration||Ot.a("expiration")(i)||"",onChange:r({path:"expiration",getValue:dr.a}),label:a("dvr-expiration"),docDescription:so.a.schemas.dvr_base_config.properties.expiration.description})))};hm.defaultProps={disabled:!1,templateDvr:null};var ym=hm,gm=function(e){var t=e.dvr,r=e.onValueToggle,n=e.onValueChange,o=e.disabled,i=e.templateDvr,a=Object(j.b)().t;return Object(m.c)(p.ib,{container:!0,item:!0,xs:12,spacing:1},Object(m.c)(p.ib,{item:!0,xs:4},Object(m.c)("div",{style:{display:"flex",justifyContent:"start",alignItems:"center"}},Object(m.c)(p.R,{control:Object(m.c)(p.s,{disabled:o||xt.a(t.dvr_replicate)&amp;&amp;Object(B.d)(Ot.a("dvr_replicate")(i)),checked:t.dvr_replicate||Ot.a("dvr_replicate")(i)||!1,onChange:r({path:"dvr_replicate"}),color:"primary",inputProps:{"data-testid":"dvrReplicate"}}),label:a("dvrReplicate.dvrReplicateLabel"),docDescription:so.a.schemas.dvr_base_config.properties.dvr_replicate.description}))),Object(m.c)(p.ib,{item:!0,xs:8},(t.dvr_replicate||Ot.a("dvr_replicate")(i))&amp;&amp;Object(m.c)(p.fc,{templateData:i,type:"number",inputProps:{min:1,max:65535},entity:"dvr",path:["replication_port"],value:t.replication_port||Ot.a("replication_port")(i),onChange:n({path:"replication_port",getValue:Jd}),disabled:o||!t.dvr_replicate&amp;&amp;!Ot.a("dvr_replicate")(i),docDescription:so.a.schemas.dvr_base_config.properties.replication_port.description})))};gm.defaultProps={disabled:!1,templateDvr:null};var vm=gm,_m=function(e){var t=e.dvr,r=e.name,n=e.t;return q.a(ur.a([[Ye.a(!1),fr.a("")],[mr.a,fr.a(n("dvrCustom.warningText"))]]),dm.a([fr.a(Object(B.e)(r)),Ye.a(r)]),vr.a,mm.a(B.e),Do.a("/"),$o.a("","root"))(t)},Om=function(e){var t=e.handleDvrDelete,r=e.dvrReference,n=e.onDvrReferenceChange,i=e.onDvrValueChange,a=e.onDvrValueToggle,s=e.dvr,c=e.name,l=e.templateConfig,u=e.dvrs,d=e.disabled,f=Object(j.b)().t,b=hr({dvr:$o.a({},"dvr")(l),dvrs:u}),h=function(e){var t=e.dvrReference,r=e.dvr,n=e.templateDvr;return{isReference:Object(B.d)(t),isCustom:Object(B.d)(r.root)||Object(B.d)(Ot.a("root")(n))}}({dvrReference:r,dvr:s,templateDvr:b}),y=h.isReference,g=h.isCustom,v=g||y?s.root:"",_=g||y?$o.a("","root")(b):"";return Object(m.c)(p.ib,{container:!0},Object(m.c)(p.ib,{container:!0,item:!0,xs:12,md:11,lg:8,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,sm:6,container:!0},Object(m.c)(p.fc,{templateData:g||y?b:null,entity:"dvr",path:["root"],value:v||_,onChange:function(e){var o=e.target.value;o?(Object(B.e)(r)&amp;&amp;n(null),i({path:["root"],getValue:dr.a})(o)):t()},helperText:_m({dvr:s,name:c,t:f})||f("dvrCustom.helperText"),disabled:d,dimension:Object(m.c)(p.mb,{onClick:t,edge:"end",size:"small","data-testid":"remove-value-button"},Object(m.c)(p.q,{fontSize:"small"})),docDescription:so.a.schemas.stream_dvr_specific_spec.properties.root.description}),(g||y)&amp;&amp;Object(m.c)(vm,{dvr:s,templateDvr:b,disabled:d,onValueToggle:a,onValueChange:i})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6},(g||y)&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.fc,{templateData:b,entity:"dvr",path:["copy"],value:s.copy||Ot.a("copy")(b)||"",onChange:i({path:[s.name,"copy"]}),disabled:d}),Object(m.c)(ym,{dvr:s,disabled:d,onValueChange:i,templateDvr:b})))))};Om.defaultProps={dvrReference:void 0,name:"",stream:void 0,templateConfig:void 0,isStream:!1,dvrs:[]};var jm=Om,xm=Object(p.wc)()((function(e){return{text:{fontWeight:e.typography.fontWeightLight}}})),wm=function(e){var t=e.title,r=e.children,n=e.titleVariant,o=e.docDescription,i=xm().classes;return Object(m.c)(p.ib,{container:!0,justifyContent:"space-between"},Object(m.c)(p.ib,{item:!0},Object(m.c)("div",{className:"dvr-title-wrapper"},Object(m.c)(p.mc,{variant:n||"h5",className:i.text},t),o&amp;&amp;Object(m.c)(li.a,{docDescription:o}))),Object(m.c)(p.ib,{item:!0},r))},km=["label","onClick","disabled"];function Sm(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var Pm=Object(p.wc)()((function(e){return{root:{dvrSectionAddButton:{color:e.palette.grey[800]}}}})),Tm=function(e){var t=e.label,r=e.onClick,n=e.disabled,o=Sm(e,km),i=Pm().classes;return Object(m.c)(p.n,{className:i.dvrSectionAddButton,variant:"outlined",onClick:r,"data-testid":o["data-testid"],disabled:n},t,Object(m.c)(p.e,{fontSize:"small"}))};function Cm(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Im(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Im(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Im(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Am=function(e){var t=e?e.toString().padStart(4,"0"):"";return"".concat(t.slice(0,2),":").concat(t.slice(2))},Dm=function(e){var t=e.dvr,r=e.onScheduleRangeValueChange,n=e.onScheduleRangeDelete,i=e.onScheduleRangeAdd,a=e.titleVariant,s=e.dvrIndex,c=e.templateConfig,l=e.disabled,u=Object(j.b)().t,d=F.a(["dvr","schedule"])(c),f=function(e,t,o,i){return Object(m.c)(p.ib,{container:!0,spacing:1,key:"".concat(s,"-").concat(e)},Object(m.c)(p.ib,{item:!0,xs:!0},Object(m.c)(p.fc,{value:Am(t),type:"time",onChange:r(e,0),inputProps:{style:{textAlign:"center"},"data-testid":"dvrScheduleRangeFrom-".concat(e)},disabled:i||l})),Object(m.c)(p.ib,{item:!0,xs:!0},Object(m.c)(p.fc,{value:Am(o),type:"time",onChange:r(e,1),inputProps:{style:{textAlign:"center"},"data-testid":"dvrScheduleRangeTo-".concat(e)},disabled:i||l})),Object(m.c)(p.ib,{container:!0,item:!0,xs:1,justifyContent:"flex-end"},Object(m.c)(p.mb,{"aria-label":"Delete schedule range",title:u("dvrScheduleRanges.removeScheduleRangeButton"),onClick:n(e),"data-testid":"dvrScheduleRangeDelete-".concat(e),disabled:i||l,size:"large"},Object(m.c)(p.B,{fontSize:"small"}))))};return Object(m.c)(o.a.Fragment,null,Object(m.c)("div",{style:{width:"100%",marginBottom:"16px"}},Object(m.c)(wm,{title:u("dvrScheduleRanges.scheduleTitle"),titleVariant:a,docDescription:so.a.schemas.dvr_base_config.properties.schedule.description},Object(m.c)(Tm,{label:u("dvrScheduleRanges.addScheduleRangeButton"),onClick:i(),"data-testid":"dvrScheduleRangeAdd",disabled:l}))),(t.schedule||[]).filter(B.e).map((function(e,t){var r=Cm(e,2),n=r[0],o=r[1];return(f(t,n,o,!1))})),Object(B.b)(t)&amp;&amp;Object(B.e)(Ot.a("dvr")(c))?(d||[]).filter(B.e).map((function(e,t){var r=Cm(e,2),n=r[0],o=r[1];return(f(t,n,o,!0))})):"")};Dm.defaultProps={titleVariant:null,templateConfig:{},isStream:!1};var Em=Dm;function $m(e){return($m="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Nm(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Lm(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Nm(Object(r),!0).forEach((function(t){Rm(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Nm(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Rm(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==$m(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==$m(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===$m(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var qm=function(e){var t=e.dvrs,r=e.stream,n=e.onConfigChange,o=e.templateConfig,i=e.disabled,a=e.product,s=e.changeExternalChangeTimeout,c=e.handleDvrDelete,l=Object(j.b)().t;return Object(m.c)(p.Q,{fullWidth:!0},Object(m.c)(oa.a,{displayEmpty:!0,label:l("dvrPageDvrSelector.globalDvrConfigLabel"),autoWidth:!0,value:F.a(["dvr","reference"])(r)||ar.a("",["dvr","reference"])(o),onChange:function(e){var t=e.target.value;s(),t?n(["dvr"])(a===d.b?{reference:t}:Lm(Lm({},r.dvr),{},{root:null,reference:t})):c()},inputProps:{id:"dvrSelector"},"data-testid":"dvrSelector",HelperDocProps:{docDescription:so.a.schemas.stream_dvr_specific_spec.properties.reference.description},disabled:i},Object(m.c)(p.Gb,{key:"empty",value:null,"data-testid":"reference-empty"},l("not-selected")),t.map((function(e){var t;return Object(m.c)(p.Gb,{key:e.name,value:e.name,"data-testid":"reference-".concat(null!==(t=e.name)&amp;&amp;void 0!==t?t:"")},e.name)}))),a!==d.b&amp;&amp;(null==r?void 0:r.named_by)!==st.d.external&amp;&amp;Object(m.c)(p.yb,{to:"/config/dvrs",component:Mt.b,color:"primary","data-testid":"edit-dvr-config-link"},l("dvrPageDvrSelector.editDvrConfiguration")))};qm.defaultProps={dvrs:void 0,stream:void 0,templateConfig:void 0,onConfigChange:void 0,isStream:!1};var Mm=function(e){var t=e.isConfigChanged,r=e.onConfigResetChanges,n=Object(j.b)().t;return Object(m.c)("div",{style:{marginTop:"16px"}},Object(m.c)(p.ib,{container:!0,spacing:1},Object(m.c)(p.ib,{item:!0},Object(m.c)(p.n,{variant:"contained",onClick:r,disabled:!t,"data-testid":"dvrResetButton"},n("reset")))))};function Fm(e){return(Fm="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Um(e){return function(e){if(Array.isArray(e))return Gm(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Wm(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function zm(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Bm(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?zm(Object(r),!0).forEach((function(t){Hm(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):zm(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Hm(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Fm(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Fm(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Fm(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Vm(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||Wm(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Wm(e,t){if(e){if("string"==typeof e)return Gm(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Gm(e,t):void 0}}function Gm(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Km=[["media","name"],["media","dvr"],["media","dvr","reference"],["media","cache"],["media","named_by"],["dvrs"],["isConfigChanged"],["isConfigSaving"],["isLoadingDvrs"],["templateConfig"],["openModal"],["externalChangeTimeout"]],Ym=function(e){var t,r=e.entity,i=e.hideSettings,a=e.onConfigChange,s=e.onConfigResetChanges,c=e.isConfigSaving,l=e.isConfigChanged,f=e.media,b=e.isTemplate,h=e.templateConfig,y=e.mediaNames,g=e.shouldRenderTimeline,v=Object(j.b)().t,O=Ge()().match,x=decodeURIComponent(ar.a("",["params","names"])(O)),w=Object(n.useContext)(u.c),k=Vm(Object(n.useState)(!1),2),S=k[0],P=k[1],T=Vm(Object(n.useState)(!1),2),C=T[0],I=T[1],A=Object(_.E)(),D=A.data,E=A.isLoading,$=$o.a([],"dvrs")(D),N=function(e){return function(t){Object(B.b)(y)||(r===d.d.streams||b?a()(e)(t):a(e)(t))}},L=function(){P(!1)},R=function(){I(!0),setTimeout((function(){I(!1)}),100)},q=f,M=q.dvr||{},U=function(){N([])(Bm(Bm({},f),{},{dvr:null,cache:null}))},z=Object(B.b)(Ot.a("dvr")(f))&amp;&amp;Object(B.e)(Ot.a("dvr")(h));return Object(m.c)(at,{id:"DvrPage",paths:Km,propsToCheck:{media:f,dvrs:$,isConfigChanged:l,isConfigSaving:c,isLoadingDvrs:E,templateConfig:h,openModal:S,externalChangeTimeout:C}},Object(B.e)(q)?Object(m.c)("div",{"data-testid":"dvrPage"},b&amp;&amp;Object(m.c)(p.l,{my:1},Object(m.c)(Ps,null)),!i&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{container:!0},Object(m.c)(p.ib,{item:!0,xs:12},g&amp;&amp;Object(m.c)(p.l,{mt:2},Object(m.c)(p.Jb,{label:v("dvr-move-player-notification"),color:"info",localStorageKey:"dvrMoving",removable:!0})),Object(m.c)(p.l,{display:"flex",alignItems:"center",mt:2},Object(B.b)(Ot.a("dvr")(f))&amp;&amp;Object(B.e)(Ot.a("dvr")(h))&amp;&amp;Object(m.c)(p.n,{color:"primary",variant:"contained","data-testid":"dvr-copy-button",onClick:function(){N([])(Bm(Bm({},f),{},{dvr:lt.a(Ot.a("dvr")(h)),cache:lt.a(Ot.a("cache")(h))}))},size:"small"},v("dvrPage.copyDvrButton")),Object(B.e)(Ot.a("dvr")(f))&amp;&amp;Object(B.e)(Ot.a("dvr")(h))&amp;&amp;Object(m.c)(p.n,{color:"primary",variant:"contained","data-testid":"dvr-use-button",onClick:function(){P(!0)},size:"small"},v("dvrPage.useDvrFromTemplateButton")))),Object(m.c)(p.ib,{item:!0,xs:12,md:11,lg:8},Object(m.c)(p.l,{mt:2},Object(m.c)(qm,{dvrs:$,stream:q,onConfigChange:N,templateConfig:h,disabled:z||0===$.length,product:w,changeExternalChangeTimeout:R,handleDvrDelete:U})))),w!==d.b&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)("div",{className:"row-height"}),Object(m.c)(jm,{name:q.name||M.reference,dvr:hr({dvr:M,dvrs:$}),dvrReference:null===(t=q.dvr)||void 0===t?void 0:t.reference,onDvrReferenceChange:function(e){var t=arguments.length&gt;1&amp;&amp;void 0!==arguments[1]?arguments[1]:dr.a;N(["dvr","reference"])(t(e))},onDvrValueChange:function(e){var t=e.path,r=e.getValue,n=void 0===r?Yd:r;return function(e){var r=Array.isArray(t)?t.filter(Boolean):[t];N(["dvr"].concat(Um(r)))(n(e))}},onDvrValueToggle:function(e){var t=e.path,r=e.getValue,n=void 0===r?Kd.a:r;return function(){var e=Array.isArray(t)?t.filter(Boolean):[t],r=n(F.a(["dvr"].concat(Um(e)),f));N(["dvr"].concat(Um(e)))(r)}},handleDvrDelete:U,templateConfig:h,stream:q,dvrs:$,disabled:z})),w!==d.b&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{container:!0},Object(m.c)(p.ib,{item:!0,xs:12,md:11,lg:8},Object(m.c)("div",{className:"row-height"}),Object(m.c)("h1",{className:"head-text"},v("dvrPage.ssdDiskCacheTitle")),Object(m.c)("div",{className:"notice-text"},v("dvrPage.ssdDiskCacheTitleNotice")))),Object(m.c)(um,{stream:q,onCacheChange:function(e){var t=arguments.length&gt;1&amp;&amp;void 0!==arguments[1]?arguments[1]:Yd;return function(r){var n=e.filter(Boolean);N(["cache"].concat(Um(n)))(t(r))}},streamName:x,templateConfig:h,disabled:z}),Object(m.c)(p.l,{mt:6},Object(m.c)(p.ib,{container:!0,item:!0,xs:12,lg:6,alignContent:"flex-start"},Object(m.c)(Em,{dvr:M,dvrIndex:null,onScheduleRangeValueChange:function(e,t){return function(r){var n=r.target.value.replace(/:/g,""),o=parseInt(n,10),i=M.schedule.map((function(r,n){return n!==e?r:0===t&amp;&amp;[o,r[1]]||[r[0],o]}));N(["dvr"].concat(["schedule"]))(i)}},onScheduleRangeDelete:function(e){return function(){N(["dvr","schedule"])(M.schedule.filter((function(t,r){return e!==r})))}},onScheduleRangeAdd:function(){return function(){N(["dvr","schedule"])([].concat(Um(M.schedule||[]),[[0,2359]]))}},titleVariant:"h5",templateConfig:h,disabled:z}))),(null==f?void 0:f.named_by)!==st.d.external&amp;&amp;Object(m.c)(p.ib,{container:!0},Object(m.c)(p.ib,{item:!0,xs:12,md:11,lg:8},Object(m.c)("div",{className:"row-height"}),Object(m.c)("div",{className:"row-height flex-end"},Object(m.c)(Mm,{isConfigChanged:Object(B.e)(f)&amp;&amp;l,onConfigResetChanges:s})),Object(m.c)("div",{className:"row-height"})))))):"",Object(m.c)(p.C,{open:S,handleClose:L,onDelete:function(){N([])(Bm(Bm({},f),{},{dvr:null,cache:null})),L(),R()},title:v("dvrPage.useDvrFromTemplateConfirm"),notice:v("dvrPage.useDvrFromTemplateNotice"),removeButtonText:v("dvrPage.useDvrFromTemplateButton")}))};Ym.defaultProps={shouldRenderTimeline:!1,entityPath:["streams"],statsPath:null,history:null,hideSettings:!1,renderStreamPageHeader:function(){},isTemplate:!1,templateConfig:null};var Jm=Ym,Qm=r(1697);function Xm(e){return(Xm="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Zm(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function ef(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Zm(Object(r),!0).forEach((function(t){tf(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Zm(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function tf(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Xm(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Xm(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Xm(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var rf=r(239).a((function(e,t){return q.a(yr.a((function(r,n){return e(t[n],n,t)?ef(ef({},r),{},tf({},n,t[n])):r}),{}),gr.a)(t)}))((function(e,t){return Je.a($i.a("_changed"))(t)})),nf=r(397),of=r(406);function af(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return sf(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return sf(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function sf(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var cf=function(e){var t=e.track,r=e.trackId,n=e.onError,i=e.onErrorResolve,a=e.errors,s=e.videoTrackCalc,c=e.video,l=e.isTemplate,p=e.handleChange,u=Object(j.b)().t,d=af(o.a.useState((function(){return Object(B.d)(t.sar)&amp;&amp;t.sar.x&amp;&amp;t.sar.y?"".concat(t.sar.x,":").concat(t.sar.y):Object(B.e)(s.sar_width)&amp;&amp;Object(B.e)(s.sar_height)?"".concat(s.sar_width,":").concat(s.sar_height):""})),2),f=d[0],b=d[1],h=Object(Ds.b)(a[Object(ge.c)(["video",r,"sar"])],u);return Object(m.c)(il,{entity:"transcoder",path:["sar"],index:r,value:f,onChange:function(e){b(e.target.value);var t=e.target.value.split(":");if(t.length&gt;1)if(t.includes("_"))n(["video",r,"sar"])(u("specifyAllSettingsError"));else{var o=!1;t.forEach((function(e){0===Number(e)&amp;&amp;(o=!0,n(["video",r,"sar"])(u("shouldBeGreaterThanZeroError")))})),o||(i(["video",r,"sar"])(),function(e){var t=lt.a(c);t[r].sar={x:e[0],y:e[1]},p(t)}(t))}else{i(["video",r,"sar"])();var a=lt.a(c);delete a[r].sar,p(a)}},maskParams:{mask:"9[9[9]]:9[9[9]]",greedy:!1},error:h,isCalculatedValue:Object(B.b)(t.sar)&amp;&amp;Object(B.e)(s.sar_width)&amp;&amp;Object(B.e)(s.sar_height),disabled:l,docDescription:so.a.schemas.transcoder_track_info_video.allOf[1].properties.sar.description})},lf=r(857),pf=function(e){var t=Number(e).toString(16);return t.length&lt;2&amp;&amp;(t="0".concat(t)),t},uf=function(e){var t=e.r,r=e.g,n=e.b;if(!(xt.a(t)||xt.a(r)||xt.a(n))){var o=pf(e.r),i=pf(e.g),a=pf(e.b);return"#".concat(o,i,a)}return e},df=r(31),mf=r(242);r(1520);function ff(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return bf(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return bf(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bf(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var hf=Object(p.wc)()((function(e){return{popover:{position:"absolute",zIndex:2,top:e.spacing(7)}}})),yf=df.J.video.size,gf=function(e){var t=e.track,r=e.trackId,i=e.externalChangeTimeout,a=e.video,s=e.isTemplate,c=e.handleChange,l=hf().classes,u=ff(Object(n.useState)(!1),2),d=u[0],f=u[1],b=ff(Object(n.useState)((function(){return{hex:xt.a(t.size)||xt.a(t.size.background)?"":uf(t.size.background)}})),2),h=b[0],y=b[1];Object(n.useEffect)((function(){t.size&amp;&amp;t.size.background&amp;&amp;t.size.background!==h&amp;&amp;i&amp;&amp;y({hex:uf(t.size.background)})}),[t,i]);return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.fc,{dimension:Object(m.c)(p.l,{style:{background:h.hex},className:"colorpicker-adornment"}),path:["hex"],value:h.hex,entity:"track",index:r,onChange:function(e){y({hex:e.target.value});var t=lt.a(a);t[r].size={width:Ot.a("width")(t[r].size),height:Ot.a("height")(t[r].size),strategy:Ot.a("strategy")(t[r].size),background:yf.background(e.target.value)},c(t)},validation:function(e){return Object(mf.b)({value:e})},disabled:s,onClick:function(e){Object(sr.d)(e),f((function(e){return!e}))}}),d?Object(m.c)("div",{className:l.popover},Object(m.c)("div",{className:"colorpicker-cover",onClick:function(e){Object(sr.d)(e),f(!1)},"data-testid":"video-color-cover-".concat(r)}),Object(m.c)("div",{onClick:sr.d},Object(m.c)(lf.ChromePicker,{disableAlpha:!0,color:h,onChange:function(e){y(e);var t=lt.a(a);t[r].size={width:Ot.a("width")(t[r].size),height:Ot.a("height")(t[r].size),strategy:Ot.a("strategy")(t[r].size),background:yf.background(e.hex)},c(t)}}))):"")},vf=r(516);function _f(e){return function(e){if(Array.isArray(e))return Of(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Of(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Of(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Of(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var jf=df.J.video.profile,xf=function(e,t){return Object(df.B)(e,t)&amp;&amp;df.v||Object(df.C)(e,t)&amp;&amp;df.w||Object(df.D)(e,t)&amp;&amp;df.x||df.v},wf=function(e){var t=e.track,r=e.trackId,n=e.transcoderSettings,o=e.videoTrackCalc,i=e.video,a=e.isTemplate,s=e.handleVideoChange,c=Object(j.b)().t,l=xf(n,r),p=jf(t.profile,n,r),u=Object(B.e)(o.profile)&amp;&amp;l.includes(o.profile.toLowerCase())?o.profile.toLowerCase():"";return Object(m.c)(oa.a,{displayEmpty:!0,label:c("transcoderSettingsVideoTrackDetails.profileLabel"),"data-testid":"video-profile-".concat(r),value:p||u||"",onChange:function(e){var t=lt.a(i);t[r].profile=jf(e.target.value,n,r),xt.a(t[r].profile)&amp;&amp;delete t[r].profile,s(t)},items:[["",c("not-selected")]].concat(_f(l.map((function(e){return[e,e]})))),isCalculatedValue:!jf(t.profile,n,r)&amp;&amp;Object(B.e)(o.profile),HelperDocProps:{docDescription:so.a.schemas.transcoder_track_info_video.allOf[1].properties.profile.description},disabled:a})};function kf(e){return(kf="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Sf(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==kf(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==kf(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===kf(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Pf=df.J.video,Tf=Pf.codec,Cf=Pf.level,If=Pf.profile,Af=function(e){var t=e.track,r=e.trackId,n=e.videoTrackCalc,o=e.transcoderSettings,i=e.video,a=e.isTemplate,s=e.handleChange,c=Object(j.b)().t;return Object(m.c)(oa.a,{"data-testid":"video-codec-".concat(r),label:c("transcoderSettingsVideoTrackDetails.codecLabel"),value:t.codec||n.codec||null,onChange:function(e){var n=e.target.value,a=lt.a(i);a[r].codec=Tf(n);var c=Object(vf.b)({video:Sf({},r,{codec:n})},r),l=Cf(t.level,o,r);l&amp;&amp;!c.includes(l.toString())&amp;&amp;delete a[r].level;var p=xf({video:Sf({},r,{codec:n})},r),u=If(t.profile,o,r);u&amp;&amp;!p.includes(u.toLowerCase())&amp;&amp;delete a[r].profile,s(a)},items:df.l.map((function(e){return[e,e]})),isCalculatedValue:!t.codec&amp;&amp;Object(B.e)(n.codec),HelperDocProps:{docDescription:so.a.schemas.track_info_video.allOf[2].properties.codec.description},disabled:a})};function Df(e){return function(e){if(Array.isArray(e))return Ef(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Ef(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ef(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ef(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var $f=q.a(nf.a(1e3),Object(Lu.d)(null)),Nf=df.J.video,Lf=Nf.bframes,Rf=Nf.size,qf=q.a(Lf,Object(Lu.b)(0)),Mf=function(e){var t=e.number,r=Object(j.b)().t;return Object(m.c)(p.l,{fontSize:16,fontWeight:500},r("transcoderSettingsVideoTrackSummary.videoTrackTitle",{number:t}))},Ff=function(e){var t=e.onTranscoderCopyTrack,r=e.onTranscoderRemoveTrack,n=e.trackId,o=e.isTemplate,i=Object(j.b)().t;return Object(m.c)(p.l,{my:{xs:1,sm:0}},Object(m.c)(p.n,{variant:"text",color:"primary",size:"small",onClick:t,"data-testid":"video-duplicate-".concat(n),disabled:o},i("duplicate")),Object(m.c)(p.n,{variant:"text",color:"red",size:"small",onClick:r,"data-testid":"video-remove-".concat(n),disabled:o},i("remove")))},Uf=function(e){var t=e.track,r=e.trackId,n=e.onTranscoderCopyTrack,o=e.onTranscoderRemoveTrack,i=e.onError,a=e.onErrorResolve,s=e.errors,c=e.videoTrackCalc,l=e.externalChangeTimeout,u=e.transcoderSettings,d=e.isTemplate,f=e.handleVideoChange,b=Object(j.b)().t,h=xt.a(t.size)||t.size.strategy&amp;&amp;t.size.strategy!==df.d||xt.a(t.size.width)&amp;&amp;xt.a(t.size.height),y=$o.a([],"video")(u),g=function(e){var t=e.field,n=e.displayEmpty,o=void 0!==n&amp;&amp;n,i=e.value,a=e.change,s=e.items,c=e.disabled,l=e.docDescription;return Object(m.c)(oa.a,{displayEmpty:o,label:b("transcoderSettingsVideoTrackDetails.".concat(t)),"data-testid":"video-".concat(t,"-").concat(r),value:i,onChange:a,items:s,HelperDocProps:{docDescription:l},disabled:c})};return Object(m.c)(p.ib,{container:!0,spacing:0},Object(m.c)(p.l,{display:"flex",alignItems:"center",width:80,mb:1},Object(m.c)(Mf,{number:Object(Lu.d)(0,r)+1})),Object(m.c)(p.lb,{smUp:!0},Object(m.c)(p.l,{display:"flex",alignItems:"center",style:{marginLeft:"-5px"},mb:1},Object(m.c)(Ff,{onTranscoderCopyTrack:n,onTranscoderRemoveTrack:o,trackId:r,isTemplate:d}))),Object(m.c)(p.lb,{only:"xs"},Object(m.c)(p.ib,{container:!0,item:!0,xs:!0,justifyContent:"flex-end",alignItems:"center"},Object(m.c)(Ff,{onTranscoderCopyTrack:n,onTranscoderRemoveTrack:o,trackId:r,isTemplate:d}))),Object(m.c)(p.ib,{container:!0,item:!0,xs:12,spacing:2,alignItems:"unset"},Object(m.c)(p.ib,{container:!0,item:!0,xs:6,sm:2,lg:1},Object(m.c)(p.fc,{dimension:"K",path:["bitrate"],value:Object(df.z)(t)?"copy":Object(B.f)(t.bitrate)&amp;&amp;t.bitrate/1e3||c.bitrate,entity:"track",index:r,onChange:Object(df.z)(t)?fr.a(void 0):function(e){var t=lt.a(y);t[r].bitrate=$f(e.target.value),f(t)},validation:function(e){return Object(mf.a)({value:e})},disabled:d,type:Object(df.z)(t)?"text":"number",isCalculatedValue:!Object(df.z)(t)&amp;&amp;!Object(B.e)(t.bitrate)&amp;&amp;Object(B.e)(c.bitrate),docDescription:so.a.schemas.transponder_pid.properties.bitrate.description})),Object(m.c)(p.ib,{container:!0,item:!0,xs:6,sm:2,lg:1},Object(m.c)(p.fc,{path:["size","width"],value:Object(sr.b)(t)?c.width:Object(df.K)(Object(sr.c)(t)),entity:"track",index:r,onChange:function(e){var t=lt.a(y);t[r].size=t[r].size||{},t[r].size.width=e.target.value,xt.a(t[r].size)&amp;&amp;delete t[r].size,f(t)},onBlur:function(){var e=lt.a(y);e[r].size=Object(df.L)("width",t.size)(F.a([r,"size","width"])(e)),xt.a(e[r].size)&amp;&amp;delete e[r].size,f(e)},validation:function(e){return Object(mf.e)({value:e})},disabled:d,type:"number",isCalculatedValue:Object(sr.b)(t)&amp;&amp;Object(B.e)(c.width),docDescription:so.a.schemas.tc_size.properties.width.description})),Object(m.c)(p.ib,{container:!0,item:!0,xs:6,sm:2,lg:1},Object(m.c)(of.a,{track:t,trackId:r,onErrorResolve:a,onError:i,errors:s,videoTrackCalc:c,video:y,isTemplate:d,handleChange:f})),Object(m.c)(p.ib,{container:!0,item:!0,xs:6,sm:3,lg:2},Object(m.c)(Af,{track:t,trackId:r,videoTrackCalc:c,transcoderSettings:u,video:y,isTemplate:d,handleChange:f})),Object(m.c)(p.ib,{container:!0,item:!0,xs:6,sm:4,lg:2},g({field:"bframes",displayEmpty:!0,value:Lf(t.bframes)||"",change:function(e){var t=lt.a(y);t[r].bframes=qf(e.target.value),xt.a(t[r].bframes)&amp;&amp;delete t[r].bframes,f(t)},items:[["",b("not-selected")]].concat(Df(df.k.map((function(e){return[e[0],e[1]]})))),disabled:d,docDescription:so.a.schemas.tc_video_opts.properties.bframes.description})),Object(m.c)(p.ib,{container:!0,item:!0,xs:6,sm:2,lg:1},Object(m.c)(cf,{track:t,trackId:r,onErrorResolve:a,onError:i,errors:s,videoTrackCalc:c,video:y,isTemplate:d,handleChange:f})),Object(m.c)(p.ib,{container:!0,item:!0,xs:6,sm:3,lg:2},g({field:"strategy",value:F.a(["size","strategy"])(t),change:function(e){var t=lt.a(y);t[r].size={width:Ot.a("width")(t[r].size),height:Ot.a("height")(t[r].size),strategy:Rf.strategy(e.target.value),background:Rf.background(e.target.value===df.d?df.c:"blur")},f(t)},items:df.i.map((function(e){return[e,e]})),disabled:(xt.a(t.size)||xt.a(t.size.width)&amp;&amp;xt.a(t.size.height))&amp;&amp;(xt.a(t.sar)||!xt.a(t.sar)&amp;&amp;1===t.sar.x&amp;&amp;1===t.sar.y)||d,docDescription:so.a.schemas.tc_size.properties.strategy.description})),!h&amp;&amp;Object(m.c)(p.ib,{container:!0,item:!0,xs:6,sm:3,lg:2,style:{position:"relative"}},Object(m.c)(gf,{track:t,trackId:r,onError:i,onErrorResolve:a,errors:s,externalChangeTimeout:l,video:y,isTemplate:d,handleChange:f}))))};function zf(e){return(zf="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Bf(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==zf(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==zf(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===zf(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}Uf.defaultProps={externalChangeTimeout:!1,onError:function(){},onErrorResolve:function(){},errors:{},onTranscoderCopyTrack:function(){},onTranscoderRemoveTrack:function(){},onTranscoderChange:function(){},isTemplate:!1};var Hf=function(e,t){return F.a([e,"path_changed"])(t)},Vf="TOP_LEFT",Wf="TOP_RIGHT",Gf="CENTER",Kf="BOTTOM_LEFT",Yf="BOTTOM_RIGHT",Jf=Bf(Bf(Bf(Bf(Bf({},Vf,{position:"tl",x:"10",y:"10"}),Wf,{position:"tr",x:"10",y:"10"}),Gf,{position:"c",x:"10",y:"10"}),Kf,{position:"bl",x:"10",y:"10"}),Yf,{position:"br",x:"10",y:"10"}),Qf=function(e,t){var r=t.position;return Jf[e]&amp;&amp;r===Jf[e].position},Xf=function(e,t){return Qf(Vf,e[t]||{})&amp;&amp;Vf||Qf(Wf,e[t]||{})&amp;&amp;Wf||Qf(Gf,e[t]||{})&amp;&amp;Gf||Qf(Kf,e[t]||{})&amp;&amp;Kf||Qf(Yf,e[t]||{})&amp;&amp;Yf||null},Zf=function(e){var t=e.track,r=e.trackId,n=e.video,i=e.isTemplate,a=e.handleVideoChange,s=Object(j.b)().t,c="alogo"in t?"alogo":"logo",l=function(e,t){return ar.a("",[e,"path"])(t)}(c,t),u=Object(B.e)(l)&amp;&amp;l.startsWith("@")?l.slice(1):l,d=o.a.useCallback((function(e){var o="@".concat(e).trim(),i=lt.a(n);i[r][c]=Object(B.e)(i[r][c])?i[r][c]:{},i[r][c].path=o,Hf(c,t)&amp;&amp;Object(B.b)(l.trim())&amp;&amp;delete i[r][c],a(i)}),[a,r,c,t,l,Hf]),f=function(){var e=lt.a(n);delete e[r][c],a(e)},b=function(e){var t=lt.a(n);t[r][e]=t[r][c],delete t[r][c],a(t)};return Object(m.c)(p.l,{width:"100%",display:"flex",justifyContent:"flex-start",alignItems:"flex-end",flexWrap:{xs:"wrap",md:"nowrap"},mt:{xs:3,sm:1}},Object(m.c)(_u,{buttonTitle:s("transcoderSettingsVideoTrackLogo.selectLabel"),buttonWidth:12,buttonColor:"primary",logo:u,onChange:d,name:"video-".concat(c,"-").concat(r),buttonSize:"small",variant:"outlined",isTemplate:i}),Object(m.c)(p.lb,{mdUp:!0},Object(m.c)(p.l,{ml:1},Object(m.c)(p.n,{"aria-label":s("remove"),color:"secondary",variant:"outlined",onClick:f,"data-testid":"video-".concat(c,"-remove-").concat(r),size:"small",disabled:i},s("transcoderSettingsVideoTrackLogo.removeLogo")))),Object(m.c)(p.l,{ml:{xs:0,sm:1},mt:{xs:1,sm:0},minWidth:"35%"},Object(m.c)(p.fc,{disabled:!0,entity:"track",index:r,path:[c],value:u,docDescription:so.a.schemas.tc_video_opts.properties.logo.description})),Object(m.c)(p.l,null,Object(m.c)(p.R,{label:s("transcoderSettingsVideoTrackLogo.resize"),control:Object(m.c)(p.s,{onChange:function(){b("logo"===c?"alogo":"logo")},checked:"alogo"===c,inputProps:{"data-testid":"video-alogo-resize-".concat(r)}})})),Object(m.c)(p.l,{ml:{xs:0,sm:1},mt:{xs:1,md:0}},Object(m.c)(oa.a,{width:"200px",displayEmpty:!0,disabled:Object(B.b)(l)||i,label:s("transcoderSettingsVideoTrackLogo.positionLabel"),"data-testid":"video-".concat(c,"-position-").concat(r),value:Xf(t,c)||"",onChange:function(e){var t=e.target.value,o=lt.a(n),i=F.a([r,c])(o);o[r][c]={path:Ot.a("path",i),r:Ot.a("r",i),position:Jf[t]?Jf[t].position:null,x:Jf[t]?Jf[t].x:null,y:Jf[t]?Jf[t].y:null},xt.a(o[r][c].position)&amp;&amp;delete o[r][c].position,xt.a(o[r][c].x)&amp;&amp;delete o[r][c].x,xt.a(o[r][c].y)&amp;&amp;delete o[r][c].y,a(o)},items:[["",s("not-selected")],[Vf,s("transcoderSettingsVideoTrackLogo.positionTopLeftCorner")],[Wf,s("transcoderSettingsVideoTrackLogo.positionTopRightCorner")],[Gf,s("transcoderSettingsVideoTrackLogo.positionCenter")],[Kf,s("transcoderSettingsVideoTrackLogo.positionBottomLeftCorner")],[Yf,s("transcoderSettingsVideoTrackLogo.positionBottomRightCorner")]],HelperDocProps:{docDescription:so.a.schemas.tc_logo.properties.position.description}})),Object(m.c)(p.lb,{mdDown:!0},Object(m.c)(p.l,{ml:1},Object(m.c)(p.mb,{"aria-label":s("remove"),color:"secondary",onClick:f,"data-testid":"video-".concat(c,"-remove-").concat(r),size:"small",disabled:i},Object(m.c)(p.B,{fontSize:"small"})))))};function eb(e){return function(e){if(Array.isArray(e))return tb(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return tb(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return tb(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tb(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var rb=function(e){return Object(df.E)(e)&amp;&amp;df.p||Object(df.F)(e)&amp;&amp;df.q||Object(df.A)(e)&amp;&amp;df.o||df.n},nb=df.J.video,ob=nb.interlace,ib=nb.preset,ab=nb.refs,sb=nb.open_gop,cb=q.a(ab,Object(Lu.b)(null)),lb=function(e){var t=e.track,r=e.trackId,o=e.onError,i=e.onErrorResolve,a=e.errors,s=e.videoTrackCalc,c=e.transcoderSettings,l=e.onRemoveByKey,f=e.onVideoTrackExtraChange,b=e.canInterlace,h=e.canLogo,y=e.isTemplate,g=e.handleVideoChange,v=Object(j.b)().t,_=Object(n.useContext)(u.c),O=$o.a([],"video")(c),x=function(e,t,n){return function(o){var i=lt.a(O);i[r][e]=t(n?o.target.checked:o.target.value),xt.a(i[r][e])&amp;&amp;delete i[r][e],g(i)}},w=function(e){var t=e.field,n=e.value,o=e.method,i=e.items;return Object(m.c)(oa.a,{displayEmpty:!0,"data-testid":"video-".concat(t,"-").concat(r),label:v("transcoderSettingsVideoTrackDetails.".concat(t)),value:n,onChange:x(t,o),items:i,HelperDocProps:{docDescription:so.a.schemas.transcoder_track_info_video.allOf[1].properties[t].description},disabled:y})};return Object(m.c)(p.ib,{container:!0,spacing:1,style:{marginRight:0,width:"100%"}},Object(m.c)(p.ib,{container:!0,item:!0,xs:12,md:12,spacing:1,style:{marginRight:0,width:"100%"},alignItems:"unset"},Object(m.c)(p.ib,{container:!0,item:!0,xs:6,sm:3,lg:2},Object(m.c)(wf,{track:t,trackId:r,videoTrackCalc:s,transcoderSettings:c,video:O,isTemplate:y,handleVideoChange:g})),b&amp;&amp;Object(m.c)(p.ib,{container:!0,item:!0,xs:6,sm:4,lg:2},w({field:"interlace",value:null===t.interlace||void 0===t.interlace?"":t.interlace,method:ob,items:[["",v("not-selected")]].concat(eb(rb(c).map((function(e){return[e[0],e[1]]}))))})),Object(m.c)(p.ib,{container:!0,item:!0,xs:6,sm:3,lg:2},w({field:"preset",value:ib(t.preset)||"",method:ib,items:[["",v("not-selected")]].concat(eb(df.u.map((function(e){return[e,e]}))))})),Object(m.c)(p.ib,{container:!0,item:!0,xs:6,sm:2},w({field:"refs",value:ab(t.refs)||s.refs||"",method:cb,items:[["",v("not-selected")]].concat(eb(df.y.map((function(e){return[e,e]})))),isCalculatedValue:!ab(t.refs)&amp;&amp;Object(B.e)(s.refs)})),Object(m.c)(p.ib,{container:!0,item:!0,xs:6,sm:3,lg:2},Object(m.c)(vf.a,{track:t,trackId:r,transcoderSettings:c,videoTrackCalc:s,video:O,isTemplate:y,handleVideoChange:g})),Object(m.c)(p.ib,{container:!0,item:!0,xs:6,sm:3,lg:1,xl:2},Object(m.c)(na.a,{label:v("transcoderSettingsVideoTrackDetails.openGopLabel"),color:"primary","data-testid":"video-open-gop-".concat(r),checked:!!t.open_gop,onChange:x("open_gop",sb,!0),HelperDocProps:{docDescription:so.a.schemas.transcoder_track_info_video.allOf[1].properties.open_gop.description},style:{position:"relative",left:"-12px"},disabled:y})),h?Object(m.c)(p.ib,{container:!0,item:!0,xs:12},Object(m.c)(Zf,{track:t,trackId:r,video:O,isTemplate:y,handleVideoChange:g})):Object(m.c)(p.lb,{only:"xs"},Object(m.c)(p.ib,{container:!0,item:!0,lg:3})),_!==d.b&amp;&amp;Object(m.c)(p.ib,{container:!0,item:!0,xs:12,lg:9},Object(m.c)(p.l,{mb:1,mt:2,display:"flex",alignItems:"center"},Object(m.c)(p.mc,{variant:"subtitle2"},v("transcoderSettingsVideoTrackDetails.extended")),Object(m.c)(p.kb,{docDescription:so.a.schemas.tc_video_opts.properties.extra.description})),Object(m.c)(ra,{extra:t.extra,onChange:f,onRemoveByKey:l,onError:o,onErrorResolve:i,errors:a,errorPath:["video",r,"extra"],removeVariant:"text",removeSize:"small","data-testid":"transcoderVideoTrackExtraParamsEditor-".concat(r),isTemplate:y}))))};lb.defaultProps={onRemoveByKey:fr.a(void 0),onVideoTrackExtraChange:fr.a(),onError:function(){},onErrorResolve:function(){},errors:{},isTemplate:!1};r(1521);function pb(e){return(pb="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function ub(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function db(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ub(Object(r),!0).forEach((function(t){mb(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ub(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function mb(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==pb(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==pb(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===pb(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function fb(e){return function(e){if(Array.isArray(e))return bb(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return bb(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return bb(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bb(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var hb=df.J.decoder.deinterlace,yb=function(e){var t=e.transcoderSettings,r=e.disabled,n=e.transcoderSettingsTemplate,o=e.isStream,i=e.handleChange,a=Object(j.b)().t,s=Object(B.e)(F.a(["decoder","deinterlace"])(t))?Ot.a("decoder")(t):Ot.a("decoder")(n),c=[[{deinterlace:!1,deinterlaceRate:"frame"},"off","false_frame"],[{deinterlace:!0,deinterlaceRate:"frame"},"on","true_frame"]];(Object(df.E)(t)||Object(df.E)(n))&amp;&amp;(c=[].concat(fb(c),[[{deinterlace:!0,deinterlaceRate:"field"},"on double rate","true_field"],[{deinterlace:"adaptive",deinterlaceRate:"frame"},"adaptive","bob_frame"],[{deinterlace:"adaptive",deinterlaceRate:"field"},"adaptive double rate","bob_field"],[{deinterlace:"yadif",deinterlaceRate:"frame"},"yadif","yadif_frame"]]));var l=function(e,t,r){var n=c.find((function(r){return r[0].deinterlace===e&amp;&amp;r[0].deinterlaceRate===t}));return r?n?n[0]:null:n?n[1]:""},p=l(Ot.a("deinterlace",s),Ot.a("deinterlace_rate",s),!0);return Object(m.c)(oa.a,{"data-testid":"decoder-deinterlace",label:a("transcoderSettingsGeneral.deinterlaceModeLabel"),value:p,onChange:function(e){i({path:["decoder"],value:db(db({},s||{}),{},{deinterlace:hb(e.target.value.deinterlace),deinterlace_rate:e.target.value.deinterlaceRate})})},items:c,HelperDocProps:{docDescription:so.a.schemas.tc_decoder.properties.deinterlace.description,diskValue:l(F.a(["decoder","deinterlace"])(t),F.a(["decoder","deinterlace_rate"])(t)),templateValue:l(F.a(["decoder","deinterlace"])(n),F.a(["decoder","deinterlace_rate"])(n)),showFullHelperInf:o},disabled:r,isCalculatedValue:!1})};function gb(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return vb(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return vb(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function vb(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var _b=function(e){var t=F.a(["decoder","crop"])(e);if(t){var r=t.left,n=t.top,o=t.width,i=t.height;return"".concat(r,":").concat(n,":").concat(o,":").concat(i)}return""},Ob=function(e){var t=e.transcoderSettings,r=e.onError,n=e.onErrorResolve,i=e.errors,a=e.isConfigChanged,s=e.disabled,c=e.transcoderSettingsTemplate,l=e.isStream,p=e.handleChange,u=Object(j.b)().t,d=Object(B.e)(F.a(["decoder","crop"])(t))?Ot.a("decoder")(t):Ot.a("decoder")(c),f=gb(o.a.useState((function(){var e=Ot.a("crop",d);return _b(e)})),2),b=f[0],h=f[1],y=Object(Ds.b)(i[Object(ge.c)(["decoder","crop"])],u);o.a.useEffect((function(){if(!b){var e=Ot.a("crop",d);h(_b(e))}}),[Ot.a("decoder")(c)],Ot.a("decoder")(t)),o.a.useEffect((function(){var e=Ot.a("crop",d);if(e&amp;&amp;!a){var t=e.left,r=e.top,n=e.width,o=e.height;"".concat(t,":").concat(r,":").concat(n,":").concat(o)!==b&amp;&amp;h("".concat(t,":").concat(r,":").concat(n,":").concat(o))}}),[a]);return Object(m.c)(il,{entity:"transcoder",path:["crop"],value:b,onChange:function(e){h(e.target.value);var t=e.target.value.split(":");if(t.length&gt;1)if(t.includes("_"))r(["decoder","crop"])(u("specifyAllSettingsError"));else{var o=!1;t.forEach((function(e){0===Number(e)&amp;&amp;(o=!0,r(["decoder","crop"])(u("shouldBeGreaterThanZeroError")))})),o||(n(["decoder","crop"])(),p({path:["decoder","crop"],value:{left:Number(t[0]),top:Number(t[1]),width:Number(t[2]),height:Number(t[3])}}))}else n(["decoder","crop"])(),p({path:["decoder","crop"],value:null})},maskParams:{mask:"9[9[9[9[9]]]]:9[9[9[9[9]]]]:9[9[9[9[9]]]]:9[9[9[9[9]]]]",greedy:!1},error:y,disabled:s,showFullHelperInf:l,getValueFn:_b,data:t,templateData:c,docDescription:so.a.schemas.tc_decoder.properties.crop.description})},jb=function(e){var t=e.transcoderSettings,r=e.disabled,n=e.streams,o=e.mediaNames,i=e.onError,a=e.onErrorResolve,s=e.transcoderSettingsTemplate,c=e.isStream,l=e.handleChange,u=Object(j.b)().t,d=Object(B.e)(F.a(["global","external"])(t))?Ot.a("global")(t):Ot.a("global")(s),f=df.J.global.external,b=["global","external"],h=f(Ot.a("external",d),!0);return Object(m.c)(p.l,null,Object(m.c)(na.a,{label:u("transcoderSettingsGeneral.speedUpLabel"),color:"primary","data-testid":"global-external",checked:!h,onChange:function(e){(Object(df.E)(t)||Object(df.E)(s))&amp;&amp;(Object(Wr.e)(n,o).every((function(t){return t===!e.target.checked}))?a(b)():i(b)(u("transcoderSettingsGeneral.externalError")));l({path:["global","external"],value:!e.target.checked})},justifyContent:"flex-start",HelperDocProps:{docDescription:so.a.schemas.tc_global.properties.external.description,diskValue:Object(B.d)(f(F.a(["global","external"])(t),null))?String(!f(F.a(["global","external"])(t),null)):null,templateValue:Object(B.d)(f(F.a(["global","external"])(s),null))?String(!f(F.a(["global","external"])(s),null)):null,showFullHelperInf:c},style:{position:"relative",left:"-12px"},disabled:r}))};function xb(e){return(xb="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function wb(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function kb(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?wb(Object(r),!0).forEach((function(t){Sb(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):wb(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Sb(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==xb(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==xb(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===xb(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Pb=df.J.global,Tb=Pb.hw,Cb=Pb.deviceid,Ib=function(e){var t=e.transcoderDevices,r=e.transcoderSettings,n=e.disabled,o=e.onError,i=e.onErrorResolve,a=e.errors,s=e.streams,c=e.mediaNames,l=e.transcoderSettingsTemplate,p=e.isStream,u=e.handleChange,d=Object(j.b)().t,f=r.global,b=["global","external"],h=Object(sr.a)({deviceid:Cb,transcoderSettings:Object(B.e)(F.a(["global","hw"])(r))?r:l,transcoderDevices:t}),y=h.hardwares,g=h.resultHw,v=a[Object(ge.c)(["general","hw"])]?d(a[Object(ge.c)(["general","hw"])].trim()):"",_=function(e){return $o.a([],"currentValueHw")(Object(sr.a)({deviceid:Cb,transcoderSettings:e,transcoderDevices:t}))[1]};return Object(m.c)(oa.a,{fullWidth:!0,"data-testid":"global-hardware-acceleration",label:d("transcoderSettingsGeneral.hardwareLabel"),value:g,onChange:function(e){Object(df.E)({global:{hw:e.target.value.type}})?Object(Wr.e)(s,c).every((function(e){return!Object(B.d)(r.global)||!Object(B.d)(r.global.external)||e===r.global.external}))?i(b)():o(b)(d("transcoderSettingsGeneral.externalError")):i(b)();var t=Cb(e.target.value.id,r);u({path:[],value:kb(kb({},r),{},{global:kb(kb({},f),{},{hw:Tb(e.target.value.type,null),deviceid:Object(B.d)(t)?String(t):t})})})},onClose:function(){var e=Tb(Ot.a("hw",f)),t=Ot.a("external",f);e!==df.e&amp;&amp;t&amp;&amp;u({path:["global","external"],getValueFn:fr.a(null),val:null})},items:y,HelperDocProps:{docDescription:so.a.schemas.tc_global.properties.hw.description,diskValue:_(r),templateValue:_(l),showFullHelperInf:p},disabled:n,onError:o(["general","hw"]),onErrorResolve:i(["general","hw"]),error:v})};function Ab(e){return(Ab="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Db(e){return function(e){if(Array.isArray(e))return Eb(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Eb(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Eb(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Eb(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function $b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Nb(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?$b(Object(r),!0).forEach((function(t){Lb(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$b(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Lb(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Ab(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Ab(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ab(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Rb=df.J.global.fps,qb=function(e){var t=e.transcoderDevices,r=e.transcoderSettings,o=e.onError,i=e.onErrorResolve,a=e.errors,s=e.isConfigChanged,c=e.isNotCopiedTrackExists,l=e.isVideoTracksExist,f=e.canInternal,b=e.streams,h=e.mediaNames,y=e.transcoderSettingsTemplate,g=e.isStream,v=e.renderTracksInf,_=e.handleChange,O=e.withTracks,x=Object(j.b)().t,w=Object(n.useContext)(u.c),k=Object(Ds.b)(a[Object(ge.c)(["global","external"])],x),S=Object(Lu.d)("",F.a(["global","gop"])(r)),P=Object(Lu.d)("",F.a(["global","gop"])(y)),T=Object(B.e)(F.a(["decoder","pix_fmt"])(r))?Ot.a("decoder")(r):Ot.a("decoder")(y),C=Object(B.e)(F.a(["global","target"])(r))?Ot.a("global")(r):Ot.a("global")(y);return Object(m.c)(p.ib,{container:!0,spacing:1,style:{marginRight:0,width:"100%"}},Object(m.c)(p.ib,{container:!0,item:!0,xs:12,alignItems:"flex-start",spacing:1,style:{marginRight:0,width:"100%"}},w!==d.b&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:6,sm:4,lg:3,xl:2},Object(m.c)(Ib,{transcoderDevices:t,transcoderSettings:r,disabled:!l,onError:o,onErrorResolve:i,errors:a,streams:b,mediaNames:h,transcoderSettingsTemplate:y,isStream:g,handleChange:_})),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,lg:2,xl:2},Object(m.c)(yb,{transcoderSettings:r,disabled:!l,transcoderSettingsTemplate:y,isStream:g,handleChange:_})),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,lg:3,xl:2},Object(m.c)(Ob,{transcoderSettings:r,onError:o,onErrorResolve:i,errors:a,isConfigChanged:s,disabled:!l,transcoderSettingsTemplate:y,isStream:g,handleChange:_})),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,lg:2,xl:1},Object(m.c)(p.fc,{type:"number",data:r,templateData:y,path:["global","gop"],value:Object(B.e)(S)?S:P,entity:"transcoder",onChange:function(e){return _({path:["global","gop"],value:Object(Lu.d)(null)(e.target.value)})},validation:function(e){return Object(mf.d)({value:e})},showFullHelperInf:g,disabled:!l,docDescription:so.a.schemas.tc_global.properties.gop.description})),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,lg:2,xl:1},Object(m.c)(oa.a,{label:x("transcoderSettingsGeneral.target"),"data-testid":"global-target",value:Ot.a("target",C)||"",onChange:function(e){O?_({path:["global","target"],value:e.target.value}):e.target.value?_({path:[],value:{global:Nb(Nb({},r.global),{},{target:e.target.value})}}):_({path:["global","target"],value:e.target.value})},items:[["",x("not-selected")]].concat(Db(df.j)),HelperDocProps:{docDescription:so.a.schemas.tc_global.properties.target.description,diskValue:F.a(["global","target"])(r),templateValue:F.a(["global","target"])(y),showFullHelperInf:g},displayEmpty:!0}))),!c(r)&amp;&amp;!c(y)&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{display:"flex",justifyContent:"start",alignItems:"center"},Object(m.c)(p.l,{color:"secondary.main"},Object(m.c)("span",{className:"add-video-track-message","data-testid":"add-video-track-message"},x("transcoderSettingsGeneral.addVideoTrackMessage"))),v())),k&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.mc,{color:"error","data-testid":"global-external-error"},k)),w!==d.b&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{my:2,width:"100%"},Object(m.c)(p.a,null,Object(m.c)(p.c,{expandIcon:Object(m.c)(p.N,{"data-testid":"expand-advanced-options"})},Object(m.c)(p.mc,{variant:"subtitle2"},x("transcoderSettingsEditor.advancedOptions"))),Object(m.c)(p.b,null,Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,sm:4,lg:3,xl:2},Object(m.c)(oa.a,{label:x("transcoderSettingsGeneral.pix_fmt"),"data-testid":"video-pix_fmt",value:Ot.a("pix_fmt",T)||"",onChange:function(e){return _({path:["decoder","pix_fmt"],value:e.target.value})},items:[["",x("not-selected")]].concat(Db(df.f)),HelperDocProps:{docDescription:so.a.schemas.tc_decoder.properties.pix_fmt.description,diskValue:Rb(F.a(["decoder","pix_fmt"])(r)),templateValue:Rb(F.a(["decoder","pix_fmt"])(y)),showFullHelperInf:g},disabled:!l,displayEmpty:!0})),f&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12,sm:8,lg:9,xl:10},Object(m.c)(jb,{transcoderSettings:r,disabled:!l,streams:b,mediaNames:h,onError:o,onErrorResolve:i,errors:a,transcoderSettingsTemplate:y,isStream:g,handleChange:_}))))))))};function Mb(e){return function(e){if(Array.isArray(e))return zb(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Ub(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Fb(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||Ub(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ub(e,t){if(e){if("string"==typeof e)return zb(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?zb(e,t):void 0}}function zb(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Bb=[["3500k",1080],["2500k",720],["1500k",576],["1000k",480],["700k",360]],Hb=function(e){var t;return(Ot.a("video")(e)||[]).some((function(e){return e&amp;&amp;"copy"!==e.bitrate}))||(null==e?void 0:null===(t=e.global)||void 0===t?void 0:t.target)},Vb=function(e){var t;return Object.keys(rf($o.a([],"video")(e))).length&gt;0||(null==e?void 0:null===(t=e.global)||void 0===t?void 0:t.target)},Wb=function(e){var t=e.handleTranscoderAddVideoTrack,r=e.videoTracks,i=e.videoTracksTemplate,a=e.videoTracksCalc,s=e.handleTranscoderRemoveTrack,c=e.handleTranscoderCopyTrack,l=e.transcoderSettings,u=e.onError,d=e.onErrorResolve,f=e.errors,b=e.externalChangeTimeout,h=e.handleVideoTrackExtraChange,y=e.handleVideoTrackExtraRemove,g=e.transcoderDevices,v=e.isConfigChanged,_=e.streams,O=e.mediaNames,x=e.transcoderSettingsTemplate,w=e.isStream,k=e.handleChange,S=e.handleCopyVideo,P=e.withTracks,T=Object(j.b)().t,C=Fb(Object(n.useState)(!1),2),I=C[0],A=C[1],D=$o.a([],"video")(l),E=$o.a([],"video")(x),$=D&amp;&amp;!Hb(l)&amp;&amp;Object(df.z)(D[0])||E&amp;&amp;!Hb(x)&amp;&amp;Object(df.z)(E[0]),N=Vb(l)||Vb(x),L=ar.a(null,["global","hw"])(l)||ar.a(null,["global","hw"])(x),R=ar.a(null,["global","deviceid"])(l)||ar.a(null,["global","deviceid"])(x),q=g.find((function(e){return String(e.id)===String(R)&amp;&amp;e.type===L})),M=!q||!Object.prototype.hasOwnProperty.call(q,"can_interlace")||q.can_interlace,F=!q||!Object.prototype.hasOwnProperty.call(q,"can_logo")||q.can_logo,U=!q||!Object.prototype.hasOwnProperty.call(q,"can_internal")||q.can_internal,z=function(){A(!1)},H=function(){return Object(m.c)(li.a,{docDescription:so.a.schemas.transcoder_opts.properties.video.description,diskValue:Object(B.e)(D)?"âœ”":"",templateValue:Object(B.e)(E)?"âœ”":"",showFullHelperInf:w})},V=function(e){var r=e.disabled,n=e.justify;return Object(m.c)(p.p,{buttonText:T("transcoderSettingsEditor.addVideoTrack"),"data-testid":"transcoderAddTrack",onButtonClick:t({track:{bitrate:so.a.schemas.tc_video_opts.properties.bitrate.example}}),items:Bb.map((function(e){var r=Fb(e,2),n=r[0],o=r[1];return{text:"".concat(n,", ").concat(o,"p"),onClick:t({track:{bitrate:Object(df.H)(n),size:{height:o,width:-1}}}),"data-testid":"transcoderAddTrackB".concat(n,"H").concat(o)}})),disabled:r,justify:n})},W=function(e){return k({path:["video"],value:e})};return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.l,{mb:1,display:"flex",alignItems:"center",justifyContent:"space-between"},Object(m.c)(p.l,{display:"flex",alignItems:"center"},Object(m.c)(p.mc,{variant:"h5"},T("transcoderSettingsEditor.videoTitle")),Object(m.c)(p.l,{ml:1},Object(m.c)(na.a,{isSwitch:!0,"data-testid":"video-copy",checked:Object(B.b)(D)?Object(df.z)((E||[])[0]):Object(df.z)(D[0]),color:"primary",size:"small",label:T("transcoderSettingsEditor.copyFromOriginLabel"),onChange:S,HelperDocProps:{docDescription:so.a.schemas.tc_video_opts.properties.bitrate.description,diskValue:Object(df.z)(Ot.a("video")(l))?"copy":null,templateValue:Object(df.z)(Ot.a("video")(x))?"copy":null,showFullHelperInf:w}}))),Object(m.c)(p.lb,{only:"xs"},Object(m.c)(p.l,{ml:1},V({disabled:$||Object(B.b)(r)&amp;&amp;Object(B.e)(i)})))),Object(m.c)(p.lb,{smUp:!0},V({disabled:$,justify:"flex-start"})),$?"":Object(m.c)(o.a.Fragment,null,Object(m.c)(p.l,{mt:2},Object(m.c)(qb,{transcoderDevices:g,transcoderSettings:l,onError:u,onErrorResolve:d,errors:f,isConfigChanged:v,isNotCopiedTrackExists:Hb,isVideoTracksExist:N,canInternal:U,streams:_,mediaNames:O,transcoderSettingsTemplate:x,isStream:w,renderTracksInf:H,handleChange:k,withTracks:P})),Object(m.c)(p.l,{display:"flex",justifyContent:"start",alignItems:"center"},Object(B.b)(r)&amp;&amp;Object(B.e)(i)&amp;&amp;Object(m.c)(p.l,{my:1},Object(m.c)(p.n,{color:"primary",variant:"contained","data-testid":"transcoder-settings-copy-tracks-button",onClick:function(){k({path:["video"],value:i})}},T("transcoderSettingsEditor.copyTracksButton"))),Object(B.e)(r)&amp;&amp;Object(B.e)(i)&amp;&amp;Object(m.c)(p.l,{my:1},Object(m.c)(p.n,{color:"primary",variant:"contained","data-testid":"transcoder-settings-use-tracks-from-template-button",onClick:function(){A(!0)}},T("transcoderSettingsEditor.useTracksFromTemplateButton"))),Object(B.e)(r)||Object(B.e)(i)?Object(m.c)(p.l,{mt:2},H()):""),Object(m.c)(p.l,{mt:1},Hb(l)&amp;&amp;Object(B.e)(r)&amp;&amp;r.map((function(e,t){var r=a.find((function(t){return t.track_id==="v".concat(e.track)}))||{};return Object(m.c)(p.a,{key:e.track,"data-testid":"transcoder-settings-video-track-".concat(t)},Object(m.c)(p.c,{expandIcon:Object(m.c)(p.N,{"data-testid":"transcoder-video-panel-".concat(t,"-arrow")}),className:"panel-summary"},Object(m.c)(Uf,{track:e,trackId:t,onTranscoderRemoveTrack:s([e.track]),onTranscoderCopyTrack:c(e.track),onError:u,onErrorResolve:d,errors:f,videoTrackCalc:r,externalChangeTimeout:b,transcoderSettings:l,handleVideoChange:W})),Object(m.c)(p.b,null,Object(m.c)(lb,{track:e,trackId:t,transcoderSettings:l,onError:u,onErrorResolve:d,errors:f,videoTrackCalc:r,onRemoveByKey:y(t),onVideoTrackExtraChange:h(t),canInterlace:M,canLogo:F,handleVideoChange:W})))})),Object(B.b)(r)&amp;&amp;Hb(x)&amp;&amp;i.map((function(e,t){var r=a.find((function(t){return t.track_id==="v".concat(Number(e.track)+1)}))||{};return Object(m.c)(p.a,{key:e.track,"data-testid":"transcoder-settings-template-video-track-".concat(t)},Object(m.c)(p.c,{expandIcon:Object(m.c)(p.N,{"data-testid":"transcoder-template-video-panel-".concat(t,"-arrow")}),className:"panel-summary"},Object(m.c)(Uf,{track:e,trackId:t,videoTrackCalc:r,transcoderSettings:x,isTemplate:!0})),Object(m.c)(p.b,null,Object(m.c)(lb,{track:e,trackId:t,transcoderSettings:x,videoTrackCalc:r,canInterlace:M,canLogo:F,isTemplate:!0})))}))),Object(m.c)(p.C,{open:I,handleClose:z,onDelete:function(e){z(),s(Mb(r.map((function(e){return e.track}))))(e)},title:T("transcoderSettingsEditor.useTracksFromTemplateConfirm"),notice:T("transcoderSettingsEditor.useTracksFromTemplateNotice"),removeButtonText:T("transcoderSettingsEditor.useTracksFromTemplateButton")})))};Wb.defaultProps={externalChangeTimeout:!1};var Gb=r(261),Kb=/^(\d+\.?\d{0,2})$|^([-+]\d+\.?\d{0,4}dB)$/;function Yb(e){return function(e){if(Array.isArray(e))return Jb(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Jb(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Jb(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Jb(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Qb=function(e){var t=e.transcoderSettings,r=e.audioTrackCalc,n=e.transcoderSettingsTemplate,i=e.isStream,a=e.handleChange,s=e.handleCopyAudio,c=Object(j.b)().t,l=df.J.audio,u=l.codec,d=l.sample_rate,f=l.channels,b=l.avol,h=l.split_channels,y=t.audio,g=n.audio,v=y?Object(df.z)(y):Object(df.z)(g),_=Object(B.e)(F.a(["audio","bitrate"])(t))?Ot.a("audio")(t):Ot.a("audio")(n),O=Object(B.e)(F.a(["audio","split_channels"])(t))?Ot.a("audio")(t):Ot.a("audio")(n),x=h(Ot.a("split_channels")(O),!1),w=function(e){return Object(B.e)(F.a(["audio",e])(t))?Ot.a("audio")(t):Ot.a("audio")(n)},k=function(e){var o=e.field,s=e.getMethod,l=e.items,p=e.isCalculatedValue,u=e.getMethodForChange,d=e.docDescription;return Object(m.c)(oa.a,{label:c("transcoderSettingsAudio.".concat(o)),value:s(Ot.a(o,w(o)))||s(r[o]),"data-testid":"audio-".concat(o),onChange:function(e){return a({path:["audio",o],value:u(e.target.value)})},items:l,isCalculatedValue:p,HelperDocProps:{docDescription:d,diskValue:s(F.a(["audio",o],t)),templateValue:s(F.a(["audio",o],n)),showFullHelperInf:i}})};return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{container:!0,spacing:0},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{display:"flex",alignItems:"center",mb:2},Object(m.c)(p.mc,{variant:"h5"},c("transcoderSettingsAudio.audioTitle")),Object(m.c)(p.l,{ml:1},Object(m.c)(na.a,{isSwitch:!0,size:"small",label:c("transcoderSettingsAudio.copyFromOriginLabel"),checked:v,color:"primary",value:y&amp;&amp;y.bitrate||void 0,"data-testid":"audio-copy",onChange:s,HelperDocProps:{docDescription:so.a.schemas.tc_audio_base.properties.bitrate.description,diskValue:Object(df.z)(Ot.a("audio",t))?"copy":null,templateValue:Object(df.z)(Ot.a("audio",n))?"copy":null,showFullHelperInf:i}}))))),Object(m.c)(p.ib,{container:!0,spacing:1,style:{marginRight:0,width:"100%"}},!Object(df.z)(w("bitrate"))&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:6,sm:3,lg:2},Object(m.c)(p.fc,{type:Object(df.z)(_)?"text":"number",dimension:"K",data:t,templateData:n,showFullHelperInf:i,disabled:Object(df.z)(_),path:["audio","bitrate"],value:(Object(df.z)(_)?"copy":_&amp;&amp;Object(B.d)(_.bitrate)&amp;&amp;$o.a(0,"bitrate",_)/1e3)||r.bitrate,entity:"transcoder",onChange:Object(df.z)(_)?function(){return fr.a()}:function(e){a({path:["audio","bitrate"],value:Object(df.I)(e.target.value)})},validation:function(e){return function(e){var t=e.value;if(Object(B.b)(t))return"streamTranscoderPage.validators.bitrateRequiredError";var r=Object(Lu.d)(0,t);return Object(B.e)(t)&amp;&amp;r&lt;=0&amp;&amp;"copy"!==t?"shouldBeGreaterZeroError":""}({value:e})},isCalculatedValue:!Object(df.z)(_)&amp;&amp;(!_||_&amp;&amp;xt.a(_.bitrate))&amp;&amp;Object(B.e)(r.bitrate),getValueFn:function(e){return"copy"===F.a(["audio","bitrate"],e)?F.a(["audio","bitrate"],e):ar.a(null,["audio","bitrate"],e)?F.a(["audio","bitrate"],e)/1e3:""},docDescription:so.a.schemas.tc_audio_base.properties.bitrate.description})),Object(m.c)(p.ib,{item:!0,xs:6,sm:3,lg:2},k({field:"codec",getMethod:u,getMethodForChange:u,items:df.b.map((function(e){return[e,e]})),isCalculatedValue:!u(Ot.a("codec",w("codec")))&amp;&amp;Object(B.e)(r.codec),docDescription:so.a.schemas.tc_audio_base.properties.codec.description})),Object(m.c)(p.ib,{item:!0,xs:6,sm:3,lg:2},k({field:"sample_rate",getMethod:d,getMethodForChange:q.a(d,Object(Lu.d)(-1)),items:[["",c("not-selected")],[df.g[0],"bypass"]].concat(Yb(Gb.a(df.g).map((function(e){return[e,e]})))),isCalculatedValue:!d(Ot.a("sample_rate",w("sample_rate")))&amp;&amp;Object(B.e)(r.sample_rate),docDescription:so.a.schemas.ti_audio_aac_spec.properties.sample_rate.description})),Object(m.c)(p.ib,{item:!0,xs:6,sm:3,lg:2},k({field:"channels",getMethod:f,getMethodForChange:Lu.c,items:[["",c("not-selected")]].concat(Yb(df.a.map((function(e){return[e,e]})))),isCalculatedValue:!f(Ot.a("channels",w("channels")))&amp;&amp;Object(B.e)(r.channels),docDescription:so.a.schemas.ti_audio_aac_spec.properties.channels.description})),Object(m.c)(p.ib,{item:!0,xs:6,sm:3,lg:2},Object(m.c)(p.fc,{data:t,templateData:n,showFullHelperInf:i,path:["audio","avol"],value:Ot.a("avol",w("avol")),entity:"transcoder",onChange:function(e){return a({path:["audio","avol"],value:b(e.target.value)})},validation:function(e){return function(e){var t=e.value;return Object(B.e)(t)&amp;&amp;!Kb.test(t)?"streamTranscoderPage.validators.volumeError":""}({value:e})},docDescription:so.a.schemas.tc_audio_base.properties.avol.description})),Object(m.c)(p.ib,{item:!0,xs:6,sm:3,lg:2},Object(m.c)(na.a,{label:c("transcoderSettingsAudio.splitChannels"),checked:x,color:"primary","data-testid":"audio-split_channels",onChange:function(e){return a({path:["audio","split_channels"],value:e.target.checked})},HelperDocProps:{docDescription:so.a.schemas.tc_audio_base.properties.split_channels.description,path:"tc_audio_opts.properties.split_channels",diskValue:F.a(["audio","split_channels"])(t)?String(F.a(["audio","split_channels"])(t)):null,templateValue:F.a(["audio","split_channels"])(n)?String(F.a(["audio","split_channels"])(n)):null,showFullHelperInf:i},justifyContent:"left"})))))};function Xb(e){return(Xb="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Zb(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function eh(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Zb(Object(r),!0).forEach((function(t){th(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Zb(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function th(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Xb(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Xb(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Xb(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function rh(e){return function(e){if(Array.isArray(e))return ih(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||oh(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function nh(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||oh(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function oh(e,t){if(e){if("string"==typeof e)return ih(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ih(e,t):void 0}}function ih(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var ah=q.a(Kd.a,xt.a,Ot.a("bitrate")),sh=[["transcoderSettings"],["isSaving"],["errors"],["transcoderDevices"],["transcoderSettingsTemplate"],["externalChangeTimeout"]],ch=function(e){var t=e.transcoderSettings,r=e.onConfigChange,o=e.mediaInfo,i=e.isConfigChanged,a=e.transcoderDevices,s=e.onError,c=e.onErrorResolve,l=e.errors,u=e.streams,d=e.mediaNames,f=e.transcoderSettingsTemplate,b=e.isStream,h=e.isSaving,y=e.withTracks,g=nh(Object(n.useState)({global:{},decoder:{},audio:{},video:[]}),2),v=g[0],_=g[1],O=nh(Object(n.useState)({}),2),j=O[0],x=O[1],w=nh(Object(n.useState)(!1),2),k=w[0],S=w[1],P=nh(Object(n.useState)(!1),2),T=P[0],C=P[1],I=function(e){return ar.a([],["video"])(e).filter((function(e){return ah(e)}))},A=I(t);Object(n.useEffect)((function(){C(!1)}),[A]);var D=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},n=e.isCopy,o=e.track,i=void 0===o?{}:o;return function(){var e=$o.a([],"video")(t),o=F.a([e.length-1,"track"])(e),a=n?"copy":i.bitrate||1e6;r(["video"],"raw")([].concat(rh(e),[eh(eh({codec:"h264",bitrate:a},i),{},{track:Object(B.e)(o)?o+1:1})])),x(eh(eh({},Object.keys(j).reduce((function(e,t){return th({},t,!1)}),{})),{},th({},0===e.length?0:e.length+1,!0)))}},E=function(e){var t=e.path,n=e.value;r(t)(n)},$=I(t),N=I(f),L=o?o.tracks:null,R=Object(B.d)(L)?L.find((function(e){return"audio"===e.content})):{},q=Object(B.d)(L)?L.filter((function(e){return"video"===e.content})):[];return Object(m.c)(at,{id:"StreamTranscoderPageEditor",paths:sh,propsToCheck:{transcoderSettings:t,isSaving:h,errors:l,transcoderDevices:a,transcoderSettingsTemplate:f,externalChangeTimeout:T}},Object(m.c)(p.l,{my:2,width:"100%"},Object(m.c)(p.Nb,{elevation:3},Object(m.c)(p.l,{p:2,mt:2,"data-testid":"transcoder-settings-audio"},Object(m.c)(Qb,{transcoderSettings:t,audioTrackCalc:R||{},transcoderSettingsTemplate:f,isStream:b,handleChange:E,handleCopyAudio:function(e){e.target.checked?(_(eh(eh({},v),{},{audio:eh({},t.audio)})),E({path:["audio"],value:eh(eh({},Object.keys(t.audio).reduce((function(e,t){return eh(eh({},e),{},th({},t,null))}),{})),{},{bitrate:"copy"})})):(E({path:["audio"],value:eh({},v.audio)}),_(eh(eh({},v),{},{audio:{}})))}}))),Object(m.c)(p.Nb,{elevation:3},Object(m.c)(p.l,{p:2,mt:2,"data-testid":"transcoder-settings-video"},Object(m.c)(Wb,{handleTranscoderAddVideoTrack:D,isTracksVisible:k,videoTracks:$,videoTracksTemplate:N,videoTracksCalc:q,handleTranscoderRemoveTrack:function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:[];return function(r){r.stopPropagation();var n=I(t).filter((function(t){return!e.includes(t.track)}));E({path:["video"],value:n}),S(!1),S(!0),C(n.length&gt;1)}},handleTranscoderCopyTrack:function(e){return function(r){r.stopPropagation();var n=rf(t.video[e]);D({track:n})()}},transcoderSettings:t,onError:s,onErrorResolve:c,errors:l,handleVideoTrackExtraChange:function(e){return function(r){var n=t.video,o=lt.a(n);o[e].extra=r,xt.a(o[e].extra)&amp;&amp;delete o[e].extra,E({path:["video"],value:o})}},handleVideoTrackExtraRemove:function(e){return function(r){var n=t.video,o=lt.a(n);delete o[e].extra[r],E({path:["video"],value:o})}},transcoderDevices:a,isConfigChanged:i,externalChangeTimeout:T,streams:u,mediaNames:d,transcoderSettingsTemplate:f,isStream:b,handleChange:E,handleCopyVideo:function(e){e.target.checked?(_(eh(eh({},v),{},{video:Object(B.e)(t.video)?rh(t.video):[]})),E({path:["video"],value:[{track:1,bitrate:"copy"}]})):(E({path:["video"],value:rh(v.video)}),_(eh(eh({},v),{},{video:[]})))},withTracks:y})))))};function lh(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return ph(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ph(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ph(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}ch.defaultProps={transcoderSettingsTemplate:null,isStream:!1};var uh=df.J.global.deviceid,dh=Je.a(xt.a),mh=[["config","loglevel"],["config","stats","transcoder_devices"],["media"],["errors"],["isConfigSaving"],["isConfigChanged"],["mediaInfo"],["templateConfig"],["streamsData","streams"]],fh=function(e){var t,r,i=e.media,a=e.mediaNames,s=e.mediaInfo,c=e.onConfigChange,l=e.config,f=e.onConfigSave,b=e.isConfigSaving,h=e.isConfigChanged,y=e.isTemplate,g=e.templateConfig,v=Object(j.b)().t,O=Object(n.useContext)(u.c),x=lh(Object(Qm.a)("transcoder",null),2),w=x[0],k=x[1],S=Object($s.a)(),P=S.onError,T=S.onErrorResolve,C=S.errors,I=ar.a([],["stats","transcoder_devices"])(l),A=Object(B.e)(Ot.a("named_by")(i)),D=Object(B.e)(F.a(["transcoder","global","hw"])(i))?uh(F.a(["transcoder","global","deviceid"])(i)):uh(F.a(["transcoder","global","deviceid"])(g)),E=lh(Object(n.useState)([]),2),$=E[0],N=E[1],L=lh(Object(n.useState)(!!(null!=i&amp;&amp;null!==(t=i.transcoder)&amp;&amp;void 0!==t&amp;&amp;t.audio||null!=i&amp;&amp;null!==(r=i.transcoder)&amp;&amp;void 0!==r&amp;&amp;r.video)),1)[0],R=Object(_.Lb)({params:{"transcoder.global.hw":"nvenc","transcoder.global.device_id":D},options:{refetchIntervalInBackground:!1,refetchOnMount:!1,refetchOnReconnect:!1,retryOnMount:!1}}).data;Object(n.useEffect)((function(){Object(B.e)(R)&amp;&amp;N(ar.a([],["streams"])(R))}),[R]);var q=c(["transcoder"]),M=function(){i.transcoder&amp;&amp;k(i.transcoder)},U=function(){w&amp;&amp;q([])(w)},z=function(){return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0},Object(m.c)(p.n,{variant:"contained",color:"secondary","data-testid":"transcoderCopy",width:24,onClick:M},v("streamTranscoderPage.copySettings"))),w&amp;&amp;Object(m.c)(p.ib,{item:!0},Object(m.c)(p.n,{variant:"contained",color:"secondary","data-testid":"transcoderPaste",width:24,onClick:U},v("streamTranscoderPage.pasteSettings"))))};return Object(m.c)(at,{id:"StreamTranscoderPage",paths:mh,propsToCheck:{config:l,media:i,errors:C,isConfigSaving:b,isConfigChanged:h,mediaInfo:s,templateConfig:g,streamsData:R}},Object(m.c)(p.Mb,{testId:"streams-transcoder"}),i&amp;&amp;Object(m.c)(p.ib,{container:!0,spacing:0},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{pl:1},y&amp;&amp;Object(m.c)(p.l,{my:1},Object(m.c)(Ps,null)),Object(m.c)(p.ib,{container:!0,"data-testid":"stream-transcoder"},dh(i.transcoder)||dh(Ot.a("transcoder")(g))?Object(m.c)(ch,{transcoderDevices:I,transcoderSettings:$o.a({},"transcoder")(i),transcoderSettingsTemplate:$o.a({},"transcoder")(g),onConfigChange:q,onError:P,onErrorResolve:T,errors:C,isSaving:b,mediaInfo:s,mediaNames:a,isConfigChanged:h,streams:$,isStream:A,withTracks:L}):null,Object(m.c)(p.l,{mt:2,width:"100%"},Object(m.c)(p.ib,{container:!0,justifyContent:"space-between"},Object(m.c)(p.ib,{container:!0,item:!0,xs:!0,spacing:2},dh(i.transcoder)||dh(Ot.a("transcoder")(g))?Object(m.c)(p.ib,{item:!0},Object(m.c)(p.n,{variant:"contained",color:"secondary","data-testid":"transcoderDisable",width:25,onClick:function(){confirm(v("streamTranscoderPage.resetAndSaveConfirm"))&amp;&amp;q([],"raw",(function(e){f(null,e)}))(null)}},v("streamTranscoderPage.disableTranscoder"))):l&amp;&amp;Object(m.c)(o.a.Fragment,null,O===d.b||I&amp;&amp;I.length&gt;0?Object(m.c)(p.ib,{item:!0},Object(m.c)(p.n,{variant:"contained",color:"primary","data-testid":"transcoderEnable",width:24,onClick:function(){q([])({audio:{bitrate:64e3},video:[{track:1,bitrate:7e5}]})}},v("streamTranscoderPage.enableTranscoder"))):Object(m.c)(p.l,{ml:1},v("streamTranscoderPage.noTranscoderNotice")),w&amp;&amp;Object(m.c)(p.ib,{item:!0},Object(m.c)(p.n,{variant:"contained",color:"primary","data-testid":"transcoderEnableAndPaste",width:32,onClick:U},v("streamTranscoderPage.enableAndPasteSettings")))),Object(m.c)(p.lb,{smUp:!0},z())),i.transcoder&amp;&amp;dh(i.transcoder)&amp;&amp;Object(m.c)(p.lb,{only:"xs"},Object(m.c)(p.ib,{container:!0,item:!0,xs:!0,spacing:2,justifyContent:"flex-end",style:{marginRight:0}},z())))))))))};fh.defaultProps={mediaNames:[],media:void 0,localStorageValue:null,isTemplate:!1,templateConfig:null,config:{}};var bh=r(249),hh=r(867),yh=[{title:"epgTelecastsTable.start",lg:4},{title:"epgTelecastsTable.name",lg:4},{title:"epgTelecastsTable.genre",lg:4}],gh=function(e){var t=e.telecasts;return Object(m.c)(p.cc,{settings:yh,rows:t.map((function(e,t){var r=Object.values(e);if(Ke.a(r))return[];var n,o=r[0].start?1e3*r[0].start:null,i=o&amp;&amp;(n=o)?Object(hh.a)(new Date(n),"dd-MM-yyyy HH:mm"):"",a=function(e,t,r){if(e){var n="#333333",o=!1,i=e+t;return 1===Object(bh.a)(r,e)&amp;&amp;1===Object(bh.a)(i,r)&amp;&amp;(o=!0,n="#4549F2"),!o&amp;&amp;e&amp;&amp;1===Object(bh.a)(r,e)&amp;&amp;(n="rgba(0, 0, 0, 0.38)"),{telecastColor:n,isTelecastCurrent:o}}return{telecastColor:null,isTelecastCurrent:!1}}(o,r[0].duration?1e3*r[0].duration:0,new Date),s=a.telecastColor,c=a.isTelecastCurrent,l=r[0].name||"",u=r[0].genre||"",d=function(e,r){return function(e){var t=e.isTelecastCurrent,r=e.color,n=e.index,o=e.field,i=e.data;return Object(m.c)(p.mc,{component:"span",variant:t?"subtitle2":"body2",style:{color:r},"data-testid":"media-epg-".concat(n,"-").concat(o)},i)}({isTelecastCurrent:c,color:s,index:t,field:e,data:r})};return[d("start",i),d("name",l),d("genre",u)]}))})};function vh(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return _h(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _h(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _h(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}gh.defaultProps={};var Oh=Object(T.b)(),jh=function(e){var t=e.onConfigChange,r=e.config,o=e.media,i=e.entity,a=e.isTemplate,s=e.templateConfig,c=e.isStream,l=e.mediaNames,u=Object(j.b)().t,f=vh(Object(n.useState)([]),2),b=f[0],h=f[1],y=t(),g=Object(_.f)({showSuccessMessage:!1});return Object(n.useEffect)((function(){var e="";g({onSuccess:function(t){e=t.data.token;var n=(null==r?void 0:r.auth_token)||"token";i!==d.d.templates&amp;&amp;S()({method:"get",url:"".concat(Oh,"/").concat(l[0],"/epg.json").concat(e?"?".concat(n,"=").concat(e||""):"")}).then((function(e){if(e&amp;&amp;e.data.events){var t=Object.values(e.data.events);h(t)}}))}})}),[F.a(["auth","url"])(o)]),Object(B.b)(o)?"":Object(m.c)(p.ib,{container:!0,spacing:0,"data-testid":"stream-epg"},Object(m.c)(p.ib,{item:!0,xs:12,lg:9},a&amp;&amp;Object(m.c)(p.l,{my:1},Object(m.c)(Ps,null)),Object(m.c)(p.l,{display:"flex",justifyContent:"start",alignItems:"center"},Object(m.c)(na.a,{label:u("streamEpgPage.epgLabel"),color:"primary","data-testid":"epg-enable",checked:!!o.epg_enabled||!!Ot.a("epg_enabled")(s),onChange:function(e){return y(["epg_enabled"],"raw")(e.target.checked||null)},justifyContent:"flex-start",disabled:!Ot.a("epg_enabled")(o)&amp;&amp;Ot.a("epg_enabled")(s)}),Object(m.c)(li.a,{docDescription:so.a.schemas.stream_config_input.properties.epg_enabled.description,diskValue:Ot.a("epg_enabled")(o)?"true":null,templateValue:Ot.a("epg_enabled")(s)?"true":null,showFullHelperInf:c}))),Object(B.c)(b)?Object(m.c)(p.ib,{item:!0,xs:12,lg:9},Object(m.c)(gh,{telecasts:b})):"")};jh.defaultProps={entity:void 0,isTemplate:!1,templateConfig:null,isStream:!1};var xh=jh,wh=function(e){return e?Object(hh.a)(new Date(e),"dd-MM-yyyy HH:mm:ss"):""},kh=function(e){var t,r,o=e.name,i=e.isLoading,a=yt({}),s=a.cursor,c=a.handlePaginationChange,l=Object(j.b)().t,u=Object(_.Cb)({params:{name:o,cursor:s||void 0},options:{refetchInterval:3e3,keepPreviousData:!0}}).data,d=Object(n.useMemo)((function(){return{items:[{title:l("layouts.change_reason"),renderData:function(e){var t;return null!==(t=e.change_reason)&amp;&amp;void 0!==t?t:""}},{title:l("layouts.originator"),renderData:function(e){var t;return null!==(t=e.originator)&amp;&amp;void 0!==t?t:""}},{title:l("layouts.created_at"),renderData:function(e){var t;return null!==(t=wh(e.created_at))&amp;&amp;void 0!==t?t:""}},{title:l("layouts.dvr_backups"),renderData:function(e){var t;return(null===(t=e.dvr_backups)||void 0===t?void 0:t.join(", "))||""}},{title:l("layouts.ingest"),renderData:function(e){var t;return null!==(t=e.ingest)&amp;&amp;void 0!==t?t:""}},{title:l("layouts.vision"),renderData:function(e){var t;return null!==(t=e.inference)&amp;&amp;void 0!==t?t:""}}]}}),[l]);return Object(m.c)(p.Ub,{isLoading:i},0===(null==u?void 0:null===(t=u.layouts)||void 0===t?void 0:t.length)&amp;&amp;Object(m.c)(p.mc,{variant:"subtitle1",textAlign:"center"},l("layoutHistory.noInformation")),!(null==u||null===(r=u.layouts)||void 0===r||!r.length)&amp;&amp;Object(m.c)(p.A,{data:null==u?void 0:u.layouts,nextCursor:null==u?void 0:u.next,prevCursor:null==u?void 0:u.prev,columns:d,estimatedCount:null==u?void 0:u.estimated_count,handlePaginationChange:0===(null==u?void 0:u.estimated_count)?null:c}))};function Sh(e){return function(e){if(Array.isArray(e))return Ph(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Ph(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ph(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ph(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Th=function(e){var t,r,n,o=e.media,i=(0,e.onConfigChange)(),a=Object(j.b)().t;return Object(m.c)(p.ib,{container:!0,spacing:2,mt:1},Object(m.c)(p.ib,{item:!0,xs:12,sm:2,lg:2},Object(m.c)(oa.a,{displayEmpty:!0,value:(null===(t=o.vision)||void 0===t?void 0:t.alg)||"",label:a("streamVisionPage.algorithm"),onChange:i(["vision","alg"],"string"),items:[["",a("not-selected")]].concat(Sh(Sc.L.map((function(e){return[e.value,a("streamVisionPage.".concat(e.label))]}))))})),(null===(r=o.vision)||void 0===r?void 0:r.alg)===Sc.K.PLATES&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12,sm:2,lg:2},Object(m.c)(p.fc,{entity:a("streamVisionPage.areas"),value:null===(n=o.vision)||void 0===n?void 0:n.areas,onChange:function(e){return i(["areas"],"raw")(e.target.value||null)}})))};function Ch(e){return function(e){if(Array.isArray(e))return Dh(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Ah(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ih(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||Ah(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ah(e,t){if(e){if("string"==typeof e)return Dh(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Dh(e,t):void 0}}function Dh(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Eh=function(e){var t,r,o,i,a,s,c,l,u,d,f=e.media,b=(0,e.onConfigChange)(),h=Ih(Object(n.useState)(null===(t=f.debug_stream)||void 0===t?void 0:t.ips),2),y=h[0],g=h[1],v=Object(j.b)().t,_=function(e){var t=e.path,r=e.getValue,n=void 0===r?Yd:r;return function(e){if("root"!==t||n(e).length){var r=Array.isArray(t)?t.filter(Boolean):[t];b(["debug_stream"].concat(Ch(r)))(n(e))}else b(["debug_stream"])(null)}};return Object(m.c)(p.ib,{container:!0,spacing:2,mt:1},Object(m.c)(p.ib,{item:!0,xs:12,sm:4,lg:2},Object(m.c)(p.g,{id:"debug-stream-ips",label:v("debugStream.ips"),freeSolo:!0,multiple:!0,autoSelect:!0,options:[],value:y,onChange:function(e,t){e.stopPropagation(),g(t||""),b(["debug_stream","ips"],"raw")(Object(B.e)(t)?t:null)},docDescription:so.a.schemas.debug_stream_spec.properties.ips.description})),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,lg:2},Object(m.c)(oa.a,{displayEmpty:!0,multiple:!0,value:(null===(r=f.debug_stream)||void 0===r?void 0:r.tracepoints)||[""],label:v("debugStream.tracepoints"),onChange:(c={path:"tracepoints",getValue:Yd},l=c.path,u=c.getValue,d=void 0===u?Yd:u,function(e){var t=Array.isArray(l)?l.filter(Boolean):[l];if(d(e).includes("")){var r=d(e).filter((function(e){return""!==e}));b(["debug_stream"].concat(Ch(t)))(r)}else b(["debug_stream"].concat(Ch(t)))(d(e))}),HelperDocProps:{docDescription:so.a.schemas.debug_stream_spec.properties.tracepoints.description},items:[["",v("not-selected")]].concat(Ch(Sc.f.map((function(e){return[e.value,e.label]}))))})),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,lg:2},Object(m.c)(p.fc,{path:["debug_stream","root"],label:v("debugStream.root"),value:(null===(o=f.debug_stream)||void 0===o?void 0:o.root)||"",onChange:_({path:"root",getValue:Yd}),docDescription:so.a.schemas.debug_stream_spec.properties.root.description})),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,lg:2},Object(m.c)(lm,{path:["storage_limit"],defaultValue:(null===(i=f.debug_stream)||void 0===i?void 0:i.storage_limit)||"",onChange:b(["debug_stream","storage_limit"],"string"),label:v("debugStream.storageLimit"),docDescription:so.a.schemas.debug_stream_spec.properties.storage_limit.description})),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,lg:2},Object(m.c)(p.fc,{label:v("debugStream.expiration"),path:["debug_stream","expiration"],value:(null===(a=f.debug_stream)||void 0===a?void 0:a.expiration)||0,type:"number",onChange:_({path:"expiration",getValue:Jd}),docDescription:so.a.schemas.debug_stream_spec.properties.expiration.description})),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,lg:2},Object(m.c)(p.fc,{label:v("debugStream.duration"),path:["debug_stream","duration"],value:(null===(s=f.debug_stream)||void 0===s?void 0:s.duration)||0,type:"number",onChange:_({path:"duration",getValue:Jd}),docDescription:so.a.schemas.debug_stream_spec.properties.duration.description})))};function $h(){return($h=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}var Nh="/streams/:names",Lh=function(e){var t=Object(n.useContext)(u.c),r=e.media;return Object(m.c)(U.Switch,null,Object(m.c)(U.Route,{path:Nh,render:function(){return Object(m.c)(Ep,e)},exact:!0}),Object(m.c)(U.Route,{path:"".concat(Nh,"/input"),render:function(){return t!==d.b?Object(m.c)(Fl,$h({},e,{entity:d.d.streams})):null}}),Object(m.c)(U.Route,{path:"".concat(Nh,"/output"),render:function(){return Object(m.c)(Gd,$h({},e,{entity:d.d.streams}))}}),Object(m.c)(U.Route,{path:"".concat(Nh,"/dvr"),render:function(){return Object(m.c)(Jm,$h({},e,{entity:d.d.streams,hideSettings:(null==r?void 0:r.named_by)!==st.d.config&amp;&amp;(null==r?void 0:r.named_by)!==st.d.external,shouldRenderTimeline:!0}))}}),Object(m.c)(U.Route,{path:"".concat(Nh,"/auth"),render:function(){return Object(m.c)(Cs,e)}}),Object(m.c)(U.Route,{path:"".concat(Nh,"/transcoder"),render:function(){return Object(m.c)(fh,e)}}),Object(m.c)(U.Route,{path:"".concat(Nh,"/clients"),render:function(){return t!==d.b?Object(m.c)(Eo,e):null}}),Object(m.c)(U.Route,{path:"".concat(Nh,"/epg"),render:function(){return t!==d.b?Object(m.c)(xh,e):null},exact:!0}),Object(m.c)(U.Route,{path:"".concat(Nh,"/vision"),render:function(){return t===d.a?Object(m.c)(Th,e):null}}),Object(m.c)(U.Route,{path:"".concat(Nh,"/layouts"),render:function(){return t===d.a?Object(m.c)(kh,e):null}}),Object(m.c)(U.Route,{path:"".concat(Nh,"/debug"),render:function(){return t!==d.b?Object(m.c)(Eh,e):null}}))},Rh=r(184);function qh(e){return(qh="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Mh(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Fh(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Mh(Object(r),!0).forEach((function(t){Uh(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Mh(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Uh(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==qh(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==qh(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===qh(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function zh(e){return function(e){if(Array.isArray(e))return Vh(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Hh(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Bh(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||Hh(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Hh(e,t){if(e){if("string"==typeof e)return Vh(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Vh(e,t):void 0}}function Vh(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Wh=function(e,t,r){var n;for(n=0;n&lt;r.length-1;n+=1)void 0!==e[r[n]]&amp;&amp;null!==e[r[n]]?e=e[r[n]]:(e[r[n]]={},e=e[r[n]]);e[r[n]]=lt.a(t)},Gh=function(){var e=Bh(Object(n.useState)(null),2),t=e[0],r=e[1],o=Bh(Object(n.useState)(null),2),a=o[0],s=o[1],c=Bh(Object(n.useState)(null),2),l=c[0],p=c[1],u=Object(B.d)(l)&amp;&amp;Object.keys(l).length&gt;0,d=function(e,t){var r=cu.a(["stats"])(e),n=cu.a(["stats"])(t);return Object(Rh.a)(r,n)},m=function(){p(null)};return{setData:function(e){u||(r(e),s(e))},onChange:function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:[];return function(r,n,o){return function(n){var c=(Array.isArray(r)?[].concat(zh(e),zh(r)):[].concat(zh(e),[r])).filter((function(e){return Object(B.d)(e)})),l=n;Ot.a("target")(n)&amp;&amp;(l=n.target.value);var u=Object(B.d)(a)?lt.a(a):{};0===c.length?u=Fh(Fh({},u),l):Wh(u,Object(B.e)(l)?l:null,c),Object(i.flushSync)((function(){s(lt.a(u))})),Object(i.flushSync)((function(){p(d(t,u))})),Object(B.a)(o)&amp;&amp;o(d(t,u))}}},resetData:function(){r(null),s(null),m()},currentData:a,originData:t,isDataChanged:u,resetDelta:m,getDelta:function(){return d(t,a)},initData:function(){m(),s(t)}}},Kh=Object(p.wc)()((function(){return{button:{width:"120px",padding:"4px 0"}}}));function Yh(e){return(Yh="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}var Jh=["params"];function Qh(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}function Xh(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Zh(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Xh(Object(r),!0).forEach((function(t){ey(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Xh(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function ey(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Yh(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Yh(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Yh(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ty(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||ny(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ry(e){return function(e){if(Array.isArray(e))return oy(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ny(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ny(e,t){if(e){if("string"==typeof e)return oy(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?oy(e,t):void 0}}function oy(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var iy=function(e){var t=Nh.replace(":names",encodeURIComponent(e));return[{name:"innerHeader.overview",to:t},{name:"innerHeader.input",to:"".concat(t,"/input")},{name:"innerHeader.transcoder",to:"".concat(t,"/transcoder")},{name:"innerHeader.dvr",to:"".concat(t,"/dvr")},{name:"innerHeader.output",to:"".concat(t,"/output")},{name:"innerHeader.epg",to:"".concat(t,"/epg")},{name:"innerHeader.auth",to:"".concat(t,"/auth")},{name:"innerHeader.playSessions",to:"".concat(t,"/clients")}]},ay=function(e){var t,r,i=e.selectedEntities,a=e.serverInfo,s=Object(j.b)().t,c=Object(U.useLocation)().pathname,l=Object(n.useContext)(me).globalSettings,f=Object(n.useContext)(u.c),b=Ge()(),h=b.history,y=b.match.params.names,g=Object($s.a)().areErrorsExists,v=Kh().classes,O=decodeURIComponent(y).split(","),x=O.length&gt;1,w=ty(Object(n.useState)(null),2),k=w[0],S=w[1],P=ty(Object(n.useState)(!1),2),T=P[0],C=P[1],I=Gh(),A=I.setData,D=I.onChange,E=I.resetData,$=I.currentData,N=I.originData,L=I.isDataChanged,R=I.resetDelta,M=I.getDelta,F=I.initData;Object(n.useEffect)((function(){return function(){E()}}),[]);var z=Object(Sn.a)({queryKey:["stream_get_all",O.join()],queryFn:function(){return x?Promise.all(O.map((function(e){return Object(_.zb)({params:{name:e}}).then((function(e){return e.data}))}))).then((function(e){return{data:e}})):Object(_.zb)({params:{name:O[0]}})},options:{onSuccess:function(e){var t=function(e){var t,r=null!==(t=null==e?void 0:e.config_on_disk)&amp;&amp;void 0!==t?t:{};return r.named_by=null==e?void 0:e.named_by,r.stats=null==e?void 0:e.stats,r.static=null==e?void 0:e.static,f===d.a&amp;&amp;(r.vision=null==e?void 0:e.vision,r.layout=null==e?void 0:e.layout),null!=r&amp;&amp;r.inputs&amp;&amp;(r.inputs=null==r?void 0:r.inputs.map((function(e){return Zh(Zh({},e),{},{url:decodeURIComponent(null==e?void 0:e.url)})}))),r};if(x){var r=e.map((function(e){return t(e)}));A(Object(Wr.a)(r))}else{var n=(null==e?void 0:e.named_by)===st.d.config?t(e):e;A(n),S(e)}},refetchInterval:3e3}}).isLoading,B=Object(_.Ab)(),H=Object(_.yb)(),V=Object(_.Db)(),W=Object(_.Wb)({params:{name:null==$?void 0:$.template},options:{enabled:!(null==$||!$.template)}}).data;Object(n.useEffect)((function(){h.location.pathname.includes("option")||F()}),[h.location]);var G=$||{},K=null!==(t=null==G?void 0:null===(r=G.stats)||void 0===r?void 0:r.media_info)&amp;&amp;void 0!==t?t:{},Y=function(e){var t=e.params,r=Qh(e,Jh);return Array.isArray(t.name)?t.name.map((function(e){return V(Zh({params:{name:e}},r))})):V(Zh({params:t},r))},J=function(){R(),B()},Q=function(){if(f===d.a)return function(e){var t=Nh.replace(":names",encodeURIComponent(e));return[].concat(ry(iy(e).slice(0,3)),[{name:"innerHeader.vision",to:"".concat(t,"/vision")}],ry(iy(e).slice(3)),[{name:"innerHeader.layouts",to:"".concat(t,"/layouts")}])}(O);if(f===d.b)return function(e){var t=Nh.replace(":names",encodeURIComponent(e));return[{id:0,name:"innerHeader.overview",to:t},{id:1,name:"innerHeader.transcoder",to:"".concat(t,"/transcoder")},{id:2,name:"innerHeader.dvr",to:"".concat(t,"/dvr")},{id:3,name:"innerHeader.output",to:"".concat(t,"/output")},{id:4,name:"innerHeader.auth",to:"".concat(t,"/auth")}]}(O);switch(G.named_by){case st.d.config:case st.d.external:return iy(O);case st.d.remote:case st.d.user:return function(e){var t=Nh.replace(":names",encodeURIComponent(e));return[{id:0,name:"innerHeader.overview",to:t},{id:1,name:"innerHeader.dvr",to:"".concat(t,"/dvr"),isDvr:!0},{id:2,name:"innerHeader.output",to:"".concat(t,"/output")},{id:3,name:"innerHeader.playSessions",to:"".concat(t,"/clients")}]}(O);default:return[]}}();if(z)return Object(m.c)("div",null,"Loading stream ",O.join(", "),"...");var X=q.a(vr.a,Do.a(encodeURIComponent(O.join(",")))),Z=function(){Object(Wr.f)({saveFn:Y,name:O,deleteFn:H,history:h,route:"streams",cbSuccess:J,setIsSaving:C,delta:M(),currentData:$})((function(){B()}))},ee=function(){var e=window.confirm(s("reallyDelete",{mediaName:O.join(", ")})),t=function(){h.push("/streams")};e&amp;&amp;O.forEach((function(e){H({params:{name:e},onSuccess:t,onError:t})}))},te=function(){var e,t;switch(X(window.location.hash)){case"/input":!function(){if(G.backup&amp;&amp;!G.backup.file&amp;&amp;D(["backup"])(null),1===O.length){var e=(lt.a(G.inputs)||[]).map((function(e){var t=lt.a(e),r=Object(Es.g)(e);switch(!0){case Object(Es.i)(r):[].concat(ry(Es.o),ry(Es.p)).forEach((function(e){delete t[e]}));break;case Object(Es.l)(r):[].concat(ry(Es.h),ry(Es.p)).forEach((function(e){delete t[e]}));break;case Object(Es.n)(r,t):[].concat(ry(Es.h),ry(Es.o)).forEach((function(e){delete t[e]}))}return t}));D(["inputs"])(e)}Z()}();break;case"/transcoder":ar.a([],["transcoder","video"])(G).length&gt;0||null!=G&amp;&amp;null!==(e=G.transcoder)&amp;&amp;void 0!==e&amp;&amp;null!==(t=e.global)&amp;&amp;void 0!==t&amp;&amp;t.target?Z():confirm(s("streamTranscoderPage.savingWithoutVideoTracksConfirm"))&amp;&amp;Z();break;default:Z()}};return Object(m.c)(p.Lb,{menuItems:Q,buttons:!Object(Wr.d)(c)&amp;&amp;G.named_by!==st.d.external&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.n,{variant:"contained",color:"secondary",onClick:ee,"data-testid":"delete-stream-button",disabled:G.named_by!==st.d.config,className:v.button},s("headerStreamPage.removeStream")),Object(m.c)(p.l,{ml:2},Object(m.c)(p.n,{variant:"contained",color:"primary",onClick:te,"data-testid":"saveButton",className:v.button,disabled:T||!L||g,endIcon:T&amp;&amp;Object(m.c)(p.u,{size:20,color:"primary"})},s("save")))),id:"media-page",route:"streams"},G.template&amp;&amp;Object(m.c)(p.l,{mb:2},Object(m.c)(p.Jb,{color:"info",label:Object(m.c)(o.a.Fragment,null,s("streamPage.template_notification"),Object(m.c)(p.yb,{to:"/templates/".concat(G.template),component:Mt.b},G.template))})),Object(m.c)(Lh,{media:G,name:O.length&gt;1?null:O[0],mediaNames:O,selectedEntities:i,serverInfo:a,config:l,isConfigSaving:T,isConfigChanged:L,onConfigChange:D,onConfigSave:Object(Wr.f)({saveFn:Y,name:O,deleteFn:H,history:h,route:"streams",cbSuccess:J,setIsSaving:C,delta:M(),currentData:$}),onConfigResetChanges:R,getConfigDelta:M,mediaInfo:K,templateConfig:W,configEffective:k,isStream:!0,isMultiEdit:x,originData:N}))},sy=function(){var e,t,r=Object(j.b)().t,o=Object(n.useContext)(me).globalSettings,i=Object(_.ac)(),a=i.data,s=i.isLoading,c=Object(n.useMemo)((function(){return{items:[{title:r("templatesList.template"),grow:3,renderData:function(e){return Object(m.c)(Ut,{media:e,isTemplate:!0,key:"template-inf"})}},{title:r("streamList.table.input"),grow:2,renderData:function(e){return Object(m.c)(ir,{media:e,isTemplate:!0,key:"template-input"})}},{title:r("streamList.table.transcode"),grow:2,renderData:function(e){return Object(m.c)(lr,{media:e,config:o,isTemplate:!0,key:"template-transcode"})}},{title:r("streamList.table.dvr"),grow:2,renderData:function(e){return Object(m.c)(Vr,{media:e,isTemplate:!0,key:"template-dvr"})}},{title:r("streamList.table.output"),grow:2,renderData:function(e){return Object(m.c)(Xr,{key:"template-output",media:e,sourceKey:null,isTemplate:!0})}}]}}),[o,r]);return Object(m.c)(kn,null,Object(m.c)(p.Ub,{isLoading:s},Object(m.c)(p.eb,{mt:6,"data-testid":"templates-block"},0!==(null==a?void 0:null===(e=a.templates)||void 0===e?void 0:e.length)&amp;&amp;Object(m.c)(p.A,{primaryKey:"name",data:null==a?void 0:a.templates,columns:c}),0===(null==a?void 0:null===(t=a.templates)||void 0===t?void 0:t.length)&amp;&amp;Object(m.c)(p.mc,{component:"p",align:"center",variant:"subtitle1"},r("templatesList.noTemplatesFound")))))},cy=r(150);function ly(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return py(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return py(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function py(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var uy=[["media"],["templateName"],["isConfigSaving"],["isConfigChanged"]],dy=function(e){var t=e.media,r=e.isConfigSaving,n=e.isConfigChanged,i=e.onConfigChange,a=Object(j.b)().t,s=Ge()().history,c=i(),l=function(){return s.location.pathname.replace("/templates/","")},u=ly(o.a.useState(l()),2),d=u[0],f=u[1];o.a.useEffect((function(){var e=l();d!==e&amp;&amp;f(e)}),[s.location.pathname]);var b=function(e){var t=e.value,r=e.path,n=e.docDescription;return Object(m.c)(p.fc,{value:t,entity:"template",path:r,onChange:c(r),docDescription:n})};return t?Object(m.c)(at,{id:"TemplateOverviewPage",paths:uy,propsToCheck:{media:t,isConfigSaving:r,isConfigChanged:n,templateName:d}},Object(m.c)(p.l,{"data-testid":"overview-page"},Object(m.c)(p.ib,{container:!0},Object(m.c)(p.ib,{item:!0,container:!0,spacing:2,xs:12,md:11},Object(m.c)(p.ib,{item:!0,xs:8,sm:7},Object(m.c)(p.Nb,{elevation:3},Object(m.c)(p.l,{p:2,mt:1},Object(m.c)(p.mc,{variant:"h5"},a("templatePage.templateSettings")),b({value:t.name,path:["name"],docDescription:so.a.schemas.template_config_specific.properties.name.description})),Object(m.c)(p.l,{px:2,pb:2,mt:1},Object(m.c)(p.g,{id:"template-overview-prefixes","data-testid":"template-overview-prefixes",label:a("overviewPage.prefixesLabel"),freeSolo:!0,multiple:!0,options:[],value:$o.a("","prefixes")(t),onChange:function(e,t){c(["prefixes"],"raw")(t)},autoSelect:!0,docDescription:so.a.schemas.template_config_specific.properties.prefixes.description}))),Object(m.c)(p.Nb,{elevation:3},Object(m.c)(p.l,{p:2,mt:3},Object(m.c)(p.mc,{variant:"h5"},a("templatePage.streamSettings")),Object(m.c)(p.l,{mt:1},b({value:ar.a("",["meta","comment"])(t),path:["meta","comment"]}))))))))):null};dy.defaultProps={media:void 0};var my=function(e){var t=e.mediaNames,r=e.media,n=e.onConfigChange,o=e.config,i=e.onConfigSave,a=e.isConfigSaving,s=e.isConfigChanged,c=e.areErrorsExists;return Object(B.e)(r)?Object(m.c)(fh,{mediaNames:t,media:r,mediaInfo:null,isTemplate:!0,onConfigChange:n,onConfigSave:i,config:o,isConfigSaving:a,isConfigChanged:s,areErrorsExists:c}):null};function fy(){return(fy=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}my.defaultProps={mediaNames:[],media:void 0};var by=function(e){return Object(m.c)(U.Switch,null,Object(m.c)(U.Route,{path:"/templates/:name",render:function(){return Object(m.c)(dy,e)},exact:!0}),Object(m.c)(U.Route,{path:"".concat("/templates/:name","/input"),render:function(){return Object(m.c)(Fl,fy({},e,{entity:"templates",isTemplate:!0}))}}),Object(m.c)(U.Route,{path:"".concat("/templates/:name","/output"),render:function(){return Object(m.c)(Gd,fy({},e,{entity:d.d.templates,isTemplate:!0}))}}),Object(m.c)(U.Route,{path:"".concat("/templates/:name","/dvr"),render:function(){return Object(m.c)(Jm,fy({},e,{isTemplate:!0}))}}),Object(m.c)(U.Route,{path:"".concat("/templates/:name","/auth"),render:function(){return Object(m.c)(Cs,fy({},e,{isTemplate:!0}))}}),Object(m.c)(U.Route,{path:"".concat("/templates/:name","/transcoder"),render:function(){return Object(m.c)(my,e)}}),Object(m.c)(U.Route,{path:"".concat("/templates/:name","/epg"),render:function(){return Object(m.c)(xh,fy({},e,{entity:d.d.templates,isTemplate:!0}))}}))};function hy(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return yy(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return yy(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function yy(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var gy=function(){var e=Object(n.useContext)(me).globalSettings,t=Object(U.useLocation)().pathname,r=Object(j.b)().t,i=Object(M.c)().enqueueSnackbar,a=Ge()(),s=a.history,c=a.match,l=hy(Object(n.useState)(!1),2),u=l[0],d=l[1],f=decodeURIComponent(ar.a("",["params","name"])(c)),b=Object(n.useMemo)((function(){return function(e){var t="/templates/:name".replace(":name",encodeURIComponent(e));return[{name:"innerHeader.overview",to:t},{name:"innerHeader.input",to:"".concat(t,"/input")},{name:"innerHeader.transcoder",to:"".concat(t,"/transcoder")},{name:"innerHeader.dvr",to:"".concat(t,"/dvr")},{name:"innerHeader.output",to:"".concat(t,"/output")},{name:"innerHeader.epg",to:"".concat(t,"/epg")},{name:"innerHeader.auth",to:"".concat(t,"/auth")}]}(f)}),[f]),h=Gh(),y=h.setData,g=h.onChange,v=h.resetData,O=h.currentData,x=h.isDataChanged,w=h.resetDelta,k=h.getDelta,S=h.initData;Object(n.useEffect)((function(){return function(){v()}}),[]);var P=Object(_.Wb)({params:{name:f},options:{onSuccess:function(e){y(e)}}}).isLoading,T=Object(_.Yb)(),C=Object(_.Vb)({options:{onError:function(){i(r("templatesList.deleteError"),Object(cy.a)({severity:"error"}))}}}),I=Object(_.Zb)();Object(n.useEffect)((function(){w()}),[s.location]),Object(n.useEffect)((function(){s.location.pathname.includes("option")||S()}),[s.location]);var A=function(){w(),T()},D=O||{},E=function(){window.confirm(r("reallyDelete",{mediaName:f}))&amp;&amp;C({params:{name:f},onSuccess:function(){s.push("/templates")}})},$=function(){Object(Wr.f)({saveFn:I,name:[f],deleteFn:C,history:s,route:"templates",cbSuccess:A,setIsSaving:d,delta:k(),currentData:O})((function(){T()}))};if(P)return Object(m.c)("div",null,"Loading template ",f,"...");return Object(m.c)(p.Lb,{menuItems:b,buttons:!Object(Wr.d)(t)&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.n,{variant:"contained",color:"secondary",size:"small",onClick:E,"data-testid":"delete-template-button"},r("headerTemplatePage.removeTemplate")),Object(m.c)(p.l,{ml:2},Object(m.c)(p.n,{variant:"contained",color:"primary",size:"small",onClick:$,"data-testid":"saveButton",disabled:u||!x,endIcon:u&amp;&amp;Object(m.c)(p.u,{size:20,color:"primary"})},r("templatePage.save")))),id:"media-page",route:"templates"},Object(m.c)(by,{media:D,onConfigChange:g,onConfigSave:Object(Wr.f)({saveFn:I,name:[f],deleteFn:C,history:s,route:"templates",cbSuccess:A,setIsSaving:d,delta:k(),currentData:O}),isConfigSaving:u,isConfigChanged:x,config:e,getConfigDelta:k,onConfigResetChanges:v,mediaNames:[f]}))},vy=p.uc.IconMultiplexerProgram,_y=function(e){var t=e.stream,r=e.multiplexers,o=Cc().classes,i=Object(n.useMemo)((function(){return r.filter((function(e){return(e.programs||[]).filter((function(e){return e.source===t.name})).length&gt;0})).map((function(e){return{name:e.name,program:(e.programs||[]).find((function(e){return e.source===t.name}))}}))}),[r,t.name]);return Object(m.c)(p.l,{px:2,py:1,mt:1,className:o.streamWrapper},Object(m.c)(p.l,{display:"flex",justifyContent:"space-between"},Object(m.c)(p.mc,{variant:"subtitle2"},Object(m.c)(p.l,{component:"span",display:"flex",alignItems:"center"},t.name,Object(m.c)(or,{media:t})),Object(m.c)(zt.a,{media:t,isSources:!0})),Object(m.c)(p.l,{whiteSpace:"nowrap",overflow:"hidden",className:o.statusWrapper},Object(m.c)(Ft.a,{media:t,stats:t.stats,"data-testid":"stream-name-".concat(t.name)}))),i.length&gt;0&amp;&amp;Object(m.c)(p.jb,null),i.map((function(e){var t;return Object(m.c)(p.mc,{variant:"caption",key:e.name,component:"div"},Object(m.c)("span",{className:o.iconMultiplexer},Object(m.c)(vy,null))," ",e.name," ","Program ".concat(null===(t=e.program)||void 0===t?void 0:t.program_id))})))};function Oy(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return jy(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return jy(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function jy(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var xy=p.uc.ExpandMoreIcon,wy=function(){var e=Object(j.b)().t,t=Tc().classes,r=Oy(Object(n.useState)(""),2),o=r[0],i=r[1],a=Object(_.ic)().data,s=Object(n.useMemo)((function(){return(null==a?void 0:a.transponders)||[]}),[null==a?void 0:a.transponders]),c=Object(_.Lb)({params:{name_like:o||void 0,limit:20},options:{keepPreviousData:!0}}),l=c.data,u=c.isLoading,d=(null==l?void 0:l.streams)||[];return Object(m.c)(p.a,{defaultExpanded:!0,className:t.streamsWrapper},Object(m.c)(p.c,{expandIcon:Object(m.c)(xy,null)},Object(m.c)(p.mc,{variant:"subtitle2",fontSize:16},e("multiplexers.streams"))),Object(m.c)(p.b,null,Object(m.c)(p.l,{className:t.searchWrapper},Object(m.c)(p.Tb,{placeholder:e("multiplexers.searchStreamLabel"),value:o||"",onChange:function(e){i(e.target.value)}})),Object(m.c)(p.l,{mt:2,className:t.streams},Object(m.c)(p.Ub,{isLoading:u},d.map((function(e){return Object(m.c)(_y,{key:e.name,stream:e,multiplexers:s})}))))))},ky=function(e){var t=e.index,r=Object(j.b)().t;return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"name",type:"text",docDescription:so.a.schemas.transponder_config.properties.name.description})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(p.cb,{name:"bitrate",type:"number",label:r("multiplexer-bitrate"),endAdornment:Object(m.c)(p.mc,{component:"span",variant:"body2"},"K"),docDescription:so.a.schemas.transponder_config.properties.bitrate.description,inputProps:{"data-testid":"multiplexer-bitrate-".concat(t)}})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"provider",type:"text",docDescription:so.a.schemas.transponder_config.properties.provider.description,index:t})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"ts_stream_id",docDescription:so.a.schemas.transponder_config.properties.ts_stream_id.description,index:t})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"versions.psi",docDescription:so.a.schemas.ts_versions.properties.psi.description,index:t,"data-testid":"multiplexer-versions-psi-".concat(t)})))};function Sy(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Py(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Py(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Py(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Ty,Cy=function(e){var t,r=e.multiplexer,o=e.name,i=Object(j.b)().t,a=Sy(Object(n.useState)([]),2),s=a[0],c=a[1],l=Sy(Object(n.useState)(!1),2),u=l[0],d=l[1],f=Object(_.Y)({isAsync:!0}),b=!(null==r||null===(t=r.eit)||void 0===t||!t.xmltv_url);return Object(m.c)(du,{id:"multiplexer-import-epg",multiple:!0,onChange:function(e){var t=e.target,r=t.files,n=t.value;if(d(!0),c(n),r){var i=new FormData;Object.keys(r).forEach((function(e){i.append("file",r[e],r[e].name)})),f({params:{name:o||""},config:{headers:{"Content-Type":"multipart/form-data"}},body:i}).finally((function(){d(!1)}))}},value:s,variant:"outlined",color:"primary",endIcon:u&amp;&amp;Object(m.c)(p.u,{size:20,color:"primary"}),isUploadingFile:u,disabled:!b||u,size:"small"},i("multiplexer.importEPG"))},Iy=function(e){var t=e.values,r=e.multiplexer,n=e.index,i=Object(j.b)().t,a=Ac().classes;return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.ic,{titleText:i("multiplexer.EITTitle"),button:Object(m.c)(o.a.Fragment,null,Object(m.c)(Cy,{multiplexer:t,name:r.name}),Object(m.c)(p.kb,{docDescription:i("multiplexer.importEPGTooltip")}))})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(p.cb,{name:"eit.max_bitrate",label:i("multiplexer-eit.max_bitrate"),type:"number",endAdornment:Object(m.c)(p.mc,{component:"span",variant:"body2"},"K"),docDescription:so.a.schemas.transponder_eit.properties.max_bitrate.description,inputProps:{"data-testid":"multiplexer-eit-max_bitrate-".concat(n)}})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"eit.xmltv_url",type:"text",docDescription:so.a.schemas.transponder_eit.properties.xmltv_url.description,"data-testid":"multiplexer-eit-xmltv_url-".concat(n)})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"eit.intervals_pf.actual",placeholder:i("multiplexer-eit.actual"),label:Object(m.c)(o.a.Fragment,null,i("multiplexer-eit-intervals_pf"),Object(m.c)(p.kb,{docDescription:so.a.schemas.transponder_eit.properties.intervals_pf.description})),docDescription:so.a.schemas.ts_eit_intervals.properties.actual.description,className:a.labelWithInfo,"data-testid":"multiplexer-eit-intervals_pf-actual-".concat(n)})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"eit.intervals_pf.other",placeholder:i("multiplexer-eit.other"),label:"",docDescription:so.a.schemas.ts_eit_intervals.properties.other.description,"data-testid":"multiplexer-eit-intervals_pf-other-".concat(n)})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"eit.intervals_schedule.actual",placeholder:i("multiplexer-eit.actual"),label:Object(m.c)(o.a.Fragment,null,i("multiplexer-eit-intervals_schedule"),Object(m.c)(p.kb,{docDescription:so.a.schemas.transponder_eit.properties.intervals_schedule.description})),docDescription:so.a.schemas.ts_eit_intervals.properties.actual.description,className:a.labelWithInfo,"data-testid":"multiplexer-eit-intervals_schedule-actual-".concat(n)})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"eit.intervals_schedule.other",placeholder:i("multiplexer-eit.other"),label:"",docDescription:so.a.schemas.ts_eit_intervals.properties.other.description,"data-testid":"multiplexer-eit-intervals_schedule-other-".concat(n)})))},Ay=p.uc.DeleteIcon,Dy=function(e){var t=e.values,r=e.index,n=Object(j.b)().t,i=Ac().classes;return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.ic,{titleText:n("multiplexer.NITTitle")})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"network_name",type:"text",docDescription:so.a.schemas.transponder_config.properties.network_name.description,index:r})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"network_id",docDescription:so.a.schemas.transponder_config.properties.network_id.description,index:r})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"original_network_id",docDescription:so.a.schemas.transponder_config.properties.original_network_id.description,index:r})),Object(m.c)(p.ib,{item:!0,xs:12,container:!0,spacing:2},Object(m.c)(nd.b,{name:"ts_descriptors",render:function(e){return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.ic,{titleText:n("multiplexer.NITTSDescriptorsTitle"),button:Object(m.c)($c,{onClick:function(){return e.push({tag:"",hex:""})},docDescription:so.a.schemas.transponder_config.properties.ts_descriptors.description,"data-testid":"multiplexer-ts_descriptors-add-".concat(r)})})),(t.ts_descriptors||[]).map((function(t,a){return Object(m.c)(o.a.Fragment,{key:a},Object(m.c)(p.ib,{item:!0,xs:5,sm:4,lg:3},Object(m.c)(sd,{name:"ts_descriptors.".concat(a,".tag"),label:n("multiplexer.keyLabel"),docDescription:so.a.schemas.ts_descriptor.properties.tag.description,"data-testid":"multiplexer-ts_descriptors-tag-".concat(r,"-").concat(a)})),Object(m.c)(p.ib,{item:!0,xs:5,sm:4,lg:3},Object(m.c)(sd,{name:"ts_descriptors.".concat(a,".hex"),label:n("multiplexer.valueLabel"),type:"text",docDescription:so.a.schemas.ts_descriptor.properties.hex.description,"data-testid":"multiplexer-ts_descriptors-hex-".concat(r,"-").concat(a)})),Object(m.c)(p.ib,{item:!0,xs:2,sm:4,lg:6},Object(m.c)(p.mb,{"aria-label":"delete",size:"small",color:"secondary",onClick:function(){return e.remove(a)},className:i.deleteSettingsButton,"data-testid":"multiplexer-ts_descriptors-delete-".concat(r,"-").concat(a)},Object(m.c)(Ay,{fontSize:"small"}))))})))}})))},Ey=p.uc.DeleteIcon,$y=function(e){var t=e.pushIndex,r=e.index,n=e.setFieldValue,i=e.arrayHelpers,a=e.pushStats,s=Object(j.b)().t,c=Ac().classes;return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:6,lg:3},Object(m.c)(sd,{name:"pushes.".concat(t,".url"),label:s("multiplexer.pushUrlLabel"),type:"text",docDescription:so.a.schemas.transponder_push.properties.url.description,"data-testid":"multiplexer-pushes-url-".concat(r,"-").concat(t)})),Object(m.c)(p.ib,{item:!0,xs:6,lg:2},Object(m.c)(sd,{name:"pushes.".concat(t,".pkt_limit"),label:s("multiplexer.pushPKTLimitLabel"),docDescription:so.a.schemas.transponder_push.properties.pkt_limit.description,"data-testid":"multiplexer-pushes-pkt_limit-".concat(r,"-").concat(t)})),Object(m.c)(p.ib,{item:!0,xs:6,lg:2},Object(m.c)(sd,{name:"pushes.".concat(t,".depth_limit"),label:s("multiplexer.pushDepthLimitLabel"),docDescription:so.a.schemas.transponder_push.properties.depth_limit.description,"data-testid":"multiplexer-pushes-depth_limit-".concat(r,"-").concat(t)})),Object(m.c)(p.ib,{item:!0,maxWidth:"120px",display:"flex",alignItems:"end"},Object(m.c)(p.V,{name:"pushes.".concat(t,".standby"),label:s("push-standby"),docDescription:so.a.schemas.transponder_push.properties.standby.description,"data-testid":"multiplexer-pushes-standby-".concat(r,"-").concat(t),onChange:function(e,r){return n("pushes.".concat(t,".standby"),r)}})),Object(m.c)(p.ib,{item:!0,sx:{marginLeft:{sm:"auto"}}},Object(m.c)(p.l,{display:"flex",alignItems:"flex-end",justifyContent:"end",gap:1},Object(m.c)(Mu,{stats:a||{},"data-testid":"multiplexer-pushes-status-".concat(r,"-").concat(t)}),Object(m.c)(p.mb,{"aria-label":"delete",size:"small",color:"secondary",onClick:function(){return i.remove(t)},className:c.deleteSettingsButton,"data-testid":"multiplexer-pushes-delete-".concat(r,"-").concat(t)},Object(m.c)(Ey,{fontSize:"small"})))))},Ny=function(e){var t=e.values,r=e.index,i=e.setFieldValue,a=e.multiplexerStats,s=Object(j.b)().t,c=Object(n.useMemo)((function(){return t.pushes||[]}),[t.pushes]);return Object(m.c)(p.ib,{item:!0,xs:12,container:!0,spacing:2},Object(m.c)(nd.b,{name:"pushes",render:function(e){return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.ic,{titleText:s("multiplexer.pushesTitle"),button:Object(m.c)($c,{onClick:function(){return e.push({url:""})},docDescription:so.a.schemas.transponder_config.properties.pushes.description,"data-testid":"multiplexer-pushes-add-".concat(r)})})),c.map((function(t,n){var o,s;return Object(m.c)($y,{key:n,pushIndex:n,index:r,arrayHelpers:e,setFieldValue:i,pushStats:null==a?void 0:null===(o=a.pushes)||void 0===o?void 0:null===(s=o[n])||void 0===s?void 0:s.stats})})))}}))},Ly=p.uc.ExpandMoreIcon,Ry=p.uc.DeleteIcon,qy=function(e){var t=e.values,r=e.index,n=Object(j.b)().t,i=Ac().classes;return Object(m.c)(p.ib,{item:!0,xs:12,mt:3},Object(m.c)(p.a,{elevation:1},Object(m.c)(p.c,{expandIcon:Object(m.c)(Ly,null),"data-testid":"multiplexers-advanced-settings-".concat(r)},Object(m.c)(p.mc,{variant:"subtitle2"},n("multiplexer.advancedTitle"))),Object(m.c)(p.b,null,Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"versions.pat",docDescription:so.a.schemas.ts_versions.properties.pat.description,"data-testid":"multiplexers-versions-pat-".concat(r)})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"versions.pmt",docDescription:so.a.schemas.ts_versions.properties.pmt.description,"data-testid":"multiplexers-versions-pmt-".concat(r)})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"versions.nit",docDescription:so.a.schemas.ts_versions.properties.nit.description,"data-testid":"multiplexers-versions-nit-".concat(r)})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"versions.sdt",docDescription:so.a.schemas.ts_versions.properties.sdt.description,"data-testid":"multiplexers-versions-sdt-".concat(r)})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"timeouts.media_info",docDescription:so.a.schemas.ts_timeouts.properties.media_info.description,"data-testid":"multiplexers-versions-media_info-".concat(r)})),Object(m.c)(p.ib,{item:!0,xs:12,container:!0,spacing:2},Object(m.c)(nd.b,{name:"time_offsets",render:function(e){return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.ic,{titleText:n("multiplexer.timeOffsetsTitle"),button:Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ac,{color:"primary",variant:"contained",onClick:function(){return e.push({country:""})},className:i.addButton,"data-testid":"multiplexers-time_offsets-add-".concat(r)},Object(m.c)(p.mc,{component:"span",variant:"h6",fontWeight:500,lineHeight:1},"+")),Object(m.c)(p.kb,{docDescription:so.a.schemas.transponder_config.properties.time_offsets.description}))})),(t.time_offsets||[]).map((function(t,a){return Object(m.c)(o.a.Fragment,{key:a},Object(m.c)(p.ib,{item:!0,xs:5,sm:4,lg:2},Object(m.c)(sd,{name:"time_offsets.".concat(a,".country"),label:n("multiplexer.countryLabel"),type:"text",docDescription:so.a.schemas.transponder_time_offset.properties.country.description,"data-testid":"multiplexers-time_offsets-country-".concat(r,"-").concat(a)})),Object(m.c)(p.ib,{item:!0,xs:5,sm:4,lg:2},Object(m.c)(sd,{name:"time_offsets.".concat(a,".region"),label:n("multiplexer.regionLabel"),docDescription:so.a.schemas.transponder_time_offset.properties.region.description,"data-testid":"multiplexers-time_offsets-region-".concat(r,"-").concat(a)})),Object(m.c)(p.ib,{item:!0,xs:5,sm:4,lg:2},Object(m.c)(sd,{type:"text",name:"time_offsets.".concat(a,".local_time_offset"),label:n("multiplexer.localTimeOffsetLabel"),placeholder:"-0200",docDescription:so.a.schemas.transponder_time_offset.properties.local_time_offset.description,"data-testid":"multiplexers-time_offsets-local_time_offset-".concat(r,"-").concat(a)})),Object(m.c)(p.ib,{item:!0,xs:5,sm:4,lg:2},Object(m.c)(sd,{type:"text",name:"time_offsets.".concat(a,".next_time_offset"),label:n("multiplexer.nextTimeOffsetLabel"),placeholder:"-0200",docDescription:so.a.schemas.transponder_time_offset.properties.next_time_offset.description,"data-testid":"multiplexers-time_offsets-next_time_offset-".concat(r,"-").concat(a)})),Object(m.c)(p.ib,{item:!0,xs:5,sm:4,lg:2,display:"flex",alignItems:"flex-end"},Object(m.c)(p.W,{name:"time_offsets.".concat(a,".time_of_change"),label:n("multiplexer.timeOfChangeLabel"),value:t.time_of_change?1e3*t.time_of_change:"",inputFormat:"dd-MM-yyyy HH:mm",ampm:!1,isSeconds:!0,"data-testid":"multiplexers-time_offsets-time_of_change-".concat(r,"-").concat(a)}),Object(m.c)(p.kb,{docDescription:so.a.schemas.transponder_time_offset.properties.time_of_change.description,style:{marginBottom:3}})),Object(m.c)(p.ib,{item:!0,xs:2,sm:4,lg:2},Object(m.c)(p.mb,{"aria-label":"delete",size:"small",color:"secondary",onClick:function(){return e.remove(a)},className:i.deleteSettingsButton,"data-testid":"multiplexers-time_offsets-delete-".concat(r,"-").concat(a)},Object(m.c)(Ry,{fontSize:"small"}))))})))}}))))))};function My(e){return function(e){if(Array.isArray(e))return zy(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Uy(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Fy(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||Uy(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Uy(e,t){if(e){if("string"==typeof e)return zy(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?zy(e,t):void 0}}function zy(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var By=function(e){var t,r=e.index,o=e.setFieldValue,i=e.values,a=e.multiplexers,s=Object(j.b)().t,c=Fy(Object(n.useState)(""),2),l=c[0],u=c[1],d=Fy(Object(n.useState)(""),2),f=d[0],b=d[1],h=Object(_.Lb)({params:{name_like:l||void 0,limit:20}}).data,y=Object(n.useMemo)((function(){return(null==h?void 0:h.streams)||[]}),[h]),g=null!==(t=null==h?void 0:h.estimated_count)&amp;&amp;void 0!==t?t:0,v=Object(n.useMemo)((function(){return y.map((function(e){return e.name}))}),[y]),O=function(e,t){e.stopPropagation(),b(t)};return Object(m.c)(p.g,{id:"add-program-".concat(r),"data-testid":"add-program-".concat(r),label:s("multiplexer.addProgram"),freeSolo:!0,options:v,value:f,inputValue:f||"",onInputChange:function(e,t){clearTimeout(Ty),e&amp;&amp;(Ty=setTimeout((function(){u(t)}),500),O(e,t))},onChange:O,placeholder:g&gt;20?s("searchForMore"):void 0,additionalControls:Object(m.c)($c,{onClick:function(){var e,t,r,n=(e=My(i.programs||[]),t=e?e.map((function(e){return e.program_id})):[],r=Oc.a((function(e,t){return e-t}),t)[t.length-1],{program_id:Object(Lu.c)(r||0)+1}),s=yd({values:i,multiplexers:a,program:n,value:f,streams:y});o("programs",[].concat(My(i.programs||[]),[s])),b(""),u("")},"data-testid":"add-program-button-".concat(r)})})};function Hy(e){return(Hy="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Vy(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Wy(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Vy(Object(r),!0).forEach((function(t){Gy(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Vy(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Gy(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Hy(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Hy(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Hy(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Ky=function(e){var t=e.programIndex,r=e.index,n=e.values,o=e.setFieldValue,i=e.initialValues,a=e.programWithStats,s=function(e,r){return function(i,a){var s,c,l,p,u,d,m;i.stopPropagation();var f=hd(a,null===(s=n.programs)||void 0===s?void 0:null===(c=s[t])||void 0===c?void 0:null===(l=c.pids)||void 0===l?void 0:l.pcr),b=f.content,h=f.pcr,y=f.track,g=Wy(Wy({},null===(p=n.programs)||void 0===p?void 0:null===(u=p[t])||void 0===u?void 0:null===(d=u.pids)||void 0===d?void 0:null===(m=d.media)||void 0===m?void 0:m[e]),{},{content:b,track:y});r.replace(e,g),o("programs.".concat(t,".pids.pcr"),h)}};return Object(m.c)(vd,{values:n,programIndex:t,index:r,setFieldValue:o,addPid:function(e){var t=fd(md(n)());e.push({pid:t.pid})},handleChangeTrack:s,handleChangeTrackInput:function(e,t){return function(r,n){r&amp;&amp;s(e,t)(r,n)}},removePid:function(e,r){var o,a,s,c,l,p,u,d;null!==(o=i.programs)&amp;&amp;void 0!==o&amp;&amp;null!==(a=o[t])&amp;&amp;void 0!==a&amp;&amp;null!==(s=a.pids)&amp;&amp;void 0!==s&amp;&amp;null!==(c=s.media)&amp;&amp;void 0!==c&amp;&amp;c[e]?r.replace(e,Wy(Wy({},null===(l=n.programs)||void 0===l?void 0:null===(p=l[t])||void 0===p?void 0:null===(u=p.pids)||void 0===u?void 0:null===(d=u.media)||void 0===d?void 0:d[e]),{},{$delete:!0})):r.remove(e)},programWithStats:a})};function Yy(e){return(Yy="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Jy(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Qy(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Jy(Object(r),!0).forEach((function(t){Xy(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Jy(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Xy(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Yy(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Yy(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Yy(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Zy(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return eg(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return eg(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function eg(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var tg,rg=p.uc.ExpandMoreIcon,ng=p.uc.DeleteIcon,og=p.uc.IconMultiplexerProgram,ig=function(e){var t=e.pid,r=Object(n.useMemo)((function(){return bd(t)}),[t]);return Object(m.c)(p.mc,{variant:"subtitle2",ml:1.5},"pid ".concat(t.pid," ").concat(r))},ag=function(e){var t,r,o=e.program,i=e.programWithStats,a=e.programIndex,s=e.values,c=e.setFieldValue,l=e.index,u=e.multiplexers,d=e.arrayHelpers,f=e.initialValues,b=Object(j.b)().t,h=Ac().classes,y=Cc().classes,g=Zy(Object(n.useState)(""),2),v=g[0],O=g[1],x=Object(_.Lb)({params:{name_like:v||void 0,limit:20}}).data,w=Object(n.useMemo)((function(){return(null==x?void 0:x.streams)||[]}),[x]),k=null!==(t=null==x?void 0:x.estimated_count)&amp;&amp;void 0!==t?t:0,S=Object(n.useMemo)((function(){return w.map((function(e){return e.name}))}),[w]),P=function(e,t){var r;e.stopPropagation();var n=null===(r=s.programs)||void 0===r?void 0:r[a],o=yd({values:s,multiplexers:u,program:n,value:t,streams:w});d.replace(a,o)};return Object(m.c)(p.a,{className:h.generalWrapper},Object(m.c)(p.c,{expandIcon:Object(m.c)(rg,null),"data-testid":"multiplexers-program-expand-".concat(l,"-").concat(a)},Object(m.c)(p.l,{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%"},Object(m.c)(p.l,{display:"flex",alignItems:"center",flexWrap:{xs:"wrap",sm:"nowrap"}},Object(m.c)(p.mc,{variant:"subtitle2"},b("multiplexers.program",{id:o.program_id})),o.source&amp;&amp;Object(m.c)(p.mc,{variant:"caption",component:"div",ml:1},Object(m.c)("span",{className:y.iconMultiplexer},Object(m.c)(og,null))," ",o.source),((null===(r=o.pids)||void 0===r?void 0:r.media)||[]).map((function(e){return!e.$delete&amp;&amp;Object(m.c)(ig,{key:e.pid,pid:e})}))),Object(m.c)(p.mb,{"aria-label":"delete",size:"small",color:"secondary",onClick:function(e){var t,r;(e.stopPropagation(),null!==(t=f.programs)&amp;&amp;void 0!==t&amp;&amp;t[a])?d.replace(a,Qy(Qy({},null===(r=s.programs)||void 0===r?void 0:r[a]),{},{$delete:!0})):d.remove(a)},"data-testid":"multiplexers-program-delete-".concat(l,"-").concat(a)},Object(m.c)(ng,{fontSize:"small"})))),Object(m.c)(p.b,null,Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"programs.".concat(a,".program_id"),label:b("multiplexer-program_id"),docDescription:so.a.schemas.transponder_program.properties.program_id.description,"data-testid":"multiplexers-program-program_id-".concat(l,"-").concat(a)})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"programs.".concat(a,".title"),label:b("multiplexer-title"),type:"text",docDescription:so.a.schemas.transponder_program.properties.title.description,"data-testid":"multiplexers-program-title-".concat(l,"-").concat(a)})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"programs.".concat(a,".eit_title"),label:b("multiplexer-eit_title"),type:"text",docDescription:so.a.schemas.transponder_program.properties.eit_title.description,"data-testid":"multiplexers-program-eit_title-".concat(l,"-").concat(a)})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(sd,{name:"programs.".concat(a,".lcn"),label:b("multiplexer-lcn"),docDescription:so.a.schemas.transponder_program.properties.lcn.description,"data-testid":"multiplexers-program-lcn-".concat(l,"-").concat(a)})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(p.U,{freeSolo:!0,name:"programs.".concat(a,".source"),label:b("multiplexer-source"),placeholder:k&gt;20?b("searchForMore"):void 0,items:S,onInputChange:function(e,t){clearTimeout(tg),e&amp;&amp;(tg=setTimeout((function(){O(t)}),500),P(e,t))},onChange:P,"data-testid":"multiplexers-program-source-".concat(l,"-").concat(a)})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:2},Object(m.c)(p.U,{freeSolo:!0,name:"programs.".concat(a,".service_type"),label:b("multiplexer-service_type"),items:dd,"data-testid":"multiplexers-program-service_type-".concat(l,"-").concat(a)})),Object(m.c)(p.ib,{item:!0,xs:12,container:!0,spacing:2},Object(m.c)(Ky,{values:s,index:l,programIndex:a,setFieldValue:c,initialValues:f,programWithStats:i})))))};function sg(e){return function(e){if(Array.isArray(e))return cg(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return cg(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return cg(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function cg(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var lg=function(e){var t=e.multiplexers,r=e.multiplexer,o=e.setFieldValue,i=e.index,a=Object(j.b)().t,s=Object(n.useMemo)((function(){return t.map((function(e){return e.name})).filter((function(e,t){return t!==i}))}),[i,t]),c=Object(n.useMemo)((function(){return s.filter((function(e){return(r.others||[]).find((function(t){return t.name===e&amp;&amp;!t.$delete}))}))}),[r.others,s]);return Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{mt:3},Object(m.c)(p.U,{multiple:!0,filterSelectedOptions:!0,name:"others",label:a("multiplexer.otherTitle"),items:s,"data-testid":"multiplexers-others-".concat(i),onChange:function(e,t){var n=t.map((function(e){return{name:e}})),i=c.filter((function(e){return!t.includes(e)})).map((function(e){return{name:e,$delete:!0}})),a=(r.others||[]).filter((function(e){return!t.includes(e.name)&amp;&amp;e.$delete}));n=[].concat(sg(n),sg(i),sg(a)),o("others",n)},value:c})))};function pg(e){return(pg="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function ug(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function dg(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ug(Object(r),!0).forEach((function(t){mg(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ug(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function mg(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==pg(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==pg(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===pg(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function fg(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return bg(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return bg(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bg(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var hg=p.uc.IconMultiplexer,yg=p.uc.ExpandMoreIcon,gg=function(e){var t=e.data,r=e.index,o=e.multiplexers,i=e.multiplexerStats,a=Object(j.b)().t,s=Ac().classes,c=fg(Object(n.useState)(!1),2),l=c[0],u=c[1],d=fg(Object(n.useState)(!1),2),f=d[0],b=d[1],h=Object(n.useMemo)((function(){return dg({},t)}),[t]),y=Object(_.hc)(),g=Object(_.fc)(),v=Object(_.jc)(),O=function(){u(!0)},x=function(){b(!1),v()};return Object(m.c)(p.Nb,{className:s.multiplexerWrapper},Object(m.c)(nd.d,{enableReinitialize:!0,initialValues:h,validationSchema:Nd,onSubmit:function(e){var r=Nd.cast(e),n=Nd.cast(h),o=Object(Rh.a)(n,r);o.stats&amp;&amp;delete o.stats,o.pushes&amp;&amp;(o.pushes=o.pushes.map((function(e){return e.stats?cu.a(["stats"])(e):e}))),o.programs&amp;&amp;h.programs&amp;&amp;o.programs.forEach((function(e,t){var r,i,a,s=null===(r=n.programs)||void 0===r?void 0:r[t];if(s){var c=Object(Rh.a)(s,o.programs[t]);if(Object(B.d)(c.program_id)){var l=lt.a(o.programs[t]);o.programs.push(l),o.programs[t]=s,o.programs[t].$delete=!0}}!o.programs[t].$delete&amp;&amp;null!==(i=o.programs[t].pids)&amp;&amp;void 0!==i&amp;&amp;i.media&amp;&amp;(null===(a=o.programs[t].pids)||void 0===a||a.media.forEach((function(e,r){var i,a,s,c,l=null===(i=n.programs)||void 0===i?void 0:null===(a=i[t])||void 0===a?void 0:null===(s=a.pids)||void 0===s?void 0:null===(c=s.media)||void 0===c?void 0:c[r];if(l){var p,u,d,m,f=Object(Rh.a)(l,null===(p=o.programs)||void 0===p?void 0:null===(u=p[t])||void 0===u?void 0:null===(d=u.pids)||void 0===d?void 0:null===(m=d.media)||void 0===m?void 0:m[r]);if(Object(B.d)(f.pid)){var b=lt.a(o.programs[t].pids.media[r]);b.stats&amp;&amp;delete b.stats,o.programs[t].pids.media.push(b),o.programs[t].pids.media[r]=l,o.programs[t].pids.media[r].$delete=!0}}o.programs[t].pids.media[r].stats&amp;&amp;delete o.programs[t].pids.media[r].stats})))})),o.name?y({params:{name:o.name||""},body:dg({},cu.a(["name","stats"],e)),onSuccess:function(){o.name&amp;&amp;g({params:{name:t.name||""},onSuccess:function(){v()}})}}):y({params:{name:t.name||""},body:dg({},o),onSuccess:function(){v()}})},validateOnChange:!1},(function(e){var n=e.isValid,c=e.isSubmitting,l=e.resetForm,u=e.dirty,d=e.values,b=e.setFieldValue;return Object(m.c)(nd.c,null,Object(m.c)(p.l,{mb:1,display:{xs:"block",sm:"flex"},alignItems:"center",justifyContent:"space-between"},Object(m.c)(p.l,{display:"flex",alignItems:"center"},Object(m.c)(p.mc,{color:"primary",fontSize:20},Object(m.c)(hg,null)),Object(m.c)(p.mc,{variant:"subtitle2",mx:1,"data-testid":"multiplexer-name-".concat(r)},t.name),Object(m.c)(qu,{stats:null==i?void 0:i.stats})),Object(m.c)(p.l,{mt:{xs:1,sm:0},display:"flex",alignItems:"flex-end"},Object(m.c)(p.l,{width:{xs:200,md:300},className:s.addProgram},Object(m.c)(By,{index:r,setFieldValue:b,values:d,multiplexers:o})))),Object(m.c)(p.a,{className:s.generalWrapper},Object(m.c)(p.c,{expandIcon:Object(m.c)(yg,null),"data-testid":"multiplexer-settings-".concat(r)},Object(m.c)(p.mc,{variant:"subtitle2"},a("multiplexers.generalSettings"))),Object(m.c)(p.b,null,Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(ky,{index:r}),Object(m.c)(Iy,{values:d,multiplexer:t,index:r}),Object(m.c)(Dy,{values:d,index:r}),Object(m.c)(Ny,{values:d,index:r,multiplexerStats:i,setFieldValue:b}),Object(m.c)(lg,{multiplexers:o,multiplexer:d,index:r,setFieldValue:b}),Object(m.c)(qy,{values:d,index:r})))),Object(m.c)(nd.b,{name:"programs",render:function(e){return(d.programs||[]).map((function(t,n){var a;return(!t.$delete&amp;&amp;Object(m.c)(ag,{key:n,program:t,programIndex:n,values:d,setFieldValue:b,index:r,multiplexers:o,arrayHelpers:e,initialValues:h,programWithStats:null==i?void 0:null===(a=i.programs)||void 0===a?void 0:a[n]}))}))}}),Object(m.c)(p.l,{mt:2,display:"flex"},Object(m.c)(p.L,{type:"submit",color:"primary",variant:"contained",disabled:c||!n||!u,endIcon:c&amp;&amp;Object(m.c)(p.u,{size:20,color:"secondary"}),"data-testid":"saveButton"},a("save")),Object(m.c)(p.l,{ml:1},Object(m.c)(p.L,{color:"secondary",variant:"contained",disabled:c||!u,"data-testid":"cancelButton",onClick:function(){return l()}},a("cancel"))),Object(m.c)(p.l,{ml:1},Object(m.c)(p.L,{color:"secondary",variant:"contained",disabled:f,endIcon:f&amp;&amp;Object(m.c)(p.u,{size:20,color:"secondary"}),"data-testid":"delete-multiplexer-".concat(r),onClick:O},a("multiplexers.delete")))))})),Object(m.c)(p.C,{open:l,handleClose:function(){u(!1)},onDelete:function(){t.name&amp;&amp;(b(!0),g({params:{name:t.name},onSuccess:function(){return x()},onError:function(){return x()}}))},title:a("multiplexer.removeMultiplexerConfirm"),notice:a("multiplexer.removeMultiplexerNotice",{name:t.name}),removeButtonText:a("multiplexer.deleteMultiplexerButton")}))},vg=r(322);function _g(e){return(_g="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Og(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function jg(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Og(Object(r),!0).forEach((function(t){xg(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Og(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function xg(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==_g(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==_g(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===_g(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var wg=ao.d().shape({name:ao.e().matches(Id,{message:"multiplexer.validators.nameError"}).required("required"),bitrate:ao.e().nullable().matches(/^\d+$/,{message:"shouldBeNumberError"}).required("required")}),kg=function(){var e=Object(j.b)().t,t=Ge()().history,r=Object(p.zc)(),n=Object(p.yc)(r.breakpoints.down("md")),i=Object(_.hc)(),a=Object(_.jc)(),s=Object(nd.f)({initialValues:{name:"",bitrate:void 0},isInitialValid:!1,validationSchema:wg,onSubmit:function(e){i({params:{name:e.name||""},body:jg({},e),onSuccess:function(){a(),t.push("/multiplexers")}})}}),c=s.values,l=s.isSubmitting,u=s.errors,d=s.isValid,f=s.handleSubmit,b=s.handleChange,h=Object(_.gc)({params:{name:c.name||""},options:{enabled:!!c.name}}).data?e("usedNameError"):"";return Object(m.c)("form",{onSubmit:f,onKeyPress:function(e){"Enter"===e.key&amp;&amp;f()}},Object(m.c)(p.l,{mt:3},Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:4},Object(m.c)(p.Wb,{name:"name",label:e("multiplexer-name"),onChange:b,value:c.name,error:!(!u.name&amp;&amp;!h),helperText:e(u.name||h||""),endAdornment:Object(m.c)(p.kb,{docDescription:so.a.schemas.transponder_config.properties.name.description}),inputProps:{"data-testid":"multiplexer-name"}})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:4},Object(m.c)(p.Wb,{name:"bitrate",label:e("multiplexer-bitrate"),onChange:b,value:c.bitrate,error:!!u.bitrate,helperText:e(u.bitrate||""),endAdornment:Object(m.c)(o.a.Fragment,null,Object(m.c)(vg.a,{component:"span",variant:"body2"},"K"),Object(m.c)(p.kb,{docDescription:so.a.schemas.transponder_config.properties.bitrate.description})),inputProps:{"data-testid":"multiplexer-bitrate"}})),Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.ac,{type:"submit",color:"primary",variant:"contained",fullWidth:n,disabled:l||!d,endIcon:l&amp;&amp;Object(m.c)(p.u,{size:20,color:"secondary"}),"data-testid":"saveButton"},e("createButton"))))))};function Sg(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Pg(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Pg(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Pg(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Tg=function(){var e=Object(j.b)().t,t=Ic().classes,r=yt({limit:ct.a}),i=r.limit,a=r.cursor,s=r.handlePaginationChange,c=Sg(Object(n.useState)(""),2),l=c[0],u=c[1],d=Object(_.ic)({params:{limit:i||void 0,cursor:a||void 0,name_like:l||void 0}}),f=d.data,b=d.isLoading,h=Object(_.ic)({params:{limit:i||void 0,cursor:a||void 0,name_like:l||void 0,select:"stats,pushes,programs"},options:{keepPreviousData:!0,refetchInterval:7e3}}).data,y=Object(n.useMemo)((function(){return(null==f?void 0:f.transponders)||[]}),[null==f?void 0:f.transponders]),g=(null==h?void 0:h.transponders)||[],v=Object(n.useMemo)((function(){return Object(m.c)(p.l,{mt:2},Object(m.c)(p.ec,{nextCursor:null==f?void 0:f.next,prevCursor:null==f?void 0:f.prev,handlePaginationChange:s}))}),[null==f?void 0:f.next,null==f?void 0:f.prev,s]);return Object(m.c)(o.a.Fragment,null,0!==y.length&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.l,{mt:4,className:t.searchWrapper},Object(m.c)(p.Tb,{placeholder:e("multiplexers.searchMultiplexerLabel"),value:l||"",onChange:function(e){u(e.target.value)}})),v),Object(m.c)(p.Ub,{isLoading:b},0===y.length&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.f,{severity:"info"},e("multiplexers.new")),Object(m.c)(kg,null)),y.map((function(e,t){return Object(m.c)(gg,{key:e.name,data:e,index:t,multiplexers:y,multiplexerStats:g[t]})})),0!==y.length&amp;&amp;v))},Cg=function(){var e=Object(j.b)().t,t=Pc().classes;return Object(m.c)(kn,null,Object(m.c)(p.ib,{container:!0,spacing:2,"data-testid":"multiplexers-block"},Object(m.c)(p.ib,{item:!0,xs:12,lg:4,xl:3},Object(m.c)(wy,null)),Object(m.c)(p.ib,{item:!0,xs:12,lg:8,xl:9},Object(m.c)(p.l,{p:2,className:t.blockWrapper},Object(m.c)(p.mc,{variant:"subtitle2",mb:1,fontSize:16},e("multiplexers.title")),Object(m.c)(Tg,null)))))};r(775);function Ig(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Ag(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ag(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ag(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Dg=function(e){var t=e.source,r=e.id,i=e.index,a=Object(j.b)().t,s=t.only,c=t.url,l=Ig(Object(n.useState)(!1),2),u=l[0],d=l[1],f=Object(_.sb)(),b=Object(_.nb)(),h=Object(_.qb)(),y=function(){d(!1)},g=function(){t.only&amp;&amp;h({params:{url:t.url||""},body:{only:null},onSuccess:function(){f()}})},v=function(){t.only||h({params:{url:t.url||""},body:{only:[]},onSuccess:function(){f()}})};return Object(m.c)(p.l,{display:{xs:"block",lg:"flex"},justifyContent:"space-between",alignItems:"center"},Object(m.c)(p.yb,{to:"/sources/".concat(encodeURIComponent(r)),component:Mt.b,color:"primary","data-testid":"sourced-link-".concat(i)},c),Object(m.c)(p.l,{display:{xs:"block",lg:"flex"},justifyContent:"space-between",alignItems:"center"},Object(m.c)(p.l,{mt:{xs:1,lg:0}},Object(m.c)(o.a.Fragment,null,Object(m.c)(p.mc,null,a("sourceListItem.sourceByDefaultAs")),Object(m.c)(No.a,{label:a("static"),checked:!s,onClick:g,className:"margin-left-10 flex-center","data-testid":"static-source-".concat(i),isRadio:!0}),Object(m.c)(No.a,{label:a("onDemand"),checked:!!s,onClick:v,className:"margin-left-10 flex-center","data-testid":"ondemand-source-".concat(i),isRadio:!0}))),Object(m.c)(p.l,{mt:{xs:1,lg:0}},Object(m.c)(p.L,{variant:"contained",color:"secondary",onClick:function(){d(!0)},"data-testid":"remove-source-".concat(i),size:"small"},a("remove")))),Object(m.c)(p.C,{open:u,handleClose:y,onDelete:function(){return y(),void b({params:{url:t.url||""},onSuccess:function(){f()}})},title:a("sourceListItem.removeSourceConfirm"),notice:a("sourceListItem.removeSourceNoticeQuestion"),removeButtonText:a("sourceListItem.deleteSourceButton")}))},Eg=function(){var e=Object(j.b)().t,t=Object(_.rb)({options:{refetchInterval:5e3}}),r=t.isLoading,o=t.data,i=(null==o?void 0:o.sources)||[],a=Object(n.useMemo)((function(){return{items:[{title:e("sourcesList.server"),grow:1,renderData:function(e,t){return Object(m.c)(Dg,{source:e,id:e.url||"",index:t})}}]}}),[e]);return Object(m.c)(p.Ub,{isLoading:r},Object(m.c)(kn,null,Object(m.c)(p.ib,{container:!0,item:!0,xs:12,"data-testid":"origin-block"},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{mt:6},Object(B.e)(i)?Object(m.c)(p.A,{data:i,titleMobile:e("sourcesList.title"),columns:a}):Object(m.c)(p.mc,{component:"p",align:"center",variant:"subtitle1"},e("sourcesList.noSourcesFound")))))))},$g=function(e){var t=e.media,r=e.config,n=e.change;return Object(m.c)(p.l,{"data-testid":"source-output"},Object(m.c)(p.ib,{container:!0,spacing:2,style:{width:"100%",marginRight:0}},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(su,{name:"{NAME}",config:r,media:t,change:n}),Object(m.c)(p.l,{my:2},Object(m.c)(Nu,{media:t,change:n,isTitle:!1})))))},Ng=function(e){var t=e.media,r=e.change,n=e.resetChanges,o=e.isConfigSaving,i=e.isConfigChanged,a=e.mediaNames;return Object(m.c)(p.l,{"data-testid":"source-dvr"},Object(m.c)(Jm,{streamName:"sources",entity:"sources",media:t,onConfigChange:r,onConfigResetChanges:n,isConfigSaving:o,isConfigChanged:i,mediaNames:a}))},Lg=function(e){var t=e.media,r=e.change,n=e.saveConfig,o=e.resetChanges,i=e.isConfigSaving,a=e.isConfigChanged;return Object(m.c)(p.l,{"data-testid":"source-auth"},Object(m.c)(Cs,{media:t,onConfigChange:function(){return r},onConfigResetChanges:o,isConfigSaving:i,isConfigChanged:a,onConfigSave:n}))},Rg=function(e){return Object(m.c)(U.Switch,null,Object(m.c)(U.Route,{path:"".concat("/sources/:name","/dvr"),render:function(){return Object(m.c)(Ng,e)}}),Object(m.c)(U.Route,{path:"".concat("/sources/:name","/output"),render:function(){return Object(m.c)($g,e)}}),Object(m.c)(U.Route,{path:"".concat("/sources/:name","/auth"),render:function(){return Object(m.c)(Lg,e)}}))};function qg(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Mg(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Mg(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Mg(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Fg=function(){var e=Object(j.b)().t,t=Object(n.useContext)(me).globalSettings,r=Ge()(),i=r.history,a=r.match,s=decodeURIComponent(ar.a("",["params","name"])(a)),c=Object(n.useMemo)((function(){return function(e){var t="/sources/:name".replace(":name",encodeURIComponent(e));return[{name:"innerHeader.overview",to:t},{name:"innerHeader.input",to:"".concat(t,"/input")},{name:"innerHeader.process",to:"".concat(t,"/process")},{name:"innerHeader.dvr",to:"".concat(t,"/dvr")},{name:"innerHeader.output",to:"".concat(t,"/output")},{name:"innerHeader.auth",to:"".concat(t,"/auth")}]}(s)}),[s]),l=qg(Object(n.useState)(!1),2),u=l[0],d=l[1],f=Gh(),b=f.setData,h=f.onChange,y=f.resetData,g=f.currentData,v=f.isDataChanged,O=f.resetDelta,x=f.getDelta,w=f.initData;Object(_.ob)({params:{url:s},options:{onSuccess:function(e){b(e)}}});var k=Object(_.pb)(),S=Object(_.nb)(),P=Object(_.qb)(),T=g||{};o.a.useEffect((function(){y()}),[]),Object(n.useEffect)((function(){w()}),[i.location]);var C=function(){var t=decodeURIComponent(s);if(window.confirm(e("reallyDelete",{mediaName:t}))){var r=function(){i.push("/sources")};S({params:{url:t},onSuccess:r,onError:r})}},I=function(){Object(Wr.f)({saveFn:P,name:s,deleteFn:S,history:i,route:"sources",field:"url",cbSuccess:function(){O(),k()},setIsSaving:d,delta:x(),currentData:g})((function(){k()}))};return Object(B.e)(g)&amp;&amp;Object(B.e)(T)?Object(m.c)(p.Lb,{menuItems:c,buttons:Object(m.c)(o.a.Fragment,null,Object(m.c)(p.n,{variant:"contained",color:"secondary",size:"small",onClick:C,"data-testid":"delete-stream-button"},e("headerSourcePage.removeSource")),Object(m.c)(p.l,{ml:2},Object(m.c)(p.n,{variant:"contained",color:"primary",size:"small",onClick:I,"data-testid":"saveButton",disabled:u||!v,endIcon:u&amp;&amp;Object(m.c)(p.u,{size:20,color:"primary"})},e("save")))),id:"media-page",route:"sources"},Object(m.c)(Rg,{media:T,mediaNames:[s],name:s,config:t,change:h(),resetChanges:O,saveConfig:Object(Wr.f)({saveFn:P,name:s,deleteFn:S,history:i,route:"sources",field:"url",cbSuccess:function(){O(),k()},setIsSaving:d,delta:x(),currentData:g}),runningRequest:u,isConfigChanged:v,isConfigSaving:u})):Object(m.c)("div",null,"Loading...")},Ug=function(){var e=Object(j.b)().t,t=yt({limit:ct.a}),r=t.cursor,o=t.sort,i=t.handlePaginationChange,a=Object(_.Z)({params:{cursor:r||void 0,limit:ct.a,sort:o||void 0},options:{refetchInterval:1e4,keepPreviousData:!0}}),s=a.data,c=a.isLoading,l=(null==s?void 0:s.files)||[],u=Object(n.useMemo)((function(){return{items:[{title:e("files.subpath"),grow:1,renderData:function(e){return Object(m.c)(p.mc,{variant:"body2"},e.subpath)}},{title:e("files.prefix"),grow:1,renderData:function(e){return Object(m.c)(p.mc,{variant:"body2"},e.prefix)}},{title:e("files.url"),grow:2,renderData:function(e){return Object(m.c)(p.mc,{variant:"body2"},e.url)}},{title:Object(m.c)(p.Yb,{sortKey:"stats.client_count",label:e("files.client_count"),handlePaginationChange:i,sort:o}),grow:.5,renderData:function(e){var t;return Object(m.c)(p.mc,{variant:"body2"},null===(t=e.stats)||void 0===t?void 0:t.client_count)}}]}}),[o,e]);return Object(m.c)(p.l,{mt:6,"data-testid":"open-files-list"},Object(m.c)(p.l,{mb:2},Object(m.c)(p.mc,{variant:"h6"},e("files.title"))),Object(m.c)(p.Ub,{isLoading:c},Object(m.c)(p.A,{data:l,primaryKey:"name",titleMobile:e("files.title"),columns:u,nextCursor:null==s?void 0:s.next,prevCursor:null==s?void 0:s.prev,handlePaginationChange:i})))},zg=function(){var e=Object(j.b)().t,t=Object(_.rc)(),r=t.isLoading,o=t.data,i=(null==o?void 0:o.vods)||[],a=Object(_.sc)(),s=Object(_.nc)(),c=Object(n.useMemo)((function(){return{items:[{title:e("vods.prefix"),grow:1,renderData:function(t){return Object(m.c)(p.l,{display:"flex",justifyContent:"flex-start"},Object(m.c)(p.yb,{to:"/vods/".concat(encodeURIComponent((null==t?void 0:t.prefix)||"")),component:Mt.b,variant:"body2",color:"primary","data-testid":"vod-link-".concat(t.prefix),noWrap:!0},t.prefix),"Â&nbsp;",t.disabled&amp;&amp;Object(m.c)(p.mc,{variant:"body2",className:"warning-text"},e("disabled")))}},{title:e("vods.storages"),grow:2,renderData:function(t){return Object(m.c)(p.l,{display:{xs:"block",lg:"flex"},justifyContent:"space-between",alignItems:"center"},Object(m.c)(p.mc,{variant:"body2",color:"textSecondary","data-testid":"vod-path-".concat(t.prefix)},((null==t?void 0:t.storages)||[]).map((function(e){return e.url})).join(" ")),Object(m.c)(p.l,{mt:{xs:1,lg:0}},Object(m.c)(p.L,{variant:"contained",color:"secondary",onClick:function(){return r=t,void(window.confirm(e("reallyDelete",{mediaName:r.prefix}))&amp;&amp;s({params:{prefix:r.prefix||""},onSuccess:function(){a()}}));var r},"data-testid":"vod-remove-".concat(t.prefix),size:"small"},e("remove"))))}}]}}),[e]);return Object(m.c)(p.Ub,{isLoading:r},Object(m.c)(kn,null,Object(m.c)(p.l,{"data-testid":"vod-block",mt:6},Object(B.e)(i)?Object(m.c)(p.A,{data:i,primaryKey:"prefix",titleMobile:e("vods.title"),columns:c}):Object(m.c)(p.mc,{component:"p",align:"center",variant:"subtitle1"},e("vods.noVodsFound"))),Object(m.c)(p.l,{"data-testid":"files-block"},Object(m.c)(Ug,null))))};function Bg(e){return function(e){if(Array.isArray(e))return Wg(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Vg(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Hg(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||Vg(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Vg(e,t){if(e){if("string"==typeof e)return Wg(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Wg(e,t):void 0}}function Wg(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Gg=/^[^Ð°-ÑÐ-Ð¯&lt;&gt;":\\/|?*\s]+$/,Kg=function(e){var t=e.prefix,r=e.storageIndex,o=e.subPath,i=e.setCreatedDirs,a=e.createdDirs,s=Object(j.b)().t,c=Hg(Object(n.useState)(""),2),l=c[0],u=c[1],d=Hg(Object(n.useState)(!1),2),f=d[0],b=d[1],h=Hg(Object(n.useState)(""),2),y=h[0],g=h[1],v=Object(_.t)({isAsync:!0}),O=Object(_.v)();return Object(m.c)(du,{multiple:!0,onChange:function(e){b(!0);var n=e.target,c=n.files,l=n.value;g(l);var p=[],d=[],m=!1;Object.values(c).forEach((function(e){Gg.test(e.name)?(p=[].concat(Bg(p),[e]),d=[].concat(Bg(d),[e.name])):(m=!0,u(s("uploadForm.incorrectFileName",{name:e.name})))})),m?(g(""),b(!1)):(u(""),Promise.all(p).then((function(e){Promise.all(Bg(e.map((function(e,n){return v({params:{prefix:t,storage_index:r,subpath:"".concat(o?"".concat(o,"/"):"").concat(d[n])},body:e})})))).then((function(){b(!1),g(""),O(),i(Bg(a.filter((function(e){return e.subpath!==o}))))})).catch((function(){b(!1),g(""),O()}))})))},value:y,color:"primary",variant:"outlined","data-testid":"upload-new-vod-file",id:"upload-new-vod-file",endIcon:f&amp;&amp;Object(m.c)(p.u,{size:20,color:"primary"}),isUploadingFile:f,uploadingError:l,disabled:f},s("uploadForm.uploadButton"))};function Yg(e){return(Yg="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Jg(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Qg(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Jg(Object(r),!0).forEach((function(t){Xg(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Jg(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Xg(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Yg(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Yg(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Yg(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Zg(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||tv(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ev(e){return function(e){if(Array.isArray(e))return rv(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||tv(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tv(e,t){if(e){if("string"==typeof e)return rv(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?rv(e,t):void 0}}function rv(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var nv=function(e){var t=e.split("/");return t[t.length-1]},ov=function(e,t){var r,n=e&amp;&amp;"/"!==vr.a(e)?"".concat(e,"/"):e||"",o=[],i=function(e,t){var r="undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=tv(e))||t&amp;&amp;e&amp;&amp;"number"==typeof e.length){r&amp;&amp;(e=r);var n=0,o=function(){};return{s:o,n:function(){return n&gt;=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw i}}}}(t);try{var a=function(){var e=r.value;if(0===e.subpath.indexOf(n)){var t=e.subpath.replace(n,"").split("/")[0];o.find((function(e){return e.subpath===t}))||o.push({subpath:e.subpath})}};for(i.s();!(r=i.n()).done;)a()}catch(e){i.e(e)}finally{i.f()}return o},iv=function(e){var t,r,i=e.media,a=e.config,s=Object(j.b)().t,c=Object(n.useContext)(u.c),l=Ge()().match.params,d=l.name,f=l.number,b=yt({}),h=b.query,y=b.cursor,g=b.handlePaginationChange,v=Zg(Object(n.useState)(""),2),O=v[0],x=v[1],w=Zg(Object(n.useState)(""),2),k=w[0],S=w[1],P=Zg(Object(n.useState)([]),2),T=P[0],C=P[1],I=Zg(Object(n.useState)(),2),A=I[0],D=I[1],E=Object(_.u)({params:{prefix:i.prefix,storage_index:f,folder:O||void 0,cursor:y||void 0,name_like:h||void 0}}),$=E.data,N=E.isLoading,L=$o.a([],"files")($),R=(null==$?void 0:$.prev)||null,q=(null==$?void 0:$.next)||null,M=Object(_.v)(),F=Object(_.s)(),U=function(e){e.preventDefault();var t=(O||"").split("/");t.pop(),O&amp;&amp;"/"===O[O.length-1]&amp;&amp;t.pop();var r=t.join("/");x(r)},z=function(e){return function(){F({params:{prefix:i.prefix,storage_index:f,subpath:e},onSuccess:function(){M()}})}},B=function(e){S(e.target.value)},H=function(){var e=O||"";if(e&amp;&amp;"/"!==e[e.length-1]&amp;&amp;(e+="/"),e+=k,-1===T.indexOf(e)){var t=T.slice();t.push({subpath:e}),C(t),S(""),x(e)}},V=function(e){"Enter"===e.key&amp;&amp;H()},W=function(e,t){return Object(m.c)("div",{key:t,className:"file-list-item video"},Object(m.c)("div",{className:"icon"}),Object(m.c)("a",{"data-testid":"vod-browser-file-".concat(t),className:"name",href:"src/admin/features/vod_page/VodBrowserPage",onClick:function(t){return function(e,t){t.preventDefault(),D(e)}(e.name,t)}},nv(e.subpath)),Object(m.c)(No.a,{onClick:z(e.subpath),label:s("remove"),className:"danger","data-testid":"vod-browser-remove-file-".concat(t)}))},G=function(e,t){return Object(m.c)("div",{key:t,className:"file-list-item directory"},Object(m.c)("div",{className:"icon"}),Object(m.c)("a",{className:"name",href:"src/admin/features/vod_page/VodBrowserPage",onClick:function(t){!function(e,t){t.preventDefault(),g({cursor:null}),x(e)}(e.subpath,t)},"data-testid":"vod-browser-dir-".concat(t)},nv(e.subpath)))},K=function(e,t){return Object(m.c)("div",{key:t,className:"file-list-item file"},Object(m.c)("div",{className:"icon"}),Object(m.c)("div",{className:"name","data-testid":"vod-browser-other-".concat(t)},nv(e.subpath)),Object(m.c)(No.a,{onClick:z(e.subpath),label:s("remove"),className:"danger","data-testid":"vod-browser-remove-other-".concat(t)}))},Y=ar.a([],["storages",f,"url"])(i);return"/"!==Y[Y.length-1]&amp;&amp;(Y+="/"),Object(m.c)(p.ib,{container:!0,spacing:2,id:"vod-browser","data-testid":"vod-browser"},Object(m.c)(p.ib,{item:!0,xs:12,md:A?4:12},Object(m.c)("div",{className:"row-height"}),Object(m.c)(p.yb,{to:{pathname:"/vods/".concat(encodeURIComponent(d)),state:{name:d}},component:Mt.b,color:"primary","data-testid":"back-to-vod-settings"},"â† ",s("vodBrowserPage.back")),Object(m.c)("div",{className:"row-height"}),Object(m.c)(p.fc,{label:"",value:O,disabled:!0,inputProps:{"data-testid":"vod-path"},InputProps:{startAdornment:Object(m.c)(p.rb,{position:"start",onClick:function(){x("")}},Y)}}),Object(m.c)(o.a.Fragment,null,function(){var e;for(var t in L)if(L[t].name===k){e=s("takenNameError");break}return Object(m.c)(p.l,{my:2,display:"flex",alignItems:"flex-end"},Object(m.c)(p.fc,{label:s("vodBrowserPage.newDirLabel"),value:k,onChange:B,onKeyPress:V,inputProps:{"data-testid":"new-vod-dir"},error:e}),Object(m.c)(No.a,{label:s("save"),onClick:H,disabled:!k&amp;&amp;!e,className:"margin-left-10","data-testid":"new-vod-dir-save"}))}(),Object(m.c)(Kg,{subPath:O,prefix:i.prefix,storageIndex:f,setCreatedDirs:C,createdDirs:T}),O&amp;&amp;"/"!==O?Object(m.c)("div",{className:"row-height flex-end"},Object(m.c)("a",{href:"src/admin/features/vod_page/VodBrowserPage",onClick:U,"data-testid":"to-parent-dir"},s("vodBrowserPage.parentDir"))):Object(m.c)("div",{className:"row-height flex-end"})),Object(m.c)(p.l,{mb:2,mt:1},Object(m.c)(p.fc,{value:h,onChange:function(e){return g({query:e.target.value})},inputProps:{"data-testid":"vod-files-search"},label:s("vodBrowserPage.filesSearch")})),Object(m.c)(p.l,{className:"pagination-preloader"},Object(m.c)(p.ec,{nextCursor:q,prevCursor:R,handlePaginationChange:g}),N&amp;&amp;Object(m.c)("div",{style:{textAlign:"center",marginLeft:"8px"}},Object(m.c)(p.u,{size:30,color:"primary"}))),(t=L.reduce((function(e,t){var r,n=e.videos,o=e.dirs,i=e.other,a=t.is_directory,s=!t.is_directory&amp;&amp;(r=t.name,/\.mp4$/.test(r)||/\.flv$/.test(r)||/\.m4v$/.test(r)||/\.mov$/.test(r)||/\.mkv$/.test(r));return{dirs:a?[].concat(ev(o),[t]):o,videos:!a&amp;&amp;s?[].concat(ev(n),[t]):n,other:a||s?i:[].concat(ev(i),[t])}}),{videos:[],dirs:[],other:[]}),r=ov(O,T),Object(m.c)("div",null,t.videos.map(W),r.map(G),t.dirs.map(G),t.other.map(K))),Object(m.c)("div",{className:"row-height"})),Object(m.c)(p.ib,{item:!0,xs:12,md:A?8:1},Object(m.c)("div",{className:"row-height"}),function(){var e;if(!A)return null;var t=As()(i,{name:{$set:A}});return t.egress_hostnames=null===(e=L.find((function(e){return e.name===A})))||void 0===e?void 0:e.egress_hostnames,Object(m.c)("div",null,Object(m.c)(Nt,{height:300,name:A,media:Qg(Qg({},t),{},{static:!0}),config:a,product:c,configEffective:t}),Object(m.c)("div",{className:"row-height"}),Object(m.c)(su,{mediaNames:[t.name],media:t,showFull:!1,config:a,product:c,configEffective:t}))}(),Object(m.c)("div",{className:"row-height"})))};iv.defaultProps={query:{}};var av=function(e){var t=e.media,r=e.change,n=Object(j.b)().t;return Object(m.c)(p.l,{"data-testid":"vod-output"},Object(m.c)(p.ib,{container:!0,spacing:2,style:{width:"100%",marginRight:0}},Object(m.c)(p.ib,{item:!0,xs:12,lg:9},Object(m.c)(p.l,{mt:4},Object(m.c)(Ai,{expanded:!0,label:n("vodOutputPush.allowDirectFileDownloadLabel"),details:n("vodOutputPush.allowDirectFileDownloadLabelDetail"),docDescription:so.a.schemas.vod_config.properties.download.description},Object(m.c)(No.a,{label:n("disabled"),checked:!t.download,onClick:function(){return r("download","raw")(!1)},className:"margin-right-10",isRadio:!0,"data-testid":"vod-output-allow-file-download-disabled"}),Object(m.c)(No.a,{label:n("enabled"),checked:t.download,onClick:function(){return r("download","raw")(!0)},isRadio:!0,"data-testid":"vod-output-allow-file-download-enabled"}))),Object(m.c)(p.l,{mt:2},Object(m.c)(p.fc,{entity:"vod",path:["on_play","max_sessions"],value:t.on_play&amp;&amp;t.on_play.max_sessions,onChange:r(["on_play","max_sessions"]),docDescription:so.a.schemas.auth_spec.properties.max_sessions.description})),Object(m.c)(p.l,{my:1},Object(m.c)(Nu,{media:t,change:r,isVod:!0})))))},sv=function(e){return Object(m.c)(U.Switch,null,Object(m.c)(U.Route,{path:"".concat("/vods/:name","/tree/:number"),render:function(){return Object(m.c)(iv,e)}}),Object(m.c)(U.Route,{path:"".concat("/vods/:name","/output"),render:function(){return Object(m.c)(av,e)}}),Object(m.c)(U.Route,{path:"".concat("/vods/:name","/auth"),render:function(){return Object(m.c)(Cs,e)}}))};function cv(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return lv(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return lv(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function lv(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var pv=function(){var e=Object(j.b)().t,t=Object(n.useContext)(me).globalSettings,r=Ge()(),i=r.history,a=r.match.params.name,s=Object(n.useMemo)((function(){return function(e){var t="/vods/:name".replace(":name",encodeURIComponent(e));return[{name:"innerHeader.overview",to:t},{name:"innerHeader.input",to:"".concat(t,"/input")},{name:"innerHeader.output",to:"".concat(t,"/output")},{name:"innerHeader.auth",to:"".concat(t,"/auth")}]}(a)}),[a]),c=cv(Object(n.useState)(!1),2),l=c[0],u=c[1],d=Gh(),f=d.setData,b=d.onChange,h=d.resetData,y=d.currentData,g=d.isDataChanged,v=d.resetDelta,O=d.getDelta,x=d.initData;Object(n.useEffect)((function(){return function(){h()}}),[]),Object(n.useEffect)((function(){x()}),[i.location]);var w=Object(_.oc)({params:{prefix:a},options:{onSuccess:function(e){f(e)}}}).isLoading,k=Object(_.pc)(),S=Object(_.nc)(),P=Object(_.qc)(),T=y||{},C=function(){return Object(Wr.f)({saveFn:P,name:a,deleteFn:S,history:i,route:"vods",field:"prefix",cbSuccess:function(){v(),k()},setIsSaving:u,delta:O(),currentData:y})},I=function(){var t=decodeURIComponent(a);if(window.confirm(e("reallyDelete",{mediaName:t}))){var r=function(){i.push("/vods")};S({params:{prefix:t},onSuccess:r,onError:r})}};if(w)return Object(m.c)("div",null,"Loading VOD...");return Object(m.c)(p.Lb,{menuItems:s,buttons:Object(m.c)(o.a.Fragment,null,Object(m.c)(p.n,{variant:"contained",color:"secondary",size:"small",onClick:I,"data-testid":"delete-stream-button"},e("headerVodPage.removeVod")),Object(m.c)(p.l,{ml:2},Object(m.c)(p.n,{variant:"contained",color:"primary",size:"small",onClick:C(),"data-testid":"saveButton",disabled:l||!g,endIcon:l&amp;&amp;Object(m.c)(p.u,{size:20,color:"primary"})},e("save")))),id:"media-page",route:"vods"},Object(m.c)(sv,{media:T,mediaName:a,mediaNames:[a],name:a,config:t,isConfigChanged:g,runningRequest:l,change:b(),onConfigChange:b,resetChanges:v,saveConfig:C(),onConfigSave:C()}))},uv=Object.values(Sc.r).map((function(e){switch(e){case"v":return["v","13V (vertical, right)"];case"h":return["h","18V (horizontal, left)"];case"l":return["l","left hand circular polarization"];case"r":return["r","right hand circular polarization"];default:return["",""]}})),dv=Object.values(Sc.l),mv=Object.values(Sc.o),fv=Object.values(Sc.g),bv=Object.values(Sc.j),hv=Object.values(Sc.h),yv=Object.values(Sc.k),gv=Object.values(Sc.i),vv=Object.values(Sc.v),_v=Object.values(Sc.v),Ov=Object.values(Sc.m),jv=Object.values(Sc.n),xv=Object.values(Sc.p),wv=Object.values(Sc.q),kv=Object.values(Sc.u),Sv=Object.values(Sc.s),Pv=Object.values(Sc.t),Tv=/^[A-Za-z0-9_]*$/,Cv=function(e){var t=e.dvbCard,r=e.cardName,n=e.onChange,o=e.onError,i=e.onErrorResolve,a=e.errors,s=e.cardIndex,c=e.adapters,l=Object(j.b)().t,u=["dvbCards",r,"adapter"],d=Object(Ds.b)(a[Object(ge.c)(u)],l),f=$o.a("","adapter")(t),b=function(e,t){e.stopPropagation(),n(t||"");var r=Vo({value:t});r.isValid?c.includes(Number(t))?o(u)("dvbCard.validators.adapterUniqueError"):i(u)():o(u)(r.error)};return Object(m.c)(p.g,{id:"dvb-card-".concat(s,"-adapter"),"data-testid":"dvb-card-".concat(s,"-adapter"),label:l("dvbCard.adapterLabel"),freeSolo:!0,options:[],value:f,inputValue:Object(B.e)(f)?f.toString():"",onInputChange:function(e,t){e&amp;&amp;b(e,t)},onChange:b,helperText:d,error:d,getOptionLabel:function(e){return e.toString()},docDescription:so.a.schemas.dvb_card_config.properties.adapter.description})};function Iv(e){return function(e){if(Array.isArray(e))return Av(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Av(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Av(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Av(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Dv=function(e){var t=e.dvbCard,r=e.cardIndex,n=e.onChange,o=e.cardName,i=e.onError,a=e.onErrorResolve,s=e.errors,c=Object(j.b)().t,l=["dvbCards",o,"polarization"],p=Object(Ds.b)(s[Object(ge.c)(l)],c),u=$o.a("","polarization")(t);return Object(m.c)(oa.a,{displayEmpty:!0,label:c("dvbCard.polarizationLabel"),value:Object(B.e)(u)?u:"","data-testid":"dvb-card-".concat(r,"-polarization"),onChange:function(e){e.stopPropagation();var r=e.target.value;n(r);var o=$o.a("","system")(t);if("dvbs"===o||"dvbs2"===o){var s=Ho("dvbCard.polarizationLabel")({value:r});s.isValid?a(l)():i(l)(s.error)}else a(l)()},items:[["",c("not-selected")]].concat(Iv(uv.map((function(e){return[e[0],e[1]]})))),HelperDocProps:{docDescription:so.a.schemas.dvb_card_config.properties.polarization.description},error:p})},Ev=function(e){var t=e.dvbCard,r=e.onChange,n=e.onError,o=e.onErrorResolve,i=e.cardIndex,a=["dvb_card","symbol_rate",i],s=$o.a("","symbol_rate")(t);return Object(m.c)(p.fc,{entity:"dvb_card",path:["symbol_rate"],index:i,value:s,onChange:function(e){e.stopPropagation();var i,s=e.target.value;r(s);var c=$o.a("","system")(t);(i="dvbs"===c||"dvbs2"===c?Go("dvb_card-symbol_rate")({value:s}):Vo({value:s})).isValid?o(a)():n(a)(i.error)},docDescription:so.a.schemas.dvb_card_config.properties.symbol_rate.description})},$v=(r(1522),function(e){var t=e.stats,r=ar.a(0,["strength"])(t),n=ar.a(!1,["has_signal"])(t),i=ar.a(!1,["has_lock"])(t),a=Object(B.g)(t)?Object.keys(t):[];return Object(m.c)("div",{className:"dvb-card-status"},Object(m.c)("div",{className:_t()("indicator",{indicatorGreen:i,indicatorRed:!i,indicatorGray:!n})}),Object(m.c)("div",{className:"progressBar-wrapper"},Object(m.c)(p.mc,{variant:"subtitle1"},r,"%"),Object(m.c)("div",{className:_t()("progressBar",{progressBarGreen:i,progressBarRed:!i,progressBarGray:!n})},Object(m.c)("div",{className:"progressBarShadow",style:{left:"".concat(r,"%")}}))),Object(B.e)(t)&amp;&amp;Object(m.c)(Gt,{title:Object(m.c)(p.ib,{container:!0,alignItems:"center"},a.map((function(e){return Object(m.c)(o.a.Fragment,{key:e},Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(p.mc,{variant:"subtitle1",color:"textSecondary"},e)),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(p.mc,{variant:"body2"},String(t[e]))),Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.J,{light:!0})))}))),placement:"top-start",maxWidth:"300px"},Object(m.c)(p.pb,{color:"primary",fontSize:"small"})))});function Nv(e){return(Nv="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}var Lv=["field"];function Rv(){return(Rv=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function qv(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}function Mv(e){return function(e){if(Array.isArray(e))return Vv(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Hv(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Fv(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Uv(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Fv(Object(r),!0).forEach((function(t){zv(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Fv(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function zv(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Nv(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Nv(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Nv(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Bv(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||Hv(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Hv(e,t){if(e){if("string"==typeof e)return Vv(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Vv(e,t):void 0}}function Vv(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Wv=p.uc.SaveIcon,Gv=function(e){var t=e.dvbCard,r=e.dvbCards,i=e.cardName,a=e.cardIndex,s=e.stats,c=e.isNew,l=e.setNewDvbCard,u=Object(j.b)().t,d=Gh(),f=d.setData,b=d.onChange,h=d.resetData,y=d.currentData,g=d.isDataChanged,v=d.resetDelta,O=d.initData,x=d.getDelta,w=Object($s.a)(),k=w.onError,S=w.onErrorResolve,P=w.errors,T=Bv(Object(n.useState)(!1),2),C=T[0],I=T[1],A=Bv(Object(n.useState)(!1),2),D=A[0],E=A[1],$=Object(n.useMemo)((function(){return r.map((function(e){return Ot.a("adapter")(e)}))}),[r]),N=Object(n.useMemo)((function(){return r.map((function(e){return e.name}))}),[r]),L="dektec_asi"===(null==y?void 0:y.hw),R="v4l"===(null==y?void 0:y.hw),q="record_input"===(null==y?void 0:y.hw),M=b(),F=Object(_.B)(),U=Object(_.z)(),z=Object(_.x)();Object(n.useEffect)((function(){return f(t),function(){return h()}}),[]),Object(n.useEffect)((function(){var e=$o.a("","system")(y),t=["dvbCards",i,"polarization"],r=["dvbCards",i,"symbol_rate"];if("dvbs"===e||"dvbs2"===e){var n=Ho("dvbCard.polarizationLabel")({value:Ot.a("polarization")(y)});n.isValid||k(t)(n.error);var o=Go("dvbCard.symbolRateLabel")({value:Ot.a("symbol_rate")(y)});o.isValid||k(r)(o.error)}else S(t)(),S(r)()}),[null==y?void 0:y.system]),Object(n.useEffect)((function(){Ye.a(t,y)||f(t)}),[t]);var H=function(){return Object(Ds.c)({errors:P,name:i,onErrorResolve:S})},V=function(e){e.stopPropagation(),E(!0)},W=function(){E(!1)},G=function(e){e.stopPropagation(),c&amp;&amp;l(null),O(),H()},K=function(e){e.stopPropagation(),I(!0);var r=x();Object(B.e)(r.name)?function(e,r){e.stopPropagation(),I(!0),c||z({params:{name:t.name},onSuccess:function(){F()},onError:function(){F()}}),U({params:{name:r},body:Uv(Uv({},y),{},{name:r}),onSuccess:function(){I(!1),v(),F(),c&amp;&amp;l(null)},onError:function(){I(!1),F()}})}(e,r.name):(c&amp;&amp;(r=Uv(Uv({},r),{},{name:t.name})),U({params:{name:y.name},body:r,onSuccess:function(){I(!1),v(),F(),c&amp;&amp;l(null)},onError:function(){I(!1),F()}}))},Y=function(e){return function(t){t.stopPropagation(),M(e)(t.target.value)}},J=function(e,t){var r=arguments.length&gt;2&amp;&amp;void 0!==arguments[2]&amp;&amp;arguments[2];return Object(m.c)(oa.a,{displayEmpty:!0,label:u("dvbCard.".concat(e)),value:$o.a("",e)(y),"data-testid":"dvb-card-".concat(a,"-").concat(e),onChange:Y(e),items:[["",u("not-selected")]].concat(Mv(t.map((function(e){return[e,e]})))),HelperDocProps:{docDescription:so.a.schemas.dvb_card_config.properties[e].description},disabled:r})},Q=function(e){var t=e.field,r=qv(e,Lv);return Object(m.c)(p.fc,Rv({entity:"dvb_card",path:[t],index:a,value:$o.a("",t)(y),onChange:M(t),docDescription:so.a.schemas.dvb_card_config.properties[t].description},r))},X=function(e,t){return Q({field:e,validation:function(e){return Wo({value:e})},dimension:t,docDescription:so.a.schemas.dvb_card_config.properties[e].description})},Z=function(e,t){return function(r){M(e)(t?!r.target.checked||null:r.target.checked||null)}},ee=function(e,t){return Object(m.c)(na.a,{label:u("dvbCard.".concat(e)),color:"primary","data-testid":"dvb-card-".concat(a,"-").concat(e),checked:t?!$o.a(null,e)(y):$o.a(null,e)(y),onChange:Z(e,t),HelperDocProps:{docDescription:so.a.schemas.dvb_card_config.properties[e].description},justifyContent:"flex-start"})};return Object(B.e)(y)?Object(m.c)(o.a.Fragment,null,Object(m.c)(p.a,{defaultExpanded:c,TransitionProps:{unmountOnExit:!0}},Object(m.c)(p.c,{expandIcon:Object(m.c)(p.N,{"data-testid":"dvb-card-expand-".concat(i)}),className:"panel-summary"},Object(m.c)(p.ib,{container:!0,spacing:2},!q&amp;&amp;Object(m.c)(p.ib,{container:!0,spacing:2,item:!0,xs:12,alignItems:"center"},Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3,lg:2},Object(m.c)($v,{stats:s})),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},Object(m.c)(p.yb,{to:{pathname:"/dvb-cards/".concat(encodeURIComponent(i)),state:{cardName:i}},component:Mt.b,color:"primary"},u("dvbCard.programs"))),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:6,lg:8},Object(m.c)("div",{style:{display:"flex",justifyContent:"flex-end",width:"100%",height:"100%",alignItems:"center"}},Object(m.c)(p.mb,{"aria-label":u("save"),title:u("save"),onClick:K,"data-testid":"dvb-card-".concat(a,"-save"),color:"primary",disabled:!g&amp;&amp;!c||C||Object(Ds.a)({errors:P,name:Ot.a("name")(y)}),size:"large"},Object(m.c)(Wv,{fontSize:"small"})),Object(m.c)(p.mb,{"aria-label":u("cancel"),title:u("cancel"),onClick:G,"data-testid":"dvb-card-".concat(a,"-cancel"),color:"secondary",disabled:!g&amp;&amp;!c,size:"large"},Object(m.c)(p.q,{fontSize:"small"})),!c&amp;&amp;Object(m.c)(p.mb,{"aria-label":u("remove"),title:u("remove"),onClick:V,"data-testid":"remove-dvb-card-".concat(a),color:"secondary",size:"large"},Object(m.c)(p.B,{fontSize:"small"}))))),q&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.mc,{variant:"subtitle2"},u("dvbCard.debugMode"))),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3,lg:2},Q({field:"name",validation:function(e){return Qo({value:e,field:"dvbCard.nameLabel",names:N})},docDescription:so.a.schemas.dvb_card_config.properties.name.description,disabled:q})),!q&amp;&amp;!L&amp;&amp;!R&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:6,sm:3,md:2,lg:1},Object(m.c)(Cv,{dvbCard:y,cardName:i,cardIndex:a,onError:k,onErrorResolve:S,errors:P,onChange:M("adapter"),adapters:$})),Object(m.c)(p.ib,{item:!0,xs:6,sm:3,md:2},J("system",Pv)),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3,lg:2},X("frequency","MHz")),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3},Object(m.c)(Dv,{dvbCard:y,cardName:i,cardIndex:a,onChange:M("polarization"),onError:k,onErrorResolve:S,errors:P})),Object(m.c)(p.ib,{item:!0,xs:6,sm:3,md:2},Object(m.c)(Ev,{dvbCard:y,cardIndex:a,onError:k,onErrorResolve:S,onChange:M("symbol_rate")}))))),Object(m.c)(p.b,null,Object(m.c)(p.ib,{container:!0,spacing:2},!q&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.mc,{variant:"subtitle2"},u("dvbCard.advancedTitle"))),!q&amp;&amp;!L&amp;&amp;!R&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},X("frontend")),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},J("code_rate_hp",vv)),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},J("code_rate_lp",_v)),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},J("guard_interval",Ov)),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},J("hierarchy",jv)),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},J("modulation",xv)),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},J("pilot",wv)),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3,lg:2},J("transmission_mode",kv)),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},J("rolloff",Sv)),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},J("bandwidth",dv))),!q&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},X("plp_stream_id")),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},J("hw",mv,!0)),!L&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},X("device")),!R&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},X("serial")),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:1},X("port"))),!L&amp;&amp;!R&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},X("int_freq")),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:3},X("compensate_time_drift_ppm")),!L&amp;&amp;!R&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},X("attenuator")),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},X("interleave")),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},X("gain")),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},X("input_bitrate")),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},Q({field:"video_device"})),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},ee("disabled",!0)),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},ee("high_band")))),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:6},Q({field:"comment",multiline:!0,rows:6,variant:"outlined",disabled:q})),!q&amp;&amp;!L&amp;&amp;!R&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.mc,{variant:"subtitle2"},u("dvbCard.ASI"))),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},J("asi_annex",fv)),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},J("asi_isdbt_segments",bv)),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},X("asi_isdbt_subchannel")),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},X("asi_dvb2_streamid")),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},J("asi_diseqcpg",hv)),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},J("asi_polarity",yv)),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},J("asi_iqdem",gv)),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},X("asi_iqbandwidth")),Object(m.c)(p.ib,{item:!0,xs:6,sm:4,md:3,lg:2},X("asi_iqsamplerate")))))),Object(m.c)(p.C,{open:D,handleClose:W,onDelete:function(){return e=Ot.a("name")(y),W(),Object(Ds.c)({errors:P,name:i,onErrorResolve:S}),void z({params:{name:e},onSuccess:function(){F(),H()},onError:function(){H()}});var e},title:u("confirmDelete",{name:Ot.a("name")(y)}),notice:u("deleteNoticeQuestion",{name:Ot.a("name")(y)}),removeButtonText:u("dvbCard.deleteDvbCardButton")})):""},Kv=r(728),Yv=r(735),Jv=r(398),Qv=r(612);function Xv(e){return(Xv="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Zv(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function e_(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Zv(Object(r),!0).forEach((function(t){t_(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Zv(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function t_(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Xv(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Xv(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Xv(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var r_=function(e,t,r){for(var n=1;Array.isArray(t)?t.find((function(t){return t[r]==="".concat(e).concat(n)})):t["".concat(e).concat(n)];)n+=1;return"".concat(e).concat(n)},n_=(q.a(ur.a([[xt.a,fr.a(1)],[mr.a,Kv.a]]),vr.a,Oc.a(Yv.a),Jv.a,Qv.a((function(e){return e?Ot.a("position",e):0}))),function(e){var t=arguments.length&gt;1&amp;&amp;void 0!==arguments[1]?arguments[1]:{},r=arguments.length&gt;2&amp;&amp;void 0!==arguments[2]?arguments[2]:{},n=arguments.length&gt;3&amp;&amp;void 0!==arguments[3]?arguments[3]:"name";return e_(t_({},n,r_(e,t,n)),r)});function o_(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return i_(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return i_(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i_(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var a_=[["dataDvbCards"],["newDvbCard"],["isLoading"]],s_=function(){var e,t,r=Object(j.b)().t,o=Object(n.useContext)(me).globalSettings,i=o_(Object(n.useState)(null),2),a=i[0],s=i[1],c=Object(_.A)({options:{refetchInterval:3e3}}),l=c.data,u=c.isLoading,d=Object(n.useMemo)((function(){return(null==l?void 0:l.dvb_cards)||[]}),[null==l?void 0:l.dvb_cards]),f=Object(n.useCallback)((function(e,t){var r=arguments.length&gt;2&amp;&amp;void 0!==arguments[2]&amp;&amp;arguments[2],n=d.filter((function(t){return e.name!==t.name}));return Object(m.c)(Gv,{key:e.name,dvbCard:e,cardName:e.name,cardIndex:t,isNew:r,setNewDvbCard:s,dvbCards:n,stats:e.stats})}),[d]),b=Object(n.useMemo)((function(){return{items:[{title:r("dvbCard.devices.name"),renderData:function(e){return e.title||""}},{title:r("dvbCard.devices.type"),renderData:function(e){return e.hw||""}},{title:r("dvbCard.devices.id"),renderData:function(e){var t;return null!==(t=e.id)&amp;&amp;void 0!==t?t:""}}]}}),[r]);return d||a?Object(m.c)(at,{id:"DVBCardsPage",paths:a_,propsToCheck:{dataDvbCards:l,newDvbCard:a,isLoading:u}},Object(m.c)(kn,{menuButtons:Object(m.c)(p.l,{textAlign:"right"},Object(m.c)(p.n,{variant:"outlined",onClick:function(){var e=n_("newDVBCard",d);s(e)},"data-testid":"addButton",size:"small"},r("dvbCard.addButton")))},(null==o?void 0:null===(e=o.stats)||void 0===e?void 0:e.video_devices)&amp;&amp;Object(m.c)(p.l,{mt:2},Object(m.c)(p.a,null,Object(m.c)(p.c,{expandIcon:Object(m.c)(p.N,{"data-testid":"dvb-cards-expand-installed-boards"})},Object(m.c)(p.mc,{variant:"subtitle2"},r("dvbCard.installedBoards"))),Object(m.c)(p.b,null,Object(m.c)(p.A,{data:null==o?void 0:null===(t=o.stats)||void 0===t?void 0:t.video_devices,columns:b,primaryKey:"id"})))),u?Object(m.c)(p.l,{textAlign:"center",mt:2},Object(m.c)(p.u,{size:30,color:"primary"})):Object(m.c)(p.l,{id:"dvb-cards","data-testid":"dvbCardsPage",mt:5},Object(B.e)(a)&amp;&amp;[a].map((function(e){return Object(m.c)(p.l,{mt:1,mb:2,key:e.name},f(e,"new",!0))})),Object(B.e)(d)?d.map((function(e,t){return f(e,t)})):Object(m.c)(p.mc,{component:"p",align:"center",variant:"subtitle1"},r("dvbCard.noDvbCardsFound"))))):Object(m.c)(p.l,null,r("loading"))},c_=(r(1523),[["data"],["isLoading"]]),l_=[{title:"dvbStructure.programId",lg:2},{title:"dvbStructure.program",lg:4},{title:"dvbStructure.pids",lg:4},{title:"",lg:2}],p_=[{title:"streamList.table.track",lg:2},{title:"streamList.table.pid",lg:2},{title:"streamList.table.resolution",lg:4},{title:"streamList.table.codec",lg:2},{title:"streamList.table.bitrate",lg:2}],u_=function(){var e,t=Object(j.b)().t,r=Object(U.useParams)().cardName,n=Ge()().history,i=Object(_.w)({params:{name:r},options:{refetchOnMount:!1,refetchInterval:6e3}}),a=i.data,s=i.isLoading,c=null!==(e=null==a?void 0:a.media_info_list)&amp;&amp;void 0!==e?e:[],l=Object(_.Db)(),u=function(e){return e.map((function(e){var t=Object(Kt.f)(F.a(["params","height"])(e));return[Object(m.c)(p.mc,{variant:"body2",key:"pid-track_id"},e.track_id),Object(m.c)(p.mc,{variant:"body2",key:"pid-pid"},e.pid),t&amp;&amp;Object(m.c)("span",{className:"video-resolution",key:"pid-video-resolution"},t),Object(m.c)(p.mc,{variant:"body2",key:"pid-codec"},e.codec),Object(m.c)(p.mc,{variant:"body2",key:"pid-bitrate"},Object(B.e)(e.bitrate)?"".concat(e.bitrate,"K"):"")]}))};return Object(m.c)(at,{id:"DVBCardsProgramsPage",paths:c_,propsToCheck:{data:a,isLoading:s}},Object(m.c)(kn,{menuButtons:Object(m.c)(p.l,{textAlign:"right"},Object(m.c)(p.n,{color:"primary",variant:"outlined",onClick:function(){n.push({pathname:"/dvb-cards"})},"data-testid":"back-to-list",size:"small"},"â† ",t("backToList")))},s?Object(m.c)(p.l,{textAlign:"center",mt:2},Object(m.c)(p.u,{size:30,color:"primary"})):Object(m.c)(p.l,{id:"dvb-card-programs","data-testid":"dvbCardProgramsPage",mt:5},Object(m.c)(p.cc,{settings:l_,rows:c.map((function(e){return[Object(m.c)(p.mc,{color:"textPrimary",component:"p",variant:"body2",key:"item-program_id"},e.program_id),Object(m.c)(o.a.Fragment,{key:"item-title-provider"},Object(m.c)(p.mc,{color:"textPrimary",component:"p",variant:"body2"},e.title),Object(m.c)(p.mc,{color:"textSecondary",component:"p"},e.provider)),(n=e,i=[],a=0,s=0,c=0,$o.a([],"tracks")(n).forEach((function(e){"video"===e.content?a+=1:"audio"===e.content?s+=1:c+=1,i.push(e)})),Object(m.c)("div",{style:{display:"flex",alignItems:"center"}},Object(m.c)(p.mc,{color:"textSecondary",component:"p"},Object(m.c)(p.mc,{color:"textPrimary",component:"span"},t("streamList.table.video"),":"," "),Object(m.c)(p.mc,{component:"span","data-testid":"dvb-video-count-".concat(n.title)},a," "),Object(m.c)(p.mc,{color:"textPrimary",component:"span"},t("streamList.table.audio"),":"," "),Object(m.c)(p.mc,{component:"span","data-testid":"dvb-audio-count-".concat(n.title)},s," "),Object(m.c)(p.mc,{color:"textPrimary",component:"span"},t("streamList.table.others"),":"," "),Object(m.c)(p.mc,{component:"span","data-testid":"dvb-others-count-".concat(n.title)},c," ")),Object(m.c)(Gt,{title:Object(m.c)("div",null,Object(B.e)(i)?Object(m.c)(p.cc,{settings:p_,rows:u(i)}):Object(m.c)("div",{style:{textAlign:"center",margin:"8px"}},Object(m.c)(p.mc,{component:"p",variant:"subtitle1"},t("streamList.table.noTracks")))),placement:"right","data-testid":"stream-transcode-inf-".concat(n.name)},Object(m.c)("div",{style:{marginLeft:"4px"}},Object(m.c)(p.pb,{fontSize:"small",color:"primary"}))))),Object(m.c)("div",{className:"dvb-programs-add-wrapper",key:"item-add"},Object(m.c)(p.n,{variant:"outlined",size:"small",color:"primary",onClick:function(){return t=e,o="mpts-dvb://".concat(r,"?program=").concat(t.program_id),i="".concat(r,"_").concat(t.program_id),void l({params:{name:i},body:{name:i,title:null!==(n=t.title)&amp;&amp;void 0!==n?n:null,inputs:[{url:o}]}});var t,n,o,i}},t("add")))];var n,i,a,s,c}))}))))};function d_(e){return(d_="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function m_(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==d_(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==d_(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===d_(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var f_=Object(p.wc)()((function(e){return{statusIcon:{display:"inline-flex",width:12,height:12,marginRight:4,borderRadius:"50%",verticalAlign:"middle"},statusSuccess:{backgroundColor:e.palette.success.main},statusError:{backgroundColor:e.palette.error.main}}})),b_=function(e){var t=e.connectionStats,r=Object(j.b)().t,n=f_(),o=n.classes,i=n.cx;return Object(m.c)(p.l,{display:"flex",flexDirection:"column",gap:.2},Object(m.c)(p.l,null,r("agents.stats.endpoint_connection.hostname"),":"," ",Object(m.c)("span",{className:i(o.statusIcon,m_(m_({},o.statusSuccess,null==t?void 0:t.alive),o.statusError,!(null!=t&amp;&amp;t.alive)))}),null==t?void 0:t.hostname),Object(m.c)(p.l,null,r("agents.stats.endpoint_connection.bytes_from_server"),":"," ",_e.a.bytes(null==t?void 0:t.bytes_from_server)),Object(m.c)(p.l,null,r("agents.stats.endpoint_connection.bytes_to_server"),":"," ",_e.a.bytes(null==t?void 0:t.bytes_to_server)),Object(m.c)(p.l,null,r("agents.stats.endpoint_connection.opened_at"),":"," ",wh(null==t?void 0:t.opened_at)),Object(m.c)(p.l,null,r("agents.stats.endpoint_connection.status_changed_at"),":"," ",null!=t&amp;&amp;t.status_changed_at?wh(1e3*t.status_changed_at):""))},h_=function(){var e=Object(j.b)().t,t=yt({page:ct.b,limit:ct.a}),r=t.limit,o=t.cursor,i=t.handlePaginationChange,a=t.page,s=t.query,c=Object(_.h)({params:{limit:r||void 0,cursor:o||void 0,q:s||void 0},options:{refetchInterval:1e3,keepPreviousData:!0}}),l=c.data,u=c.isLoading,d=Object(n.useMemo)((function(){return{items:[{title:e("agents.id"),renderData:function(e){return null!=e&amp;&amp;e.id?Object(m.c)(p.yb,{to:{pathname:"/agents/".concat(e.id)},component:Mt.a,color:"primary",className:"fixedWidthTableContent"},e.id):"-"}},{title:e("agents.stats.serial"),renderData:function(e){var t,r;return null!==(t=null===(r=e.stats)||void 0===r?void 0:r.serial)&amp;&amp;void 0!==t?t:"-"}},{title:e("agents.stats.peer_ip"),renderData:function(e){var t,r;return null!==(t=null===(r=e.stats)||void 0===r?void 0:r.peer_ip)&amp;&amp;void 0!==t?t:"-"}},{title:e("agents.stats.local_ip"),renderData:function(e){var t,r;return null!==(t=null===(r=e.stats)||void 0===r?void 0:r.local_ip)&amp;&amp;void 0!==t?t:"-"}},{title:e("agents.stats.mac_address"),renderData:function(e){var t,r;return null!==(t=null===(r=e.stats)||void 0===r?void 0:r.mac_address)&amp;&amp;void 0!==t?t:"-"}},{title:e("agents.stats.version"),renderData:function(e){var t,r;return null!==(t=null===(r=e.stats)||void 0===r?void 0:r.version)&amp;&amp;void 0!==t?t:"-"}},{title:e("agents.stats.endpoint_connection"),renderData:function(e){var t;return Object(m.c)(b_,{connectionStats:null===(t=e.stats)||void 0===t?void 0:t.endpoint_connection})},grow:2},{title:e("agents.stats.streampoint_connection"),renderData:function(e){var t;return Object(m.c)(b_,{connectionStats:null===(t=e.stats)||void 0===t?void 0:t.streampoint_connection})},grow:2}]}}),[e]);return Object(m.c)(kn,null,Object(m.c)(p.l,{mb:2},Object(m.c)(p.Tb,{placeholder:e("headerMediaList.textFilterLabel"),value:s||"",onChange:function(e){return i({query:e.target.value})},debounceTime:300})),Object(m.c)(p.Ub,{isLoading:u},Object(m.c)(p.A,{titleMobile:e("agents.table_title"),data:null==l?void 0:l.agents,columns:d,nextCursor:null==l?void 0:l.next,prevCursor:null==l?void 0:l.prev,handlePaginationChange:i,estimatedCount:null==l?void 0:l.estimated_count,limit:r,page:a})))},y_=function(e){var t=e.className,r=e.errorText,n=e.warningText,o=e.successText,i=e.progress,a=e.text,s="progressbar";return t&amp;&amp;(s+=" ".concat(t)),r?Object(m.c)("div",{className:"".concat(s," error-border error-text")},r):n?Object(m.c)("div",{className:"".concat(s," warning-border warning-text")},n):o?Object(m.c)("div",{className:"".concat(s," success-border success-text")},o):i?Object(m.c)("div",{className:s},Object(m.c)("div",{className:"notice-text"},a),Object(m.c)(p.xb,{variant:"number"==typeof i?"determinate":"indeterminate",value:100*i})):Object(m.c)("div",{className:s},Object(m.c)("div",{className:"notice-text"},a))},g_=function(e){return new Promise((function(t,r){var n=new FileReader;n.readAsDataURL(e),n.onload=function(){return t(n.result.split(",")[1])},n.onerror=function(e){return r(e)}}))},v_=function(e,t){var r=document.createElement("a"),n=new Blob([e]),o=URL.createObjectURL(n);r.href=o,r.download=null!=t?t:"",document.body.appendChild(r),r.click(),URL.revokeObjectURL(o),r.remove()};function __(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return O_(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return O_(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function O_(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var j_,x_=Object(p.wc)()((function(e){return{sshButtonDisabled:{backgroundColor:e.palette.red.main,color:"white","&amp;:hover":{backgroundColor:e.palette.red.dark}},sshButtonEnabled:{backgroundColor:e.palette.primary.main,color:"white"}}})),w_=[["comment"],["progress"],["logId"],["progressText"],["warningText"],["successText"],["showDownloadDebugBtn"],["logUploadRequest"]],k_=function(){var e=Object(j.b)().t,t=x_().classes,r=Object(n.useContext)(me).isServerErrorPage,i=__(Object(n.useState)(""),2),a=i[0],s=i[1],c=__(Object(n.useState)(0),2),l=c[0],u=c[1],d=__(Object(n.useState)(e("logUploader.submittingData")),2),f=d[0],b=d[1],h=__(Object(n.useState)(""),2),y=h[0],g=h[1],v=__(Object(n.useState)(""),2),O=v[0],x=v[1],w=__(Object(n.useState)(null),2),k=w[0],S=w[1],P=__(Object(n.useState)(!1),2),C=P[0],I=P[1],A=__(Object(n.useState)(!1),2),D=A[0],E=A[1],$=__(Object(n.useState)(!1),2),N=$[0],L=$[1],R=__(Object(n.useState)(!1),2),q=R[0],M=R[1],U=Object(n.useContext)(me).globalSettings,z=Object(T.b)().replace(/^[^:]+:\/\//,""),B=__(Object(n.useState)(!1),2),H=B[0],V=B[1],W="".concat(U.stats.server_version).concat(U.stats.build&gt;0?"-".concat(U.stats.build):""),G=Object(_.ub)(),K=G.data,Y=G.isLoading,J=Ot.a("enabled")(K),Q=Object(_.vb)(),X=Object(_.wb)(),Z=Object(_.tb)(),ee=Object(_.lc)();Object(_.X)({config:{responseType:"blob",onDownloadProgress:function(t){x(""),g(""),b("".concat(e("logUploader.downloading")," ").concat(_e.a.bytes(t.loaded))),u(!0)}},options:{enabled:H,onSuccess:function(t){V(!1),b(""),x(e("logUploader.downloadSuccess")),v_(t,"logs_".concat(Object(hh.a)(new Date,"yyyyMMddhhmmss"),"_").concat(z,"_").concat(W,".zip"))}}}),Object(n.useEffect)((function(){return function(){j_&amp;&amp;clearTimeout(j_)}}),[]);var te,re,ne,oe,ie=function(t){var r=t-1e3;if(r&gt;0){var n=1-r/3e4;j_=setTimeout((function(){ie(r)}),1e3),u(n)}else g(e("logUploader.serverNotResponding"))},ae=function(t){j_&amp;&amp;clearTimeout(j_),t?(S(t),x(e("logUploader.submited")),u(1)):g(e("logUploader.serverError"))},se=function(t){var r;S(null),x(""),g(""),u(0),r=3e4,j_=setTimeout((function(){ie(r)}),0),ee({body:{comment:t},onSuccess:function(e){ae(e.data.id)},onError:function(t){var r,n,o=null==t?void 0:null===(r=t.response)||void 0===r?void 0:null===(n=r.data)||void 0===n?void 0:n.errors;ae(!1),o&amp;&amp;Array.isArray(o)&amp;&amp;o.forEach((function(t){"upload_failed"===t.code&amp;&amp;"400"===t.status&amp;&amp;(g(e("logUploader.infoDownloadLogs")),M(!0))}))}})},ce=function(){se(a)},le=function(e){s(e.target.value),E(!0)},pe=function(){I(!1),J?Z({onSuccess:function(){Q()}}):X({body:{enabled:!0},onSuccess:function(e){F.a(["data","enabled"])(e)&amp;&amp;se("The debug data was automatically uploaded"),Q()}})};return Object(m.c)(p.y,{maxWidth:!1},Object(m.c)(p.ib,{item:!0,xs:10},Object(m.c)(p.l,{px:1,py:1,id:"log-uploader","data-testid":"support",style:{background:"#fff"}},Object(m.c)(p.ib,{container:!0},Object(m.c)(p.ib,{item:!0,xs:12,md:8,lg:6,xl:5},r?"":(ne=(J?"logUploader.disableSshAccess":!J&amp;&amp;"logUploader.EnableSshAccess")||"logUploader.statusUpdating",oe=(J?"logUploader.sshAccessEnabled":!J&amp;&amp;"logUploader.sshAccessDisabled")||"logUploader.updatingSshAccessStatus",Object(m.c)(p.ib,{container:!0,alignItems:"center",justifyContent:"flex-start",spacing:1},Object(m.c)(p.ib,{item:!0,xs:12,md:5,lg:4},Object(m.c)(p.n,{variant:"contained",disabled:Y,onClick:J?pe:function(){return I(!0)},className:J?t.sshButtonEnabled:t.sshButtonDisabled,endIcon:Y&amp;&amp;Object(m.c)(p.u,{size:20})},e(ne))),Object(m.c)(p.ib,{item:!0,xs:12,md:!0},Object(m.c)(p.l,{p:2},e(oe))))),Object(m.c)("div",{className:"row-height"}),Object(m.c)("div",{className:"row-height flex-end"},Object(m.c)(p.mc,{variant:"h5"},e("logUploader.sendStateToSupport"))),Object(m.c)("div",{className:"row-height"}),Object(m.c)("div",{className:"row-height flex-end"},Object(m.c)("div",{className:"notice-text"},e("logUploader.describeProblemNotice"))),Object(m.c)("div",{className:"row-height flex-end"},Object(m.c)("div",{className:"notice-text"},e("logUploader.uploadDataNotice"))),Object(m.c)("div",{className:"row-height flex-end"},Object(m.c)("div",{className:"notice-text"},e("logUploader.notSupportRequestNotice"))),Object(m.c)("div",{className:"row-height"}),(te=a&amp;&amp;a.length&gt;3,re=!te,Object(m.c)(at,{id:"StreamTranscoderPage",paths:w_,propsToCheck:{comment:a,progress:l,logId:k,progressText:f,warningText:y,successText:O,showDownloadDebugBtn:q,logUploadRequest:H}},l||k?Object(m.c)(o.a.Fragment,null,Object(m.c)(y_,{progress:l,text:f,warningText:y,successText:O}),q&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)("div",{className:"row-height"}),Object(m.c)(p.n,{variant:"contained",color:"primary",onClick:function(){return V(!0)},endIcon:H&amp;&amp;Object(m.c)(p.u,{size:20,color:"secondary"})},e("logUploader.downloadLogs"))),Object(m.c)("div",{className:"row-height"}),k&amp;&amp;Object(m.c)("div",{className:"row-height flex-end"},Object(m.c)("div",{className:"notice-text"},e("logUploader.submittedDataNotice"))),Object(m.c)("div",{className:"row-height"}),Object(m.c)("div",{className:"row-height flex-end"},Object(m.c)("div",{className:"head-text"},k))):Object(m.c)(o.a.Fragment,null,Object(m.c)(p.fc,{variant:"outlined",value:a,onChange:le,error:te||!D&amp;&amp;!N?"":e("logUploader.requiredDescription"),minRows:3,maxRows:7,multiline:!0}),Object(m.c)("div",{className:"row-height"}),Object(m.c)("div",{className:"row-height"},Object(m.c)(p.n,{variant:"contained",color:"primary",disabled:re,onClick:te?ce:function(){return L(!0)}},e("submit")))))))),Object(m.c)(p.E,{open:C,onClose:function(){return I(!1)},"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description"},Object(m.c)(p.I,{id:"alert-dialog-title"},e("logUploader.dialog.title")),Object(m.c)(p.G,null,Object(m.c)(p.H,{id:"alert-dialog-description",variant:"body2"},e("logUploader.dialog.descriptionPart1")),Object(m.c)(p.H,{id:"alert-dialog-description",variant:"body2"},e("logUploader.dialog.descriptionPart2")),Object(m.c)(p.H,{id:"alert-dialog-description",variant:"body2"},e("logUploader.dialog.descriptionPart3")),Object(m.c)(p.H,{id:"alert-dialog-description",variant:"body2"},e("logUploader.dialog.descriptionPart4"))),Object(m.c)(p.F,null,Object(m.c)(p.n,{onClick:function(){return I(!1)},color:"primary"},e("logUploader.dialog.cancel")),Object(m.c)(p.n,{onClick:pe,color:"primary",autoFocus:!0},e("logUploader.dialog.ok")))))))},S_=r(1693),P_=r(1695),T_=r(1668),C_=r(1694);var I_=r(9),A_=["params","body","config"],D_=["params","body","config"],E_=["params","body","config"],$_=["params","body","config"],N_=["params","body","config"],L_=["params","body","config"],R_=["params","body","config"],q_=["params","body","config"],M_=["params","body","config"],F_=["params","body","config"],U_=["params","body","config"],z_=["params","body","config"],B_=["params","body","config"],H_=["params","body","config"],V_=["params","body","config"],W_=["params","body","config"],G_=["params","body","config"],K_=["params","body","config"],Y_=["params","body","config"],J_=["params","body","config"],Q_=["params","body","config"],X_=["params","body","config"];function Z_(e){return(Z_="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function eO(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}function tO(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function rO(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?tO(Object(r),!0).forEach((function(t){nO(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):tO(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function nO(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Z_(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Z_(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Z_(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var oO=Object(z.c)(),iO=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,n=e.config,o=e.queryFn,i=e.queryKey;return Object(Sn.a)({queryKey:["chassis_chassis_get",i,t],queryFn:function(){return o&amp;&amp;Object(B.a)(o)?o():aO({params:t,config:n})},options:r})},aO=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(I_.a)({path:"/chassis",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return oO.get(o,rO({params:i},r))},sO=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,n=e.mutationFn,o=e.showSuccessMessage,i=void 0===o||o,a=e.showErrorMessage,s=void 0===a||a,c=Object(j.b)(),l=c.t,p=Object(Sn.b)((function(e){var t=e.params,r=e.body,o=e.config,i=Object(I_.a)({path:"/chassis",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),a=i.pathWithParams,s=i.queryParams;return n&amp;&amp;Object(B.a)(n)?n({params:t,body:r,config:o}):oO.put(a,r,rO({params:s},o))}),(function(){return i&amp;&amp;l("chassis_save.successPutAlert")}),Object(B.g)(t)?t:{},s);return r?function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,A_);return p.mutateAsync(rO({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,D_);return p.mutate(rO({params:t,body:r,config:n},o))}},cO=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,n=e.mutationFn,o=e.showSuccessMessage,i=void 0===o||o,a=e.showErrorMessage,s=void 0===a||a,c=Object(j.b)(),l=c.t,p=Object(Sn.b)((function(e){var t=e.params,r=e.body,o=e.config,i=Object(I_.a)({path:"/chassis/reboot",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),a=i.pathWithParams,s=i.queryParams;return n&amp;&amp;Object(B.a)(n)?n({params:t,body:r,config:o}):oO.post(a,r,rO({params:s},o))}),(function(){return i&amp;&amp;l("chassis_reboot.successPostAlert")}),Object(B.g)(t)?t:{},s);return r?function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,E_);return p.mutateAsync(rO({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,$_);return p.mutate(rO({params:t,body:r,config:n},o))}},lO=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(I_.a)({path:"/chassis/firmwares",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return oO.get(o,rO({params:i},r))},pO=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,n=e.config,o=e.queryFn,i=e.queryKey;return Object(Sn.a)({queryKey:["chassis_chassis_interfaces_list",i,t],queryFn:function(){return o&amp;&amp;Object(B.a)(o)?o():uO({params:t,config:n})},options:r})},uO=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(I_.a)({path:"/chassis/interfaces",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return oO.get(o,rO({params:i},r))},dO=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(I_.a)({path:"/chassis/disks",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return oO.get(o,rO({params:i},r))},mO=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(I_.a)({path:"/chassis/coders",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return oO.get(o,rO({params:i},r))};function fO(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return bO(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return bO(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bO(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var hO=function(){var e=Object(j.b)().t,t=fO(Object(n.useState)([]),2),r=t[0],o=t[1],i=fO(Object(n.useState)(!1),2),a=i[0],s=i[1],c=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,n=e.mutationFn,o=e.showSuccessMessage,i=void 0===o||o,a=e.showErrorMessage,s=void 0===a||a,c=Object(j.b)(),l=c.t,p=Object(Sn.b)((function(e){var t=e.params,r=e.body,o=e.config,i=Object(I_.a)({path:"/chassis/firmwares/upload",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),a=i.pathWithParams,s=i.queryParams;return n&amp;&amp;Object(B.a)(n)?n({params:t,body:r,config:o}):oO.put(a,r,rO({params:s},o))}),(function(){return i&amp;&amp;l("chassis_firmware_upload.successPutAlert")}),Object(B.g)(t)?t:{},s);return r?function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,M_);return p.mutateAsync(rO({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,F_);return p.mutate(rO({params:t,body:r,config:n},o))}}({isAsync:!0});return Object(m.c)(du,{id:"chassis-firmware-upload",onChange:function(e){var t=e.target,r=t.files,n=t.value;if(s(!0),o(n),r){var i=new FormData;Object.keys(r).forEach((function(e){i.append("file",r[e],r[e].name)})),c({config:{headers:{"Content-Type":"multipart/form-data"}},body:i}).finally((function(){s(!1)}))}},value:r,variant:"outlined",color:"primary",endIcon:a&amp;&amp;Object(m.c)(p.u,{size:20,color:"primary"}),isUploadingFile:a,disabled:a},e("chassisFirmware.upload"))};function yO(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return gO(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return gO(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function gO(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var vO="started",_O="in_progress",OO="failed",jO=function(e){var t,r=e.config,n=e.isUpgradeDisabled,i=e.setIsUpgradeDisabled,a=yO(o.a.useState(!1),2),s=a[0],c=a[1],l=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,n=e.config,o=e.queryFn,i=e.queryKey;return Object(Sn.a)({queryKey:["chassis_chassis_firmwares_list",i,t],queryFn:function(){return o&amp;&amp;Object(B.a)(o)?o():lO({params:t,config:n})},options:r})}({params:{force_update:s},options:{onSuccess:function(){c(!0)},keepPreviousData:!0}}),u=l.isLoading,d=l.error,f=l.data,b=l.refetch,h=l.isFetching,y=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,n=e.mutationFn,o=e.showSuccessMessage,i=void 0===o||o,a=e.showErrorMessage,s=void 0===a||a,c=Object(j.b)(),l=c.t,p=Object(Sn.b)((function(e){var t=e.params,r=e.body,o=e.config,i=Object(I_.a)({path:"/chassis/firmwares/install",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),a=i.pathWithParams,s=i.queryParams;return n&amp;&amp;Object(B.a)(n)?n({params:t,body:r,config:o}):oO.post(a,r,rO({params:s},o))}),(function(){return i&amp;&amp;l("chassis_firmware_install.successPostAlert")}),Object(B.g)(t)?t:{},s);return r?function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,U_);return p.mutateAsync(rO({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,z_);return p.mutate(rO({params:t,body:r,config:n},o))}}(),g=cO(),v=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,n=e.mutationFn,o=e.showSuccessMessage,i=void 0===o||o,a=e.showErrorMessage,s=void 0===a||a,c=Object(j.b)(),l=c.t,p=Object(Sn.b)((function(e){var t=e.params,r=e.body,o=e.config,i=Object(I_.a)({path:"/chassis/firmwares/download",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),a=i.pathWithParams,s=i.queryParams;return n&amp;&amp;Object(B.a)(n)?n({params:t,body:r,config:o}):oO.post(a,r,rO({params:s},o))}),(function(){return i&amp;&amp;l("chassis_firmware_download_create.successPostAlert")}),Object(B.g)(t)?t:{},s);return r?function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,N_);return p.mutateAsync(rO({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,L_);return p.mutate(rO({params:t,body:r,config:n},o))}}(),_=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,n=e.mutationFn,o=e.showSuccessMessage,i=void 0===o||o,a=e.showErrorMessage,s=void 0===a||a,c=Object(j.b)(),l=c.t,p=Object(Sn.b)((function(e){var t=e.params,r=e.body,o=e.config,i=Object(I_.a)({path:"/chassis/firmwares/download",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),a=i.pathWithParams,s=i.queryParams;return n&amp;&amp;Object(B.a)(n)?n({params:t,body:r,config:o}):oO.delete(a,rO({params:s},o))}),(function(){return i&amp;&amp;l("chassis_firmware_download_delete.successDeleteAlert")}),Object(B.g)(t)?t:{},s);return r?function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,R_);return p.mutateAsync(rO({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,q_);return p.mutate(rO({params:t,body:r,config:n},o))}}(),O=Object(j.b)().t,x=yO(o.a.useState(0),2),w=x[0],k=(x[1],yO(o.a.useState(null),2)),S=k[0],P=(k[1],yO(o.a.useState(ar.a("",["stats","version"],r)),2)),T=P[0],C=P[1],I=yO(o.a.useState(ar.a("",["stats","version"],r)),2),A=I[0],D=I[1],E=yO(o.a.useState(!1),2),$=E[0],N=E[1],L=yO(o.a.useState(!1),2),R=L[0],q=L[1],M=yO(o.a.useState(!1),2),U=M[0],z=M[1],H=yO(o.a.useState(!1),2),V=H[0],W=H[1];o.a.useEffect((function(){var e=F.a(["stats","version"],r);C(e),Object(B.d)(e)&amp;&amp;D(e)}),[F.a(["stats","version"],r)]);var G=function(e){return g({params:{version:e}})},K=function(e,t,r){return y({params:{version:e},onSuccess:t,onError:r})};if(u)return Object(m.c)("div",null,"loading");if(d)return Object(m.c)("div",null,"error");var Y=f.firmwares.length&gt;0&amp;&amp;f.firmwares[f.firmwares.length-1].current;return t=0==f.firmwares.length?void 0:f.firmwares[f.firmwares.length-1].current?void 0:f.firmwares[f.firmwares.length-1].downloaded?void 0:f.firmwares[f.firmwares.length-1].version,Object(m.c)(p.l,{mx:2,mt:{xs:2,lg:.2}},Object(m.c)(p.ib,{container:!0,spacing:2,alignItems:"flex-end"},Object(m.c)(p.ib,{item:!0,xs:12,sm:4,lg:5},Object(m.c)(p.Q,{fullWidth:!0},Object(m.c)(p.sb,null,O("chassisFirmwareVersion.firmwareVersion")),Object(m.c)(p.Vb,{fullWidth:!0,value:A,onChange:function(e){D(e.target.value)},"data-testid":"chassis-firmware-version"},f.firmwares.map((function(e){return Object(m.c)(p.Gb,{value:e.version,key:e.version},e.version)}))))),Object(m.c)(p.ib,{item:!0,xs:12,sm:8,lg:7},Object(m.c)(p.n,{variant:"contained",color:"primary",size:"small",onClick:function(){q(!0),K(A,(function(){q(!1),W(!0),setTimeout((function(){W(!1)}),1e4),G(A),i(!0)}),(function(){setTimeout((function(){N(!0)}),1e4),q(!1),i(!0)}))},disabled:A===T||R||U||n,endIcon:R&amp;&amp;Object(m.c)(p.u,{size:16,color:"primary"})},O("chassisFirmwareVersion.upgradeButton")),Object(m.c)(p.n,{variant:"contained",color:"primary",size:"small",onClick:function(){z(!0),K("latest",(function(){G(),i(!0)}),(function(){z(!1),N(!0),i(!0)}))},disabled:!t||U||n,style:{marginLeft:"8px"},endIcon:U&amp;&amp;Object(m.c)(p.u,{size:16,color:"primary"})},O("chassisFirmwareVersion.upgradeToLatestButton"))),Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.n,{variant:"outlined",onClick:function(){b()},disabled:h,endIcon:h&amp;&amp;Object(m.c)(p.u,{size:16,color:"primary"})},O("chassisFirmwareVersion.checkNewVersionButton")),Object(m.c)(p.l,{mt:1},Object(m.c)(hO,null)),t&amp;&amp;S!==vO&amp;&amp;S!==_O&amp;&amp;!f.firmwares.find((function(e){return e.version==t}))?Object(m.c)(p.n,{variant:"outlined",color:"primary",onClick:function(){v({params:{version:t},onSuccess:function(e){}})}},O("chassisFirmwareVersion.downloadButton",{nextVersion:t})):"",S===vO||S===_O?Object(m.c)(p.n,{variant:"outlined",onClick:function(){_({params:{version:t}})}},O("chassisFirmwareVersion.cancelDownloadButton",{nextVersion:t})):"",f.firmwares.find((function(e){return e.version==t&amp;&amp;e.downloaded}))?Object(m.c)(p.mc,{variant:"subtitle2"},O("chassisFirmwareVersion.rebootNotice",{nextVersion:t})):""),S===vO||S===_O?Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.xb,{variant:"determinate",value:w})):"",S===OO||$?Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.mc,{variant:"subtitle2",color:"secondary"},O("chassisFirmwareVersion.commonError"))):"",V?Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.mc,{variant:"subtitle2",color:"secondary"},O("chassisFirmwareVersion.successfulUpgrade",{version:A}))):"",Y?Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.mc,{variant:"subtitle2",color:"textPrimary"},O("chassisFirmwareVersion.checkMessage"))):""))};function xO(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return wO(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return wO(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function wO(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}jO.defaultProps={config:null};var kO=Object(p.wc)()((function(e){return{systemInformation:{marginTop:e.spacing(2),height:"100%"},title:{paddingLeft:e.spacing(2),paddingTop:e.spacing(1),paddingBottom:e.spacing(1)}}})),SO=/^[A-Za-z0-9.-]*$/,PO=function(){var e=kO().classes,t=xO(o.a.useState(""),2),r=t[0],n=t[1],i=xO(o.a.useState(""),2),a=i[0],s=i[1],c=xO(o.a.useState(""),2),l=c[0],u=c[1],d=xO(o.a.useState(!0),2),f=d[0],b=d[1],h=xO(o.a.useState(!1),2),y=h[0],g=h[1],v=iO({options:{onSuccess:function(e){r||(n(ar.a("",["hostname"])(e)),s(ar.a("",["hostname"])(e))),g(!1)},onError:function(){g(!0)},keepPreviousData:!1,refetchInterval:3e3}}).data,_=cO(),O=sO(),x=Object(j.b)().t,w=ar.a(null,["stats","version"],v),k=ar.a(null,["stats","model"],v),S=ar.a(null,["stats","serial_number"],v),P=ar.a(null,["stats","version"],v),T=ar.a(null,["stats","build"],v),C=P&amp;&amp;T?"".concat(P,"-").concat(T):null;o.a.useEffect((function(){r&amp;&amp;(b(!0),u(""))}),[r]);var I=!Ye.a(r,a);return Object(m.c)(p.Nb,{elevation:3,mt:2,className:e.systemInformation},Object(m.c)(p.ib,{container:!0},Object(m.c)(p.ib,{item:!0,xs:12,sm:6,md:12,lg:6},Object(m.c)(p.mc,{variant:"h5",className:e.title},x("chassisSystemInformation.title"))),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,md:12,lg:6},Object(m.c)(p.l,{mt:{xs:0,sm:1,md:0,lg:1,xl:1},mr:{xs:0,sm:2,md:0,lg:2,xl:2},ml:{xs:2,sm:0,md:2,lg:0,xl:0},textAlign:{xs:"left",sm:"right",md:"left",lg:"right",xl:"right"}},Object(m.c)(p.n,{variant:"contained",size:"small",color:"secondary",onClick:function(){_({params:{}})}},x("chassisSystemInformation.restartChassisButton"))))),Object(m.c)(p.ib,{container:!0},Object(m.c)(p.ib,{item:!0,xs:12,lg:5},Object(m.c)(p.l,{mt:2},Object(m.c)(S_.a,{size:"small"},Object(m.c)(C_.a,null,k&amp;&amp;Object(m.c)(P_.a,null,Object(m.c)(T_.a,null,Object(m.c)(p.mc,{variant:"subtitle2"},x("chassisSystemInformation.model"))),Object(m.c)(T_.a,null,Object(m.c)(p.mc,{variant:"body2"},k))),w&amp;&amp;Object(m.c)(P_.a,null,Object(m.c)(T_.a,null,Object(m.c)(p.mc,{variant:"subtitle2"},x("chassisSystemInformation.version"))),Object(m.c)(T_.a,null,Object(m.c)(p.mc,{variant:"body2"},w))),C&amp;&amp;Object(m.c)(P_.a,null,Object(m.c)(T_.a,null,Object(m.c)(p.mc,{variant:"subtitle2"},x("chassisSystemInformation.streamer"))),Object(m.c)(T_.a,null,Object(m.c)(p.mc,{variant:"body2"},C))),S&amp;&amp;Object(m.c)(P_.a,null,Object(m.c)(T_.a,null,Object(m.c)(p.mc,{variant:"subtitle2"},x("chassisSystemInformation.chassisSerialNumber"))),Object(m.c)(T_.a,null,Object(m.c)(p.mc,{variant:"body2"},S))),Object(m.c)(P_.a,null,Object(m.c)(T_.a,null,Object(m.c)(p.fc,{label:x("chassisNetworkConfiguration.hostNameLabel"),value:r,onChange:function(e){var t=e.target.value;t&amp;&amp;SO.test(t)&amp;&amp;n(t.toLowerCase()),t||(b(!1),u("chassisNetworkConfiguration.hostnameEmptyError"),n(t))},inputProps:{"data-testid":"chassis-host-name"},error:x(l)})),Object(m.c)(T_.a,null,Object(m.c)(p.l,{my:2,display:"flex",justifyContent:"flex-end"},Object(m.c)(p.n,{variant:"contained",color:"primary",onClick:function(){return O({body:{hostname:r}})},disabled:!I||!f},x("save")),Object(m.c)(p.l,{ml:.5},Object(m.c)(p.n,{variant:"contained",color:"secondary",onClick:function(){n(a)},disabled:!I||!f},x("cancel")))))))))),Object(m.c)(p.ib,{item:!0,xs:12,lg:7},Object(m.c)(jO,{config:v,isUpgradeDisabled:y,setIsUpgradeDisabled:g}))))},TO=r(731),CO=r(1696);function IO(e){return(IO="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function AO(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==IO(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==IO(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===IO(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var DO=p.uc.SaveIcon,EO=Object(p.wc)()((function(e){return{interfaceEnabling:{width:"10px",height:"10px",borderRadius:"50%",display:"inline-block"},interfaceEnablingRuntime:{width:"6px",height:"6px",borderRadius:"50%",display:"inline-block",opacity:.7},interfaceEnabled:{background:e.palette.success.main},interfaceDisabled:{background:e.palette.red.main}}})),$O="static",NO="dynamic",LO=function(e){var t=e.text;return Object(m.c)(p.mc,{variant:"caption",display:"block",color:"textSecondary",style:{fontSize:"11px"}},t)},RO=function(e){var t=e.config;return Object(m.c)(p.mc,{variant:"body2"},t.name," ",Object(m.c)(LO,{text:t.stats.hw}))},qO=function(e){var t=e.config,r=e.isEditing,n=e.onChangeInterface,o=e.interfaceSettingsType,i=e.interfaceRuntimeType;return r?Object(m.c)(p.Vb,{fullWidth:!0,value:t.mode||"",onChange:function(e){return n(e.target.value,"mode")},"data-testid":"interface-mode"},Object(m.c)(p.Gb,{value:"static"},"Static"),Object(m.c)(p.Gb,{value:"dynamic"},"DHCP")):Object(m.c)(p.mc,{variant:"body2"},o,Object(m.c)(LO,{text:i}))},MO=function(e){var t=e.config,r=e.isEditing,n=e.onChangeInterface;return r&amp;&amp;t.mode!==NO?Object(m.c)(il,{entity:"chassis",path:["ip"],value:t.ip,onChange:function(e){return n(Object(B.e)(e.target.value)?e.target.value:null,"ip")},maskParams:{alias:"ip",greedy:!1},label:""}):Object(m.c)(p.mc,{variant:"body2"},t.ip||"-",Object(m.c)(LO,{text:t.stats.ip||""}))},FO=function(e){var t=e.config,r=e.isEditing,n=e.onChangeInterface;return r&amp;&amp;t.mode!==NO?Object(m.c)(p.l,{display:"flex",alignItems:"center"},Object(m.c)(p.mc,{variant:"body2",component:"span"},"/"),Object(m.c)(il,{entity:"chassis",path:["mask"],value:t.mask,onChange:function(e){return n(Number(e.target.value),"mask")},maskParams:{regex:"([1-9]|[12][0-9]|3[0-2])",greedy:!1},label:""})):Object(m.c)(p.mc,{variant:"body2"},t.mask?"/".concat(t.mask):"-",Object(m.c)(LO,{text:t.stats.mask?"/".concat(t.stats.mask):""}))},UO=function(e){var t=e.config,r=e.isEditing,n=e.onChangeInterface;return r&amp;&amp;t.mode!==NO?Object(m.c)(il,{entity:"chassis",path:["gw"],value:t.gw,onChange:function(e){return n(Object(B.e)(e.target.value)?e.target.value:null,"gw")},maskParams:{alias:"ip",greedy:!1},label:""}):Object(m.c)(p.mc,{variant:"body2"},t.gw||"-",Object(m.c)(LO,{text:t.stats.gw||""}))},zO=function(e){var t=e.config,r=e.isEditing,n=e.onChangeInterface,i=e.isCenter,a=EO().classes;return Object(m.c)(p.l,{textAlign:i?"center":"left"},r?Object(m.c)(p.s,{checked:t.running,onChange:function(e){return n(e.target.checked,"running")},color:"primary","data-testid":"interface-running"}):Object(m.c)(o.a.Fragment,null,xt.a(t.running)?"-":Object(m.c)(p.l,{className:_t()(a.interfaceEnabling,AO(AO({},a.interfaceEnabled,t.running),a.interfaceDisabled,!t.running))}),Object(m.c)(p.l,null),xt.a(t.stats.running)?"":Object(m.c)(p.l,{className:_t()(a.interfaceEnablingRuntime,AO(AO({},a.interfaceEnabled,t.stats.running),a.interfaceDisabled,!t.stats.running))})))};zO.defaultProps={isCenter:!1};var BO=function(e){var t=e.isEditing,r=e.saveInterface,n=e.isConfigChanged,i=e.cancelEditing,a=e.editingModeOn,s=e.isDataSaving,c=e.size,l=e.fontSize;return Object(m.c)(p.l,{textAlign:"right"},t?Object(m.c)(o.a.Fragment,null,Object(m.c)(p.mb,{"aria-label":"save",color:"primary","data-testid":"interfaceSaveButton",onClick:r,disabled:!n,size:c},Object(m.c)(DO,{fontSize:l})),Object(m.c)(p.mb,{"aria-label":"cancel",color:"secondary","data-testid":"cancelEditingButton",onClick:i,size:c},Object(m.c)(p.q,{fontSize:l}))):Object(m.c)(p.mb,{"aria-label":"edit",color:"primary",onClick:a,disabled:s,size:c},Object(m.c)(p.M,{fontSize:l})))};BO.defaultProps={size:"medium",fontSize:"medium"};r(1524);function HO(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return VO(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return VO(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function VO(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var WO=function(e){var t=e.config,r=e.isDataSaving,n=e.name,i=e.onChange,a=e.cancelEditing,s=e.isInterfaceChanged,c=Object(j.b)().t,l=HO(o.a.useState(!1),2),u=l[0],d=l[1];o.a.useEffect((function(){r&amp;&amp;d(!1)}),[r]);var f=function(){d(!0)},b=function(){d(!1)},h=function(){d(!1),a(n)},y=function(e,t){i(e,t,n)},g=function(e){var t,r=arguments.length&gt;1&amp;&amp;void 0!==arguments[1]&amp;&amp;arguments[1];switch(e.mode){case NO:t="DHCP";break;case $O:t="Static";break;default:t=r?"":"-"}return t},v=g(t),_=g(t.stats,!0);return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.lb,{lgDown:!0},Object(m.c)(T_.a,null,Object(m.c)(RO,{config:t})),Object(m.c)(T_.a,null,Object(m.c)(qO,{config:t,onChangeInterface:y,interfaceSettingsType:v,interfaceRuntimeType:_,isEditing:u})),Object(m.c)(T_.a,null,Object(m.c)(MO,{config:t,isEditing:u,onChangeInterface:y})),Object(m.c)(T_.a,null,Object(m.c)(FO,{isEditing:u,config:t,onChangeInterface:y})),Object(m.c)(T_.a,null,Object(m.c)(UO,{isEditing:u,config:t,onChangeInterface:y})),Object(m.c)(T_.a,null,Object(m.c)(zO,{isEditing:u,config:t,onChangeInterface:y,isCenter:!0})),Object(m.c)(T_.a,null,Object(m.c)(BO,{isEditing:u,isConfigChanged:s(n),saveInterface:b,cancelEditing:h,editingModeOn:f,isDataSaving:r}))),Object(m.c)(p.lb,{lgUp:!0},Object(m.c)(p.l,{p:1,mb:1,className:"card-wrapper"},Object(m.c)(p.ib,{container:!0,spacing:2,alignItems:"center"},Object(m.c)(p.ib,{item:!0,xs:6}),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(BO,{isEditing:u,isConfigChanged:s(n),saveInterface:b,cancelEditing:h,editingModeOn:f,isDataSaving:r,size:"small",fontSize:"small"})),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(p.mc,{variant:"subtitle2"},c("chassisNetworkConfiguration.interface"))),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(RO,{config:t})),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(p.mc,{variant:"subtitle2"},c("chassisNetworkConfiguration.type"))),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(qO,{config:t,onChangeInterface:y,interfaceSettingsType:v,interfaceRuntimeType:_,isEditing:u})),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(p.mc,{variant:"subtitle2"},c("chassisNetworkConfiguration.ipAddress"))),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(MO,{config:t,isEditing:u,onChangeInterface:y})),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(p.mc,{variant:"subtitle2"},c("chassisNetworkConfiguration.networkMask"))),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(FO,{isEditing:u,config:t,onChangeInterface:y})),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(p.mc,{variant:"subtitle2"},c("chassisNetworkConfiguration.gateway"))),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(UO,{isEditing:u,config:t,onChangeInterface:y})),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(p.mc,{variant:"subtitle2"},c("chassisNetworkConfiguration.enabled"))),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(zO,{isEditing:u,config:t,onChangeInterface:y}))))))};WO.defaultProps={name:""};r(1525);var GO=function(e){var t=e.interfaces,r=e.isDataSaving,n=e.onChange,o=e.cancelEditing,i=e.isInterfaceChanged,a=Object(j.b)().t;return Object(m.c)(p.l,{mt:2},Object(m.c)(p.lb,{lgDown:!0},Object(m.c)(S_.a,{size:"small",className:"interfaces-table"},Object(m.c)(CO.a,null,Object(m.c)(P_.a,null,Object(m.c)(T_.a,{style:{width:"20%"}},Object(m.c)(p.mc,{variant:"subtitle2"},a("chassisNetworkConfiguration.interface"))),Object(m.c)(T_.a,{style:{width:"16%"}},Object(m.c)(p.mc,{variant:"subtitle2"},a("chassisNetworkConfiguration.type"))),Object(m.c)(T_.a,{style:{width:"14%"}},Object(m.c)(p.mc,{variant:"subtitle2"},a("chassisNetworkConfiguration.ipAddress"))),Object(m.c)(T_.a,{style:{width:"14%"}},Object(m.c)(p.mc,{variant:"subtitle2"},a("chassisNetworkConfiguration.networkMask"))),Object(m.c)(T_.a,{style:{width:"14%"}},Object(m.c)(p.mc,{variant:"subtitle2"},a("chassisNetworkConfiguration.gateway"))),Object(m.c)(T_.a,{style:{width:"10%"}},Object(m.c)(p.l,{textAlign:"center"},Object(m.c)(p.mc,{variant:"subtitle2"},a("chassisNetworkConfiguration.enabled")))),Object(m.c)(T_.a,{style:{width:"12%"}}))),Object(m.c)(C_.a,null,t.map((function(e){return Object(m.c)(P_.a,{key:"".concat(e.name,"-row")},Object(m.c)(WO,{config:e,isDataSaving:r,name:e.name,onChange:n,cancelEditing:o,isInterfaceChanged:i}))}))))),Object(m.c)(p.lb,{lgUp:!0},Object(m.c)(p.l,{px:1},Object(m.c)(p.ib,{container:!0,spacing:2},t.map((function(e){return Object(m.c)(p.ib,{item:!0,xs:12,sm:6,md:4,key:"".concat(e.name,"-grid")},Object(m.c)(WO,{config:e,isDataSaving:r,name:e.name,onChange:n,cancelEditing:o,isInterfaceChanged:i}))}))))))},KO=(r(1526),function(e){var t=e.dnsList,r=e.dnsRunningList,n=e.onChangeDns,i=Object(j.b)().t,a=function(e){return Object(m.c)(p.l,{display:"flex"},Object(m.c)(il,{entity:"chassis",path:["dns"],index:e,value:t[e],onChange:function(t){return function(e,t){n(e.target.value,t)}(t,e)},maskParams:{alias:"ip",greedy:!1},label:"",force:!0}),Object(m.c)(p.fc,{entity:"chassis",path:["dns"],value:r[e]||"",inputProps:{"data-testid":"chassis-running-dns-".concat(e),style:{textAlign:"right"}},label:"",readOnly:!0,disabled:!0}))};return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,lg:3,md:4,sm:5,xs:12},Object(m.c)(p.l,{ml:2,mr:2},Object(m.c)(p.l,{mt:2},Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{container:!0,item:!0,xs:12,justifyContent:"space-between"},Object(m.c)(p.mc,{variant:"body2",color:"textSecondary"},i("chassisNetworkConfiguration.configDNS")),Object(m.c)(p.mc,{variant:"body2",color:"textSecondary"},i("chassisNetworkConfiguration.runningDNS"))),Object(m.c)(p.ib,{item:!0,xs:12,className:"network-form-dns-input-wrapper"},a(0)),Object(m.c)(p.ib,{item:!0,xs:12,className:"network-form-dns-input-wrapper"},a(1)))))))});function YO(e){return(YO="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function JO(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */JO=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function l(e,t,r,o){var i=t&amp;&amp;t.prototype instanceof d?t:d,a=Object.create(i.prototype),s=new k(o||[]);return n(a,"_invoke",{value:O(e,r,s)}),a}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=l;var u={};function d(){}function m(){}function f(){}var b={};c(b,i,(function(){return this}));var h=Object.getPrototypeOf,y=h&amp;&amp;h(h(S([])));y&amp;&amp;y!==t&amp;&amp;r.call(y,i)&amp;&amp;(b=y);var g=f.prototype=d.prototype=Object.create(b);function v(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function _(e,t){var o;n(this,"_invoke",{value:function(n,i){function a(){return new t((function(o,a){!function n(o,i,a,s){var c=p(e[o],e,i);if("throw"!==c.type){var l=c.arg,u=l.value;return u&amp;&amp;"object"==YO(u)&amp;&amp;r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(u).then((function(e){l.value=e,a(l)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}(n,i,o,a)}))}return o=o?o.then(a,a):a()}})}function O(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return P()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var s=j(a,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&amp;&amp;r.abrupt("return",r.arg);n="executing";var c=p(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===u)continue;return{value:c.arg,done:r.done}}"throw"===c.type&amp;&amp;(n="completed",r.method="throw",r.arg=c.arg)}}}function j(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&amp;&amp;e.iterator.return&amp;&amp;(t.method="return",t.arg=void 0,j(e,t),"throw"===t.method)||"return"!==r&amp;&amp;(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),u;var o=p(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,u;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&amp;&amp;(t.method="next",t.arg=void 0),t.delegate=null,u):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function x(e){var t={tryLoc:e[0]};1 in e&amp;&amp;(t.catchLoc=e[1]),2 in e&amp;&amp;(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function w(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function S(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n&lt;e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:P}}function P(){return{value:void 0,done:!0}}return m.prototype=f,n(g,"constructor",{value:f,configurable:!0}),n(f,"constructor",{value:m,configurable:!0}),m.displayName=c(f,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&amp;&amp;e.constructor;return!!t&amp;&amp;(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,c(e,s,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},v(_.prototype),c(_.prototype,a,(function(){return this})),e.AsyncIterator=_,e.async=function(t,r,n,o,i){void 0===i&amp;&amp;(i=Promise);var a=new _(l(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},v(g),c(g,s,"Generator"),c(g,i,(function(){return this})),c(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=S,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(w),!e)for(var t in this)"t"===t.charAt(0)&amp;&amp;r.call(this,t)&amp;&amp;!isNaN(+t.slice(1))&amp;&amp;(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&amp;&amp;(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o&gt;=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc&lt;=this.prev){var s=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(s&amp;&amp;c){if(this.prev&lt;i.catchLoc)return n(i.catchLoc,!0);if(this.prev&lt;i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev&lt;i.catchLoc)return n(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev&lt;i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n&gt;=0;--n){var o=this.tryEntries[n];if(o.tryLoc&lt;=this.prev&amp;&amp;r.call(o,"finallyLoc")&amp;&amp;this.prev&lt;o.finallyLoc){var i=o;break}}i&amp;&amp;("break"===e||"continue"===e)&amp;&amp;i.tryLoc&lt;=t&amp;&amp;t&lt;=i.finallyLoc&amp;&amp;(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&amp;&amp;t&amp;&amp;(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t&gt;=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),w(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t&gt;=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;w(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:S(e),resultName:t,nextLoc:r},"next"===this.method&amp;&amp;(this.arg=void 0),u}},e}function QO(e){return function(e){if(Array.isArray(e))return tj(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ej(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function XO(e,t,r,n,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}function ZO(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||ej(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ej(e,t){if(e){if("string"==typeof e)return tj(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?tj(e,t):void 0}}function tj(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var rj=Object(p.wc)()((function(e){return{networkConfWrapper:{marginTop:e.spacing(2)},title:{paddingLeft:e.spacing(2),paddingTop:e.spacing(1),paddingBottom:e.spacing(1)},networkTableWrapper:{paddingBottom:"0 !important"},cancelButton:{marginLeft:e.spacing(1)}}})),nj=function(){var e,t,r=rj().classes,n=pO(),i=n.isLoading,s=n.error,c=n.data,l=(t=Object(a.useQueryClient)(),function(){return t.refetchQueries(["chassis_chassis_interfaces_list"])}),u=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,n=e.mutationFn,o=e.showSuccessMessage,i=void 0===o||o,a=e.showErrorMessage,s=void 0===a||a,c=Object(j.b)(),l=c.t,p=Object(Sn.b)((function(e){var t=e.params,r=e.body,o=e.config,i=Object(I_.a)({path:"/chassis/interfaces/{name}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),a=i.pathWithParams,s=i.queryParams;return n&amp;&amp;Object(B.a)(n)?n({params:t,body:r,config:o}):oO.put(a,r,rO({params:s},o))}),(function(){return i&amp;&amp;l("chassis_interface_save.successPutAlert")}),Object(B.g)(t)?t:{},s);return r?function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,B_);return p.mutateAsync(rO({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,H_);return p.mutate(rO({params:t,body:r,config:n},o))}}(),d=Object(j.b)().t,f=ZO(o.a.useState(!1),2),b=f[0],h=f[1],y=ZO(o.a.useState({}),2),g=y[0],v=y[1],_=ZO(o.a.useState(""),2),O=_[0],x=_[1],w=ZO(o.a.useState(""),2),k=w[0],S=(w[1],function(){v({})});if(o.a.useEffect((function(){return S(),function(){S()}}),[]),i)return Object(m.c)("div",null,"Loading");if(s)return Object(m.c)("div",null,"error");var P=c.interfaces.map((function(e){return TO.a(e,g[e.name]||{})})),T=c.interfaces.find((function(e){return e.stats&amp;&amp;e.stats.gw})),C=(null==T?void 0:T.dns)||[],I=(null==T?void 0:null===(e=T.stats)||void 0===e?void 0:e.dns)||[],A=!!(g&amp;&amp;T&amp;&amp;g[T.name]&amp;&amp;g[T.name].dns),D=!!Object.keys(g).length,E=function(){var e,t=(e=JO().mark((function e(){var t,r;return JO().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:h(!0),e.t0=JO().keys(g);case 2:if((e.t1=e.t0()).done){e.next=17;break}return t=e.t1.value,r=(g[t].dns||[]).filter((function(e){return e})),g[t].dns=QO(r),e.prev=6,e.next=9,u({params:{name:t},body:g[t],onSuccess:function(){l()}});case 9:x(""),e.next=15;break;case 12:e.prev=12,e.t2=e.catch(6),x("chassisNetworkConfiguration.interfaceSavingError");case 15:e.next=2;break;case 17:v({}),h(!1);case 19:case"end":return e.stop()}}),e,null,[[6,12]])})),function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(e){XO(i,n,o,a,s,"next",e)}function s(e){XO(i,n,o,a,s,"throw",e)}a(void 0)}))});return function(){return t.apply(this,arguments)}}();return Object(m.c)(p.Nb,{elevation:3,className:r.networkConfWrapper},Object(m.c)(p.mc,{variant:"h5",className:r.title},d("chassis.interfaces")),Object(m.c)(p.l,{mt:2},Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(KO,{dnsList:C,dnsRunningList:I,onChangeDns:function(e,t){var r,n,o,i;if(T){var a=lt.a(g);if(a[T.name]||(a[T.name]={}),a[T.name].dns||(a[T.name].dns=[]),void 0===(null===(r=a[T.name].dns)||void 0===r?void 0:r[0])&amp;&amp;null!==(n=T.dns)&amp;&amp;void 0!==n&amp;&amp;n[0]){var s=ZO(T.dns,1);a[T.name].dns[0]=s[0]}if(void 0===(null===(o=a[T.name].dns)||void 0===o?void 0:o[1])&amp;&amp;null!==(i=T.dns)&amp;&amp;void 0!==i&amp;&amp;i[1]){var c=ZO(T.dns,2);a[T.name].dns[1]=c[1]}a[T.name].dns[t]=e,v(a)}}}),Object(m.c)(p.ib,{item:!0,xs:12,className:r.networkTableWrapper},Object(m.c)(p.l,{mt:2},Object(m.c)(GO,{interfaces:P,isDataSaving:b,onChange:function(e,t,r){var n=lt.a(g);n[r]||(n[r]={}),n[r][t]=e,v(n)},cancelEditing:function(){v({})},isInterfaceChanged:function(e){return!!g[e]}})),Object(m.c)(p.l,{mt:2,mr:2,mb:2,px:2},Object(m.c)(p.n,{variant:"contained",color:"primary",onClick:E,disabled:!(D||A)||b,"data-testid":"save-interfaces"},d("save")),Object(m.c)(p.n,{variant:"contained",color:"secondary",className:r.cancelButton,onClick:S,disabled:!(D||A)||b},d("cancel"))),Object(m.c)(p.l,{mt:2,mr:2,mb:2,textAlign:"right"},Object(m.c)(p.mc,{variant:"body1",color:"error"},d(O))),Object(m.c)(p.l,{mt:2,mr:2,mb:2,textAlign:"right"},Object(m.c)(p.mc,{variant:"body1",color:"error"},d(k)))))))};r(1527);function oj(e){return(oj="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function ij(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return aj(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return aj(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function aj(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function sj(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==oj(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==oj(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===oj(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var cj="working",lj="starting",pj="booting",uj="offline",dj="unknown",mj="waiting_shutdown",fj=function(e){var t=e.stats,r=e.coderNumber;return Object(m.c)(p.mc,{variant:"button",color:t.status===dj?"textSecondary":"primary"},r)},bj=function(e){var t,r=e.stats,n=e.classes,i=Object(j.b)().t,a=cj,s=pj,c=lj,l=dj,u=mj;switch(r.status){case s:t=i("chassisCard.booting");break;case c:t=i("chassisCard.starting");break;case u:t=i("chassisCard.waitingForShutdown");break;case l:t=i("chassisCard.unknown");break;case a:t=i("chassisCard.working");break;default:t=r.status}return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.mc,{variant:"body2"},t),r.status===dj?Object(m.c)(p.mc,{variant:"caption"},i("chassisCard.unavailableModule")):"",r.status!==cj&amp;&amp;r.status!==mj&amp;&amp;r.status!==dj?Object(m.c)(p.l,{component:"div",className:n.coderProgress},Object(m.c)(p.xb,{variant:"determinate",value:function(){var e=uj,t=pj,n=dj;if(r.status===n)return"";var o=[e,t].includes(r.status)?r.status:"default";return sj(sj(sj({},e,0),t,10+90*(r.stage||0)/9),"default",100)[o]}()})):"")},hj=function(e){var t=e.stats,r=ar.a([],["streams"],t).length;return Object(m.c)(p.mc,{variant:"body2"},t.status===cj?r:"")},yj=function(e){var t=e.stats,r=t.temperature||null;return t.status===cj&amp;&amp;r?Object(m.c)(p.mc,{variant:"body2"},r,"â„ƒ"):null},gj=function(e){var t=e.stats,r=t.power?Math.round(t.power/1e3):null;return Object(m.c)(p.mc,{variant:"body2"},t.status===cj&amp;&amp;r?"".concat(r,"W"):"")},vj=function(e){var t=e.stats;return Object(m.c)(p.mc,{variant:"body2"},t.serial_number||"-")},_j=function(e){var t=e.stats,r=e.coderNumber,n=e.size,i=e.fontSize,a=Object(j.b)().t,s=ij(o.a.useState(!1),2),c=s[0],l=s[1],u=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,n=e.mutationFn,o=e.showSuccessMessage,i=void 0===o||o,a=e.showErrorMessage,s=void 0===a||a,c=Object(j.b)(),l=c.t,p=Object(Sn.b)((function(e){var t=e.params,r=e.body,o=e.config,i=Object(I_.a)({path:"/chassis/coders/{coder}/reboot",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),a=i.pathWithParams,s=i.queryParams;return n&amp;&amp;Object(B.a)(n)?n({params:t,body:r,config:o}):oO.post(a,r,rO({params:s},o))}),(function(){return i&amp;&amp;l("chassis_coder_reboot.successPostAlert")}),Object(B.g)(t)?t:{},s);return r?function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,Q_);return p.mutateAsync(rO({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,X_);return p.mutate(rO({params:t,body:r,config:n},o))}}();return Object(m.c)(p.l,{textAlign:"right"},Object(m.c)(p.mb,{"aria-label":a("chassisCard.restart"),color:"primary",onClick:function(){l(!0),u({params:{coder:r},onSuccess:function(){return l(!1)},onError:function(){return l(!1)}})},className:_t()("chassis-restart-button",(t.status===mj||c)&amp;&amp;"chassis-restart-button-rotate"),size:n},Object(m.c)(p.h,{fontSize:i})))};_j.defaultProps={size:"medium",fontSize:"medium"};var Oj=Object(p.wc)()((function(e){return{blockWrapper:{marginTop:e.spacing(2)},blockTitle:{paddingLeft:e.spacing(1),paddingTop:e.spacing(1),paddingBottom:e.spacing(1)},cardWrapper:{boxShadow:"0px 3px 3px -2px rgba(0,0,0,0.2), 0px 3px 4px 0px rgba(0,0,0,0.14), 0px 1px 8px 0px rgba(0,0,0,0.12)",height:"100%"}}})),jj=[{title:""},{title:"chassisHardwareModules.status"},{title:"chassisHardwareModules.memoryThroughput",lg:2},{title:"chassisHardwareModules.channels",lg:2},{title:"chassisHardwareModules.temperature",lg:2},{title:"chassisHardwareModules.power"},{title:"chassisHardwareModules.serialNumber",lg:2},{title:"",lg:1}],xj=function(){var e=Object(j.b)().t,t=Oj().classes,r=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,n=e.config,o=e.queryFn,i=e.queryKey;return Object(Sn.a)({queryKey:["chassis_chassis_coders_list",i,t],queryFn:function(){return o&amp;&amp;Object(B.a)(o)?o():mO({params:t,config:n})},options:r})}({options:{keepPreviousData:!0,refetchInterval:1e3}}),n=r.isLoading,i=r.error,a=r.data;return Object(m.c)(p.Nb,{elevation:3,className:t.blockWrapper},Object(m.c)(p.mc,{variant:"h5",className:t.blockTitle},e("chassis.hardwareModulesMonitorTitle")),Object(m.c)(p.l,{mt:2,px:1},n&amp;&amp;Object(m.c)(p.l,{textAlign:"center",mt:2,pb:2,width:"100%"},Object(m.c)(p.u,{size:30,color:"primary"})),i&amp;&amp;Object(m.c)(p.l,{mt:2,pb:2,width:"100%"},Object(m.c)(p.mc,{variant:"subtitle2",color:"error"},i.message)),!(n||i)&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.lb,{lgDown:!0},Object(m.c)(p.cc,{settings:jj,rows:a.coders.map((function(e){var r,n=dj,i=mj,a=e.stats,s=a.status!==n&amp;&amp;a.status!==i?[Object(m.c)(hj,{stats:a,key:"coder-channels"}),Object(m.c)(yj,{stats:a,key:"coder-temperature"}),Object(m.c)(gj,{stats:a,key:"coder-power"}),Object(m.c)(vj,{stats:a,key:"coder-serial"})]:[Object(m.c)("div",{key:"coder-empty1"}),Object(m.c)("div",{key:"coder-empty2"}),Object(m.c)("div",{key:"coder-empty3"}),Object(m.c)("div",{key:"coder-empty4"}),Object(m.c)("div",{key:"coder-empty5"})];return[Object(m.c)(fj,{stats:a,coderNumber:e.coder,key:"coder-number"}),Object(m.c)(bj,{stats:a,classes:t,key:"coder-status"}),Object(m.c)(o.a.Fragment,{key:"coder-mc_all"},null!==(r=a.mc_all)&amp;&amp;void 0!==r?r:"-"," Mb/s")].concat(s,[Object(m.c)(_j,{stats:a,coderNumber:e.coder,key:"coder-buttons"})])}))})),Object(m.c)(p.lb,{lgUp:!0},Object(m.c)(p.l,{px:1},Object(m.c)(p.ib,{container:!0,spacing:2},a.coders.map((function(r){return a=(n=r).stats,s=dj,c=mj,Object(m.c)(p.ib,{item:!0,xs:12,sm:6,md:4,key:"".concat(n.coder,"-grid")},Object(m.c)(p.lb,{lgUp:!0},Object(m.c)(p.l,{p:1,mb:1,className:t.cardWrapper},Object(m.c)(p.ib,{container:!0,spacing:2,alignItems:"center"},Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(fj,{stats:a,coderNumber:n.coder})),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(_j,{stats:a,coderNumber:n.coder,fontSize:"small",size:"small"})),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(p.mc,{variant:"subtitle2"},e("chassisHardwareModules.status"))),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(bj,{stats:a,classes:t})),!(a.status===s||a.status===c)&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(p.mc,{variant:"subtitle2"},e("chassisHardwareModules.memoryThroughput"))),Object(m.c)(p.ib,{item:!0,xs:6},null!==(i=a.mc_all)&amp;&amp;void 0!==i?i:"-"," Mb/s"),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(p.mc,{variant:"subtitle2"},e("chassisHardwareModules.channels"))),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(hj,{stats:a})),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(p.mc,{variant:"subtitle2"},e("chassisHardwareModules.temperature"))),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(yj,{stats:a})),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(p.mc,{variant:"subtitle2"},e("chassisHardwareModules.power"))),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(gj,{stats:a})),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(p.mc,{variant:"subtitle2"},e("chassisHardwareModules.serialNumber"))),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)(vj,{stats:a})))))));var n,i,a,s,c}))))))))},wj=Object(p.wc)()((function(e){return{wrapper:{marginTop:e.spacing(2),height:"100%"},title:{paddingLeft:e.spacing(2),paddingTop:e.spacing(1),paddingBottom:e.spacing(1)},cancelButton:{marginLeft:e.spacing(1)}}}));function kj(e){return function(e){if(Array.isArray(e))return Tj(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Pj(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Sj(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||Pj(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Pj(e,t){if(e){if("string"==typeof e)return Tj(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Tj(e,t):void 0}}function Tj(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Cj=function(){var e,t=Object(j.b)().t,r=wj().classes,o=Sj(Object(n.useState)(null),2),i=o[0],s=o[1],c=pO().data,l=iO({options:{onSuccess:function(e){i||s(null==e?void 0:e.default_gateway_interface)}}}).data,u=(e=Object(a.useQueryClient)(),function(){return e.refetchQueries(["chassis_chassis_get"])}),d=sO();return Object(m.c)(p.Nb,{elevation:3,className:r.wrapper},Object(m.c)(p.mc,{variant:"h5",className:r.title},t("chassisNetworkConfiguration.title")),Object(m.c)(p.ib,{container:!0},Object(m.c)(p.ib,{item:!0,xs:12,sm:7,md:6,lg:5},Object(m.c)(p.l,{mt:2,px:2},Object(m.c)(oa.a,{displayEmpty:!0,label:t("chassis.defaultGatewayInterface"),value:i,"data-testid":"default-gateway-interface",onChange:function(e){return s(e.target.value)},items:[[null,""]].concat(kj(((null==c?void 0:c.interfaces)||[]).map((function(e){return[e.name,e.name]}))))}))),Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{mt:2,my:2,px:2},Object(m.c)(p.n,{variant:"contained",color:"primary",onClick:function(){return d({body:{default_gateway_interface:i},onSuccess:function(){s(null),u()}})},disabled:(null==l?void 0:l.default_gateway_interface)===i},t("save")),Object(m.c)(p.n,{variant:"contained",color:"secondary",onClick:function(){return s(null==l?void 0:l.default_gateway_interface)},disabled:(null==l?void 0:l.default_gateway_interface)===i,className:r.cancelButton},t("cancel"))))))};function Ij(e){return(Ij="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Aj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Dj(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Aj(Object(r),!0).forEach((function(t){Ej(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Aj(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Ej(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Ij(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Ij(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ij(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var $j=function(){var e,t,r,n=Object(j.b)().t,o=wj().classes,i=iO(),a=i.data,s=i.isLoading,c=sO();return Object(m.c)(p.Nb,{elevation:3,className:o.wrapper},Object(m.c)(p.mc,{variant:"h5",className:o.title},n("chassisTimeConfiguration.title")),Object(m.c)(p.Ub,{isLoading:s},Object(m.c)(p.l,{px:2,mt:1},Object(m.c)(p.mc,{variant:"subtitle2"},n("chassisTimeConfiguration.systemTime"),":"," ",Object(m.c)(p.mc,{variant:"subtitle1",component:"span"},null!=a&amp;&amp;null!==(e=a.stats)&amp;&amp;void 0!==e&amp;&amp;e.system_time?Object(hh.a)(new Date(null==a?void 0:null===(t=a.stats)||void 0===t?void 0:t.system_time),"yyyy-MM-dd HH:mm:ss"):"")),Object(m.c)(p.jb,null),Object(m.c)(p.mc,{variant:"subtitle2"},n("chassisTimeConfiguration.ntpSynchronized"),":"," ",Object(m.c)(p.mc,{variant:"subtitle1",component:"span"},null!=a&amp;&amp;null!==(r=a.stats)&amp;&amp;void 0!==r&amp;&amp;r.ntp_clock_synchronized?n("chassisTimeConfiguration.synchronized"):n("chassisTimeConfiguration.notSynchronized"))),Object(m.c)(p.jb,null),Object(m.c)(p.X,{initialValues:{ntp_servers:(null==a?void 0:a.ntp_servers)||[]},onSubmit:function(e){return c({body:Dj({},e)})}},(function(){return Object(m.c)(p.U,{name:"ntp_servers",items:[],multiple:!0,freeSolo:!0,autoSelect:!0,docDescription:so.a.schemas.chassis_config.properties.ntp_servers.description})})))))},Nj=r(154);function Lj(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Rj(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Rj(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Rj(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var qj=function(e){var t=e.dataItem,r=Object(j.b)().t,o=Lj(Object(n.useState)(!1),2),i=o[0],a=o[1],s=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,n=e.mutationFn,o=e.showSuccessMessage,i=void 0===o||o,a=e.showErrorMessage,s=void 0===a||a,c=Object(j.b)(),l=c.t,p=Object(Sn.b)((function(e){var t=e.params,r=e.body,o=e.config,i=Object(I_.a)({path:"/chassis/disks/{disk_id}/format",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),a=i.pathWithParams,s=i.queryParams;return n&amp;&amp;Object(B.a)(n)?n({params:t,body:r,config:o}):oO.post(a,r,rO({params:s},o))}),(function(){return i&amp;&amp;l("chassis_disk_format.successPostAlert")}),Object(B.g)(t)?t:{},s);return r?function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,V_);return p.mutateAsync(rO({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,W_);return p.mutate(rO({params:t,body:r,config:n},o))}}({isAsync:!0}),c=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,n=e.mutationFn,o=e.showSuccessMessage,i=void 0===o||o,a=e.showErrorMessage,s=void 0===a||a,c=Object(j.b)(),l=c.t,p=Object(Sn.b)((function(e){var t=e.params,r=e.body,o=e.config,i=Object(I_.a)({path:"/chassis/disks/{disk_id}/mount",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),a=i.pathWithParams,s=i.queryParams;return n&amp;&amp;Object(B.a)(n)?n({params:t,body:r,config:o}):oO.post(a,r,rO({params:s},o))}),(function(){return i&amp;&amp;l("chassis_disk_mount.successPostAlert")}),Object(B.g)(t)?t:{},s);return r?function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,G_);return p.mutateAsync(rO({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,K_);return p.mutate(rO({params:t,body:r,config:n},o))}}({isAsync:!0}),l=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,n=e.mutationFn,o=e.showSuccessMessage,i=void 0===o||o,a=e.showErrorMessage,s=void 0===a||a,c=Object(j.b)(),l=c.t,p=Object(Sn.b)((function(e){var t=e.params,r=e.body,o=e.config,i=Object(I_.a)({path:"/chassis/disks/{disk_id}/umount",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),a=i.pathWithParams,s=i.queryParams;return n&amp;&amp;Object(B.a)(n)?n({params:t,body:r,config:o}):oO.post(a,r,rO({params:s},o))}),(function(){return i&amp;&amp;l("chassis_disk_umount.successPostAlert")}),Object(B.g)(t)?t:{},s);return r?function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,Y_);return p.mutateAsync(rO({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=eO(e,J_);return p.mutate(rO({params:t,body:r,config:n},o))}}({isAsync:!0}),u=Object(n.useCallback)((function(e){a(!0),s({params:{disk_id:e}}).finally((function(){return a(!1)}))}),[s]),d=Object(n.useCallback)((function(e){a(!0),c({params:{disk_id:e}}).finally((function(){return a(!1)}))}),[c]),f=Object(n.useCallback)((function(e){a(!0),l({params:{disk_id:e}}).finally((function(){return a(!1)}))}),[l]),b="";return b=t.formatted?t.mount_point?Object(m.c)(p.n,{variant:"outlined",onClick:function(){return t.disk_id?f(t.disk_id):null},disabled:i,endIcon:i&amp;&amp;Object(m.c)(Nj.a,{size:20,color:"primary"})},r("chassisDiskManagement.unmount")):Object(m.c)(p.n,{variant:"outlined",onClick:function(){return t.disk_id?d(t.disk_id):null},disabled:i,endIcon:i&amp;&amp;Object(m.c)(Nj.a,{size:20,color:"primary"})},r("chassisDiskManagement.mount")):Object(m.c)(p.n,{variant:"outlined",onClick:function(){return t.disk_id?u(t.disk_id):null},disabled:i,endIcon:i&amp;&amp;Object(m.c)(Nj.a,{size:20,color:"primary"})},r("chassisDiskManagement.format")),Object(m.c)(p.l,{display:"flex",justifyContent:"flex-end"},b)},Mj=function(){var e=Object(j.b)().t,t=wj().classes,r=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,n=e.config,o=e.queryFn,i=e.queryKey;return Object(Sn.a)({queryKey:["chassis_chassis_disks_list",i,t],queryFn:function(){return o&amp;&amp;Object(B.a)(o)?o():dO({params:t,config:n})},options:r})}({options:{refetchInterval:3e3}}),o=r.data,i=r.isLoading,a=Object(n.useMemo)((function(){return{items:[{title:e("chassisDiskManagement.diskId"),renderData:function(e){return null==e?void 0:e.disk_id}},{title:e("chassisDiskManagement.mountPoint"),renderData:function(e){return null==e?void 0:e.mount_point}},{title:e("chassisDiskManagement.formatted"),renderData:function(e){return Object(m.c)(p.R,{label:"",control:Object(m.c)(p.s,{sx:{maxHeight:30},name:"".concat(e,".formatted"),disabled:!0,checked:null==e?void 0:e.formatted})})}},{title:"",renderData:function(e){return Object(m.c)(qj,{dataItem:e})}}]}}),[e]);return Object(m.c)(p.Nb,{elevation:3,className:t.wrapper},Object(m.c)(p.Ub,{isLoading:i},Object(m.c)(p.mc,{variant:"h5",className:t.title},e("chassisDiskManagement.title")),Object(m.c)(p.l,{px:2,mt:1},Object(m.c)(p.A,{titleMobile:e("chassisDiskManagement.title"),data:null==o?void 0:o.disks,columns:a}))))},Fj=function(){var e=Object(j.b)().t;return Object(m.c)("div",{id:"chassis-wrapper"},Object(m.c)(p.y,{maxWidth:!1,"data-testid":"chassis"},Object(m.c)(p.mc,{variant:"h5"},e("chassis.hardwareConfigurationTitle")),Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(PO,null)),Object(m.c)(p.ib,{item:!0,xs:12,sm:6},Object(m.c)(Cj,null)),Object(m.c)(p.ib,{item:!0,xs:12,sm:6},Object(m.c)($j,null)),Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(Mj,null)),Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(nj,null)),Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(xj,null)))))},Uj=function(){var e=Object(j.b)().t;return Object(m.c)(p.y,{maxWidth:!1,id:"watcher"},Object(m.c)(p.ib,{container:!0},Object(m.c)(p.ib,{item:!0,xs:12,sm:8,lg:6},Object(m.c)(p.l,{mt:4},Object(m.c)(p.mc,{variant:"subtitle1"},Object(m.c)(Ce.a,null,e("watcher.text")))))))};Uj.displayName="Watcher";var zj=r(860),Bj=r.n(zj),Hj=function(e){var t=e.onQuerySelect,r=Object(j.b)().t,n=function(e){return function(r){r.preventDefault(),t(e)}},o=function(e){var t=arguments.length&gt;1&amp;&amp;void 0!==arguments[1]?arguments[1]:"";return(Object(m.c)("a",{href:"src/admin/features/pulse/PulseCustomDesc",onClick:n(e),"data-testid":t},e))};return Object(m.c)("div",{id:"pulse-desc",className:"pulse-desc-wrapper"},Object(m.c)("p",{className:"notice-text"},r("pulse.customDesc.notice"),Object(m.c)("br",null),o("sum:1m-tavg8:total_input{from=-10h}","example-href-1")),Object(m.c)("p",{className:"notice-text"},r("pulse.customDesc.syntaxIs"),Object(m.c)("br",null)," ",Object(m.c)("code",null,"group:period-aggregator:metric{tags}"),Object(m.c)("br",null),Object(m.c)("code",null,"group")," ",r("pulse.customDesc.groupIs"),Object(m.c)("br",null),Object(m.c)("code",null,"period")," ",r("pulse.customDesc.periodIs"),Object(m.c)("br",null),Object(m.c)("code",null,"aggregator")," ",r("pulse.customDesc.aggregatorIs"),Object(m.c)("br",null),Object(m.c)("code",null,"metric")," ",r("pulse.customDesc.metricIs")),Object(m.c)("p",{className:"notice-text"},Object(m.c)("code",null,"total_input"),r("pulse.customDesc.totalInputIs")," ",r("pulse.customDesc.example"),o("sum:1m-tavg8:total_input")),Object(m.c)("p",{className:"notice-text"},Object(m.c)("code",null,"total_output"),r("pulse.customDesc.totalOutputIs")),Object(m.c)("p",{className:"notice-text"},Object(m.c)("code",null,"total_clients"),r("pulse.customDesc.totalClientsIs")),Object(m.c)("p",{className:"notice-text"},Object(m.c)("code",null,"media_input"),r("pulse.customDesc.mediaInputIs")),Object(m.c)("p",{className:"notice-text"},Object(m.c)("code",null,"media_output"),r("pulse.customDesc.mediaOutputIs")," ",r("pulse.customDesc.example"),o("sum:1m-tavg8:media_output{media=ort}")),Object(m.c)("p",{className:"notice-text"},Object(m.c)("code",null,"media_clients"),r("pulse.customDesc.mediaClientsIs")),Object(m.c)("p",{className:"notice-text"},Object(m.c)("code",null,"disk_io_usage"),r("pulse.customDesc.diskIoUsageIs")),Object(m.c)("p",{className:"notice-text"},Object(m.c)("code",null,"cpu_usage"),r("pulse.customDesc.cpuUsageIs")),Object(m.c)("p",{className:"notice-text"},Object(m.c)("code",null,"total_memavail"),r("pulse.customDesc.totalMemavailIs")),Object(m.c)("p",{className:"notice-text"},Object(m.c)("code",null,"total_memused"),r("pulse.customDesc.totalMemusedIs")),Object(m.c)("p",{className:"notice-text"},Object(m.c)("code",null,"total_memusage"),r("pulse.customDesc.totalMemusageIs")),Object(m.c)("p",{className:"notice-text"},Object(m.c)("code",null,"thumbnailer_memusage"),r("pulse.customDesc.thumbnailerMemusageIs")),Object(m.c)("p",{className:"notice-text"},Object(m.c)("code",null,"thumbnailer_in"),r("pulse.customDesc.thumbnailerInIs")),Object(m.c)("p",{className:"notice-text"},Object(m.c)("code",null,"thumbnailer_out"),r("pulse.customDesc.thumbnailerOutIs")))};function Vj(e){return(Vj="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Wj(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Vj(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Vj(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Vj(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Gj=Object(p.wc)()((function(e){return{info:{display:"flex",justifyContent:"space-between",overflow:"hidden",gap:e.spacing(1),marginBottom:4,fontSize:12},path:{overflow:"hidden",textOverflow:"ellipsis"},usage:{flexShrink:0,fontWeight:500},progress:Wj(Wj({height:10,borderRadius:5},"&amp;.".concat(p.vc.colorPrimary),{backgroundColor:e.palette.grey[200]}),"&amp; .".concat(p.vc.bar),{borderRadius:5})}})),Kj=function(e){var t=e.path,r=e.usage,n=e.totalMb,o=Object(j.b)().t,i=Gj().classes,a=r/100*n*1024*1024,s=1024*n*1024,c=t.replaceAll("_","/");return Object(m.c)(p.l,{mt:2},Object(m.c)(p.l,{className:i.info},Object(m.c)(p.lc,{title:c,placement:"top"},Object(m.c)(p.l,{className:i.path},c)),Object(m.c)(p.l,{className:i.usage},o("clusterPeers.diskSpaceUsageInf",{usagePercent:r,usage:_e.a.bytes(a),total:_e.a.bytes(s)}))),Object(m.c)(p.xb,{className:i.progress,variant:"determinate",value:r}))};function Yj(e){return(Yj="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Jj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Qj(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Jj(Object(r),!0).forEach((function(t){Xj(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Jj(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Xj(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Yj(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Yj(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Yj(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Zj(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return ex(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ex(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ex(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var tx=function(e){return/total_input/.test(e)||/total_output/.test(e)||/media_input/.test(e)||/media_output/.test(e)||/thumbnailer_in/.test(e)||/thumbnailer_out/.test(e)?{series:[{scale:"mb",stroke:"blue"}],yAxis:[{position:"left",formatter:Bl.mb}]}:/total_clients/.test(e)||/media_clients/.test(e)?{series:[{color:"blue",label:"Clients"}],yAxis:[{position:"left"}]}:/cpu_usage/.test(e)||/disk_io_usage/.test(e)||/total_memusage/.test(e)||/thumbnailer_memusage/.test(e)?{series:[{color:"blue"}],labelPostfix:"%",yAxis:[{position:"left",formatter:Bl.percent,min:0,max:100}]}:/total_memavail/.test(e)||/total_memused/.test(e)?{series:[{color:"blue"}]}:{}},rx=function(e){var t=function(e){return/^[^;{}\n\t\r,=:]+$/.test(e)},r=function(e){if(t(e))return!0;if("}"!==e[e.length-1])return!1;var r=e.slice(0,e.length-1).split("{");return 2===r.length&amp;&amp;t(r[0])&amp;&amp;function(e){var r=e.split(",");for(var n in r){var o=r[n].split("=");if(!t(o[0])||!t(o[0]))return!1}return!0}(r[1])},n=e.split(":");return 1===n.length?r(n[0]):2===n.length?t(n[0])&amp;&amp;r(n[1]):3===n.length&amp;&amp;(t(n[0])&amp;&amp;t(n[1])&amp;&amp;r(n[2]))},nx=function(e){var t=e.query,r=e.search,n=e.focused,o=e.onClick,i=Object(j.b)().t;return t||r||n?Object(m.c)(No.a,{label:Object(m.c)("span",null,"â† ",i("pulse.backToBoard")),onClick:o}):null},ox=function(e){var t=e.title;return Object(m.c)(p.l,{style:{background:"#fff"}},Object(m.c)(p.mc,{variant:"h5"},t))},ix=function(e){var t=e.topic,r=e.title,n=e.height,o=e.series,i=e.yAxis,a=e.labelPostfix,s=Object(j.b)().t;return Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,sm:6},Object(m.c)("div",{className:"row-height flex-end"},Object(m.c)("div",{className:"notice-text"},r," ",s("pulse.forLastHours"))),Object(m.c)("div",{style:{height:n}},Object(m.c)(ep,{topic:t,resolution:"hour",labelPostfix:a,yAxis:i,series:o}))),Object(m.c)(p.ib,{item:!0,xs:12,sm:6},Object(m.c)("div",{className:"row-height flex-end"},Object(m.c)("div",{className:"notice-text"},r," ",s("pulse.forLastMinute"))),Object(m.c)("div",{style:{height:n}},Object(m.c)(ep,{topic:t,resolution:"minute",labelPostfix:a,yAxis:i,series:o}))))},ax=function(){var e=Object(j.b)().t,t=Ge()(),r=t.history,i=t.location,a=F.a(["state","query"])(i),s=Object(n.useContext)(me).globalSettings,c=Zj(o.a.useState(a||""),2),l=c[0],u=c[1],d=Zj(o.a.useState(!1),2),f=d[0],b=d[1],h=Zj(o.a.useState(!1),2),y=h[0],g=h[1],v=Zj(o.a.useState(!1),2),_=v[0],O=v[1],x=Ot.a("nvidia_monitor")(s),w=q.a((function(e){return e.filter((function(e){return"nvenc"===e.type}))}),(function(e){return Object.values(e)}),$o.a({},"transcoder_devices"),$o.a({},"stats"))(s),k=function(e){var t=e.target,r=t.getAttribute("class"),n=t.parentElement.getAttribute("class");if(r&amp;&amp;n&amp;&amp;!(r.includes("custom-query-input-label-wrapper")||n.includes("custom-query-input-label-wrapper")||r.includes("custom-query-input-label")||n.includes("notice-text")||n.includes("pulse-desc-wrapper"))){var o=document.getElementById("custom-query-input");setTimeout((function(){o.blur(),b(!1)}),300)}};Object(n.useEffect)((function(){return window.addEventListener("click",k),function(){window.removeEventListener("click",k)}}),[]);var S,P,T,C,I,A,D,E,$,N,L=function(){r.push({pathname:"/pulse",search:""}),document.getElementById("custom-query-input").blur(),b(!1)},R=function(e){var t=l;"string"==typeof e&amp;&amp;(t=e),r.push({pathname:"/pulse",search:"?query=".concat(t),state:{query:t}})};return l||f?(P=Object(m.c)(Hj,{onQuerySelect:function(e){var t;O(!0),"string"==typeof e&amp;&amp;(t=e),r.push({pathname:"/pulse",search:"?query=".concat(t),state:{query:t}}),u(t),setTimeout((function(){return O(!1)}),500)}}),a&amp;&amp;(T=Object(m.c)("div",{style:{height:"300px"},"data-testid":"custom-pulse-plot"},Object(m.c)(ep,{topic:"custom/".concat(a),resolution:"custom",options:Qj({},tx(a))})))):(D=((null==s?void 0:null===(C=s.stats)||void 0===C?void 0:C.partitions)||[]).map((function(t){return Object(m.c)("div",{key:t.device},Object(m.c)(ix,{topic:"disk_io_usage{disk=".concat(t.device,"}"),title:e("pulse.ioUsageOfDisk",{disk:t.device}),height:"150px",series:[{label:t.device,color:"red"}],yAxis:[{position:"left",formatter:Bl.percent,min:0,max:100}]}),Object(m.c)("div",{className:"row-height"}))})),E=0!==D.length?Object(m.c)(ox,{title:e("pulse.hddIoUsage")}):null,$=null!==(I=null==s?void 0:null===(A=s.stats)||void 0===A?void 0:A.partitions)&amp;&amp;void 0!==I?I:[],S=Object(m.c)(o.a.Fragment,null,Object(m.c)(ox,{title:e("pulse.traffic")}),Object(m.c)(ix,{topic:"overview",title:e("pulse.systemTraffic"),height:"250px",series:[{label:"In",color:"red"},{label:"Out",color:"green"},{label:"Clients",color:"blue"}],yAxis:[{position:"left",formatter:Bl.mb},{position:"right"}],id:"pulse-system-traffic"}),Object(m.c)("div",{className:"row-height"}),Object(m.c)(ox,{title:e("pulse.memoryUsage")}),Object(m.c)(ix,{topic:"total_memusage",title:e("pulse.totalMemoryUsage"),height:"180px",labelPostfix:"%",series:[{label:"In",color:"red"}],yAxis:[{position:"left",formatter:Bl.percent,min:0,max:100}]}),Object(m.c)("div",{className:"row-height"}),Object(m.c)(ox,{title:e("pulse.cpuUsage")}),Object(m.c)(ix,{topic:"cpu_usage",title:e("pulse.cpuUsage"),height:"180px",labelPostfix:"%",series:[{label:"CPU",color:"red"}],yAxis:[{position:"left",formatter:Bl.percent,min:0,max:100}]}),Object(m.c)("div",{className:"row-height"}),Object(m.c)(ox,{title:e("pulse.schedulerUtilization")}),Object(m.c)(ix,{topic:"scheduler_loads",title:e("pulse.schedulerUtilization"),height:"180px",labelPostfix:"%",series:[{label:"Scheduler",color:"red"},{label:"Interpretator",color:"blue"},{label:"CPU",color:"green"},{label:"Disk",color:"black"}],yAxis:[{position:"left",formatter:Bl.percent,min:0,max:100}]}),Object(m.c)("div",{className:"row-height"}),Object(m.c)(ox,{title:e("pulse.activeTasks")}),Object(m.c)(ix,{topic:"active_tasks",title:e("pulse.schedulerUtilization"),height:"180px",series:[{label:"Active tasks",color:"blue"}]}),Object(m.c)("div",{className:"row-height"}),x&amp;&amp;Object(B.e)(w)&amp;&amp;Object(m.c)(ox,{title:e("pulse.gpuUsage")}),x&amp;&amp;Object(B.e)(w)&amp;&amp;w.map((function(t){return Object(m.c)(o.a.Fragment,{key:"".concat(t.name,"-").concat(t.id)},Object(m.c)(ix,{topic:"gpu_mem{gpu=nv".concat(t.id,"}"),title:e("pulse.gpuUsageDevice",{device:"".concat(t.name," (").concat(t.id,")")}),height:"180px",yAxis:[{position:"left",min:0,max:100}]}),Object(m.c)("div",{className:"row-height"}))})),x&amp;&amp;Object(B.e)(w)&amp;&amp;Object(m.c)(ox,{title:e("pulse.encoderUsage")}),x&amp;&amp;Object(B.e)(w)&amp;&amp;w.map((function(t){return Object(m.c)(o.a.Fragment,{key:"".concat(t.name,"-").concat(t.id)},Object(m.c)(ix,{topic:"gpu_enc{gpu=nv".concat(t.id,"}"),title:e("pulse.encoderUsageDevice",{device:"".concat(t.name," (").concat(t.id,")")}),height:"180px",yAxis:[{position:"left",min:0,max:100}]}),Object(m.c)("div",{className:"row-height"}))})),x&amp;&amp;Object(B.e)(w)&amp;&amp;Object(m.c)(ox,{title:e("pulse.decoderUsage")}),x&amp;&amp;Object(B.e)(w)&amp;&amp;w.map((function(t){return Object(m.c)(o.a.Fragment,{key:"".concat(t.name,"-").concat(t.id)},Object(m.c)(ix,{topic:"gpu_dec{gpu=nv".concat(t.id,"}"),title:e("pulse.decoderUsageDevice",{device:"".concat(t.name," (").concat(t.id,")")}),height:"180px",yAxis:[{position:"left",min:0,max:100}]}),Object(m.c)("div",{className:"row-height"}))})),x&amp;&amp;Object(B.e)(w)&amp;&amp;Object(m.c)(ox,{title:e("pulse.gpuTemperature")}),x&amp;&amp;Object(B.e)(w)&amp;&amp;w.map((function(t){return Object(m.c)(o.a.Fragment,{key:"".concat(t.name,"-").concat(t.id)},Object(m.c)(ix,{topic:"gpu_temp{gpu=nv".concat(t.id,"}"),title:e("pulse.gpuTemperatureDevice",{device:"".concat(t.name," (").concat(t.id,")")}),height:"180px",labelPostfix:"Â°C",yAxis:[{position:"left",min:0,max:100,formatter:Bl.degree}]}),Object(m.c)("div",{className:"row-height"}))})),E,D,0!==$.length&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(ox,{title:e("pulse.diskSpaceUsage")}),Object(m.c)(p.ib,{container:!0,spacing:2},$.map((function(e){return Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:3,key:e.path},Object(m.c)(Kj,{path:e.path,usage:e.usage,totalMb:e.total_mb}))}))),Object(m.c)("div",{className:"row-height"})))),l&amp;&amp;!rx(l)&amp;&amp;(N="invalid format"),Object(m.c)(p.y,{maxWidth:!1,id:"pulseboard","data-testid":"pulse"},Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,sm:8},Object(m.c)("div",{className:"row-height flex-end"},Object(m.c)(nx,{query:l,onClick:function(){u(""),L()},focused:f,search:a})),Object(m.c)(p.l,{mb:2},Object(m.c)(p.fc,{value:l,label:e("pulse.customQueryLabel"),onChange:function(e){u(e.target.value),e.target.value||L()},onFocus:function(){b(!0)},onSubmit:function(){l&amp;&amp;rx(l)&amp;&amp;R()},inputProps:{"data-testid":"custom-query-input",id:"custom-query-input"},error:N,InputProps:{endAdornment:Object(m.c)(No.a,{label:e("show"),disabled:!l||!rx(l),onClick:R,"data-testid":"custom-query-show-button"})},force:_})),T),Object(m.c)(p.lb,{only:"xs"},Object(m.c)(p.ib,{item:!0,xs:4},P)))),Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{mt:4,mb:2},Object(m.c)(p.n,{size:"small",color:"primary",variant:"contained",onClick:function(){g(!0);var e=document.getElementById("pulse-charts");Bj.a.toBlob(e).then((function(e){window.saveAs(e,"pulse.png"),g(!1)}))},endIcon:y?Object(m.c)(p.u,{size:20,color:"primary"}):Object(m.c)(p.Ob,null),disabled:y,"data-testid":"save-pulse-image"},e("pulse.savePulseAsImage"))))),Object(m.c)(p.ib,{container:!0,spacing:2,"data-testid":"pulse-charts-container"},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{id:"pulse-charts",style:{background:"#fff"},pt:1},S))))},sx=r(861),cx=r.n(sx);function lx(e){return(lx="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function px(e){return function(e){if(Array.isArray(e))return hx(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||bx(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ux(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function dx(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ux(Object(r),!0).forEach((function(t){mx(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ux(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function mx(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==lx(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==lx(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===lx(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function fx(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||bx(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bx(e,t){if(e){if("string"==typeof e)return hx(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?hx(e,t):void 0}}function hx(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var yx,gx=window.location.hostname,vx=function(e){var t=e.change,r=e.config,o=Object(j.b)().t,i=fx(Object(n.useState)(null),2),a=i[0],s=i[1],c=fx(Object(n.useState)(null),2),l=c[0],u=c[1],d=fx(Object(n.useState)(!1),2),f=d[0],b=d[1],h=fx(Object(n.useState)(!1),2),y=h[0],g=h[1],v=fx(Object(n.useState)(""),2),O=v[0],x=v[1],w=fx(Object(n.useState)(!1),2),k=w[0],S=w[1],P=fx(Object(n.useState)(""),2),T=P[0],C=P[1],I=fx(Object(n.useState)(""),2),A=I[0],D=I[1],E=fx(Object(n.useState)(""),2),$=E[0],N=E[1];Object(_.cc)({options:{onSuccess:function(e){s(e.cert?dx(dx({},e.cert),{},{not_after:e.cert?_e.a.local_date_at(e.cert.not_after):null}):e.cert),u(e.cacert),b(e.private_key_match_certificate)}}});var L,R=Object(_.dc)(),q=Object(_.ec)(),M=Object(_.bc)(),F=Object(_.P)({options:{onSuccess:function(e,t){Ot.a("onSuccess")(t)&amp;&amp;Object(B.a)(t.onSuccess)&amp;&amp;t.onSuccess()},onError:function(e,t){Ot.a("onError")(t)&amp;&amp;Object(B.a)(t.onError)&amp;&amp;t.onError(e)}}}),U=function(e,t,r,n){return e?Object(m.c)(p.Ab,{key:t},Object(m.c)(p.Bb,null,Object(m.c)(p.i,null,Object(m.c)(p.tb,null))),Object(m.c)(p.Db,{primary:t,secondary:"file found"})):Object(m.c)(p.Ab,{key:t},Object(m.c)(p.Bb,null,Object(m.c)(p.i,null,Object(m.c)(p.tb,null))),Object(m.c)(p.Db,{primary:t,secondary:Object(m.c)(p.mc,{className:n,variant:"body2"},o("missing"))}))},z=[];return z.push(U(f,"streamer.key",0,"error-text")),z.push(U(a,"streamer.crt",0,"error-text")),z.push(U(l,"streamer-ca.crt",0,"warning-text")),Object(m.c)(p.l,null,Object(m.c)(p.mc,{variant:"h5",style:{fontWeight:300}},o("configProtocols.protocolsTitle")),(L="srt",Object(m.c)(p.fc,{entity:"settings",path:[L],value:r[L],onChange:t([L]),docDescription:so.a.schemas.server_config_base.properties[L].description})),Object(m.c)(p.l,{mt:5},Object(m.c)(p.mc,{variant:"h5",style:{fontWeight:300}},o("configProtocols.tlsTunneledProtocolsTitle"))),Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,sm:6,md:12,lg:6},Object(m.c)(p.l,{mt:2},Object(m.c)(p.n,{variant:"outlined",color:"primary",onClick:function(){var e;/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/.test(window.location.href)?alert(o("configProtocols.letsEncryptAlert")):(e=JSON.stringify({domains:[gx]}),x(""),g(!0),F({body:e,onSuccess:function(){R(),g(!1)},onError:function(e){g(!1);var t=JSON.parse(ar.a({},["request","response"])(e)),r=Ot.a("description")(t)||Ot.a("error")(t);console.log("Letsencrypt request error: ",t),x("".concat(o("configProtocols.letsEncryptError")," ").concat(r||""))}}))},endIcon:y&amp;&amp;Object(m.c)(p.u,{size:16,color:"primary"})},o("configProtocols.issueByLetsEncrypt")),O&amp;&amp;Object(m.c)(p.mc,{color:"error",variant:"body2"},O)),a&amp;&amp;Object(m.c)(p.l,{mt:2},Object(m.c)(Ai,{expanded:!0,label:o("configProtocols.domainsLabel")},Object(m.c)("div",{className:"notice-text"},a.domains&amp;&amp;a.domains.join(", "))),Object(m.c)(Ai,{expanded:!0,label:o("configProtocols.issuerLabel")},Object(m.c)("div",{className:"notice-text"},a.issuer_name)),Object(m.c)(Ai,{expanded:!0,label:o("configProtocols.validUntilLabel")},Object(m.c)("div",{className:"notice-text"},a.not_after)))),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,md:12,lg:6},Object(m.c)(p.l,{display:"flex",justifyContent:"space-between",alignItems:"end",mt:1},Object(m.c)(du,{id:"upload-certificates",multiple:!0,onChange:function(e){clearTimeout(yx);var t=["cert","cacert","private_key"],r=e.target,n=r.files,i=r.value,a=Object.values(n);if(a.length&lt;2||a.length&gt;3)C(o("uploadingCountError")),yx=setTimeout((function(){return C("")}),7e3);else{S(!0),D(i);var s=[];a.forEach((function(e){s=[].concat(px(s),[g_(e)])})),Promise.all(s).then((function(e){var r={};e.forEach((function(e,n){r[t[n]]=e})),q({body:dx({},r),onSuccess:function(){setTimeout((function(){return window.location.reload()}),2e3)},onError:function(e){var t=JSON.parse(ar.a({},["request","response"])(e)),r=Ot.a("description")(t)||Ot.a("error")(t);S(!1),D(""),C("".concat(o("uploadingError")," ").concat(r?"(".concat(r,")"):"")),yx=setTimeout((function(){return C("")}),7e3)}})}))}},value:A,variant:"outlined",color:"primary",endIcon:k&amp;&amp;Object(m.c)(p.u,{size:20,color:"primary"}),isUploadingFile:k,uploadingError:T,disabled:k},o("configProtocols.uploadButton")),Object(m.c)(p.mb,{edge:"end","aria-label":"delete all",onClick:function(){M({onSuccess:function(){N(""),R()},onError:function(){N("deletionAllError"),setTimeout((function(){return N("")}),7e3)}})},color:"secondary",style:{marginRight:"4px"},size:"large"},Object(m.c)(p.B,null))),Object(m.c)(p.zb,null,z),$&amp;&amp;Object(m.c)(p.l,{mt:1,pl:2},Object(m.c)(p.mc,{variant:"body1",color:"error"},o($))))))},_x=function(e){var t=e.change,r=e.config,n=Object(j.b)().t,o=function(e){return function(){return t("loglevel")(e)}},i=function(e){return function(){return t("nvidia_monitor")(e)}},a=function(e){var n;return Object(m.c)(p.fc,{entity:"config",path:[e],value:r[e],onChange:t([e]),docDescription:null===(n=so.a.schemas.server_config_base.properties[e])||void 0===n?void 0:n.description})};return Object(m.c)("div",null,Object(m.c)(p.mc,{variant:"h5",style:{fontWeight:300}},n("configAdditional.additionalTitle")),Object(m.c)(Ai,{expanded:!0,label:n("configAdditional.logLevelLabel"),className:"auto-height",docDescription:so.a.schemas.server_config_base.properties.loglevel.description},Object(m.c)(No.a,{checked:!r.loglevel,onClick:o(null),label:n("configAdditional.logLevelDefault"),className:"margin-right-10",isRadio:!0}),Object(m.c)(No.a,{checked:"debug"===r.loglevel,onClick:o("debug"),label:n("configAdditional.logLevelDebug"),className:"margin-right-10",isRadio:!0}),Object(m.c)(No.a,{checked:"notice"===r.loglevel,onClick:o("notice"),label:"notice",className:"margin-right-10",isRadio:!0}),Object(m.c)(No.a,{checked:"error"===r.loglevel,onClick:o("error"),label:n("configAdditional.logLevelError"),isRadio:!0})),Object(m.c)(p.R,{control:Object(m.c)(p.s,{checked:r.log_requests||!1,onChange:function(e){return t("log_requests")(e.target.checked||null)},color:"primary",inputProps:{"data-testid":"configAdditionalLogRequests"}}),label:n("configAdditional.logRequestsLabel"),docDescription:so.a.schemas.server_config_base.properties.log_requests.description}),Object(m.c)(Ai,{expanded:!0,label:n("configAdditional.nvidiaMonitorLabel"),docDescription:so.a.schemas.server_config_base.properties.nvidia_monitor.description},Object(m.c)(No.a,{checked:!r.nvidia_monitor,onClick:i(!1),label:n("disabled"),className:"margin-right-10",isRadio:!0}),Object(m.c)(No.a,{checked:r.nvidia_monitor,onClick:i(!0),label:n("enabled"),isRadio:!0})),Object(m.c)(p.l,{mt:2},a("pulsedb")),a("session_log"),a("snmp"),Object(m.c)(si,{entity:"config",path:["total_bandwidth"],value:r.total_bandwidth,onChange:t("total_bandwidth"),defaultUnit:"bandWidthInput.megabitsPerSecond",docDescription:so.a.schemas.server_config_base.properties.total_bandwidth.description}),a("meta"))};function Ox(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return jx(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return jx(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function jx(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var xx=function(e){var t=e.config,r=e.change,o=e.onError,i=e.onErrorResolve,a=e.errors,s=Object(j.b)().t,c=Ox(Object(n.useState)("password"),2),l=c[0],u=c[1],d=Ox(Object(n.useState)(""),2),f=d[0],b=d[1],h=Ox(Object(n.useState)("password"),2),y=h[0],g=h[1],v=Ox(Object(n.useState)(!1),2),_=v[0],O=v[1],x=Ox(Object(n.useState)(Ot.a("api_allowed_from")(t)),2),w=x[0],k=x[1],S=t.edit_auth||{},P=["access","repeatedPassword"],T=["access","password"],C=["access","apiAllowedFrom"],I=Object(Ds.b)(a[Object(ge.c)(P)],s),A=Object(Ds.b)(a[Object(ge.c)(T)],s),D=Object(Ds.b)(a[Object(ge.c)(C)],s),E=function(e,t){e.stopPropagation(),k(t||"");var n=Object(B.e)(t)?Yo({value:t[t.length-1]}):{isValid:!0};n.isValid?(i(C)(),r(["api_allowed_from"],"raw")(Object(B.e)(t)?t:null)):o(C)(n.error)};return Object(m.c)("div",{"data-testid":"config-access-settings"},Object(m.c)(p.mc,{variant:"h5",style:{fontWeight:300}},s("configAccess.accessTitle")),Object(m.c)(p.fc,{entity:"config",path:["edit_auth","login"],value:S.login||"",onChange:r(["edit_auth","login"]),docDescription:so.a.schemas.admin_credentials.properties.login.description}),Object(m.c)(p.l,{mt:1},Object(m.c)(p.fc,{entity:"config",path:["edit_auth","password"],value:S.password||"",onChange:function(e){var t=e.target.value;r(["edit_auth","password"],"string")(e),K.test(t)?(i(T)(),f===t?i(P)():o(P)("noLicense.repeatedPasswordError")):o(T)("noLicense.passwordError")},onFocus:function(){return O(!0)},error:A,type:l,dimension:Object(m.c)(p.rb,{position:"start"},Object(m.c)(p.mb,{"aria-label":"visibility",size:"small",onClick:function(){"password"===l?u("text"):"text"===l&amp;&amp;u("password")}},"password"===l&amp;&amp;Object(m.c)(p.pc,{fontSize:"small",color:"primary"}),"text"===l&amp;&amp;Object(m.c)(p.oc,{fontSize:"small",color:"primary"}))),docDescription:so.a.schemas.admin_credentials.properties.password.description})),_&amp;&amp;Object(m.c)(p.l,{mt:1},Object(m.c)(p.fc,{entity:"config",path:["repeat","password"],value:f||"",type:y,onChange:function(e){var t=e.target.value;b(t),K.test(t)?(i(P)(),S.password===t?i(P)():o(P)("noLicense.repeatedPasswordError")):o(P)("noLicense.passwordError")},error:I,InputProps:{endAdornment:Object(m.c)(p.rb,{position:"start"},Object(m.c)(p.mb,{"aria-label":"visibility",size:"small",onClick:function(){"password"===y?g("text"):"text"===y&amp;&amp;g("password")}},"password"===y&amp;&amp;Object(m.c)(p.pc,{fontSize:"small",color:"primary"}),"text"===y&amp;&amp;Object(m.c)(p.oc,{fontSize:"small",color:"primary"})))}})),Object(m.c)(p.l,{mt:1},Object(m.c)(p.g,{id:"config-access-api-allowed-from","data-testid":"config-api-allowed-from",label:s("configAccess.apiAllowedFromLabel"),freeSolo:!0,multiple:!0,autoSelect:!0,options:[],value:w,onChange:E,onInputChange:function(e,t){e&amp;&amp;E(e,[t])},helperText:D,error:D,docDescription:so.a.schemas.server_config_base.properties.api_allowed_from.description})))};function wx(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return kx(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return kx(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function kx(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Sx,Px=Object(p.wc)()((function(e){return{list:{marginTop:e.spacing(-2),marginLeft:e.spacing(-2)},listItem:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}}})),Tx=function(e){var t=e.isNoLicensePage,r=Object(j.b)().t,n=Px().classes,i=wx(o.a.useState(!1),2),a=i[0],s=i[1],c=wx(o.a.useState(""),2),l=c[0],u=c[1],d=wx(o.a.useState(""),2),f=d[0],b=d[1],h=wx(o.a.useState(""),2),y=h[0],g=h[1],v=Object(_.c)().data,O=(null==v?void 0:v.activations)||[],x=Object(_.d)(),w=Object(_.a)(),k=Object(_.b)();return Object(m.c)(p.l,{mt:2},Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,sm:t?12:5,md:12,lg:t?12:5,xl:t?12:4},Object(m.c)(du,{id:"upload-activation-files","data-testid":"upload-activation-files",onChange:function(e){clearTimeout(Sx),s(!0);var t=e.target,n=t.files,o=t.value;g(o);var i=n[0],a=i.name.replace("activation-","").replace(".txt","");g_(i).then((function(e){k({params:{version:a},body:{version:a,payload:e},onSuccess:function(){g(""),s(!1),u(""),x()},onError:function(){g(""),s(!1),u(r("uploadingError")),Sx=setTimeout((function(){return u("")}),7e3)}})}))},value:y,variant:"outlined",color:"primary",endIcon:a&amp;&amp;Object(m.c)(p.u,{size:20,color:"primary"}),isUploadingFile:a,uploadingError:l,disabled:a},r("configActivations.uploadButton"))),Object(m.c)(p.ib,{item:!0,xs:12,sm:t?12:6,md:12,lg:t?12:5,xl:t?12:4},Object(m.c)(p.zb,{className:n.list},O.map((function(e,t){return Object(m.c)(p.Ab,{key:e.version},Object(m.c)(p.Bb,null,Object(m.c)(p.i,null,Object(m.c)(p.tb,null))),Object(m.c)(p.Db,{primary:Object(m.c)(p.lc,{title:e.version,placement:"top-start"},Object(m.c)(p.mc,{variant:"body1",className:n.listItem,"data-testid":"activation-file-".concat(t)},e.version))}),Object(m.c)(p.Cb,null,Object(m.c)(p.mb,{edge:"end","aria-label":"delete",onClick:(r=e.version,function(){w({params:{version:r},onSuccess:function(){b(""),x()},onError:function(){b("deletionError"),setTimeout((function(){return b("")}),7e3)}})}),"data-testid":"activation-file-".concat(t,"-delete"),size:"large"},Object(m.c)(p.B,null))));var r}))),f&amp;&amp;Object(m.c)(p.l,{mt:1,pl:2},Object(m.c)(p.mc,{variant:"body1",color:"error"},r(f))))))};function Cx(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Ix(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ix(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ix(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}Tx.defaultProps={isNoLicensePage:!1};var Ax=p.uc.SaveIcon,Dx=function(){var e=Object(j.b)().t,t=Object(n.useContext)(me).globalSettings,r=t?t.stats:{},o=Cx(Object(n.useState)(r.license_txt||""),2),i=o[0],a=o[1],s=Cx(Object(n.useState)(""),2),c=s[0],l=s[1],u=Cx(Object(n.useState)(r.license_txt||""),2),f=(u[0],u[1],Cx(Object(n.useState)(""),2)),b=f[0],h=f[1],y=Cx(Object(n.useState)(""),2),g=y[0],v=y[1],O=Cx(Object(n.useState)(""),2),x=O[0],w=O[1],k=Cx(Object(n.useState)(!1),2),S=k[0],P=k[1],T=Cx(Object(n.useState)(!1),2),C=T[0],I=T[1],A=Cx(Object(n.useState)(),2),D=A[0],E=A[1],$=r.streamer_status===d.q,N=r.license_type===d.w||r.license_type===d.m||i&amp;&amp;i.includes("".concat(d.x,"|"))||Y(i),L=Object(_.S)(),R=Object(_.R)(),q=function(){P(!1)},M=function(){window.location.reload()};Object(n.useEffect)((function(){if(t){var e=t.stats;switch(null!=e&amp;&amp;e.license_request&amp;&amp;I(!1),D){case"add":e.streamer_status===d.t&amp;&amp;e.license_txt&amp;&amp;M();break;case"delete":e.streamer_status!==d.s||e.license_txt||M()}}}),[t]);var F=!!x||r&amp;&amp;r.license_txt&amp;&amp;r.license_txt===i||!i;return Object(m.c)(p.l,{mt:4},Object(m.c)(p.l,{mb:1},Object(m.c)(p.mc,{variant:"h5",style:{fontWeight:300}},e("configLicense.title"))),Object(m.c)(p.fc,{label:"",entity:"settings",path:["license"],value:i,onChange:function(e){var t=e.target.value;a(t),!t||t.length&lt;15?w("noLicense.toShortLicenseError"):!(t.includes("l4|")||t.includes("g4|")||Y(t))||t.includes(" ")?w("noLicense.invalidLicenseError"):w("")},dimension:C?Object(m.c)(p.rb,{position:"start"},Object(m.c)(p.u,{size:20})):Object(m.c)(p.rb,{position:"start"},Object(m.c)(p.l,{mr:r&amp;&amp;r.license_txt?1:0},Object(m.c)(p.mb,{"aria-label":"save",size:"small",onClick:function(){var e=Y(i)?"".concat(i,"\n").concat(c):i;I(!0),L({body:{key:e},onSuccess:function(){v(""),h("configLicense.licenseSuccessfullyUpdated"),E("add")},onError:function(e){h(""),e.text().then((function(e){I(!1);var t=JSON.parse(e).error_msg||e;v(t)}))}})},disabled:F,color:"primary"},Object(m.c)(Ax,{fontSize:"small"}))),r&amp;&amp;r.license_txt&amp;&amp;Object(m.c)(p.mb,{"aria-label":"delete",size:"small",color:"secondary",onClick:function(){P(!0)},disabled:!i},Object(m.c)(p.B,{fontSize:"small"}))),helperText:x&amp;&amp;e(x)||g||b&amp;&amp;e(b),docDescription:so.a.schemas.license.properties.key.description,error:!!g||!!x}),!$&amp;&amp;Object(m.c)(p.l,{mt:2},Object(m.c)(p.mc,{variant:"subtitle1",color:"error"},r.status&amp;&amp;r.status.error_license&amp;&amp;!b?r.status.error_license:"")),Object(m.c)(p.C,{open:S,handleClose:q,onDelete:function(){I(!0),R({onSuccess:function(){q(),a(""),v(""),h("configLicense.licenseSuccessfullyDeleted"),E("delete")},onError:function(){q(),h(""),v("Something went wrong"),E("delete")}})},title:e("configLicense.removeLicenseConfirm"),notice:e("configLicense.removeLicenseNoticeQuestion"),removeButtonText:e("configLicense.deleteLicenseButton")}),Y(i)&amp;&amp;Object(m.c)(p.l,{my:4},Object(m.c)(p.fc,{label:e("noLicense.privateKey"),value:c,onChange:function(e){l(e.target.value)},inputProps:{"data-testid":"license-private-key",autocomplete:"off"}})),(r.license_type===d.m||Y(i))&amp;&amp;Object(m.c)(p.l,{my:4},Object(m.c)(p.gc,{value:null==r?void 0:r.license_request,inputProps:{"data-testid":"license_request"},label:e("configLicense.licenseRequest")})),N&amp;&amp;Object(m.c)(Tx,null))};function Ex(e){return function(e){if(Array.isArray(e))return $x(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return $x(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $x(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $x(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Nx=function(e,t){var r=[{name:"globalConfig.menu.settings",to:"/config"},{name:"globalConfig.menu.configEditor",to:"/config/editor"}];return e||t||(r=[].concat(Ex(r),[{name:"globalConfig.menu.dvr",to:"/config/dvrs"},{name:"globalConfig.menu.auth",to:"/config/global-auth"},{name:"globalConfig.menu.authBackends",to:"/config/auth"},{name:"globalConfig.menu.events",to:"/config/events"}])),r},Lx=[{name:"globalConfig.menu.authBackends",to:"/config/auth"}],Rx=Object(p.wc)()((function(e){return{wrapper:{paddingBottom:e.spacing(2)}}})),qx=function(e){var t=e.children,r=e.isServerErrorPage,o=e.isBrokenConfig,i=Rx().classes,a=Object(n.useContext)(u.c);return Object(m.c)(p.Lb,{menuItems:a===d.a?Lx:Nx(r,o)},Object(m.c)(p.ib,{container:!0,style:{background:"#fff"},className:i.wrapper},Object(m.c)(p.ib,{item:!0,xs:12},t)))};qx.defaultProps={children:null,menuButtons:null,isServerErrorPage:!1,isBrokenConfig:!1};var Mx=qx;r(1528);function Fx(e){return(Fx="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Ux(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Fx(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Fx(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Fx(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var zx=Object(p.wc)()((function(e){return{portCell:Ux({width:150},e.breakpoints.down("md"),{width:"calc(65% - ".concat(e.spacing(1),")"),flexGrow:1}),cell:Ux({flexGrow:1,width:100},e.breakpoints.down("md"),{width:"calc(65% - ".concat(e.spacing(1),")")}),cellFixed:Ux({width:70,flexShrink:0},e.breakpoints.down("md"),{width:"calc(65% - ".concat(e.spacing(1),")")})}})),Bx=r(468),Hx=p.uc.DeleteIcon,Vx=function(e){var t=e.formikItemName,r=e.showSslProtocolsCell,n=e.showApiCell,i=e.onRemoveItem,a=Object(j.b)().t,s=zx().classes,c=function(e){e.stopPropagation(),i()},l=t.replace("[","-").replace("]","-");return Object(m.c)(p.l,{display:"flex",gap:1,alignItems:"flex-start",flexWrap:"wrap"},Object(m.c)(p.lb,{mdUp:!0},Object(m.c)(p.ib,{item:!0,xs:4},Object(m.c)(p.mc,{variant:"subtitle2"},a("configListeners.http.port")))),Object(m.c)(p.l,{className:s.portCell},Object(m.c)(p.cb,{name:"".concat(t,".port"),type:"number",inputProps:{"data-testid":"".concat(l,"-port")}})),Object(m.c)(p.lb,{mdUp:!0},Object(m.c)(p.ib,{item:!0,xs:4},Object(m.c)(p.mc,{variant:"subtitle2"},a("configListeners.http.address")))),Object(m.c)(p.l,{className:s.cell},Object(m.c)(p.cb,{name:"".concat(t,".address"),placeholder:"0.0.0.0",inputProps:{"data-testid":"".concat(l,"-address")}})),r&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.lb,{mdUp:!0},Object(m.c)(p.ib,{item:!0,xs:4},Object(m.c)(p.mc,{variant:"subtitle2"},a("configListeners.http.ssl_protocols")))),Object(m.c)(p.l,{className:s.cell},Object(m.c)(p.ab,{multiple:!0,fullWidth:!0,name:"".concat(t,".ssl_protocols"),items:Sc.F,"data-testid":"".concat(l,"-ssl")}))),n&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.lb,{mdUp:!0},Object(m.c)(p.ib,{item:!0,xs:4},Object(m.c)(p.mc,{variant:"subtitle2"},a("configListeners.http.api")))),Object(m.c)(p.l,{className:s.cellFixed,textAlign:{xs:"left",md:"center"}},Object(m.c)(Bx.a,{name:"".concat(t,".api"),defaultChecked:!0,"data-testid":"".concat(l,"-api")}))),Object(m.c)(p.lb,{mdUp:!0},Object(m.c)(p.l,{display:"flex",gap:1,className:s.cellFixed},Object(m.c)(p.n,{variant:"contained",color:"secondary",onClick:c,size:"small"},a("remove")))),Object(m.c)(p.lb,{mdDown:!0},Object(m.c)(p.l,{alignItems:"flex-end",display:"flex",style:{paddingTop:4},className:s.cellFixed},Object(m.c)(p.mb,{"aria-label":a("remove"),title:a("remove"),onClick:c,color:"secondary",size:"small","data-testid":"".concat(l,"-delete")},Object(m.c)(Hx,{fontSize:"small"})))))},Wx=function(e){var t,r=e.protocol,n=e.label,i=e.showSslProtocolsCell,a=e.showApiCell,s=Object(j.b)().t,c=zx().classes,l=Object(nd.g)(),u=l.values,d=l.setFieldTouched,f=null!==(t=u[r])&amp;&amp;void 0!==t?t:[];return Object(m.c)(nd.b,{name:r},(function(e){return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.S,{label:n,docDescription:so.a.schemas.listeners.properties[r].description,additional:Object(m.c)(p.k,{color:"primary",size:"small",variant:"contained",onClick:function(){e.push({port:""}),d("".concat(r,"[").concat(f.length,"].port"),!0,!0)},"data-testid":"".concat(r,"-port-add")},Object(m.c)(p.e,{fontSize:"small"}))}),Object(m.c)(p.lb,{mdDown:!0},Object(m.c)(p.l,{display:"flex",gap:1},Object(m.c)(p.l,{className:c.portCell},Object(m.c)(p.mc,{variant:"subtitle2"},s("configListeners.http.port"))),Object(m.c)(p.l,{className:c.cell},Object(m.c)(p.mc,{variant:"subtitle2"},s("configListeners.http.address"))),i&amp;&amp;Object(m.c)(p.l,{className:c.cell},Object(m.c)(p.mc,{variant:"subtitle2"},s("configListeners.http.ssl_protocols"))),a&amp;&amp;Object(m.c)(p.l,{className:c.cellFixed,textAlign:"center"},Object(m.c)(p.mc,{variant:"subtitle2"},s("configListeners.http.api"))),Object(m.c)(p.l,{className:c.cellFixed}))),null==f?void 0:f.map((function(t,n){return Object(m.c)(o.a.Fragment,{key:n},Object(m.c)(p.l,{mt:1},Object(m.c)(Vx,{showSslProtocolsCell:i,showApiCell:a,formikItemName:"".concat(r,"[").concat(n,"]"),onRemoveItem:function(){return e.remove(n)}})))})))}))};function Gx(e){return(Gx="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Kx(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Yx(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Gx(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Gx(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Gx(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Jx=p.uc.WarningIcon,Qx=Object.keys(so.a.schemas.listeners.properties),Xx=ao.d().shape(function(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Kx(Object(r),!0).forEach((function(t){Yx(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Kx(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},Qx.reduce((function(e,t){return"srt"!==t&amp;&amp;(e[t]=ao.a().of(ao.d().shape({port:ao.e().required("required")}))),e}),{}))),Zx=function(e){var t=e.config,r=Object(j.b)().t,n=Object(p.zc)(),i=Object(_.r)({isAsync:!0});return t.listeners?Object(m.c)(p.Kb,{title:r("configListeners.title")},Object(m.c)(p.X,{initialValues:t.listeners,onSubmit:function(e,t){i({body:{listeners:e}}).then((function(){t.resetForm({values:e})}))},hideButtons:!0,validationSchema:Xx},(function(){return Object(m.c)(o.a.Fragment,null,Object(m.c)(Wx,{label:r("configListeners.http"),protocol:"http",showApiCell:!0}),Object(m.c)(p.jb,null),Object(m.c)(Wx,{label:r("configListeners.https"),protocol:"https",showSslProtocolsCell:!0,showApiCell:!0}),Object(m.c)(p.jb,null),Object(m.c)(Wx,{label:r("mediaOutputProtocols.rtmp"),protocol:"rtmp"}),Object(m.c)(p.jb,null),Object(m.c)(Wx,{label:r("mediaOutputProtocols.rtmps"),protocol:"rtmps",showSslProtocolsCell:!0}),Object(m.c)(p.jb,null),Object(m.c)(Wx,{label:r("mediaOutputProtocols.rtsp"),protocol:"rtsp"}),Object(m.c)(p.jb,null),Object(m.c)(Wx,{label:r("mediaOutputProtocols.rtsps"),protocol:"rtsps",showSslProtocolsCell:!0}),Object(m.c)(p.mc,{marginTop:4,marginBottom:1,color:n.palette.warning.main,variant:"subtitle1"},Object(m.c)(Jx,{style:{fontSize:18,verticalAlign:"text-top",marginRight:n.spacing(1)}}),r("configListeners.warning")),Object(m.c)(p.Z,{"data-testid":"listenersSaveButton"}))})),Object(m.c)("br",null)):null};function ew(e){return(ew="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function tw(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return rw(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return rw(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function rw(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function nw(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function ow(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?nw(Object(r),!0).forEach((function(t){iw(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):nw(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function iw(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==ew(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==ew(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ew(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var aw=function(){var e=Object(j.b)().t,t=Object(_.o)({params:{full:!0}}).data,r=Object(_.r)();return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.n,{variant:"outlined",onClick:function(){var e=new Blob([JSON.stringify(t)],{type:"text/plain;charset=utf-8"}),r="".concat(window.location.hostname,"-").concat((new Date).getTime(),".json");return cx.a.saveAs(e,r)}},e("globalConfig.downloadConfig")),Object(m.c)("input",{accept:"application/json",style:{display:"none"},id:"outlined-button-file",multiple:!0,type:"file",onChange:function(e){if(e.target.files.length&gt;0){var t=e.target.files[0],n=new FileReader;n.onload=function(e){var t=JSON.stringify(ow(ow({},JSON.parse(e.target.result)),{},{$reset:!0}));r({body:t})},n.readAsText(t)}}}),Object(m.c)("label",{htmlFor:"outlined-button-file"},Object(m.c)(p.n,{variant:"outlined",component:"span"},e("globalConfig.uploadConfig"))))},sw=q.a($o.a(null,"login"),$o.a({},"edit_auth")),cw=q.a($o.a(null,"password"),$o.a({},"edit_auth")),lw=function(){var e=Object(j.b)().t,t=Object($s.a)(),r=t.onError,i=t.onErrorResolve,a=t.errors,s=t.areErrorsExists,c=tw(Object(n.useState)(!1),2),l=c[0],u=c[1],d=Gh(),f=d.setData,b=d.onChange,h=d.resetData,y=d.currentData,g=d.isDataChanged,v=d.resetDelta,O=d.getDelta,x=Object(n.useContext)(me),w=x.isServerErrorPage,k=x.isBrokenConfig,S=x.refreshSettings,P=x.globalSettings,T=Object(B.e)(y)?y:{},C=sw(T),I=cw(T),A=tw(Object(n.useState)(C),2),D=A[0],E=A[1],$=tw(Object(n.useState)(I),2),N=$[0],L=$[1],R=Object(_.r)();Object(n.useEffect)((function(){return function(){h()}}),[]),Object(n.useEffect)((function(){Object(B.b)(D)&amp;&amp;E(sw(T)),Object(B.b)(N)&amp;&amp;L(cw(T))}),[sw(T),cw(T)]),Object(n.useEffect)((function(){f(ow({},P))}),[P]);var q,M=function(){u(!0);var e=O();R({body:e,onSuccess:function(){u(!1),C===D&amp;&amp;I===N||(localStorage.setItem("MediaServerAuth",JSON.stringify({login:C,password:I})),window.location.reload()),v(),S()},onError:function(){u(!0),v()}})};return T||w?Object(m.c)(Mx,{isServerErrorPage:w,isBrokenConfig:k},Object(m.c)(p.l,{id:"global-config","data-testid":"config",mt:5},Object(m.c)(p.ib,{container:!0,spacing:2},!w&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12,lg:7,xl:6},Object(m.c)(Zx,{config:T}),Object(m.c)(p.l,{mt:1},Object(m.c)(vx,{config:T,change:b()})),Object(m.c)(p.l,{my:5},Object(m.c)(_x,{config:T,change:b()}))),Object(m.c)(p.ib,{item:!0,xs:12,lg:5,xl:6},!w&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(xx,{config:T,change:b(),onError:r,onErrorResolve:i,errors:a}),Object(m.c)(p.l,{mt:5},Object(m.c)(p.mc,{variant:"h5",style:{fontWeight:300}},e("configGeoIp.title")),Object(m.c)(p.fc,{entity:"settings",path:["geoip"],onChange:b([])(["geoip"],"string"),value:T.geoip,label:"",docDescription:so.a.schemas.server_config_base.properties.geoip.description}))),Object(m.c)(p.l,{mb:5},Object(m.c)(Dx,null)))),!w&amp;&amp;Object(m.c)("div",{className:"GlobalConfigActionsContainer"},(q={size:"medium"}.size,Object(m.c)(p.n,{variant:"outlined",onClick:M,disabled:l||!g||s,endIcon:l&amp;&amp;Object(m.c)(p.u,{size:16}),size:q,"data-testid":"saveButton"},e("save"))),Object(m.c)(aw,null)))):Object(m.c)(p.l,null,e("loading"))};function pw(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return uw(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return uw(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function uw(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var dw=Object(p.wc)()((function(e){return{rootTextarea:{padding:"0 !important","&amp; .MuiInputBase-multiline":{padding:0},"&amp; .MuiInputBase-inputMultiline":{padding:"0 !important"},"&amp; .MuiInputBase-input":{border:"".concat(e.spacing(2)," solid #fff")}},textareaWrapper:{position:"relative"},highlight:{width:"100%",height:534,position:"absolute",top:0,left:0,padding:e.spacing(2),marginTop:e.spacing(2),whiteSpace:"pre-wrap",wordWrap:"break-word",lineHeight:"normal",color:"transparent",overflow:"auto",pointerEvents:"none",font:'400 14px CustomFont,"Helvetica","Arial",sans-serif'}}})),mw=function(e,t,r){var n=e.split(/\r*\n/),o=t&gt;0?t-1:t,i=r&gt;0?r-1:r;if(n[o]){var a=n[o],s='&lt;mark style="background-color: #FCB9AB; color: transparent" &gt;'.concat(a.slice(i),"&lt;/mark&gt;");n[o]=a.slice(0,i)+s}return n.join("\n")},fw=function(e){return F.a(["stats","config_error","line"])(e)},bw=function(){var e=Object(j.b)().t,t=dw().classes,r=Object(n.useContext)(me),o=r.isServerErrorPage,i=r.isBrokenConfig,a=r.globalSettings,s=Object(M.c)(),c=s.enqueueSnackbar,l=s.closeSnackbar,u=pw(Object(n.useState)(),2),f=u[0],b=u[1],h=pw(Object(n.useState)(!1),2),y=h[0],g=h[1],v=pw(Object(n.useState)(!1),2),O=v[0],x=v[1],w=pw(Object(n.useState)(""),2),k=w[0],S=w[1],P=pw(Object(n.useState)(""),2),T=P[0],C=P[1],I=pw(Object(n.useState)(""),2),A=I[0],D=I[1],E=pw(Object(n.useState)(""),2),$=E[0],N=E[1],L=pw(Object(n.useState)(!1),2),R=L[0],q=L[1],F=Object(n.useRef)(null);Object(_.o)({params:{full:!0},config:{headers:{accept:"text/plain",Authorization:Object(z.b)()}},options:{onSuccess:function(e){b(e)}}});var U=Object(_.q)(),H=Object(_.r)({options:{onSuccess:function(){l(),c(e(i?"configEditor.successAlertEmergency":"configEditor.successAlert"),Object(cy.a)({severity:"success"})),U(),x(!1),g(!1),C(""),D("")},onError:function(){x(!1),c(e("configEditor.configBrokenError"),Object(cy.a)({severity:"error"}))}}}),V=function(){var e=document.getElementById("config-editor-textarea"),t=document.getElementById("config-editor-highlight");Object(B.e)(e.scrollTop)&amp;&amp;t&amp;&amp;(t.scrollTop=e.scrollTop),Object(B.e)(e.scrollLeft)&amp;&amp;t&amp;&amp;(t.scrollLeft=e.scrollLeft)};Object(n.useEffect)((function(){document.getElementById("config-editor-textarea").addEventListener("scroll",V)}),[]),Object(n.useEffect)((function(){if(F.current&amp;&amp;f&amp;&amp;T){var e=f.split(/\r*\n/),t=Math.floor(F.current.scrollHeight/e.length);F.current.scrollTop=(T-1)*t}}),[T,f]),Object(n.useEffect)((function(){var t,r,n,o,i,s=null==a?void 0:null===(t=a.stats)||void 0===t?void 0:null===(r=t.config_error)||void 0===r?void 0:r.path,l=null==a?void 0:null===(n=a.stats)||void 0===n?void 0:null===(o=n.config_error)||void 0===o?void 0:o.error;if(s&amp;&amp;l){var p=s;Array.isArray(s)&amp;&amp;(p=s.filter((function(e){return null!=e})).map((function(e){return"number"==typeof e?"[".concat(e,"]"):" ".concat(e)})).join(""));var u=l.charAt(0).toUpperCase()+l.slice(1).replace("_"," ");N("".concat(u," on ").concat(p))}else N(l||"");if(null!=a&amp;&amp;null!==(i=a.stats)&amp;&amp;void 0!==i&amp;&amp;i.config_error){var m=l;m===d.f&amp;&amp;(m=e("externalError")),c(e("configEditor.errorAlert",{error:l}),Object(cy.a)({severity:"error"}))}}),[a]),Object(n.useEffect)((function(){if(a&amp;&amp;f&amp;&amp;Object(B.b)(T)){C(fw(a));var e=f.split(/\r*\n/)[fw(a)-1];D(e)}}),[a,f,O]),Object(n.useEffect)((function(){if(a&amp;&amp;f){var e,t,r,n=f;if(null!=a&amp;&amp;null!==(e=a.stats)&amp;&amp;void 0!==e&amp;&amp;e.config_error)n=mw(n,T,(null==a?void 0:null===(t=a.stats)||void 0===t?void 0:null===(r=t.config_error)||void 0===r?void 0:r.col)||0);S(n)}}),[T]);var W=$||e("configEditor.configWrongError");return Object(m.c)(Mx,{isBrokenConfig:i,isServerErrorPage:o},Object(m.c)(p.n,{variant:"outlined",onClick:function(){x(!0),H({body:f,config:{headers:{"Content-Type":"text/plain",Authorization:Object(z.b)()}}})},disabled:O||!y,endIcon:O&amp;&amp;Object(m.c)(p.u,{size:16}),size:"small"},e("save")),Object(m.c)(p.l,{width:"100%","data-testid":"config-editor",mt:2,mb:1},Object(m.c)(p.Q,{fullWidth:!0,className:t.textareaWrapper},i&amp;&amp;Object(m.c)(p.l,{className:t.highlight,dangerouslySetInnerHTML:{__html:k},id:"config-editor-highlight"}),Object(m.c)(p.fc,{label:e("configEditor.configTextLabel"),multiline:!0,minRows:"30",maxRows:"30",margin:"normal",value:f,onChange:function(e){var t,r,n=e.target.value,o=T,s=(null==a?void 0:null===(t=a.stats)||void 0===t?void 0:null===(r=t.config_error)||void 0===r?void 0:r.col)||0;if(i){var c,l,p,u,d,m,h,y,v=f.split(/\r*\n/),_=n.split(/\r*\n/),O=(null!==(c=null==a?void 0:null===(l=a.stats)||void 0===l?void 0:null===(p=l.config_error)||void 0===p?void 0:p.line)&amp;&amp;void 0!==c?c:1)-1,j=(null!==(u=null==a?void 0:null===(d=a.stats)||void 0===d?void 0:null===(m=d.config_error)||void 0===m?void 0:m.col)&amp;&amp;void 0!==u?u:1)-1;if(v.length!==_.length){var x=_.indexOf(A);o=-1!==x?x+1:-1}_[O].length&lt;=j?q(!0):s=(null==a?void 0:null===(h=a.stats)||void 0===h?void 0:null===(y=h.config_error)||void 0===y?void 0:y.col)||0}b(n),g(!0),S(R?null:mw(n,o,s)),C(o)},error:!!$,helperText:$?W:"",variant:"outlined",classes:{root:t.rootTextarea},InputProps:{id:"config-editor-textarea"},inputProps:{ref:F},InputLabelProps:{shrink:!0}}))))};function hw(e){return(hw="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function yw(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function gw(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?yw(Object(r),!0).forEach((function(t){vw(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):yw(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function vw(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==hw(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==hw(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===hw(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _w(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Ow(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ow(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ow(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var jw=function(){var e=Object(j.b)().t,t=_w(Object(n.useState)(!1),2),r=t[0],o=t[1],i=Gh(),a=i.setData,s=i.onChange,c=i.resetData,l=i.currentData,u=i.isDataChanged,d=i.resetDelta;Object(_.Wb)({params:{name:"globals"},options:{onSuccess:function(e){a(e)},onError:function(){a({})}}});var f=ar.a({},["on_play"])(l),b=Object(_.Yb)(),h=Object(_.l)().data,y=$o.a([],"auth_backends")(h),g=Object(_.Zb)();Object(n.useEffect)((function(){return function(){c()}}),[]);var v,O,x,w=function(){o(!0);var e=lt.a(f);g({params:{name:"globals"},body:{on_play:0===Object.keys(e).length?null:gw({},e)},onSuccess:function(){o(!1),d(),b()},onError:function(){o(!1),d()}})};return l?Object(m.c)(Mx,null,Object(m.c)(p.l,{pt:1},Object(m.c)(p.ib,{container:!0},Object(m.c)(p.ib,{item:!0,xs:12,md:10},Object(m.c)(Ca,{media:{on_play:gw({},f)},change:s([]),authBackends:y}),Object(m.c)(p.l,{mt:2},(O=(v={size:"medium",variant:"outlined"}).size,x=v.variant,Object(m.c)(p.n,{variant:x,onClick:w,disabled:r||!u,"data-testid":"saveButton",endIcon:r&amp;&amp;Object(m.c)(p.u,{size:16}),size:O},e("save")))))))):null},xw=Object.values(Sc.x),ww=function(e){var t=e.errors,r=e.groupIndex,n=e.onErrorResolve;Object.keys(t).forEach((function(e){if(e.includes("group".concat(r))){var t=e.split("_");n(t)()}}))};function kw(e){return(kw="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Sw(e){return function(e){if(Array.isArray(e))return Cw(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Tw(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Pw(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||Tw(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Tw(e,t){if(e){if("string"==typeof e)return Cw(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Cw(e,t):void 0}}function Cw(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function Iw(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Aw(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Iw(Object(r),!0).forEach((function(t){Dw(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Iw(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Dw(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==kw(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==kw(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===kw(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Ew=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{};return q.a(Di.a((function(t){return{key:t,value:e[t]}})),Ei.a($i.a("_changed")),gr.a)(e)},$w=function(e){return e.reduce((function(e,t){var r=t.key,n=t.value;return r?Aw(Aw({},e),{},Dw({},r,n)):e}),{})},Nw={key:"",value:""},Lw=function(e){var t=e.groupIndex,r=e.filter,i=e.errorPath,a=e.errors,s=e.isKeyValid,c=e.isValueValid,l=e.onError,u=e.onErrorResolve,d=e.onRemove,f=e.onChange,b=e.dataTestId,h=Object(j.b)().t,y=Pw(Object(n.useState)(lt.a(r)),2),g=y[0],v=y[1],_=Pw(Object(n.useState)(Ew(r)),2),O=_[0],x=_[1],w=Pw(Object(n.useState)(!1),2),k=w[0],S=w[1],P=Pw(Object(n.useState)(!1),2),T=P[0],C=P[1],I=Pw(Object(n.useState)(null),2),A=I[0],D=I[1],E=[].concat(Sw(i),["group",t]),$=Object(Ds.b)(a[Object(ge.c)(E)],h),N=function(){d(),u(E)(),ww({errors:a,groupIndex:t,onErrorResolve:u})};Object(n.useEffect)((function(){Kd.a(Ye.a(r,g))&amp;&amp;(v(lt.a(r)),x(Ew(r))),0===Object.keys(r).length?l(E)("events.emptyFiltersError"):u(E)()}),[r]),Object(n.useEffect)((function(){Object(B.b)(O)&amp;&amp;T&amp;&amp;N(),C(!1)}),[O]);var L=function(e,t){return i?[].concat(Sw(i),[e,t]):void 0},R=function(e,t){return a&amp;&amp;i?Object(Ds.b)(a[Object(ge.c)(L(e,t))],h):void 0},q=function(e,t){return u&amp;&amp;i?u(L(e,t)):fr.a(void 0)},M=function(e,t,r){var n,o,a=Ni.a([t,e]),p=Li.a(a,O);if(Object(B.e)(p)&amp;&amp;q(t,e)(),!(Object(B.b)(p)&amp;&amp;Object(B.b)(r)||t===O.length)){var u=function(e,t){return"key"===e&amp;&amp;s({value:t})||"value"===e&amp;&amp;c({value:t})||{isValid:!0}}(e,r);u.isValid||(n=t,o=e,function(e){return l&amp;&amp;i?l(L(n,o))(e):void 0})(u.error)}D(t),x(t&lt;O.length?Ri.a(a,r,O):[].concat(Sw(O),[Aw(Aw({},Nw),{},Dw({},e,r))]))},F=function(e,t){return function(r,n){M(e,t,n)}},U=function(e){return function(){var t=O.filter((function(t,r){return r!==e}));x(t),f($w(t)),C(!0),u(E)(),q(e,"key")(),q(e,"value")()}},z=function(e){return function(){var t=e===O.length?Nw:O[e];t.key||t.value||e===O.length?f($w(O)):U(e)()}},H=function(e){var r,n,i=e===O.length?h("newKey"):h("indexKey",{index:e+1}),a=e===O.length?h("newValue"):h("indexValue",{index:e+1}),s=e===O.length?Nw:O[e],c=s.key,l=s.value,u=R(e,"key"),d=R(e,"value"),f=e===O.length?"".concat(b,"-group-").concat(t,"-key-").concat(e,"-new"):"".concat(b,"-group-").concat(t,"-key-").concat(e),y=e===O.length?"".concat(b,"-group-").concat(t,"-value-").concat(e,"-new"):"".concat(b,"-group-").concat(t,"-value-").concat(e);return Object(m.c)(o.a.Fragment,{key:e},Object(m.c)(p.ib,{item:!0,xs:12,sm:3,md:12,lg:3},Object(m.c)(p.fc,{label:i,value:c,inputProps:{"data-testid":f},onChange:(r="key",n=e,function(e){var t=e.target.value;M(r,n,t)}),onBlur:z(e),onFocus:function(){return S(!1)},autoFocus:!k&amp;&amp;e===A,error:u})),Object(m.c)(p.ib,{item:!0,xs:10,sm:7,md:10,lg:7},Object(m.c)(p.g,{id:y,"data-testid":y,label:a,multiple:!0,freeSolo:!0,value:l,onChange:F("value",e),onBlur:z(e),variant:"outlined",error:d,helperText:d})),Object(m.c)(p.ib,{item:!0,xs:2},O.length!==e&amp;&amp;Object(m.c)(p.mb,{"aria-label":h("remove"),title:h("remove"),onClick:U(e),"data-testid":"".concat(b,"-group-").concat(t,"-remove-").concat(e),color:"secondary",size:"large"},Object(m.c)(p.B,{fontSize:"small"}))))};return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{display:"flex",justifyContent:"flex-start",alignItems:"center"},Object(m.c)(p.mc,{variant:"subtitle2","data-testid":"".concat(b,"-group-").concat(t,"-title")},h("events.group",{index:t+1})),Object(m.c)(p.l,{ml:1},Object(m.c)(p.mb,{"aria-label":h("remove"),title:h("remove"),onClick:N,"data-testid":"".concat(b,"-group-").concat(t,"-remove"),color:"secondary",size:"small"},Object(m.c)(p.B,{fontSize:"small"})))),$&amp;&amp;Object(m.c)(p.l,{mt:2},Object(m.c)(p.mc,{variant:"subtitle2",color:"error"},$))),O.map((function(e,t){return H(t)})),H(O.length))};function Rw(e){return(Rw="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function qw(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Mw(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Rw(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Rw(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Rw(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Fw(e){return function(e){if(Array.isArray(e))return Uw(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Uw(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Uw(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Uw(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}Lw.defaultProps={errorPath:void 0,errors:{},isKeyValid:fr.a({isValid:!0}),isValueValid:fr.a({isValid:!0}),onError:fr.a(void 0),onErrorResolve:fr.a(void 0)};var zw=function(e){var t=e.filters,r=e.title,n=e.docDescription,o=e.fieldName,i=e.eventIndex,a=e.eventName,s=e.onChange,c=e.onError,l=e.onErrorResolve,u=e.errors,d=e.isKeyValid,f=e.isValueValid,b=Object(j.b)().t,h=function(e){return function(r){var n=lt.a(t);Object.keys(r).length&gt;0?n[e]=function(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?qw(Object(r),!0).forEach((function(t){Mw(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):qw(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},r):(n.splice(e,1),ww({errors:u,groupIndex:e,onErrorResolve:l})),s(o)(n)}};return Object(m.c)(p.ib,{item:!0,container:!0,spacing:2,xs:12},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{display:"flex",justifyContent:"flex-start",mt:1},Object(m.c)(p.mc,{variant:"h6"},r),Object(m.c)(li.a,{docDescription:n}),Object(m.c)(p.l,{ml:1},Object(m.c)(p.n,{variant:"contained",color:"primary",size:"small",onClick:function(){s(o)(t?[].concat(Fw(t),[{}]):[{}])},"data-testid":"add-group-".concat(o,"-").concat(i)},b("events.addGroupButton"))))),t&amp;&amp;t.map((function(e,r){return Object(m.c)(Lw,{key:e,groupIndex:r,filter:e,errorPath:[a,o,"group".concat(r)],errors:u,onChange:h(r),onRemove:(n=r,function(){var e=lt.a(t);e.splice(n,1),s(o)(e)}),onError:c,onErrorResolve:l,isKeyValid:d,isValueValid:f,dataTestId:"event-".concat(i,"-").concat(o,"-filter")});var n})))};function Bw(e){return(Bw="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}zw.defaultProps={filters:void 0,errors:{},isKeyValid:fr.a({isValid:!0}),isValueValid:fr.a({isValid:!0}),onError:fr.a(void 0),onErrorResolve:fr.a(void 0)};var Hw=["field","validate","dimension"];function Vw(e){return function(e){if(Array.isArray(e))return Zw(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Xw(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ww(){return(Ww=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function Gw(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}function Kw(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Yw(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Kw(Object(r),!0).forEach((function(t){Jw(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Kw(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Jw(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Bw(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Bw(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Bw(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Qw(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||Xw(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Xw(e,t){if(e){if("string"==typeof e)return Zw(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Zw(e,t):void 0}}function Zw(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var ek=p.uc.SaveIcon,tk=function(e){var t=e.event,r=e.eventName,i=e.eventIndex,a=e.isNew,s=e.names,c=e.setNewEvent,l=Object(j.b)().t,u=Gh(),d=u.setData,f=u.onChange,b=u.resetData,h=u.currentData,y=u.isDataChanged,g=u.resetDelta,v=u.initData,O=u.getDelta,x=Object($s.a)(),w=x.onError,k=x.onErrorResolve,S=x.errors,P=Qw(Object(n.useState)(!1),2),T=P[0],C=P[1],I=Qw(Object(n.useState)(!1),2),A=I[0],D=I[1],E=f(),$=Object(_.K)(),N=Object(_.I)(),L=Object(_.H)();Object(n.useEffect)((function(){return d(t),function(){return b()}}),[]),Object(n.useEffect)((function(){Ye.a(t,h)||d(t)}),[t]);var R=function(e){e.stopPropagation(),D(!0)},q=function(){D(!1)},M=function(){return Object(Ds.c)({errors:S,name:r,onErrorResolve:k})},F=function(e){e.stopPropagation(),a&amp;&amp;c(null),v(),M()},U=function(e){e.stopPropagation(),C(!0);var r=O();Object(B.e)(r.name)?function(e,r){e.stopPropagation(),C(!0),a||L({params:{name:t.name},onSuccess:function(){$()},onError:function(){$()}}),N({params:{name:r},body:Yw(Yw({},h),{},{name:r}),onSuccess:function(){C(!1),g(),$(),a&amp;&amp;c(null)},onError:function(){C(!1),$()}})}(e,r.name):(a&amp;&amp;(r=Yw(Yw({},r),{},{name:t.name})),N({params:{name:h.name},body:r,onSuccess:function(){C(!1),g(),$(),a&amp;&amp;c(null)},onError:function(){C(!1),$()}}))},z=function(){return Object(m.c)(p.l,{display:"flex",justifyContent:"flex-end",width:"100%",height:"100%",alignItems:"center"},Object(m.c)(p.mb,{"aria-label":l("save"),title:l("save"),onClick:U,"data-testid":"event-".concat(i,"-save"),color:"primary",disabled:!y&amp;&amp;!a||T||Object(Ds.a)({errors:S,name:i}),size:"large"},Object(m.c)(ek,{fontSize:"small"})),Object(m.c)(p.mb,{"aria-label":l("cancel"),title:l("cancel"),onClick:F,"data-testid":"event-".concat(i,"-cancel"),color:"secondary",disabled:!y&amp;&amp;!a,size:"large"},Object(m.c)(p.q,{fontSize:"small"})),!a&amp;&amp;Object(m.c)(p.mb,{"aria-label":l("remove"),title:l("remove"),onClick:R,"data-testid":"remove-event-".concat(i),color:"secondary",size:"large"},Object(m.c)(p.B,{fontSize:"small"})))},H=function(e){return Object(m.c)(zw,{filters:Ot.a(e)(h),eventIndex:i,title:l("events.".concat(e)),docDescription:so.a.schemas.event_sink_config.properties[e].description,fieldName:e,eventName:r,onChange:E,onError:w,onErrorResolve:k,errors:S,isKeyValid:Ho("keyLabel"),isValueValid:Ho("valueLabel")})},V=function(e){var r=e.field,n=e.validate,o=e.dimension,a=Gw(e,Hw);return Object(m.c)(p.fc,Ww({entity:"event",path:[r],index:i,value:$o.a("",r)(t),onChange:E(r),dimension:o,validation:n||function(){return""},docDescription:so.a.schemas.event_sink_config.properties[r].description},a))};return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.a,{defaultExpanded:a},Object(m.c)(p.c,{expandIcon:Object(m.c)(p.N,{"data-testid":"event-expand-".concat(i)}),className:"panel-summary"},Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.lb,{mdUp:!0},Object(m.c)(p.ib,{item:!0,xs:12},z())),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3,lg:2},V({field:"name",validate:function(e){return Qo({value:e,field:"event-name",names:s})}})),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3,lg:2},V({field:"url",validate:function(e){return function(e){var t=e.field,r=e.value;return zo({value:r})?"":"".concat(t," validators.fieldRequiredError")}({field:"event-url",value:e})},validateOnMount:!0})),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3,lg:2},Object(m.c)(oa.a,{displayEmpty:!0,label:l("events.levelLabel"),value:(null==h?void 0:h.level)||"","data-testid":"event-".concat(i,"-level"),onChange:E("level"),items:[["",l("not-selected")]].concat(Vw(xw.map((function(e){return[e,e]})))),HelperDocProps:{docDescription:so.a.schemas.event_sink_config.properties.level.description}})),Object(m.c)(p.lb,{mdDown:!0},Object(m.c)(p.ib,{item:!0,md:3,lg:6},z())))),Object(m.c)(p.b,null,Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,md:6},H("except")),Object(m.c)(p.ib,{item:!0,xs:12,md:6},H("only")),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,md:4,lg:2},V({field:"max_depth",validate:function(e){return Wo({value:e})}})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,md:4,lg:2},V({field:"max_size",validate:function(e){return Wo({value:e})}})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,md:4,lg:2},V({field:"resend_timeout",validate:function(e){return Wo({value:e})},dimension:"sec"})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,md:4,lg:2},V({field:"resend_limit",validate:function(e){return Wo({value:e})}})),Object(m.c)(p.ib,{container:!0,item:!0,xs:12,md:6},Object(m.c)(p.l,{mb:1,mt:2,display:"flex",alignItems:"center"},Object(m.c)(p.mc,{variant:"subtitle2"},l("events.extended")),Object(m.c)(p.kb,{docDescription:so.a.schemas.event_sink_config.properties.extra.description})),Object(m.c)(ra,{extra:$o.a({},"extra")(h),onChange:function(e){E("extra")(e)},onRemoveByKey:function(e){var t=lt.a(h.extra);t[e]=null,E("extra")(t)},onError:w,onErrorResolve:k,errors:S,errorPath:[r,"extra"],removeVariant:"text",removeSize:"small","data-testid":"event-".concat(i,"-extra")}))))),Object(m.c)(p.C,{open:A,handleClose:q,onDelete:function(){return e=Ot.a("name")(h),q(),void L({params:{name:e},onSuccess:function(){$(),M()},onError:function(){$()}});var e},title:l("confirmDelete",{name:Ot.a("name")(h)}),notice:l("deleteNoticeQuestion",{name:Ot.a("name")(h)}),removeButtonText:l("events.deleteEventButton")}))};function rk(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return nk(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return nk(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function nk(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var ok=[["dataEvents"],["newEvent"],["isLoading"]],ik=function(){var e=Object(j.b)().t,t=Object(n.useContext)(me),r=t.isServerErrorPage,o=t.isBrokenConfig,i=rk(Object(n.useState)(null),2),a=i[0],s=i[1],c=Object(_.J)(),l=c.data,u=c.isLoading,d=$o.a([],"event_sinks")(l),f=function(e,t){var r=arguments.length&gt;2&amp;&amp;void 0!==arguments[2]&amp;&amp;arguments[2],n=d.filter((function(t){return e.name!==t.name})),o=n.map((function(e){return e.name}));return Object(m.c)(tk,{key:e.name,event:e,eventName:e.name,eventIndex:t,names:o,isNew:r,setNewEvent:s})};return d||a||r?Object(m.c)(at,{id:"EventsPage",paths:ok,propsToCheck:{dataEvents:l,newEvent:a,isLoading:u}},Object(m.c)(Mx,{isServerErrorPage:r,isBrokenConfig:o},Object(m.c)(p.Ub,{isLoading:u},Object(m.c)(p.n,{variant:"outlined",onClick:function(){var e=n_("newEvent",d);s(e)},"data-testid":"addButton",size:"small"},e("events.addButton")),Object(m.c)(p.l,{id:"events","data-testid":"eventsPage",mt:5},Object(B.e)(a)&amp;&amp;[a].map((function(e){return Object(m.c)(p.l,{mt:1,mb:2,key:e.name},f(e,"new",!0))})),Object(B.e)(d)&amp;&amp;d.map((function(e,t){return f(e,t)})))))):Object(m.c)(p.l,null,e("loading"))};ik.defaultProps={isServerErrorPage:!1,isBrokenConfig:!1};var ak=r(780);function sk(e){return function(e){if(Array.isArray(e))return ck(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return ck(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ck(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ck(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var lk="backend",pk="allow",uk="deny",dk=function(e){var t=e.authBackend,r=e.isAllowed,n=e.type;return q.a(Di.a((function(e){return{value:e,isAllowed:r,isBackend:!1}})),$o.a([],"".concat(r?pk:uk,"_").concat(n)))(t)},mk=function(e,t){return[].concat(sk(dk({authBackend:e,type:t,isAllowed:!0})),sk(dk({authBackend:e,type:t,isAllowed:!1})))},fk=q.a(Di.a((function(e){return{value:e.url,isBackend:!0,isAllowed:!1}})),ar.a([],["backends"])),bk=[{variant:"tokens",title:"authBackendDetail.tokens",allowDescription:so.a.schemas.auth_backend_config.properties.allow_tokens.description,denyDescription:so.a.schemas.auth_backend_config.properties.deny_tokens.description},{variant:"ips",title:"authBackendDetail.ips",allowDescription:so.a.schemas.auth_backend_config.properties.allow_ips.description,denyDescription:so.a.schemas.auth_backend_config.properties.deny_ips.description},{variant:"countries",title:"authBackendDetail.countries",allowDescription:so.a.schemas.auth_backend_config.properties.allow_countries.description,denyDescription:so.a.schemas.auth_backend_config.properties.deny_countries.description},{variant:"uas",title:"authBackendDetail.userAgents",allowDescription:so.a.schemas.auth_backend_config.properties.allow_uas.description,denyDescription:so.a.schemas.auth_backend_config.properties.deny_uas.description},{variant:"backends",title:"authBackendDetail.httpBackends"}];function hk(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return yk(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return yk(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function yk(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var gk=function(e){var t=e.title,r=e.authBackend,o=e.handleValueAdd,i=e.variant,a=e.handleValueDelete,s=Object(j.b)().t,c=hk(Object(n.useState)(""),2),l=c[0],u=c[1];return Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.mc,{variant:"h6"},s(t)," ",Object(m.c)(li.a,{docDescription:so.a.schemas.auth_backend_config.properties.backends.description})),r.map((function(e,t){return Object(m.c)(p.l,{display:"flex",justifyContent:"flex-start",alignItems:"baseline",key:t,mt:1},Object(m.c)(p.fc,{label:s("authBackendDetailBackends.urlLabel"),value:e.value,onChange:function(t){return r=t,n=e.value,void o(r.target.value,lk,i,{url:n});var r,n},autoFocus:!0,inputProps:{"data-testid":"auth-backend-http-field-".concat(t)}}),Object(m.c)(p.mb,{edge:"end","aria-label":"delete",size:"small",color:"secondary",onClick:function(){return t=e.value,void a(t,lk,i);var t},"data-testid":"auth-backend-http-delete-".concat(t)},Object(m.c)(p.B,{fontSize:"small"})))})),Object(m.c)(p.l,{display:"flex",justifyContent:"flex-start",alignItems:"baseline",mt:1},Object(m.c)(p.fc,{label:s("authBackendDetailBackends.newUrlLabel"),value:l,onChange:function(e){return u(e.target.value)},inputProps:{"data-testid":"auth-backend-http-new-field"},docDescription:so.a.schemas.auth_backend_url.properties.url.description}),Object(m.c)(p.mb,{edge:"end","aria-label":"add",size:"small",color:"primary",onClick:function(){o(l,lk,i),u("")},"data-testid":"auth-backend-http-add"},Object(m.c)(p.e,{fontSize:"small"})))))},vk=function(e){var t=e.item,r=e.listItemEditable,n=e.handleListItemEditHide,o=e.listItemEditableNew,i=e.handleListItemChange,a=e.onValueEdit,s=e.mode,c=e.onListItemClick,l=e.onValueDelete,u=e.index,d=e.variant,f=e.backend;return Object(m.c)(p.Ab,{key:t.value,disableGutters:!0,className:_t()("auth-backends-list-item",r===t.value&amp;&amp;"auth-backends-list-item-edit")},Object(m.c)(p.Db,null,r===t.value?Object(m.c)(p.x,{onClickAway:n},Object(m.c)(p.fc,{label:"",value:o,onChange:i,autoFocus:!0,InputProps:{endAdornment:Object(m.c)(p.rb,{position:"end"},Object(m.c)(p.mb,{onClick:function(){return a(s)},size:"small","data-testid":"auth-backend-".concat(f,"-").concat(d,"-").concat(s,"-").concat(u,"-edit-ok")},Object(m.c)(p.r,{fontSize:"small"})))},inputProps:{"data-testid":"auth-backend-".concat(f,"-").concat(d,"-").concat(s,"-").concat(u,"-elem-field")}})):Object(m.c)(p.mc,{onClick:function(e){return c(e,t.value)},"data-testid":"auth-backend-".concat(f,"-").concat(d,"-").concat(s,"-").concat(u,"-elem")},t.value)),Object(m.c)(p.Cb,null,Object(m.c)(p.mb,{edge:"end","aria-label":"delete",size:"small",color:"secondary",onClick:function(){return l(s,t.value)},"data-testid":"auth-backend-".concat(f,"-").concat(d,"-").concat(s,"-").concat(u,"-delete")},Object(m.c)(p.B,{fontSize:"small"}))))};function _k(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Ok(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ok(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ok(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var jk=function(e){var t=e.variant,r=e.mode,o=e.docDescription,i=e.label,a=e.onSubmit,s=Object(j.b)().t,c=Object($s.a)().errors,l=_k(Object(n.useState)(""),2),u=l[0],d=l[1],f=Object(Ds.b)(c[Object(ge.c)("auth-backend-".concat(t,"-").concat(r))],s),b={ips:function(e){return e?Jo({value:e}):""}};return Object(m.c)(p.l,{display:"flex",justifyContent:"space-between",alignItems:"baseline"},Object(m.c)(p.fc,{path:["auth-backend-".concat(t,"-").concat(r)],value:u,onChange:function(e){return d(e.target.value)},inputProps:{"data-testid":"auth-backend-".concat(t,"-").concat(r)},validation:b[t],label:i,docDescription:o}),Object(m.c)(p.n,{disabled:!!f||!u,color:"primary",size:"small",onClick:function(){a(r,u),d("")},"data-testid":"auth-backend-".concat(t,"-").concat(r,"-add")},s("authBackendDetail.addButton")))};function xk(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return wk(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return wk(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function wk(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var kk=function(e){var t=e.title,r=e.authBackend,o=e.variant,i=e.backend,a=e.handleValueAdd,s=e.handleValueDelete,c=e.allowDescription,l=e.denyDescription,u=Object(j.b)().t,d=xk(Object(n.useState)(""),2),f=d[0],b=d[1],h=xk(Object(n.useState)(""),2),y=h[0],g=h[1],v=function(e,t){a(t,e,o)},_=function(e,t){s(t,e,o)},O=function(){b("")},x=function(e){var t=e.target.value;g(t.trim())},w=function(e,t){e.stopPropagation(),b(t),g(t)},k=function(e){a(y,e,o,f),g(""),O()},S=r.filter((function(e){return e.isAllowed})),P=r.filter((function(e){return!e.isAllowed}));return Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.mc,{variant:"h6"},u(t))),Object(m.c)(p.ib,{item:!0,xs:12,sm:6},Object(m.c)(jk,{variant:o,mode:pk,label:u("authBackendDetail.allowLabel"),onSubmit:v,docDescription:c}),Object(m.c)(p.l,{mt:1},Object(m.c)(p.zb,{dense:!0},S.map((function(e,t){return Object(m.c)(vk,{key:e.value,item:e,listItemEditable:f,handleListItemEditHide:O,listItemEditableNew:y,handleListItemChange:x,onValueEdit:k,mode:pk,onListItemClick:w,onValueDelete:_,index:t,variant:o,backend:i})}))))),Object(m.c)(p.ib,{item:!0,xs:12,sm:6},Object(m.c)(jk,{variant:o,mode:uk,label:u("authBackendDetail.denyLabel"),onSubmit:v,docDescription:l}),Object(m.c)(p.l,{mt:1},Object(m.c)(p.zb,{dense:!0},P.map((function(e,t){return Object(m.c)(vk,{key:e.value,item:e,listItemEditable:f,handleListItemEditHide:O,listItemEditableNew:y,handleListItemChange:x,onValueEdit:k,mode:uk,onListItemClick:w,onValueDelete:_,index:t,variant:o,backend:i})}))))))};function Sk(e){return(Sk="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Pk(e){return function(e){if(Array.isArray(e))return Ek(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Dk(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Tk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Ck(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Tk(Object(r),!0).forEach((function(t){Ik(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Tk(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Ik(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Sk(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Sk(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Sk(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ak(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||Dk(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Dk(e,t){if(e){if("string"==typeof e)return Ek(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ek(e,t):void 0}}function Ek(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var $k=p.uc.SaveIcon,Nk=function(e){var t=e.authBackend,r=e.index,i=e.width,a=e.isNew,s=e.setNewAuthBackend,c=e.product,l=Object(j.b)().t,u=Gh(),f=u.setData,b=u.onChange,h=u.resetData,y=u.currentData,g=u.isDataChanged,v=u.resetDelta,O=u.initData,x=u.getDelta,w=Ak(Object(n.useState)(!1),2),k=w[0],S=w[1],P=Ak(Object(n.useState)(!1),2),T=P[0],C=P[1],I=Object(B.e)(y)?function(e){return{backends:fk(e),name:e.name,allow_default:e.allow_default,ips:mk(e,"ips"),tokens:mk(e,"tokens"),uas:mk(e,"uas"),countries:mk(e,"countries")}}(y):null,A=Object(_.m)(),D=Object(_.k)(),E=Object(_.j)();Object(n.useEffect)((function(){return f(t),a&amp;&amp;b()(["allow_default"],"raw")(!1),function(){return h()}}),[]),Object(n.useEffect)((function(){Ye.a(t,y)||f(t)}),[t]);var $=function(e){e.stopPropagation(),C(!0)},N=function(){C(!1)},L=function(e,t,r,n){var o=t===lk,i=o?"backends":"".concat(t,"_").concat(r),a=o?{url:e}:e,s=o?q.a(Ye.a(e),Ot.a("url")):Ye.a(e),c=ak.a(s,$o.a([],i,y));if(ak.a(Ye.a(n),$o.a([],i,y))){var l=Pk($o.a([],i,y)).map((function(e){return Ye.a(e,n)?a:e}));b()([i],"raw")(l)}else if(c)console.error("Value already exists");else{var p=[].concat(Pk($o.a([],i,y)),[a]);b()([i],"raw")(p)}},R=function(e,t,r){var n=t===lk,o=n?"backends":"".concat(t,"_").concat(r),i=Je.a(Ye.a(e)),a=n?q.a(i,Ot.a("url")):i,s=q.a(mm.a(a),Ot.a(o))(y);b()([o],"raw")(s)},M=function(e){e.stopPropagation(),a&amp;&amp;s(null),O()},F=function(e){e.stopPropagation(),S(!0);var r,n,o=x();Object(B.e)(o.name)?(r=e,n=o.name,r.stopPropagation(),S(!0),a||E({params:{name:t.name},onSuccess:function(){A()},onError:function(){A()}}),D({params:{name:n},body:Ck(Ck({},y),{},{name:n}),onSuccess:function(){S(!1),v(),A(),s(null)},onError:function(){S(!1),A()}})):(a&amp;&amp;(o=Ck(Ck({},o),{},{name:t.name})),D({params:{name:y.name},body:o,onSuccess:function(){S(!1),v(),A(),a&amp;&amp;s(null)},onError:function(){S(!1),A()}}))},U=function(){return Object(m.c)(p.l,{display:"flex",alignItems:"center",ml:1},Object(m.c)(p.mb,{"aria-label":l("save"),title:l("save"),onClick:F,"data-testid":"authBackendsItem".concat(r,"SaveButton"),color:"primary",disabled:!g||k,size:"large"},Object(m.c)($k,{fontSize:"small"})),Object(m.c)(p.mb,{"aria-label":l("cancel"),title:l("cancel"),onClick:M,"data-testid":"authBackendsItem".concat(r,"CancelButton"),color:"secondary",disabled:!g,size:"large"},Object(m.c)(p.q,{fontSize:"small"})),!a&amp;&amp;Object(m.c)(p.mb,{"aria-label":l("authBackends.deleteAuthBackend"),title:l("authBackends.deleteAuthBackend"),onClick:$,"data-testid":"authBackendsItem".concat(r,"DeleteButton"),color:"secondary",size:"large"},Object(m.c)(p.B,{fontSize:"small"})))};return Object(B.b)(I)?"":Object(m.c)(o.a.Fragment,null,Object(m.c)(p.a,{defaultExpanded:a},Object(m.c)(p.c,{expandIcon:Object(m.c)(p.N,{"data-testid":"auth-backend-panel-".concat(r,"-arrow")}),className:"panel-summary"},Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{container:!0,item:!0,xs:12,alignItems:"center",justifyContent:"space-between"},Object(m.c)(p.ib,{item:!0,xs:6,sm:6},Object(m.c)(p.fc,{entity:"auth_backend",path:["name"],value:$o.a("","name")(y),index:r,onChange:b()("name"),validation:function(e){return Qo({value:e,field:"auth_backend-name",names:[]})},docDescription:so.a.schemas.auth_backend_config.properties.name.description,disabled:c===d.a})),Object(m.c)(p.lb,{smUp:!0},Object(m.c)(p.ib,{item:!0,xs:6},U())),Object(m.c)(p.ib,{container:!0,item:!0,xs:12,sm:6,justifyContent:"xs"===i?"space-between":"flex-end",alignItems:"center"},Object(m.c)(p.ib,{item:!0},Object(m.c)(na.a,{isSwitch:!0,checked:Ot.a("allow_default")(I),color:"primary",label:l("authBackends.allowIfAllFailed"),onChange:function(){var e=!Ot.a("allow_default")(y);b()(["allow_default"],"raw")(e||null)},HelperDocProps:{docDescription:so.a.schemas.auth_backend_config.properties.allow_default.description}})),Object(m.c)(p.lb,{only:"xs"},Object(m.c)(p.ib,{item:!0},U())))))),Object(m.c)(p.b,null,Object(m.c)(p.ib,{container:!0,spacing:2,alignItems:"stretch","data-testid":"auth-backend-accord-panel-".concat(r)},bk.map((function(e){var t=e.variant,r=e.title,n=e.allowDescription,o=e.denyDescription;return Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:4,key:t},Object(m.c)(p.Nb,{elevation:1,style:{height:"100%"}},Object(m.c)(p.l,{p:1},"backends"===t?Object(m.c)(gk,{authBackend:Ot.a(t)(I),title:r,variant:t,handleValueAdd:L,handleValueDelete:R}):Object(m.c)(kk,{authBackend:Ot.a(t)(I),title:r,variant:t,backend:Ot.a("name")(I),handleValueAdd:L,handleValueDelete:R,allowDescription:n,denyDescription:o}))))}))))),Object(m.c)(p.C,{open:T,handleClose:N,onDelete:function(){return e=Ot.a("name")(I),N(),void E({params:{name:e},onSuccess:function(){A()},onError:function(){A()}});var e},title:l("confirmDelete",{name:Ot.a("name")(I)}),notice:l("deleteNoticeQuestion",{name:Ot.a("name")(I)}),removeButtonText:l("authBackendDetail.deleteAuthBackendButton")}))};function Lk(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Rk(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Rk(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Rk(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function qk(){return(qk=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}var Mk=q.a((function(e){return function(t){return Object(m.c)(e,qk({},t,{width:"xs"}))}}),(function(e){return o.a.memo(e,Ye.a)}))((function(e){var t=e.width,r=Object(j.b)().t,o=Object(n.useContext)(u.c),i=Lk(Object(n.useState)(null),2),a=i[0],s=i[1],c=Object(_.l)(),l=c.isLoading,d=c.data,f=$o.a([],"auth_backends")(d);return Object(m.c)(Mx,null,Object(m.c)(p.Ub,{isLoading:l},Object(m.c)(p.n,{variant:"outlined",onClick:function(){var e=n_("NewAuthBackend",f);s(e)},"data-testid":"authBackendsAddButton",size:"small"},r("authBackends.addAuthBackend")),Object(m.c)(p.l,{"data-testid":"auth",pt:1},Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12},Object(B.d)(a)&amp;&amp;Object(m.c)(p.l,{mt:1,mb:2},Object(m.c)(Nk,{key:"new",authBackend:a,index:"new",width:t,setNewAuthBackend:s,isNew:!0})),f.length&gt;0&amp;&amp;Object(m.c)(p.l,{mt:1,"data-testid":"authBackendsList"},f.map((function(e,r){return Object(m.c)(Nk,{key:r,authBackend:e,index:r,width:t,product:o})}))))))))})),Fk=function(e){var t=e.dvrs,r=e.value,n=e.dvr,o=e.streamRoots;if(!r||r&amp;&amp;0===r.length)return"dvrs.validators.dvrRootRequiredError";var i=0===r.indexOf("/")?r.slice(1):r;if(o.includes(r)||o.includes(i))return"dvrs.validators.dvrRootAsStreamPathError";var a=Jv.a(t).filter((function(e){return e!==n&amp;&amp;!e.$delete}));return q.a($i.a(r),Di.a(Ot.a("root")))(a)?"dvrs.validators.dvrRootAsGlobalError":""},Uk=function(e){var t=e.index,r=e.dvr,o=e.dvrs,i=e.streamRoots,a=e.config,s=e.onError,c=e.onErrorResolve,l=e.handleValueChange,u=e.handleValueToggle,d=Object(j.b)().t;Object(n.useEffect)((function(){var e=Fk({dvrs:o,value:r.root,dvr:r,streamRoots:i(a.streams)});e?s(["dvr","root",t])(e):c([t,"root"])()}),[r]);var f=function(e){var n=e.field,o=e.validation;return Object(m.c)(p.fc,{entity:"dvr",path:[n],value:r[n],index:t,onChange:l({path:n}),validation:o,docDescription:so.a.schemas.dvr_storage_config.properties[n].description})},b=Object(n.useMemo)((function(){return Object.keys(rf($o.a({},"disks",r)))}),[r]);return Object(m.c)(p.ib,{container:!0,spacing:1},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)("div",{style:{marginTop:"16px"}},f({field:"name",validation:function(e){return function(e){var t=e.value,r=e.dvrs;return Object(B.b)(t)?"dvrs.validators.dvrNameRequiredError":r.find((function(e){return e.name===t}))?"dvrs.validators.dvrNameUniqueError":""}({dvrs:o,value:e})}}))),Object(m.c)(p.ib,{item:!0,xs:12},f({field:"root",validation:function(e){return Fk({dvrs:o,value:e,dvr:r,streamRoots:i(a.streams)})}})),Object(m.c)(p.ib,{container:!0,item:!0,xs:12},Object(m.c)(p.ib,{item:!0,xs:3},Object(m.c)(p.R,{control:Object(m.c)(p.s,{checked:0===r.raid,onChange:u({path:"raid",getValue:function(e){return 0===e?null:0}}),color:"primary","data-testid":"dvrRaid",disabled:Object(B.b)(r.root)}),label:d("dvrs.raid0Label"),docDescription:so.a.schemas.dvr_storage_config.properties.raid.description})),Object(m.c)(p.ib,{item:!0,xs:4},Object(m.c)(p.fc,{entity:"dvr",path:["active"],value:r.active||null,index:t,onChange:function(e){var t=Jd(e);t&lt;1||t&gt;b.length||l({path:"active",getValue:Jd})(e)},type:"number",inputProps:{min:1,max:b.length},validation:function(e){return function(e){var t=e.value,r=e.disks;if(Object(B.b)(t))return"";var n=Number(t);return n&lt;1||n&gt;r.length?"dvrs.validators.dvrRaidDisksError":""}({value:e,disks:b})},disabled:Object(B.b)(r.root)||0!==r.raid,docDescription:so.a.schemas.dvr_storage_config.properties.active.description}))),Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.fc,{entity:"dvr",path:["copy"],value:r.copy,index:t,onChange:l({path:"copy"}),docDescription:so.a.schemas.dvr_base_config.properties.copy.description})))},zk=function(e){var t=e.dvr,r=e.onValueChange,n=e.onValueToggle,o=e.isSingleStream,i=void 0!==o&amp;&amp;o,a=Object(j.b)().t;return Object(m.c)(p.ib,{container:!0,spacing:1},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.fc,{entity:"dvr",path:["index"],value:t.index,onChange:r({path:"index"}),docDescription:so.a.schemas.dvr_storage_config.properties.index.description})),Object(m.c)(vm,{dvr:t,onValueToggle:n,onValueChange:r}),Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.R,{control:Object(m.c)(p.s,{checked:!t.no_index,onChange:n({path:"no_index"}),color:"primary","data-testid":"dvrNoIndex"}),label:a("dvrAdditional.indexingForStreamLabel",{letter:i?"":"s"}),docDescription:so.a.schemas.dvr_base_config.properties.no_index.description})))};zk.defaultProps={isSingleStream:!1};var Bk=zk,Hk=function(e){var t=e.size;return Object(m.c)("svg",{x:0,y:0,width:t,height:t,viewBox:"0 0 512 512"},Object(m.c)("g",null,Object(m.c)("g",{transform:"matrix(1.7,0,0,1.6,-125.6,-126)"},Object(m.c)("g",null,Object(m.c)("path",{d:"M 305.7 117.9 C 304 113.8 299.1 110.5 294.7 110.5 H 150.7 c -4.4 0 -9.3 3.3 -11 7.4 l -26.1 65.1 C 112 187.2 110.7 194.1 110.7 198.5 v 32 c 0 4.4 3.6 8 8 8 h 208 c 4.4 0 8 -3.6 8 -8 v -32 c 0 -4.4 -1.3 -11.3 -3 -15.4 L 305.7 117.9 z M 142.7 214.5 c 0 4.4 -3.6 8 -8 8 l 0 0 c -4.4 0 -8 -3.6 -8 -8 l 0 0 c 0 -4.4 3.6 -8 8 -8 l 0 0 C 139.1 206.5 142.7 210.1 142.7 214.5 L 142.7 214.5 z M 174.7 214.5 c 0 4.4 -3.6 8 -8 8 l 0 0 c -4.4 0 -8 -3.6 -8 -8 l 0 0 c 0 -4.4 3.6 -8 8 -8 l 0 0 C 171.1 206.5 174.7 210.1 174.7 214.5 L 174.7 214.5 z M 206.7 214.5 c 0 4.4 -3.6 8 -8 8 l 0 0 c -4.4 0 -8 -3.6 -8 -8 l 0 0 c 0 -4.4 3.6 -8 8 -8 l 0 0 C 203.1 206.5 206.7 210.1 206.7 214.5 L 206.7 214.5 z M 318.7 214.5 c 0 4.4 -3.6 8 -8 8 l 0 0 c -4.4 0 -8 -3.6 -8 -8 l 0 0 c 0 -4.4 3.6 -8 8 -8 l 0 0 C 315.1 206.5 318.7 210.1 318.7 214.5 L 318.7 214.5 z"})),Object(m.c)("g",null,Object(m.c)("path",{d:"M 110.7 294.5 c 0 4.4 3.6 8 8 8 h 208 c 4.4 0 8 -3.6 8 -8 v -32 c 0 -4.4 -3.6 -8 -8 -8 H 118.7 c -4.4 0 -8 3.6 -8 8 V 294.5 z M 302.7 278.5 c 0 -4.4 3.6 -8 8 -8 l 0 0 c 4.4 0 8 3.6 8 8 l 0 0 c 0 4.4 -3.6 8 -8 8 l 0 0 C 306.3 286.5 302.7 282.9 302.7 278.5 L 302.7 278.5 z M 190.7 278.5 c 0 -4.4 3.6 -8 8 -8 l 0 0 c 4.4 0 8 3.6 8 8 l 0 0 c 0 4.4 -3.6 8 -8 8 l 0 0 C 194.3 286.5 190.7 282.9 190.7 278.5 L 190.7 278.5 z M 158.7 278.5 c 0 -4.4 3.6 -8 8 -8 l 0 0 c 4.4 0 8 3.6 8 8 l 0 0 c 0 4.4 -3.6 8 -8 8 l 0 0 C 162.3 286.5 158.7 282.9 158.7 278.5 L 158.7 278.5 z M 126.7 278.5 c 0 -4.4 3.6 -8 8 -8 l 0 0 c 4.4 0 8 3.6 8 8 l 0 0 c 0 4.4 -3.6 8 -8 8 l 0 0 C 130.3 286.5 126.7 282.9 126.7 278.5 L 126.7 278.5 z"})),Object(m.c)("g",null,Object(m.c)("path",{d:"M 110.7 358.5 c 0 4.4 3.6 8 8 8 h 208 c 4.4 0 8 -3.6 8 -8 v -32 c 0 -4.4 -3.6 -8 -8 -8 H 118.7 c -4.4 0 -8 3.6 -8 8 V 358.5 z M 302.7 342.5 c 0 -4.4 3.6 -8 8 -8 l 0 0 c 4.4 0 8 3.6 8 8 l 0 0 c 0 4.4 -3.6 8 -8 8 l 0 0 C 306.3 350.5 302.7 346.9 302.7 342.5 L 302.7 342.5 z M 190.7 342.5 c 0 -4.4 3.6 -8 8 -8 l 0 0 c 4.4 0 8 3.6 8 8 l 0 0 c 0 4.4 -3.6 8 -8 8 l 0 0 C 194.3 350.5 190.7 346.9 190.7 342.5 L 190.7 342.5 z M 158.7 342.5 c 0 -4.4 3.6 -8 8 -8 l 0 0 c 4.4 0 8 3.6 8 8 l 0 0 c 0 4.4 -3.6 8 -8 8 l 0 0 C 162.3 350.5 158.7 346.9 158.7 342.5 L 158.7 342.5 z M 126.7 342.5 c 0 -4.4 3.6 -8 8 -8 l 0 0 c 4.4 0 8 3.6 8 8 l 0 0 c 0 4.4 -3.6 8 -8 8 l 0 0 C 130.3 350.5 126.7 346.9 126.7 342.5 L 126.7 342.5 z"})))))};function Vk(e){return(Vk="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function Wk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Gk(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Wk(Object(r),!0).forEach((function(t){Kk(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Wk(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Kk(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Vk(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Vk(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Vk(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Yk(e){return function(e){if(Array.isArray(e))return Xk(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Qk(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Jk(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||Qk(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Qk(e,t){if(e){if("string"==typeof e)return Xk(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Xk(e,t):void 0}}function Xk(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var Zk=p.uc.SaveIcon,eS=q.a(Di.a((function(e){return 0===e.indexOf("/")?e.slice(1):e})),mm.a(Boolean),Di.a(F.a(["dvr","root"])),Jv.a),tS=function(e){var t=e.disk,r=e.diskNumber,o=e.currentData,i=e.index,a=e.handleDiskRename,s=e.handleDiskModeChange,c=e.handleDiskDelete,l=Object(j.b)().t,u=Jk(Object(n.useState)($o.a("","path")(t)),2),d=u[0],f=u[1],b=Object(n.useMemo)((function(){return[[null,l("not-selected"),"dvr-".concat(i,"-Disk-").concat(r,"-dvrDiskMode-default")]].concat(Yk(Sc.z.map((function(e){return[e.value,e.label,"dvr-".concat(i,"-Disk-").concat(r,"-dvrDiskMode-").concat(e.value)]}))))}),[l]);return Object(m.c)(p.ib,{container:!0,alignItems:"flex-end",spacing:1,key:"".concat(o.name,"-").concat(t.path),"data-testid":"dvr-".concat(i,"-Disk-").concat(r)},Object(m.c)(p.ib,{item:!0,xs:3},Object(m.c)(p.fc,{entity:"disk",path:["root"],value:"".concat(o.root,"/"),index:r,disabled:!0})),Object(m.c)(p.ib,{item:!0,xs:5},Object(m.c)(p.fc,{entity:"disk",path:["path"],index:r,onChange:function(e){f(e.target.value)},onBlur:function(){a(r)(d)},value:d,docDescription:so.a.schemas.raid_disk_config.properties.path.description})),Object(m.c)(p.ib,{container:!0,item:!0,xs:3},Object(m.c)(oa.a,{displayEmpty:!0,label:l("dvrs.modeLabel"),value:t.mode||null,"data-testid":"dvr-".concat(i,"-Disk-").concat(r,"-dvrDiskMode"),onChange:s(r),items:b,HelperDocProps:{docDescription:so.a.schemas.raid_disk_config.properties.mode.description}})),Object(m.c)(p.ib,{container:!0,item:!0,xs:1,justifyContent:"flex-end"},Object(m.c)(p.mb,{"aria-label":"Delete disk",title:l("dvrs.removeDiskButton"),onClick:c(r,t.path),"data-testid":"dvr-".concat(i,"-Disk-").concat(r,"-Delete"),size:"large"},Object(m.c)(p.B,{fontSize:"small"}))))},rS=function(e){var t=e.dvr,r=e.index,i=e.dvrs,a=e.handleDvrExpansion,s=e.expandedDvrs,c=e.isNew,l=e.setNewDvr,u=Object(j.b)().t,d=Gh(),f=d.setData,b=d.onChange,h=d.resetData,y=d.currentData,g=d.isDataChanged,v=d.resetDelta,O=d.initData,x=d.getDelta,w=Object($s.a)(),k=w.onError,S=w.onErrorResolve,P=w.errors,T=Jk(Object(n.useState)(!1),2),C=T[0],I=T[1],A=Jk(Object(n.useState)(!1),2),D=A[0],E=A[1],$=Jk(Object(n.useState)([]),2),N=$[0],L=$[1],R=Object(_.F)(),q=Object(_.D)(),M=Object(_.C)();Object(n.useEffect)((function(){return f(t),L(i.filter((function(e){return e.name!==t.name}))),function(){return h()}}),[]),Object(n.useEffect)((function(){c&amp;&amp;k(r,"root")("dvrs.validators.dvrRootRequiredError")}),[c]),Object(n.useEffect)((function(){Ye.a(t,y)||f(t)}),[t]);var F=function(e,t,r){b()(t,"raw",r)(e)},U=function(e){var t=e.path,r=e.getValue,n=void 0===r?Yd:r,o=e.cb;return function(e){var r=n(e);F(r,t,o)}},z=function(e){var t=e.path,r=e.getValue,n=void 0===r?function(e){return!0!==e||null}:r;return function(){F(n(y[t]),t)}},H=function(e,t){return function(r){var n=r.target.value.replace(/:/g,""),o=parseInt(n,10),i=y.schedule.map((function(r,n){return n!==e?r:0===t&amp;&amp;[o,r[1]]||[r[0],o]}));F(i,"schedule")}},V=function(e){return function(){F(y.schedule.filter((function(t,r){return e!==r})),"schedule")}},W=function(){return function(){F([].concat(Yk(y.schedule||[]),[[0,2359]]),"schedule")}},G=function(e){return function(t){var r=lt.a(y.disks),n=lt.a(r[e]),o=lt.a(n);o.$delete=!0,r.push(o),n.path=t,r[e]=n,F(r,"disks")}},K=function(e){return function(t){var r=t.target.value,n=lt.a(y.disks),o=lt.a(n[e]);o.mode=r,n[e]=o,F(n,"disks")}},Y=function(e,t){return function(){var e=y.disks.map((function(e){var r=lt.a(e);return r.path===t&amp;&amp;(r.$delete=!0),r}));F(e,"disks")}},J=function(e){e.stopPropagation(),E(!0)},Q=function(){E(!1)},X=function(){return Object(Ds.c)({errors:P,name:Ot.a("name")(y),onErrorResolve:S})},Z=function(e){e.stopPropagation(),c&amp;&amp;l(null),O(),X()},ee=function(e){e.stopPropagation(),I(!0);var r=x();"raid"in r&amp;&amp;!Object(B.d)(r.raid)&amp;&amp;(r=Gk(Gk({},r),{},{active:null})),Object(B.e)(r.name)?function(e,r){e.stopPropagation(),I(!0),c||M({params:{name:t.name},onSuccess:function(){R()},onError:function(){R()}}),q({params:{name:r},body:Gk(Gk({},y),{},{name:r}),onSuccess:function(){I(!1),v(),R(),c&amp;&amp;l(null)},onError:function(){I(!1),R()}})}(e,r.name):(c&amp;&amp;(r=Gk(Gk({},r),{},{name:t.name})),q({params:{name:y.name},body:r,onSuccess:function(){I(!1),v(),R(),c&amp;&amp;l(null)},onError:function(){I(!1),R()}}))};return Object(B.d)(y)?Object(m.c)(o.a.Fragment,{key:r},Object(m.c)(p.a,{key:t.name,expanded:s[t.name]||1===i.filter((function(e){return!e.$delete})).length,onChange:a(t.name),TransitionProps:{unmountOnExit:!0}},Object(m.c)(p.c,{className:"panel-summary",expandIcon:Object(m.c)(p.N,null),"data-testid":"dvrPanelSummary-".concat(r)},Object(m.c)(p.ib,{container:!0,justifyContent:"space-between"},Object(m.c)(p.ib,{container:!0,item:!0,xs:6,alignItems:"center"},1===t.raid&amp;&amp;Object(m.c)("div",{style:{display:"inline-block",marginRight:"8px"},title:u("dvrs.raidTitle",{disks:"RAID 0 with ".concat(t.active||Object.keys(t.disks||{}).length," ").concat(u("dvrs.disksToWriteTitle"))})},Object(m.c)(Hk,{size:20}),"(",t.active||Object.keys(t.disks||{}).length,")"),u("dvrs.nameAtRoot",{name:t.name,root:t.root})),Object(m.c)(p.ib,{item:!0,xs:6},Object(m.c)("div",{style:{display:"flex",justifyContent:"flex-end",width:"100%",height:"100%",alignItems:"center"}},Object(m.c)(p.mb,{"aria-label":u("save"),title:u("save"),onClick:ee,"data-testid":"dvr-".concat(r,"-save"),color:"primary",disabled:!g&amp;&amp;!c||C||Object(Ds.a)({errors:P,name:Ot.a("name")(y)}),size:"large"},Object(m.c)(Zk,{fontSize:"small"})),Object(m.c)(p.mb,{"aria-label":u("cancel"),title:u("cancel"),onClick:Z,"data-testid":"dvr-".concat(r,"-cancel"),color:"secondary",disabled:!g&amp;&amp;!c,size:"large"},Object(m.c)(p.q,{fontSize:"small"})),!c&amp;&amp;Object(m.c)(p.mb,{"aria-label":u("delete"),title:u("remove"),onClick:J,"data-testid":"remove-dvr-".concat(r),color:"secondary",size:"large"},Object(m.c)(p.B,{fontSize:"small"})))))),Object(m.c)(p.b,{"data-testid":"dvrPanelDetails"},Object(m.c)(p.ib,{container:!0,spacing:8},Object(m.c)(p.ib,{container:!0,item:!0,xs:12,md:6,lg:4,alignContent:"flex-start"},Object(m.c)(wm,{title:u("dvrs.storageTitle")}),Object(m.c)(Uk,{index:r,dvr:y,dvrs:N,streamRoots:eS,config:y,onError:k,onErrorResolve:S,handleValueChange:U,handleValueToggle:z})),Object(m.c)(p.ib,{container:!0,item:!0,xs:12,md:6,lg:4,alignContent:"flex-start"},Object(m.c)(wm,{title:u("dvrs.additionalTitle")}),Object(m.c)(Bk,{dvr:y,onValueChange:U,onValueToggle:z})),Object(m.c)(p.ib,{container:!0,item:!0,xs:12,md:6,lg:4,alignContent:"flex-start"},Object(m.c)(wm,{title:u("dvrs.limitsTitle")}),Object(m.c)(ym,{dvr:y,onValueChange:U})),Object(m.c)(p.ib,{container:!0,item:!0,xs:12,md:6,alignContent:"flex-start"},Object(m.c)(Em,{dvr:y,dvrIndex:r,onScheduleRangeValueChange:H,onScheduleRangeDelete:V,onScheduleRangeAdd:W})),Object(m.c)(p.ib,{container:!0,item:!0,xs:12,lg:6,alignContent:"flex-start"},Object(m.c)(wm,{title:u("dvrs.disksTitle"),docDescription:so.a.schemas.dvr_storage_config.properties.disks.description},Object(m.c)(Tm,{label:u("dvrs.addDiskLabel"),onClick:function(){var e=$o.a([],"disks")(y),t=n_("NewDisk",e,{},"path");F([].concat(Yk(e),[t]),"disks")},"data-testid":"dvrDiskAdd-".concat(r)})),$o.a([],"disks")(y).map((function(e,t){return!e.$delete&amp;&amp;Object(m.c)(tS,{disk:e,diskNumber:t,currentData:y,index:r,handleDiskRename:G,handleDiskModeChange:K,handleDiskDelete:Y,key:e.path})}))),Object(m.c)(p.ib,{container:!0,item:!0,xs:12},Object(m.c)("div",{style:{marginTop:"16px",marginBottom:"8px"}},Object(m.c)(p.J,{light:!0})))))),Object(m.c)(p.C,{open:D,handleClose:Q,onDelete:function(){return e=Ot.a("name")(y),Q(),void M({params:{name:e},onSuccess:function(){R(),X()},onError:function(){R()}});var e},title:u("confirmDelete",{name:Ot.a("name")(y)}),notice:u("deleteNoticeQuestion",{name:Ot.a("name")(y)}),removeButtonText:u("dvrs.deleteDvrConfigButton")})):""};function nS(e){return(nS="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function oS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function iS(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?oS(Object(r),!0).forEach((function(t){aS(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):oS(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function aS(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==nS(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==nS(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===nS(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function sS(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return cS(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return cS(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function cS(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var lS=function(){var e=Object(j.b)().t,t=sS(Object(n.useState)({}),2),r=t[0],o=t[1],i=sS(Object(n.useState)(null),2),a=i[0],s=i[1],c=Object(_.E)(),l=c.data,u=c.isLoading,d=$o.a([],"dvrs")(l),f=function(e){return function(t,n){o(iS(iS({},r),{},aS({},e,n)))}},b=function(e,t,n){return Object(m.c)(rS,{key:e.name,dvr:e,index:t,dvrs:d,handleDvrExpansion:f,expandedDvrs:r,isNew:n,setNewDvr:s})};return Object(m.c)(Mx,null,Object(m.c)(p.Ub,{isLoading:u},Object(m.c)(p.n,{variant:"outlined",onClick:function(){var e=n_("NewDvr",d,{schedule:[],disks:[]});s(e),o(iS(iS({},r),{},aS({},e.name,!0)))},"data-testid":"addButton",size:"small"},e("dvrs.addDvrButton")),Object(m.c)(p.l,{width:"100%","data-testid":"dvrs",pt:1},Object(B.e)(a)&amp;&amp;[a].map((function(e){return Object(m.c)(p.l,{mt:1,mb:2,key:e.name},b(e,"new",!0))})),d.map((function(e,t){return b(e,t,!1)})))))};lS.defaultProps={areErrorsExists:!1,errors:[],onErrorResolve:function(){},onError:function(){}};var pS=q.a(function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:Ye.a();return function(t){var r=o.a.memo(t,e);return r.displayName="withMemo(".concat(t.name||t.displayName,")"),r}}(),ge.b)(lS);r(776);function uS(e){return(uS="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function dS(){return(dS=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function mS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function fS(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?mS(Object(r),!0).forEach((function(t){bS(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mS(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function bS(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==uS(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==uS(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===uS(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function hS(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return yS(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return yS(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function yS(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var gS=Object(T.b)(),vS=function(e){var t=e.user,r=e.packages,i=e.index,a=e.tableSettings,s=Object(j.b)().t,c=Object(M.c)().enqueueSnackbar,l=hS(Object(n.useState)(""),2),u=l[0],d=l[1],f=hS(Object(n.useState)(""),2),b=f[0],h=f[1],y=hS(Object(n.useState)(""),2),g=y[0],v=y[1],O=hS(Object(n.useState)([]),2),x=O[0],w=O[1],k=hS(Object(n.useState)(),2),S=k[0],P=k[1];Object(n.useEffect)((function(){d($o.a("","name")(t)),h($o.a("","token")(t)),v($o.a("","max_sessions")(t)),w($o.a([],"packages")(t))}),[t]);var T=Object(_.Rb)(),C=Object(_.Nb)({options:{onSuccess:function(){T()},onError:function(){c(s("iptv.errorDeleteUserAlert"),Object(cy.a)({severity:"error"})),T()}}}),I=Object(_.Pb)(),A=function(e){I({params:{name:e.name},body:fS(fS({},e),{},{max_sessions:Object(B.e)(e.max_sessions)?e.max_sessions:null}),onSuccess:function(){T()},onError:function(){T()}})},D=function(e){Ot.a("name")(t)!==Ot.a("name")(e)?(C({params:{name:Ot.a("name")(t)}}),A(e)):A(e)},E=function(e,t){return function(r){S&amp;&amp;clearTimeout(S);var n=setTimeout((function(){return D(bS({name:u,token:b,max_sessions:g},t,r.target.value))}),2e3);P(n),e(r.target.value)}},$=function(e,t){S&amp;&amp;clearTimeout(S);var r=setTimeout((function(){return D({name:u,token:b,max_sessions:g,packages:t})}),2e3);P(r),w(t)},N=function(){C({params:{name:Ot.a("name")(t)}})},L=Ot.a("name")(t),R="".concat(gS,"/tv/playlists/"),q="".concat(R).concat(L,"?token=").concat(Ot.a("token")(t)),F="".concat(q,"&amp;type=mpegts");return Object(m.c)(p.ib,{item:!0,container:!0,xs:12,alignItems:"flex-end",className:"iptv-table-row"},[Object(m.c)(p.fc,{value:u,onChange:E(d,"name"),inputProps:{"data-testid":"iptv-user-name-".concat(i)},label:"",key:"user-name",docDescription:so.a.schemas.subscriber_config.properties.name.description}),Object(m.c)(p.fc,{value:b,onChange:E(h,"token"),inputProps:{"data-testid":"iptv-user-token-".concat(i)},label:"",key:"user-token",docDescription:so.a.schemas.subscriber_config.properties.token.description}),Object(m.c)(p.fc,{value:g,onChange:E(v,"max_sessions"),inputProps:{"data-testid":"iptv-user-sessions-".concat(i)},label:"",key:"user-max_sessions",docDescription:so.a.schemas.subscriber_config.properties.max_sessions.description}),Object(m.c)(p.g,{id:"iptv-user-packages-".concat(i),"data-testid":"iptv-user-packages-".concat(i),multiple:!0,options:r,value:x,onChange:$,renderOption:function(e,t){return Object(m.c)(p.l,dS({component:"li"},e),Object(m.c)(p.mc,{component:"span",variant:"body1","data-testid":"iptv-user-packages-".concat(t,"-option")},t))},disableCloseOnSelect:!0,key:"user-packages",docDescription:so.a.schemas.subscriber_config.properties.packages.description}),Object(m.c)(o.a.Fragment,{key:"user-buttons"},Object(m.c)(p.mb,{"aria-label":"delete",color:"secondary",onClick:N,"data-testid":"iptv-user-delete-".concat(i),size:"small",style:{marginRight:"5px"}},Object(m.c)(p.w,{fontSize:"small"})),Object(m.c)("a",{href:F,className:"margin-right-10","data-testid":"iptv-user-mpegts-".concat(i)},s("iptv.mpegtsLink")),Object(m.c)("a",{href:q,"data-testid":"iptv-user-hls-".concat(i)},s("iptv.hlsLink")))].map((function(e,t){return Object(m.c)(p.dc,{settings:a,index:t,cell:e,key:t})})))};function _S(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return OS(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return OS(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function OS(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var jS=[{to:"/iptv/create",isSpecial:!0},{name:"iptv.menu.users",to:"/iptv/users",entity:d.c.iptv_user},{name:"iptv.menu.packages",to:"/iptv/packages",entity:d.c.iptv_package}],xS=Object(p.wc)()((function(e){return{wrapper:{paddingBottom:e.spacing(2)}}})),wS=function(e){var t=e.children,r=e["data-testid"],i=Object(j.b)().t,a=xS().classes,s=_S(Object(n.useState)(!1),2),c=s[0],l=s[1],u=_S(Object(n.useState)({}),2),d=u[0],f=u[1],b=Object(_.M)({options:{onSuccess:function(e){f(e)},onError:function(){f(null)}}}).isLoading,h=Object(_.N)(),y=Object(_.O)(),g=Object(_.L)(),v=Object(_.Rb)(),O=Object(_.eb)();return b?null:Object(m.c)(p.Lb,{menuItems:jS},Object(B.d)(d)?Object(m.c)(o.a.Fragment,null,Object(m.c)(p.l,{textAlign:"right"},Object(m.c)(p.n,{onClick:function(){l(!0),g({onSuccess:function(){l(!1),f(null),h()},onError:function(){l(!1),h()}})},disabled:c,endIcon:c&amp;&amp;Object(m.c)(p.u,{size:20,color:"primary"}),variant:"contained",color:"secondary",size:"small","data-testid":"disable-iptv"},i("iptv.disableIptvButton"))),Object(m.c)(p.ib,{container:!0,style:{background:"#fff"},className:a.wrapper,"data-testid":r},Object(m.c)(p.ib,{item:!0,container:!0,xs:12},t))):Object(m.c)(p.ib,{container:!0,style:{background:"#fff"},className:a.wrapper,"data-testid":r},Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.mc,{variant:"h6"},i("iptv.iptvNotConfigured")),Object(m.c)(p.l,{mt:4},Object(m.c)(p.n,{onClick:function(){l(!0),y({body:{},onSuccess:function(){l(!1),h(),v(),O()},onError:function(){l(!1),h()}})},disabled:c,endIcon:c&amp;&amp;Object(m.c)(p.u,{size:20,color:"primary"}),variant:"contained",color:"primary","data-testid":"enable-iptv"},i("iptv.enableIptvButton"))))))},kS=function(){var e,t,r,n=Object(j.b)().t,o=yt({limit:ct.a,page:ct.b}),i=o.query,a=o.page,s=o.cursor,c=o.limit,l=o.sort,u=o.handlePaginationChange,d=Object(_.Qb)({options:{keepPreviousData:!0},params:{name_like:i||void 0,limit:c||void 0,cursor:s||void 0,sort:l||void 0}}),f=d.data,b=d.isLoading,h=(null==f?void 0:f.subscribers)||[],y=(null==f?void 0:f.estimated_count)||0,g=(null==f?void 0:f.prev)||null,v=(null==f?void 0:f.next)||null,O=Object(_.db)().data,x=((null==O?void 0:O.packages)||[]).map((function(e){return e.name})),w=[{title:(e={sortKey:"name",label:"iptv.table.name"},t=e.sortKey,r=e.label,Object(m.c)(p.Yb,{sortKey:t,label:r,handlePaginationChange:u,sort:l})),lg:2},{title:"iptv.table.token",lg:2},{title:"iptv.table.maxSessions",lg:2},{title:"iptv.table.packages",lg:4},{title:"",lg:2}],k=h.map((function(e,t){return Object(m.c)(vS,{key:null==e?void 0:e.token,user:e,packages:x,tableSettings:w,index:t})}));return Object(m.c)(wS,{"data-testid":"iptv-users"},Object(m.c)(p.ib,{item:!0,xs:12,sm:8,md:6,lg:4},Object(m.c)(p.fc,{value:i,onChange:function(e){u({query:e.target.value})},inputProps:{"data-testid":"iptv-filter-users-input"},label:n("iptv.filterLabel")})),Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)("div",{style:{marginTop:"16px",display:"flex",justifyContent:"flex-start",alignItems:"center"}},Object(m.c)(p.ec,{estimatedCount:y,page:a,limit:c,nextCursor:v,prevCursor:g,handlePaginationChange:u}),b&amp;&amp;Object(m.c)("div",{style:{textAlign:"center",marginLeft:"8px"}},Object(m.c)(p.u,{size:30,color:"primary"})))),Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{mt:4},Object(m.c)(p.cc,{settings:w,body:k}))))};function SS(e){return(SS="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function PS(){return(PS=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function TS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function CS(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?TS(Object(r),!0).forEach((function(t){IS(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):TS(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function IS(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==SS(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==SS(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===SS(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function AS(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return DS(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return DS(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function DS(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}kS.displayName="IptvUsers";var ES=function(e){var t=e.packageItem,r=e.index,o=e.tableSettings,i=Object(j.b)().t,a=Object(M.c)().enqueueSnackbar,s=AS(Object(n.useState)(""),2),c=s[0],l=s[1],u=AS(Object(n.useState)([]),2),d=u[0],f=u[1],b=AS(Object(n.useState)(),2),h=b[0],y=b[1],g=AS(Object(n.useState)(""),2),v=g[0],O=g[1];Object(n.useEffect)((function(){l($o.a("","name")(t)),f($o.a([],"channels")(t))}),[t]);var x,w,k=Object(_.Lb)({params:{named_by:st.d.config,name_like:v||void 0,limit:50}}).data,S=$o.a([],"streams")(k).map((function(e){return e.name})),P=Object(_.eb)(),T=Object(_.ab)({options:{onSuccess:function(){P()},onError:function(){a(i("iptv.errorDeletePackageAlert"),Object(cy.a)({severity:"error"})),P()}}}),C=Object(_.cb)(),I=function(e){C({params:{name:e.name},body:CS({},e),onSuccess:function(){P()},onError:function(){P()}})},A=function(e){Ot.a("name")(t)!==Ot.a("name")(e)?(T({params:{name:Ot.a("name")(t)}}),I(e)):I(e)},D=function(e,t){h&amp;&amp;clearTimeout(h);var r=setTimeout((function(){return A({name:c,channels:t})}),2e3);y(r),f(t)},E=function(e,t){e&amp;&amp;O(t)},$=function(){T({params:{name:Ot.a("name")(t)}})};return Object(m.c)(p.ib,{item:!0,container:!0,xs:12,alignItems:"flex-end",className:"iptv-table-row"},[Object(m.c)(p.fc,{value:c,onChange:(x=l,w="name",function(e){h&amp;&amp;clearTimeout(h);var t=setTimeout((function(){return A(IS({name:c,channels:d},w,e.target.value))}),2e3);y(t),x(e.target.value)}),inputProps:{"data-testid":"iptv-package-name-".concat(r)},key:"package-name",docDescription:so.a.schemas.package_config.properties.name.description}),Object(m.c)(p.g,{id:"iptv-package-channels-".concat(r),"data-testid":"iptv-package-channels-".concat(r),multiple:!0,options:S,value:d,inputValue:v,onChange:D,onInputChange:E,renderOption:function(e,t){return Object(m.c)(p.l,PS({component:"li"},e),Object(m.c)(p.mc,{component:"span",variant:"body1","data-testid":"iptv-package-channels-".concat(t,"-option")},t))},disableCloseOnSelect:!0,key:"package-channels",docDescription:so.a.schemas.package_config.properties.channels.description}),Object(m.c)(p.mb,{"aria-label":"delete",color:"secondary",onClick:$,"data-testid":"iptv-package-delete-".concat(r),size:"small",key:"package-delete"},Object(m.c)(p.w,{fontSize:"small"}))].map((function(e,t){return Object(m.c)(p.dc,{settings:o,index:t,cell:e,key:t})})))};function $S(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return NS(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return NS(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function NS(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var LS=[{title:"iptv.table.name",lg:2},{title:"iptv.table.channels",lg:6},{title:"",lg:3}],RS=function(){var e=Object(j.b)().t,t=$S(Object(n.useState)(""),2),r=t[0],o=t[1],i=Object(_.db)({params:{name_like:r||void 0}}).data,a=$o.a([],"packages")(i).map((function(e,t){return Object(m.c)(ES,{key:Ot.a("name")(e),packageItem:e,index:t,tableSettings:LS})}));return Object(m.c)(wS,{"data-testid":"iptv-packages"},Object(m.c)(p.ib,{item:!0,xs:12,sm:8,md:6,lg:4},Object(m.c)(p.fc,{value:r,onChange:function(e){o(e.target.value)},inputProps:{"data-testid":"iptv-filter-packages-input"},label:e("iptv.filterLabel")})),Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{mt:4},Object(m.c)(p.cc,{settings:LS,body:a}))))};RS.displayName="IptvPackages";var qS={name:"",max_sessions:void 0,packages:[]},MS=function(){var e=Object(j.b)().t,t=Ge()().history,r=Object(_.db)().data,o=Object(n.useMemo)((function(){return((null==r?void 0:r.packages)||[]).map((function(e){return e.name}))}),[null==r?void 0:r.packages]),i=Object(_.Pb)(),a=ho({validateFn:function(e){return Object(_.Ob)({params:{name:e}}).then((function(){return!1})).catch((function(){return!0}))}}),s=Object(n.useMemo)((function(){return ao.d().shape({name:ao.e().test("unique","nameUniqueError",a).required("required")})}),[a]);return Object(m.c)(p.X,{initialValues:qS,onSubmit:function(e){var r,n;return i({params:{name:e.name},body:{name:e.name,max_sessions:null!==(r=e.max_sessions)&amp;&amp;void 0!==r?r:null,packages:null!==(n=e.packages)&amp;&amp;void 0!==n?n:[]},onSuccess:function(){t.push("/iptv/users")}})},validationSchema:s,initialTouched:{name:!0}},(function(){return Object(m.c)(p.ib,{container:!0,spacing:2,xs:12,alignItems:"flex-start"},Object(m.c)(p.ib,{item:!0,xs:12,md:4},Object(m.c)(p.cb,{name:"name",label:e("iptv.newUserNameLabel"),inputProps:{"data-testid":"iptv-new-user-name-input"},autoFocus:!0,id:"iptv-new-user-name-input",docDescription:so.a.schemas.subscriber_config.properties.name.description})),Object(m.c)(p.ib,{item:!0,xs:12,md:4},Object(m.c)(p.cb,{name:"max_sessions",label:e("iptv.maxSessionsLabel"),inputProps:{"data-testid":"iptv-new-user-sessions-input"},id:"iptv-new-user-sessions-input",type:"number",docDescription:so.a.schemas.subscriber_config.properties.max_sessions.description})),Object(m.c)(p.ib,{item:!0,xs:12,md:4},Object(m.c)(p.U,{items:o,multiple:!0,name:"packages",label:e("iptv.packagesLabel"),docDescription:so.a.schemas.subscriber_config.properties.packages.description,disableCloseOnSelect:!0,"data-testid":"iptv-new-user-packages"})))}))};function FS(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return US(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return US(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function US(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var zS={name:"",channels:[]},BS=function(){var e=Object(j.b)().t,t=Ge()().history,r=FS(Object(n.useState)(""),2),o=r[0],i=r[1],a=Object(_.Lb)({params:{named_by:st.d.config,name_like:o||void 0,limit:50}}).data,s=Object(n.useMemo)((function(){return((null==a?void 0:a.streams)||[]).map((function(e){return e.name}))}),[null==a?void 0:a.streams]),c=Object(_.cb)(),l=ho({validateFn:function(e){return Object(_.bb)({params:{name:e}}).then((function(){return!1})).catch((function(){return!0}))}}),u=Object(n.useMemo)((function(){return ao.d().shape({name:ao.e().test("unique","nameUniqueError",l).required("required")})}),[l]);return Object(m.c)(p.X,{initialValues:zS,onSubmit:function(e){return c({params:{name:e.name},body:{name:e.name,channels:e.channels||[]},onSuccess:function(){t.push("/iptv/packages")}})},validationSchema:u,initialTouched:{name:!0}},(function(){return Object(m.c)(p.ib,{container:!0,spacing:2,xs:12,alignItems:"flex-start"},Object(m.c)(p.ib,{item:!0,xs:12,md:4},Object(m.c)(p.cb,{name:"name",label:e("iptv.newPackageNameLabel"),inputProps:{"data-testid":"iptv-new-package-name-input"},autoFocus:!0,id:"iptv-new-package-name-input",docDescription:so.a.schemas.package_config.properties.name.description})),Object(m.c)(p.ib,{item:!0,xs:12,md:4},Object(m.c)(p.U,{items:s,multiple:!0,name:"channels",label:e("iptv.newPackageChannelsLabel"),docDescription:so.a.schemas.package_config.properties.channels.description,disableCloseOnSelect:!0,"data-testid":"iptv-new-package-channels",onInputChange:function(e,t){e&amp;&amp;i(t)}})))}))},HS=Object(p.wc)()((function(){return{wrapper:{background:"#F8F9FB"}}})),VS=function(){var e=Ge()().location,t=HS().classes,r=new URLSearchParams(e.search).get("entity");return Object(m.c)(wS,{"data-testid":"iptv-create"},Object(m.c)(p.l,{className:t.wrapper,p:2,width:"100%"},r===d.c.iptv_user&amp;&amp;Object(m.c)(MS,null),r===d.c.iptv_package&amp;&amp;Object(m.c)(BS,null)))},WS=r(286);function GS(e){return(GS="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function KS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function YS(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?KS(Object(r),!0).forEach((function(t){JS(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):KS(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function JS(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==GS(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==GS(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===GS(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var QS=Object(T.b)("watcher_admin_host"),XS=["params","body","config"],ZS=["params","body","config"],eP=["params","body","config"],tP=["params","body","config"],rP=["params","body","config"],nP=["params","body","config"],oP=["params","body","config"],iP=["params","body","config"],aP=["params","body","config"],sP=["params","body","config"];function cP(e){return(cP="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function lP(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}function pP(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function uP(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?pP(Object(r),!0).forEach((function(t){dP(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):pP(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function dP(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==cP(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==cP(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===cP(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var mP,fP=((mP=S.a.create({baseURL:"".concat(QS,"/watcher/admin-api/v3"),headers:YS(YS({},T.c),{},{"Content-Type":"application/json"})})).interceptors.request.use((function(e){return WS.a.activeAccessToken&amp;&amp;(e.headers=YS(YS({},e.headers),{},{Authorization:"Bearer ".concat(WS.a.activeAccessToken)})),e})),mP),bP=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,n=e.config,o=e.queryFn,i=e.queryKey;return Object(Sn.a)({queryKey:["watcher_streamers_list",i,t],queryFn:function(){return o&amp;&amp;Object(B.a)(o)?o():hP({params:t,config:n})},options:r})},hP=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(I_.a)({path:"/streamers",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return fP.get(o,uP({params:i},r))},yP=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,n=e.config,o=e.queryFn,i=e.queryKey;return Object(Sn.a)({queryKey:["watcher_streamer_get",i,t],queryFn:function(){return o&amp;&amp;Object(B.a)(o)?o():gP({params:t,config:n})},options:r})},gP=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(I_.a)({path:"/streamers/{hostname}",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return fP.get(o,uP({params:i},r))},vP=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,n=e.mutationFn,o=e.showSuccessMessage,i=void 0===o||o,a=e.showErrorMessage,s=void 0===a||a,c=Object(j.b)(),l=c.t,p=Object(Sn.b)((function(e){var t=e.params,r=e.body,o=e.config,i=Object(I_.a)({path:"/streamers/{hostname}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),a=i.pathWithParams,s=i.queryParams;return n&amp;&amp;Object(B.a)(n)?n({params:t,body:r,config:o}):fP.put(a,r,uP({params:s},o))}),(function(){return i&amp;&amp;l("streamer_save.successPutAlert")}),Object(B.g)(t)?t:{},s);return r?function(e){var t=e.params,r=e.body,n=e.config,o=lP(e,XS);return p.mutateAsync(uP({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=lP(e,ZS);return p.mutate(uP({params:t,body:r,config:n},o))}},_P=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(I_.a)({path:"/streamers/{hostname}/dvr",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return fP.get(o,uP({params:i},r))},OP=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(I_.a)({path:"/streamers/{hostname}/letsencrypt",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return fP.get(o,uP({params:i},r))},jP=(r(777),[{to:"/cluster_new",enabled:!0,isSpecial:!0},{name:"headerTopNav.cluster",to:"/cluster",entity:d.c.peer}]),xP=[{to:"/streamer_new",enabled:!0,isSpecial:!0},{name:"streamers",to:"/streamers",entity:d.c.peer}],wP=Object(p.wc)()((function(e){return{wrapper:{paddingBottom:e.spacing(2)}}})),kP=function(e){var t=e.children,r=e["data-testid"],o=wP().classes,i=Object(n.useContext)(u.c);return Object(m.c)(p.Lb,{menuItems:d.l||i===d.a?xP:jP},Object(m.c)(p.ib,{container:!0,style:{background:"#fff"},className:o.wrapper,"data-testid":r},Object(m.c)(p.ib,{item:!0,xs:12},t)))};kP.defaultProps={children:null,menuButtons:null};var SP=kP;function PP(e){return(PP="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function TP(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==PP(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==PP(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===PP(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var CP=Object(En.a)()((function(e){return{clusterIndicator:{width:13,height:13,borderRadius:"50%",display:"block"},clusterIndicatorGreen:{background:e.palette.success.main},clusterIndicatorGray:{background:e.palette.grey[700]}}})),IP=function(){var e,t=Object(j.b)().t,r=Object(n.useContext)(u.c),o=CP(),i=o.classes,a=o.cx,s=r===d.a,c=Object(n.useContext)(me).globalSettings,l=void 0===c?{}:c,f=Object(p.zc)(),b=Object(_.ib)({options:{refetchInterval:5e3,enabled:!!r&amp;&amp;r!==d.a}}),h=b.data,y=b.isLoading,g=Object(_.Kb)({options:{refetchInterval:5e3,enabled:!!r&amp;&amp;r===d.a}}),v=g.data,O=g.isLoading,x=bP({options:{refetchInterval:5e3,enabled:d.l}}),w=x.data,k=x.isLoading,S=Object(_.r)({isAsync:!0}),P=Object(_.q)();e=d.l?null==w?void 0:w.streamers:r===d.a?null==v?void 0:v.streamers:null==h?void 0:h.peers;var T=Object(n.useMemo)((function(){var e=r===d.a||d.l?[{title:t("clusterPeers.role"),renderData:function(e){var r,n;return Object(m.c)(p.mc,null,e.role," ",(null===(r=e.stats)||void 0===r?void 0:r.server_version)&amp;&amp;t("clusterPeers.role.version"),null===(n=e.stats)||void 0===n?void 0:n.server_version)}}]:[];return{items:[{title:t("clusterPeers.host"),grow:2,renderData:function(e){var r,n,o=!(null!==(r=e.stats)&amp;&amp;void 0!==r&amp;&amp;r.error||null===(n=e.stats)||void 0===n||!n.uptime),c=t(o?"online":"offline");return Object(m.c)(p.l,{display:"flex",alignItems:"center",key:"cluster-inf-".concat(e.hostname)},Object(m.c)(p.lc,{title:c,placement:"top"},Object(m.c)(p.l,{className:a(i.clusterIndicator,TP(TP({},i.clusterIndicatorGreen,o),i.clusterIndicatorGray,!o)),mr:1})),Object(m.c)(p.yb,{to:"".concat(d.l||s?"streamers":"cluster","/").concat(e.hostname),component:Mt.b,color:f.palette.text.primary},Object(m.c)(p.mc,{component:"span",variant:"body1","data-testid":"cluster-peers-host-".concat(e.hostname)},e.hostname)))}}].concat(e,[{title:t("clusterPeers.cpu"),renderData:function(e){var t;return null===(t=e.stats)||void 0===t?void 0:t.cpu_usage}},{title:t("clusterPeers.mem"),renderData:function(e){var t;return null===(t=e.stats)||void 0===t?void 0:t.memory_usage}},{title:t("clusterPeers.clients"),renderData:function(e){var t;return null===(t=e.stats)||void 0===t?void 0:t.total_clients}},{title:t("clusterPeers.streams"),renderData:function(e){var t,r,n,o;return"".concat(null!==(t=null===(r=e.stats)||void 0===r?void 0:r.online_streams)&amp;&amp;void 0!==t?t:"-"," /\n            ").concat(null!==(n=null===(o=e.stats)||void 0===o?void 0:o.total_streams)&amp;&amp;void 0!==n?n:"-")}},{title:t("clusterPeers.inputBitrate"),renderData:function(e){var t,r=null===(t=e.stats)||void 0===t?void 0:t.input_kbit;return r&amp;&amp;_e.a.bps(1e3*r)}},{title:t("clusterPeers.outputBitrate"),renderData:function(e){var t,r=null===(t=e.stats)||void 0===t?void 0:t.output_kbit;return r&amp;&amp;_e.a.bps(1e3*r)}},{title:t("clusterPeers.load"),renderData:function(e){var t,r;return Object(B.d)(null===(t=e.stats)||void 0===t?void 0:t.bandwidth_usage)?"".concat(null===(r=e.stats)||void 0===r?void 0:r.bandwidth_usage,"%"):"-"}},{title:t("clusterPeers.uptime"),renderData:function(e){var t,r;return null!==(t=e.stats)&amp;&amp;void 0!==t&amp;&amp;t.uptime?_e.a.seconds(null===(r=e.stats)||void 0===r?void 0:r.uptime):"-"}}])}}),[i.clusterIndicator,i.clusterIndicatorGray,i.clusterIndicatorGreen,a,r,t]),C={clusterKey:l.cluster_key};return Object(m.c)(SP,{"data-testid":"cluster-overview"},Object(m.c)(p.X,{initialValues:C,onSubmit:function(e){var t=e.clusterKey;return S({body:{cluster_key:""===t?null:t}}).then(P)},hideButtons:s},(function(){var r,n;return Object(m.c)(p.ib,{container:!0,spacing:2,wrap:"wrap"},!s&amp;&amp;!d.l&amp;&amp;Object(m.c)(p.ib,{item:!0,container:!0,xs:12,md:8,direction:"column"},Object(m.c)(p.l,{mb:1},Object(m.c)(p.Wb,{label:t("clusterSettings.hostnameLabel"),helperText:t("clusterSettings.hostnameLabelDetail"),value:null!==(r=null==l?void 0:null===(n=l.stats)||void 0===n?void 0:n.hostname)&amp;&amp;void 0!==r?r:"",inputProps:{"data-testid":"cluster-settings-hostname"},disabled:!0,docDescription:so.a.schemas.server_stats_streamer.properties.hostname.description})),Object(m.c)(p.cb,{name:"clusterKey",label:t("clusterSettings.clusterKeyLabel"),helperText:t("clusterSettings.clusterKeyLabelDetail"),inputProps:{"data-testid":"cluster-settings-cluster-key"},docDescription:so.a.schemas.server_config_base.properties.cluster_key.description})),Object(m.c)(p.ib,{item:!0,xs:12,md:12},Object(m.c)(p.Ub,{isLoading:y||O||k},e&amp;&amp;Object(m.c)(p.A,{data:e,columns:T}))))})))};function AP(e){return(AP="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function DP(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function EP(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==AP(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==AP(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===AP(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var $P=ao.d().shape({cluster_key:ao.e(),hostname:ao.e().test({test:function(e,t){return t.from[0].value.items.filter((function(t){return t.hostname===e})).length&lt;1},message:"should be unique"}).required("required")}),NP=ao.d().shape({role:ao.e().required("required"),cluster_key:ao.e().when("role",{is:"streamer",then:function(e){return e.required("required")}}),hostname:ao.e().test({test:function(e,t){return t.from[0].value.items.filter((function(t){return t.hostname===e})).length&lt;1},message:"should be unique"}).required("required")}),LP=function(){var e=Object(U.useHistory)(),t=Object(j.b)().t,r=Object(n.useContext)(u.c)===d.a,i=Object(_.ib)({options:{enabled:!d.l&amp;&amp;!r}}).data,a=Object(_.Kb)({options:{enabled:!d.l&amp;&amp;r}}).data,s=bP({options:{enabled:d.l}}).data,c=Object(_.Ib)({isAsync:!0}),l=Object(_.hb)({isAsync:!0}),f=vP({isAsync:!0}),b=Object(n.useMemo)((function(){var e;return function(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?DP(Object(r),!0).forEach((function(t){EP(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):DP(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({items:null!==(e=d.l?null==s?void 0:s.streamers:r?null==a?void 0:a.streamers:null==i?void 0:i.peers)&amp;&amp;void 0!==e?e:[],hostname:"",cluster_key:void 0,checks_enable:!1},r||d.l?{role:"streamer"}:{})}),[r,null==i?void 0:i.peers,null==a?void 0:a.streamers,null==s?void 0:s.streamers]);return Object(m.c)(SP,{"data-testid":"cluster-overview"},Object(m.c)(p.X,{initialValues:b,onSubmit:function(t){var n=t.hostname,o=t.cluster_key,i=t.role,a=t.checks_enable,s={params:{hostname:n,checks_enable:a||void 0},body:{hostname:n,cluster_key:o,role:i}};return(d.l?f(s):r?c(s):l(s)).then((function(){e.push("".concat(d.l||r?"streamers":"cluster","/").concat(n))}))},validationSchema:d.l||r?NP:$P,initialTouched:{hostname:!0,cluster_key:!0}},(function(){var e,n,i,a,s,c;return Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,md:3},Object(m.c)(p.cb,{name:"hostname",docDescription:null===(e=so.a.schemas.peer_config)||void 0===e?void 0:null===(n=e.properties)||void 0===n?void 0:null===(i=n.hostname)||void 0===i?void 0:i.description,inputProps:{"data-testid":"new-peer-hostname"},label:t("clusterPeerName.newPeerNameLabel")})),(d.l||r)&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:12,md:3},Object(m.c)(p.cb,{name:"cluster_key",docDescription:null===(a=so.a.schemas.peer_config)||void 0===a?void 0:null===(s=a.properties)||void 0===s?void 0:null===(c=s.cluster_key)||void 0===c?void 0:c.description,inputProps:{"data-testid":"new-peer-cluster_key"},label:t("peer-cluster_key")})),Object(m.c)(p.ib,{item:!0,xs:12,md:3},Object(m.c)(p.ab,{fullWidth:!0,name:"role",label:t("clusterPeers.role"),items:Sc.d,"data-testid":"new-peer-role"})),Object(m.c)(p.ib,{item:!0,xs:12,md:3,mt:{md:2}},Object(m.c)(p.V,{name:"checks_enable",label:t("clusterPeers.checks_enable")}))))})))},RP=Object(p.wc)()((function(e){return{wrapper:{paddingBottom:e.spacing(2)}}})),qP=function(e){var t=e.children,r=e["data-testid"],o=e.hideDvr,i=void 0===o||o,a=RP().classes,s=Ge()().match.params.hostname,c=Object(n.useContext)(u.c),l=Object(n.useMemo)((function(){return function(e){var t=e.hostname,r=e.isStreamers,n=e.hideDvr,o=e.product,i=(r?"/streamers/:hostname":"/cluster/:hostname").replace(":hostname",encodeURIComponent(t));return[{name:"cluster.settings",to:i,enabled:!0},{name:"cluster.dvr",to:"".concat(i,"/dvr"),enabled:r&amp;&amp;!n},{name:"cluster.layout",to:"".concat(i,"/layout"),enabled:o===d.a}].filter((function(e){return e.enabled}))}({hostname:s,isStreamers:d.l,hideDvr:i,product:c})}),[s,i,c]);return Object(m.c)(p.Lb,{menuItems:l},Object(m.c)(p.ib,{container:!0,style:{background:"#fff"},className:a.wrapper,"data-testid":r},Object(m.c)(p.ib,{item:!0,xs:12},t)))};function MP(e){return(MP="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function FP(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function UP(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?FP(Object(r),!0).forEach((function(t){zP(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):FP(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function zP(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==MP(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==MP(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===MP(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function BP(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return HP(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return HP(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function HP(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var VP=ao.d().shape({cluster_key:ao.e().when("role",{is:Sc.c.STREAMER,then:ao.e().required("required")})}),WP=function(e){var t,r,i,a=e.hideDvr,s=Object(j.b)().t,c=Object(U.useParams)().hostname,l=Object(U.useHistory)(),f=Object(n.useContext)(u.c),b=BP(Object(n.useState)(""),2),h=b[0],y=b[1],g=BP(Object(n.useState)(),2),v=g[0],O=g[1],x=Object(p.zc)(),w=f===d.a,k=Object(_.gb)({params:{hostname:c},options:{onError:function(){l.push("/cluster")},enabled:!d.l&amp;&amp;!w}}),S=k.data,P=k.isLoading,T=k.refetch,C=Object(_.Gb)({params:{hostname:c},options:{onError:function(){l.push("/cluster")},enabled:!d.l&amp;&amp;w}}),I=C.data,A=C.isLoading,D=C.refetch,E=yP({params:{hostname:c},options:{onError:function(){l.push("/streamers")},enabled:d.l}}),$=E.data,N=E.isLoading,L=E.refetch,R=P||A||N,q=Object(n.useMemo)((function(){var e,t;t=d.l?UP({checks_enable:!1},$):w?UP({checks_enable:!1},I):S;var r={api_url:"",public_payload_url:"",private_payload_url:"",fetch_timeout:void 0,stale_timeout:void 0,channel_limit:void 0,cpu_limit:void 0,checks_enable:!d.l&amp;&amp;!w&amp;&amp;void 0,cluster_key:"",dvrs:[]};return null!==(e=t)&amp;&amp;void 0!==e?e:r}),[c,w,S,I,$]),M=Object(_.hb)({isAsync:!0}),F=Object(_.Ib)({isAsync:!0}),z=vP({isAsync:!0});i=d.l?L:w?D:T;var H,V=Object(_.Fb)({isAsync:!0}),W=Object(_.fb)({isAsync:!0}),G=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,n=e.mutationFn,o=e.showSuccessMessage,i=void 0===o||o,a=e.showErrorMessage,s=void 0===a||a,c=Object(j.b)(),l=c.t,p=Object(Sn.b)((function(e){var t=e.params,r=e.body,o=e.config,i=Object(I_.a)({path:"/streamers/{hostname}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),a=i.pathWithParams,s=i.queryParams;return n&amp;&amp;Object(B.a)(n)?n({params:t,body:r,config:o}):fP.delete(a,uP({params:s},o))}),(function(){return i&amp;&amp;l("streamer_delete.successDeleteAlert")}),Object(B.g)(t)?t:{},s);return r?function(e){var t=e.params,r=e.body,n=e.config,o=lP(e,eP);return p.mutateAsync(uP({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=lP(e,tP);return p.mutate(uP({params:t,body:r,config:n},o))}}({isAsync:!0}),K=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,n=e.config,o=e.queryFn,i=e.queryKey;return Object(Sn.a)({queryKey:["watcher_streamer_tls_certificate_get",i,t],queryFn:function(){return o&amp;&amp;Object(B.a)(o)?o():OP({params:t,config:n})},options:r})}({params:{hostname:c},options:{enabled:d.l}}).data,Y=Object(_.Jb)({params:{hostname:c},options:{enabled:w}}).data,J=K||Y;d.l&amp;&amp;(H=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,n=e.mutationFn,o=e.showSuccessMessage,i=void 0===o||o,a=e.showErrorMessage,s=void 0===a||a,c=Object(j.b)(),l=c.t,p=Object(Sn.b)((function(e){var t=e.params,r=e.body,o=e.config,i=Object(I_.a)({path:"/streamers/{hostname}/letsencrypt",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),a=i.pathWithParams,s=i.queryParams;return n&amp;&amp;Object(B.a)(n)?n({params:t,body:r,config:o}):fP.post(a,r,uP({params:s},o))}),(function(){return i&amp;&amp;l("streamer_letsencrypt_issue.successPostAlert")}),Object(B.g)(t)?t:{},s);return r?function(e){var t=e.params,r=e.body,n=e.config,o=lP(e,oP);return p.mutateAsync(uP({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=lP(e,iP);return p.mutate(uP({params:t,body:r,config:n},o))}}()),w&amp;&amp;(H=Object(_.Hb)());var Q=function(){return l.push(d.l||w?"/streamers":"/cluster")},X=function(){return O(!0),H({params:{hostname:c},onSuccess:function(){var e,t;y(""),O(!1),e=window.location.href,t="https://".concat(e.slice(window.location.protocol.length)),window.location.replace(t)},onError:function(e){y(e.message),O(!1)}})};return Object(n.useEffect)((function(){"role"in q&amp;&amp;q.role!==Sc.c.STREAMER?a(!0):"role"in q&amp;&amp;a(!1)}),[q]),Object(m.c)(p.Ub,{isLoading:R},Object(m.c)(p.X,{initialValues:q,validationSchema:VP,onSubmit:function(e,t,r){if(r.hostname){var n,o,a=UP(UP({},r),{},{hostname:c||""}),s={params:{hostname:a.hostname,checks_enable:a.checks_enable},body:UP(UP(UP({},q),a),{},{cluster_key:a.cluster_key,role:a.role})},p={params:{hostname:r.hostname,checks_enable:a.checks_enable},body:UP(UP({},q),r)},u={params:{hostname:c}};return n=d.l?z(s):w?F(s):M(p),o=d.l?G(u):w?V(u):W(u),Promise.all([n,o]).then((function(){l.push("/".concat(d.l?"streamers":"cluster","/").concat(r.hostname))}))}var m=UP(UP({},r),{},{hostname:c||""}),f={params:{hostname:c,checks_enable:m.checks_enable},body:UP(UP({},m),{},{cluster_key:m.cluster_key,role:m.role,public_payload_url:e.role===Sc.c.STREAMER&amp;&amp;"public_payload_url"in r?r.public_payload_url:void 0,private_payload_url:e.role===Sc.c.STREAMER&amp;&amp;"private_payload_url"in r?r.private_payload_url:void 0})},b={params:{hostname:c,checks_enable:m.checks_enable},body:UP(UP({},r),{},{public_payload_url:e.role===Sc.c.STREAMER&amp;&amp;"public_payload_url"in r?r.public_payload_url:void 0,private_payload_url:e.role===Sc.c.STREAMER&amp;&amp;"private_payload_url"in r?r.private_payload_url:void 0})};return(d.l?z(f):w?F(f):M(b)).then((function(){return l.replace(UP(UP({},l.location),{},{state:{}})),i()}))},onDelete:function(){var e={params:{hostname:c}};return(d.l?G(e):w?V(e):W(e)).then((function(){return l.push(d.l?"/streamers":"/cluster")}))},modalTitle:s("peer-remove-confirm"),modalNotice:s("peer-remove-notice"),modalButton:s("peer-delete-button")},(function(e){var t,r,n,i,a,l,u,f,b,y,g,_,O,j,k,S,P,T,C,I,A,D,E,$,N,L,R,q,M,F=e.values;return Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,container:!0,spacing:2,xs:12,alignItems:"center"},Object(m.c)(p.ib,{item:!0},Object(m.c)(p.n,{color:"primary",variant:"outlined",onClick:Q,"data-testid":"handle-back",size:"small"},"â†"," ",w||d.l?s("peer-back-to-streamers"):s("peer-back-to-cluster"))),Object(m.c)(p.ib,{item:!0},Object(m.c)(p.mc,{variant:"h6"},c))),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3},Object(m.c)(p.cb,{name:"hostname",docDescription:null===(t=so.a.schemas.peer_config)||void 0===t?void 0:null===(r=t.properties)||void 0===r?void 0:null===(n=r.hostname)||void 0===n?void 0:n.description,inputProps:{"data-testid":"peer-hostname"},label:s("peer-hostname"),disabled:w||d.l})),(w||d.l)&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3},Object(m.c)(p.ab,{fullWidth:!0,name:"role",label:s("clusterPeers.role"),items:Sc.d,"data-testid":"new-peer-role"})),Object(m.c)(p.ib,{item:!0,xs:12,md:3,display:"flex",alignItems:"end"},Object(m.c)(p.V,{name:"checks_enable",label:s("clusterPeers.checks_enable")})),Object(m.c)(p.ib,{item:!0,container:!0,display:"flex",spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,sm:"auto"},Object(m.c)(p.n,{sx:{width:{xs:"100%",sm:280}},size:"small",variant:"outlined",color:"primary",onClick:X,endIcon:v&amp;&amp;Object(m.c)(p.u,{size:16,color:"primary"})},s("streams.issueByLetsEncrypt")),h&amp;&amp;Object(m.c)(p.mc,{color:"error",variant:"body2",sx:{width:{sm:280}}},h)),J&amp;&amp;Object(m.c)(p.ib,{item:!0,display:"flex"},Object(m.c)(p.ib,{item:!0},Object(m.c)(p.mc,{color:x.palette.grey[600],fontWeight:500},s("streams.domainsLabel")),Object(m.c)(p.mc,{color:x.palette.grey[600],fontWeight:500},s("streams.issuerLabel")),Object(m.c)(p.mc,{color:x.palette.grey[600],fontWeight:500},s("streams.validUntilLabel"))),Object(m.c)(p.ib,{item:!0,ml:2},Object(m.c)(p.mc,{color:x.palette.grey[600]},null==J?void 0:null===(i=J.cert)||void 0===i?void 0:null===(a=i.domains)||void 0===a?void 0:a.join(", ")),Object(m.c)(p.mc,{color:x.palette.grey[600]},(null==J?void 0:null===(l=J.cert)||void 0===l?void 0:l.issuer_name)||""),Object(m.c)(p.mc,{color:x.palette.grey[600]},J.cert?_e.a.local_date_at(J.cert.not_after):""))))),Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.ic,{titleText:s("peer-Connection"),variant:"h6"})),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3},Object(m.c)(p.cb,{name:"api_url",docDescription:null===(u=so.a.schemas.peer_config)||void 0===u?void 0:null===(f=u.properties)||void 0===f?void 0:null===(b=f.api_url)||void 0===b?void 0:b.description,inputProps:{"data-testid":"peer-api_url"},label:s("peer-api_url")})),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3},Object(m.c)(p.cb,{name:"cluster_key",docDescription:null===(y=so.a.schemas.peer_config)||void 0===y?void 0:null===(g=y.properties)||void 0===g?void 0:null===(_=g.cluster_key)||void 0===_?void 0:_.description,inputProps:{"data-testid":"peer-cluster_key"},label:s("peer-cluster_key")})),(!(d.l||w)||"role"in F&amp;&amp;F.role===Sc.c.STREAMER)&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3},Object(m.c)(p.cb,{name:"private_payload_url",docDescription:null===(O=so.a.schemas.peer_config)||void 0===O?void 0:null===(j=O.properties)||void 0===j?void 0:null===(k=j.private_payload_url)||void 0===k?void 0:k.description,inputProps:{"data-testid":"peer-private_payload_url"},label:s("peer-private_payload_url")})),!d.l&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3},Object(m.c)(p.cb,{name:"fetch_timeout",type:"number",docDescription:null===(S=so.a.schemas.peer_config)||void 0===S?void 0:null===(P=S.properties)||void 0===P?void 0:null===(T=P.fetch_timeout)||void 0===T?void 0:T.description,inputProps:{"data-testid":"peer-fetch_timeout"},label:s("peer-fetch_timeout")})),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3},Object(m.c)(p.cb,{name:"stale_timeout",type:"number",docDescription:null===(C=so.a.schemas.peer_config)||void 0===C?void 0:null===(I=C.properties)||void 0===I?void 0:null===(A=I.stale_timeout)||void 0===A?void 0:A.description,inputProps:{"data-testid":"peer-stale_timeout"},label:s("peer-stale_timeout")}))),Object(m.c)(o.a.Fragment,null,("role"in F&amp;&amp;F.role===Sc.c.STREAMER||!d.l)&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.ic,{titleText:s("peer-Balancing"),variant:"h6"})),(!(d.l||w)||"role"in F&amp;&amp;F.role===Sc.c.STREAMER)&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3},Object(m.c)(p.cb,{name:"public_payload_url",docDescription:null===(D=so.a.schemas.peer_config)||void 0===D?void 0:null===(E=D.properties)||void 0===E?void 0:null===($=E.public_payload_url)||void 0===$?void 0:$.description,inputProps:{"data-testid":"peer-public_payload_url"},label:s("peer-public_payload_url")})),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3},Object(m.c)(p.cb,{name:"channel_limit",type:"number",docDescription:null===(N=so.a.schemas.peer_config)||void 0===N?void 0:null===(L=N.properties)||void 0===L?void 0:L.channel_limit.description,inputProps:{"data-testid":"peer-channel_limit"},label:s("peer-channel_limit")}))),!d.l&amp;&amp;Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3},Object(m.c)(p.cb,{name:"cpu_limit",type:"number",docDescription:null===(R=so.a.schemas.peer_config)||void 0===R?void 0:null===(q=R.properties)||void 0===q?void 0:null===(M=q.cpu_limit)||void 0===M?void 0:M.description,inputProps:{"data-testid":"peer-cpu_limit"},label:s("peer-cpu_limit")})))})),Object(m.c)(p.ib,{container:!0,spacing:2},(w||d.l)&amp;&amp;"role"in q&amp;&amp;q.role===Sc.c.STREAMER&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.ic,{titleText:s("clusterPeers.diskSpaceUsage"),variant:"h6"})),Object(m.c)(p.ib,{item:!0,xs:12,container:!0,spacing:2},null==q?void 0:null===(t=q.stats)||void 0===t?void 0:null===(r=t.partitions)||void 0===r?void 0:r.map((function(e){return Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:3,key:e.path},Object(m.c)(Kj,{path:e.path||"",usage:e.usage||0,totalMb:e.total_mb||0}))}))))))},GP=r(75),KP=r(250),YP=[{label:"Normal",value:"normal"},{label:"Migrate",value:"migrate"},{label:"Readonly",value:"readonly"},{label:"Rescue",value:"rescue"},{label:"Abandon",value:"abandon"},{label:"Keep",value:"keep"}];function JP(e){return(JP="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function QP(e){return function(e){if(Array.isArray(e))return XP(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return XP(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return XP(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function XP(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function ZP(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function eT(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ZP(Object(r),!0).forEach((function(t){tT(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ZP(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function tT(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==JP(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==JP(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===JP(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var rT=p.uc.DeleteIcon,nT=ao.d().shape({name:ao.e().required("required"),root:ao.e().required("required"),disks:ao.a().of(ao.d().shape({path:ao.e().required("required")}))}),oT=function(){var e,t=Object(j.b)().t,r=Object(GP.a)(),n=Object(p.yc)(r.breakpoints.only("xs")),i=Ge()().match.params.hostname,s=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,n=e.config,o=e.queryFn,i=e.queryKey;return Object(Sn.a)({queryKey:["watcher_dvr_get",i,t],queryFn:function(){return o&amp;&amp;Object(B.a)(o)?o():_P({params:t,config:n})},options:r})}({params:{hostname:i}}),c=s.data,l=s.isLoading,u=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,n=e.mutationFn,o=e.showSuccessMessage,i=void 0===o||o,a=e.showErrorMessage,s=void 0===a||a,c=Object(j.b)(),l=c.t,p=Object(Sn.b)((function(e){var t=e.params,r=e.body,o=e.config,i=Object(I_.a)({path:"/streamers/{hostname}/dvr",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),a=i.pathWithParams,s=i.queryParams;return n&amp;&amp;Object(B.a)(n)?n({params:t,body:r,config:o}):fP.put(a,r,uP({params:s},o))}),(function(){return i&amp;&amp;l("dvr_save.successPutAlert")}),Object(B.g)(t)?t:{},s);return r?function(e){var t=e.params,r=e.body,n=e.config,o=lP(e,rP);return p.mutateAsync(uP({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=lP(e,nP);return p.mutate(uP({params:t,body:r,config:n},o))}}(),d=(e=Object(a.useQueryClient)(),function(){return e.refetchQueries(["watcher_dvr_get"])});return Object(m.c)(p.Ub,{isLoading:l},Object(m.c)(p.X,{initialValues:c||{name:"",root:""},onSubmit:function(e,t,r){return u({params:{hostname:i},body:eT({},r),onSuccess:function(){d().then((function(){return t.resetForm()}))},onError:function(){t.setSubmitting(!1)}})},validationSchema:nT},(function(e){var r=e.setFieldValue,i=e.values;return Object(m.c)(p.ib,{item:!0,container:!0,spacing:2,xs:12},Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3,lg:2},Object(m.c)(p.cb,{name:"name",docDescription:KP.a.schemas.dvr_storage_config.properties.name.description,label:t("streamer-name")})),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3,lg:2},Object(m.c)(p.cb,{name:"root",docDescription:KP.a.schemas.dvr_storage_config.properties.root.description,label:t("streamer-root")})),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3,lg:2},Object(m.c)(p.cb,{name:"active",docDescription:KP.a.schemas.dvr_storage_config.properties.active.description,type:"number",label:t("streamer-active")})),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3,lg:2},Object(m.c)(p.cb,{name:"index",docDescription:KP.a.schemas.dvr_storage_config.properties.index.description,label:t("streamer-index")})),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3,lg:2},Object(m.c)(p.db,{name:"storage_limit",label:t("streamer-storage_limit"),format:"bytes",docDescription:KP.a.schemas.dvr_base_config.properties.storage_limit.description})),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3,lg:2},Object(m.c)(p.db,{name:"expiration",label:t("streamer-expiration"),format:"time",docDescription:KP.a.schemas.dvr_base_config.properties.expiration.description})),Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.V,{name:"raid",label:t("streamer-raid0"),checked:0===i.raid,onChange:function(e){return r("raid",e.target.checked?0:null)}})),Object(m.c)(nd.b,{name:"disks",render:function(e){return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.ic,{titleText:t("streamer-disks"),hideHr:!0,button:Object(m.c)(p.d,{onClick:function(){return e.push({path:""})},docDescription:KP.a.schemas.dvr_storage_config.properties.disks.description})})),((null==i?void 0:i.disks)||[]).map((function(r,i){return Object(m.c)(o.a.Fragment,{key:i},Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3,lg:2},Object(m.c)(p.cb,{name:"disks.".concat(i,".path"),docDescription:KP.a.schemas.raid_disk_config.properties.path.description,label:t("streamer-disks-path")})),Object(m.c)(p.ib,{item:!0,xs:12,sm:4,md:3,lg:2},Object(m.c)(p.ab,{name:"disks.".concat(i,".mode"),label:t("streamer-disks-mode"),items:[{label:t("not-selected"),value:""}].concat(QP(YP)),displayEmpty:!0})),Object(m.c)(p.ib,{item:!0,xs:12,sm:3,md:2},Object(m.c)(p.l,{mt:{xs:0,sm:3}},n?Object(m.c)(p.n,{color:"secondary",fullWidth:!0,onClick:function(){return e.remove(i)},variant:"contained"},t("delete")):Object(m.c)(p.mb,{"aria-label":"delete",size:"small",color:"secondary",onClick:function(){return e.remove(i)}},Object(m.c)(rT,{fontSize:"small"})))),Object(m.c)(p.ib,{item:!0,xs:0,sm:1,md:4,lg:6}))})))}}))})))},iT=function(e){return e.map((function(e){return"".concat(e.required?"required_":"").concat(e.key)}))},aT=function(e,t){var r,n=iT(e),o=iT(t),i=(r=n,o.filter((function(e){return!r.includes(e)}))),a={};return n.forEach((function(e){a[e]="true"})),i.forEach((function(e){a[e]=null})),a},sT=function(e){var t=e.index,r=e.arrayHelpers,n=e.isMobile,o=e.switchText,i=Object(j.b)().t,a=!n&amp;&amp;0!==t;return Object(m.c)(p.l,{display:"flex",alignItems:"end",mt:0===t?0:1},Object(m.c)(p.l,{display:"flex",alignItems:"center"},Object(m.c)(p.bb,{name:"labels.".concat(t,".required")}),Object(m.c)(p.mc,{lineHeight:"normal",textOverflow:"ellipsis",overflow:"hidden",mr:.5},o)),Object(m.c)(p.cb,{name:"labels.".concat(t,".key"),label:a?null:i("labels.key")}),Object(m.c)(p.mb,{"aria-label":"delete",size:"small",color:"secondary",onClick:function(){r.remove(t)}},Object(m.c)(p.B,{fontSize:"small"})))};function cT(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return lT(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return lT(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function lT(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var pT,uT=p.uc.WarningIcon,dT=function(e){var t=e.hostname,r=e.labels,i=e.initialLabels,a=e.dirty,s=Object(j.b)().t,c=cT(Object(n.useState)(),2),l=c[0],u=c[1],d=cT(Object(n.useState)(!1),2),f=d[0],b=d[1],h=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,n=e.mutationFn,o=e.showSuccessMessage,i=void 0===o||o,a=e.showErrorMessage,s=void 0===a||a,c=Object(j.b)(),l=c.t,p=Object(Sn.b)((function(e){var t=e.params,r=e.body,o=e.config,i=Object(I_.a)({path:"/streamers/{hostname}/preview_layout_change",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),a=i.pathWithParams,s=i.queryParams;return n&amp;&amp;Object(B.a)(n)?n({params:t,body:r,config:o}):fP.post(a,r,uP({params:s},o))}),(function(){return i&amp;&amp;l("preview_layout_change_for_streamer_config.successPostAlert")}),Object(B.g)(t)?t:{},s);return r?function(e){var t=e.params,r=e.body,n=e.config,o=lP(e,aP);return p.mutateAsync(uP({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=lP(e,sP);return p.mutate(uP({params:t,body:r,config:n},o))}}({showSuccessMessage:!1});Object(n.useEffect)((function(){return b(!0),a?pT=setTimeout((function(){var e=aT(r,i);h({params:{hostname:t},body:{labels:e},onSuccess:function(e){u(e.data.changes),b(!1)},onError:function(){return b(!1)}})}),3e3):(u(void 0),b(!1)),function(){clearTimeout(pT)}}),[r,a]);var y=Object(n.useMemo)((function(){return{items:[{title:s("layouts.hostname"),renderData:function(e){return e.hostname||Object(m.c)(p.mc,{color:"warning.main",variant:"body2",display:"flex",alignItems:"center",gap:1},Object(m.c)(uT,{fontSize:"small"}),s("layoutStreamerPrediction.noOneHost"))}},{title:s("layouts.role"),renderData:function(e){return e.role?s(e.role):""}},{title:s("layouts.before"),renderData:function(e){var t;return null!==(t=e.before)&amp;&amp;void 0!==t?t:""}},{title:s("layouts.after"),renderData:function(e){var t;return null!==(t=e.after)&amp;&amp;void 0!==t?t:""}},{title:s("layouts.delta"),renderData:function(e){var t,r=null!==(t=e.delta)&amp;&amp;void 0!==t?t:"";return r&amp;&amp;void 0!==e.after&amp;&amp;void 0!==e.before&amp;&amp;e.before&lt;e.after&amp;&amp;(r="+".concat(e.delta)),r}}]}}),[s]);return Object(m.c)(o.a.Fragment,null,(!(null==l||!l.length)||f)&amp;&amp;Object(m.c)(p.mc,{variant:"h6",mb:1},s("layoutStreamerPrediction.title")),0===(null==l?void 0:l.length)&amp;&amp;!f&amp;&amp;Object(m.c)(p.mc,{variant:"h6",mb:1},s("layoutPrediction.noDataFound")),Object(m.c)(p.Ub,{isLoading:f},!(null==l||!l.length)&amp;&amp;Object(m.c)(p.A,{data:l,columns:y})))},mT=function(){var e=Object(j.b)().t,t=Ge()().match.params.hostname,r=Object(p.zc)(),i=Object(p.yc)(r.breakpoints.down("lg")),a=Object(n.useContext)(u.c)===d.a,s=Object(_.Ib)({isAsync:!0}),c=vP({isAsync:!0}),l=Object(_.Gb)({params:{hostname:t},options:{enabled:a}}),f=l.data,b=l.isLoading,h=l.refetch,y=yP({params:{hostname:t},options:{enabled:d.l}}),g=y.data,v=y.isLoading,O=y.refetch,x=Object(n.useMemo)((function(){return function(e){var t=[];return e.length&amp;&amp;(t=e.map((function(e){return{required:e.includes("required"),key:e.replace("required_","")}}))),t}(d.l?Object.keys((null==g?void 0:g.labels)||{}):Object.keys((null==f?void 0:f.labels)||{}))}),[null==f?void 0:f.labels,null==g?void 0:g.labels]);return Object(m.c)(p.Ub,{isLoading:b||v},Object(m.c)(p.X,{initialValues:{labels:x},onSubmit:function(e,r){var n=d.l?c:s,o=d.l?O:h,i=aT(e.labels,x);return n({params:{hostname:t},body:{labels:i},onSuccess:function(){o().then((function(){return r.resetForm()}))},onError:function(){r.setSubmitting(!1)}})}},(function(r){var n=r.values,a=r.dirty;return Object(m.c)(o.a.Fragment,null,Object(m.c)(nd.b,{name:"labels"},(function(t){return Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,container:!0},Object(m.c)(p.mc,{display:"inline-block",variant:"h6"},e("labels.title")),Object(m.c)(p.l,{ml:2,display:"flex",justifyContent:"center",alignItems:"center"},Object(m.c)(p.k,{color:"primary",size:"small",variant:"contained",onClick:function(){t.push({key:""})},"data-testid":"label-add-button"},Object(m.c)(p.e,{fontSize:"small"})))),Object(m.c)(p.ib,{item:!0,xs:12,sm:8,lg:6},n.labels.map((function(r,n){return Object(m.c)(sT,{key:n,index:n,arrayHelpers:t,isMobile:i,switchText:e("labels.required")})}))))})),Object(m.c)(p.l,{mt:2},Object(m.c)(dT,{hostname:t,labels:n.labels,initialLabels:x,dirty:a})))})))},fT=function(e){var t=e.hideDvr,r=Object(n.useContext)(u.c),o=d.l||r===d.a?"/streamers/:hostname":"/cluster/:hostname";return Object(m.c)(U.Switch,null,Object(m.c)(U.Route,{path:o,render:function(){return Object(m.c)(WP,{hideDvr:t})},exact:!0}),Object(m.c)(U.Route,{path:"".concat(o,"/dvr"),render:function(){return d.l&amp;&amp;Object(m.c)(oT,null)},exact:!0}),Object(m.c)(U.Route,{path:"".concat(o,"/layout"),render:function(){return(d.l||r===d.a)&amp;&amp;Object(m.c)(mT,null)},exact:!0}))};function bT(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return hT(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return hT(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function hT(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var yT=function(){var e=bT(Object(n.useState)(!0),2),t=e[0],r=e[1];return Object(m.c)(qP,{"data-testid":"cluster-peer",hideDvr:t},Object(m.c)(fT,{hideDvr:r}))},gT=r(356),vT=r(1653);r(1529);function _T(e){return(_T="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function OT(){return(OT=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function jT(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function xT(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?jT(Object(r),!0).forEach((function(t){wT(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):jT(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function wT(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==_T(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==_T(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===_T(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function kT(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return ST(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ST(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ST(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var PT=function(){var e,t,r=Object(j.b)().t,o=kT(Object(n.useState)([]),2),i=o[0],a=o[1],s=yt({start:(e=new Date,t=new Date(e),t.setDate(t.getDate()-1),new Date(t.getFullYear(),t.getMonth(),t.getDate(),0,0,0).getTime()),end:Date.now()}),c=s.start,l=s.end,u=s.query,d=s.cursor,f=s.sort,b=s.handlePaginationChange,h=kT(Object(n.useState)({}),2),y=h[0],g=h[1];Object(n.useEffect)((function(){g({start:c?new Date(Number(c)):null,end:l?new Date(Number(l)):null,query:u})}),[c,l,u]);var v=Object(_.mc)({params:{datetime_gte:c||void 0,datetime_lte:l||void 0,step:c&amp;&amp;l?Math.floor((l-c)/1e3):void 0,q:u||void 0,limit:10,cursor:d||void 0,sort:f||void 0},options:{refetchInterval:3e3,onSuccess:function(e){a($o.a([],"usages")(e))}}}),O=v.isLoading,x=v.data,w=ar.a(null,["prev"])(x),k=ar.a(null,["next"])(x),S=function(){var e,t;Object(gT.a)(y.start)&amp;&amp;(e=new Date(y.start).getTime()),Object(gT.a)(y.end)&amp;&amp;(t=new Date(y.end).getTime()),b({start:e,end:t,query:y.query})},P=function(e){var t=$o.a({},"resources")(e),r=Object.keys(t).filter((function(e){return Object(B.e)(t[e])&amp;&amp;0!==t[e]}));return["".concat(wh(e.datetime)," UTC"),e.media||"",r.map((function(e,n){return Object(m.c)(p.ib,{container:!0,item:!0,xs:12,key:e,className:n===r.length-1?"usages-table-block-without-border":"uik-table-block"},Object(m.c)(p.ib,{item:!0,xs:6,className:"usages-resource-title"},so.a.schemas.cloud_resources.properties[e].title||e),Object(m.c)(p.ib,{item:!0,xs:6},function(e,t){switch(t){case"seconds":return _e.a.getFormattedTime(e,!0);case"bytes":return _e.a.bytes(e);case"bps":return _e.a.bps(e);default:return"".concat(e," ").concat(t||"")}}(t[e],so.a.schemas.cloud_resources.properties[e].format)))}))]},T=function(e){return function(t){g(xT(xT({},y),{},wT({},e,t)))}},C=function(e){return Object(m.c)(vT.a,{autoOk:!0,fullWidth:!0,disableToolbar:!0,disableFuture:!0,variant:"inline",ampm:!1,inputFormat:"dd-MM-yyyy HH:mm:ss",value:$o.a(null,e)(y),onChange:T(e),renderInput:function(t){return Object(m.c)(p.fc,OT({fullWidth:!0,label:r("usages.".concat(e)),inputProps:xT({"data-testid":"usage-filter-".concat(e)},t.inputProps)},cu.a(["inputProps"],t)))}})};return Object(m.c)(p.Lb,{id:"usages"},Object(m.c)(p.Mb,{testId:"usages"}),Object(m.c)(p.ib,{container:!0,spacing:2,alignItems:"flex-end"},Object(m.c)(p.ib,{item:!0,container:!0,xs:12,sm:6,md:5,lg:4,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,sm:6},C("start")),Object(m.c)(p.ib,{item:!0,xs:12,sm:6},C("end"))),Object(m.c)(p.ib,{item:!0,container:!0,spacing:2,xs:12,sm:6,md:5,lg:4,alignItems:"flex-end"},Object(m.c)(p.ib,{item:!0},Object(m.c)(p.n,{color:"primary",variant:"contained",size:"small",onClick:S},r("apply"))))),Object(m.c)(p.eb,null,Object(m.c)(p.l,{mb:2,className:"pagination-preloader"},Object(m.c)(p.ec,{nextCursor:k,prevCursor:w,handlePaginationChange:b}),O&amp;&amp;Object(m.c)(p.l,{ml:2},Object(m.c)(p.u,{size:30,color:"primary"}))),Object(m.c)(p.eb,null,Object(m.c)(p.cc,{settings:[{title:"usages.date",lg:3},{title:"usages.stream",lg:3},{title:"usages.item",lg:3},{title:"usages.usage",lg:3}],body:i.map((function(e){return Object(m.c)(p.ib,{item:!0,container:!0,xs:12,alignItems:"flex-start",key:"".concat(e.media,"-").concat(e.datetime),className:"uik-table-block"},P(e).map((function(e,t){return Object(m.c)(p.dc,{settings:[{title:"usages.date",lg:3},{title:"usages.stream",lg:3},{title:"usages.usage",lg:6}],index:t,cell:e,key:t})})))}))}))))},TT=/^[A-Za-z0-9./_-]*$/,CT={name:"",url:""},IT=function(){var e=Object(j.b)().t,t=Ge()().history,r=Object(_.Zb)(),o=ho({validateFn:function(e){return Object(_.Xb)({params:{name:e}}).then((function(){return!1})).catch((function(){return!0}))}}),i=Object(n.useMemo)((function(){return ao.d().shape({name:ao.e().test("unique","usedNameError",o).matches(TT,{message:"validNameError"}).required("required")})}),[o]);return Object(m.c)(p.X,{initialValues:CT,onSubmit:function(e){if(e.name){var n=[];e.url&amp;&amp;n.push({url:e.url}),r({params:{name:e.name},body:{name:e.name,inputs:n},onSuccess:function(){t.push("/templates/".concat(e.name))}})}},validationSchema:i,initialTouched:{name:!0}},(function(){return Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:4},Object(m.c)(p.cb,{name:"name",docDescription:so.a.schemas.template_config_specific.properties.name.description,autoFocus:!0,label:e("templatesList.templateNameLabel"),inputProps:{"data-testid":"new-template-name"}})),Object(m.c)(p.ib,{item:!0,xs:12,md:6,lg:4},Object(m.c)(p.cb,{name:"url",label:e("templatesList.sourceUrlLabel"),inputProps:{"data-testid":"new-template-url"}})))}))},AT=function(){var e=Object(j.b)().t,t=Ge()().history,r=Object(p.zc)(),o=Object(n.useMemo)((function(){return ao.d().shape({url:ao.e().required("required").test("validation without error notification","",(function(e){var t=new RegExp(so.a.schemas.source_specific_config.properties.url.pattern);return void 0===e||t.test(e)}))})}),[e]),i=Object(_.qb)({isAsync:!0});return Object(m.c)(p.X,{initialValues:{url:""},onSubmit:function(e){var r=e.url;return i({params:{url:r},body:{url:r},onSuccess:function(){t.push("/sources/".concat(encodeURIComponent(r)))}})},validationSchema:o,initialTouched:{url:!0}},(function(t){var n=t.errors;return Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,md:5,lg:4},Object(m.c)(p.cb,{name:"url",label:e("sourcesList.newItemForm.urlLabel"),inputProps:{"data-testid":"new-origin-url"},autoFocus:!0,docDescription:so.a.schemas.source_specific_config.properties.url.description}),""===n.url&amp;&amp;Object(m.c)(p.mc,{mt:"3px",variant:"body1",lineHeight:1.66,color:r.palette.error.main},e("sourcesList.newItemForm.urlError"))))}))},DT=ao.d().shape({name:ao.e().required("required")}),ET=function(){var e=Object(j.b)().t,t=Ge()().history,r=Object(_.qc)({isAsync:!0});return Object(m.c)(p.X,{initialValues:{name:"",path:""},onSubmit:function(e){return r({params:{prefix:e.name},body:{prefix:e.name,storages:e.path?[{url:e.path}]:[]},onSuccess:function(){t.push("/vods/".concat(e.name))}})},validationSchema:DT},(function(){return Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,sm:6,md:4},Object(m.c)(p.cb,{name:"name",label:e("vods.newItemForm.nameLabel"),inputProps:{"data-testid":"new-vod-name"},docDescription:so.a.schemas.vod_config.properties.prefix.description,autoFocus:!0})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,md:4},Object(m.c)(p.cb,{name:"path",label:e("vods.newItemForm.fileDirPathLabel"),inputProps:{"data-testid":"new-vod-file"},docDescription:so.a.schemas.vod_storage.properties.url.description})))}))};function $T(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return NT(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return NT(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function NT(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var LT=function(){var e,t=Object(j.b)().t,r=$T(Object(n.useState)(""),2),o=r[0],i=r[1],a=Ge()().history,s=(Object(_.y)({params:{name:o},options:{enabled:!!o}}).data?t("usedNameError"):"")||(e={value:o}.value,Tv.test(e)?"":"multiplexer.validators.nameError"),c=Object(_.z)(),l=Object(n.useMemo)((function(){return ao.d().shape({name:ao.e().required("required").test({test:function(){return""===s},message:s}).required("required")})}),[s]);return Object(m.c)(p.X,{initialValues:{name:"",hw:null},onSubmit:function(e){var t=e.name,r=e.hw;return c({params:{name:t},body:{name:t,hw:r},onSuccess:function(){a.push("/dvb-cards")}})},validationSchema:l},(function(){return Object(m.c)(p.ib,{container:!0,spacing:2},Object(m.c)(p.ib,{item:!0,xs:12,sm:6,md:4},Object(m.c)(p.cb,{name:"name",onChange:function(e){return i(e.target.value)},label:t("dvbCard.nameLabel"),inputProps:{"data-testid":"new-dvb-card-name"},docDescription:so.a.schemas.dvb_card_config.properties.name.description,autoFocus:!0,errorText:t(s)})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,md:4},Object(m.c)(p.ab,{fullWidth:!0,name:"hw",label:t("dvbCard.hw"),items:mv,"data-testid":"new-dvb-card-hw"})))}))},RT=Object(p.wc)()((function(){return{wrapper:{background:"#F8F9FB"}}})),qT=function(){var e=Object(j.b)().t,t=Ge()().location,r=RT().classes,o=new URLSearchParams(t.search).get("entity"),i=Object(n.useContext)(u.c);return Object(m.c)(kn,null,Object(m.c)(p.l,{className:r.wrapper,p:2},o===d.c.stream&amp;&amp;(i===d.b?Object(m.c)(po,null):Object(m.c)(_o,null)),o===d.c.template&amp;&amp;Object(m.c)(IT,null),o===d.c.source&amp;&amp;Object(m.c)(AT,null),o===d.c.vod&amp;&amp;Object(m.c)(ET,null),o===d.c.multiplexer&amp;&amp;Object(m.c)(kg,null),o===d.c.dvbCard&amp;&amp;Object(m.c)(LT,null),o===d.c.agent&amp;&amp;Object(m.c)(p.mc,{variant:"subtitle2"},e("agents.newAgent"))))},MT=[{name:"headerTopNav.audit_logs",to:"/audit_logs"}],FT=function(){var e=Object(j.b)().t,t=yt({limit:ct.a}),r=t.limit,i=t.cursor,a=t.handlePaginationChange,s=Object(_.i)({options:{keepPreviousData:!0},params:{cursor:i||void 0,limit:r||void 0}}),c=s.data,l=s.isLoading,u=(null==c?void 0:c.api_calls)||[],d=Object(n.useMemo)((function(){return{items:[{title:e("audit_logs.created_at"),renderData:function(e){return Object(m.c)(p.mc,{variant:"body2"},e.created_at?Object(hh.a)(new Date(e.created_at),"yyyy-MM-dd hh:mm:ss"):""," ","UTC")}},{title:e("audit_logs.ip"),grow:.5,renderData:function(e){return Object(m.c)(p.mc,{variant:"body2"},e.ip?"".concat(e.ip):"")}},{title:e("audit_logs.user_agent"),renderData:function(e){return Object(m.c)(p.mc,{variant:"body2"},e.user_agent?"".concat(e.user_agent):"")}},{title:e("audit_logs.operation_id"),grow:1.5,renderData:function(e){return Object(m.c)(p.mc,{variant:"body2"},e.operation_id?"".concat(e.operation_id):"")}},{title:e("audit_logs.object"),renderData:function(e){return Object(m.c)(p.mc,{variant:"body2"},function(e){if(!e)return null;var t;switch(e.type){case"agent":t=e.agent_id;break;case"api_key":t=e.key_id;break;case"disk_file":t=e.subpath;break;case"stream":t=Object(m.c)(p.yb,{component:Mt.b,to:"/streams/".concat(e.name)},e.title);break;case"vod":t=Object(m.c)(p.yb,{component:Mt.b,to:"/vods/".concat(e.prefix)},e.prefix);break;case"project":t=e.project_id;break;default:t=null}return Object(m.c)(o.a.Fragment,null,e.type,": ",t)}(e.object))}},{title:e("audit_logs.payload"),grow:2,renderData:function(e){return Object(m.c)(p.mc,{variant:"body2"},e.payload?"".concat(e.payload):"")}},{title:e("audit_logs.status"),grow:.5,renderData:function(e){return Object(m.c)(p.mc,{variant:"body2"},e.status?"".concat(e.status):"")}},{title:e("audit_logs.duration"),grow:.5,renderData:function(e){return Object(m.c)(p.mc,{variant:"body2"},e.duration)}},{title:e("audit_logs.request_id"),renderData:function(e){return Object(m.c)(p.mc,{variant:"body2"},e.request_id?"".concat(e.request_id):"")}}]}}),[e]);return Object(m.c)(p.Lb,{menuItems:MT},Object(m.c)(p.Mb,{testId:"audit_logs"}),!l&amp;&amp;Object(m.c)(p.A,{data:u,primaryKey:"request_id",titleMobile:e("headerTopNav.audit_logs"),columns:d,nextCursor:null==c?void 0:c.next,prevCursor:null==c?void 0:c.prev,handlePaginationChange:a}),l&amp;&amp;Object(m.c)(p.l,{textAlign:"center",width:"100%"},Object(m.c)(p.u,{size:30,color:"primary"})))},UT=function(){var e=Object(j.b)().t;return Object(m.c)(p.l,{"data-testid":"source-input",display:"flex",flexDirection:"column",width:{md:"60%",xl:"50%"},gap:2},Object(m.c)(p.cb,{name:"url",docDescription:so.a.schemas.source_specific_config.properties.url.description,label:e("source-url"),inputProps:{"data-testid":"source-url"}}),Object(m.c)(p.cb,{name:"cluster_key",docDescription:so.a.schemas.source_specific_config.properties.cluster_key.description,label:e("source-cluster_key")}))},zT=function(){var e=Object(j.b)().t;return Object(m.c)(p.l,{"data-testid":"source-process"},Object(m.c)(p.S,{label:e("process.thumbnailsLabel"),description:e("process.thumbnailsLabelDetail"),docDescription:so.a.schemas.thumbnails_enabled_spec.oneOf[0].description+so.a.schemas.thumbnails_enabled_spec.oneOf[1].description}),Object(m.c)(p.Y,{name:"thumbnails.enabled",label:e("enabled"),"data-testid":"thumbnails-enabled",value:!0}),Object(m.c)(p.Y,{name:"thumbnails.enabled",label:e("onDemand"),"data-testid":"thumbnails-enabled-ondemand",value:"ondemand"}),Object(m.c)(p.Y,{name:"thumbnails",label:e("disabled"),"data-testid":"thumbnails-disabled",value:null,allowUndefined:!0}))},BT=r(350),HT=function(){var e=Object(j.b)().t;return Object(m.c)(p.l,{"data-testid":"source-overview",mb:2},Object(m.c)(p.ib,{container:!0,spacing:2,style:{marginRight:0,width:"100%"}},Object(m.c)(p.ib,{item:!0,xs:12,md:8,xl:6},Object(m.c)(p.l,{mb:1},Object(m.c)(p.S,{label:e("overviewPage.ignoredStreamsLabel"),description:e("overviewPage.ignoredStreamsDetailLabel")}),Object(m.c)(p.U,{name:"except",items:[],multiple:!0,freeSolo:!0,autoSelect:!0,docDescription:so.a.schemas.source_specific_config.properties.except.description})),Object(m.c)(p.S,{label:e("overviewPage.takenStreamsLabel"),description:e("overviewPage.takenStreamsDetailLabel")}),Object(m.c)(p.U,{name:"only",items:[],multiple:!0,freeSolo:!0,autoSelect:!0,docDescription:so.a.schemas.source_specific_config.properties.only.description}))))};function VT(e){return(VT="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function WT(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
WT=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function l(e,t,r,o){var i=t&amp;&amp;t.prototype instanceof d?t:d,a=Object.create(i.prototype),s=new k(o||[]);return n(a,"_invoke",{value:O(e,r,s)}),a}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=l;var u={};function d(){}function m(){}function f(){}var b={};c(b,i,(function(){return this}));var h=Object.getPrototypeOf,y=h&amp;&amp;h(h(S([])));y&amp;&amp;y!==t&amp;&amp;r.call(y,i)&amp;&amp;(b=y);var g=f.prototype=d.prototype=Object.create(b);function v(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function _(e,t){var o;n(this,"_invoke",{value:function(n,i){function a(){return new t((function(o,a){!function n(o,i,a,s){var c=p(e[o],e,i);if("throw"!==c.type){var l=c.arg,u=l.value;return u&amp;&amp;"object"==VT(u)&amp;&amp;r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(u).then((function(e){l.value=e,a(l)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}(n,i,o,a)}))}return o=o?o.then(a,a):a()}})}function O(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return P()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var s=j(a,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&amp;&amp;r.abrupt("return",r.arg);n="executing";var c=p(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===u)continue;return{value:c.arg,done:r.done}}"throw"===c.type&amp;&amp;(n="completed",r.method="throw",r.arg=c.arg)}}}function j(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&amp;&amp;e.iterator.return&amp;&amp;(t.method="return",t.arg=void 0,j(e,t),"throw"===t.method)||"return"!==r&amp;&amp;(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),u;var o=p(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,u;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&amp;&amp;(t.method="next",t.arg=void 0),t.delegate=null,u):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function x(e){var t={tryLoc:e[0]};1 in e&amp;&amp;(t.catchLoc=e[1]),2 in e&amp;&amp;(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function w(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function S(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n&lt;e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:P}}function P(){return{value:void 0,done:!0}}return m.prototype=f,n(g,"constructor",{value:f,configurable:!0}),n(f,"constructor",{value:m,configurable:!0}),m.displayName=c(f,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&amp;&amp;e.constructor;return!!t&amp;&amp;(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,c(e,s,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},v(_.prototype),c(_.prototype,a,(function(){return this})),e.AsyncIterator=_,e.async=function(t,r,n,o,i){void 0===i&amp;&amp;(i=Promise);var a=new _(l(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},v(g),c(g,s,"Generator"),c(g,i,(function(){return this})),c(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=S,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(w),!e)for(var t in this)"t"===t.charAt(0)&amp;&amp;r.call(this,t)&amp;&amp;!isNaN(+t.slice(1))&amp;&amp;(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&amp;&amp;(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o&gt;=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc&lt;=this.prev){var s=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(s&amp;&amp;c){if(this.prev&lt;i.catchLoc)return n(i.catchLoc,!0);if(this.prev&lt;i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev&lt;i.catchLoc)return n(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev&lt;i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n&gt;=0;--n){var o=this.tryEntries[n];if(o.tryLoc&lt;=this.prev&amp;&amp;r.call(o,"finallyLoc")&amp;&amp;this.prev&lt;o.finallyLoc){var i=o;break}}i&amp;&amp;("break"===e||"continue"===e)&amp;&amp;i.tryLoc&lt;=t&amp;&amp;t&lt;=i.finallyLoc&amp;&amp;(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&amp;&amp;t&amp;&amp;(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t&gt;=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),w(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t&gt;=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;w(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:S(e),resultName:t,nextLoc:r},"next"===this.method&amp;&amp;(this.arg=void 0),u}},e}function GT(e,t,r,n,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}var KT=ao.d().shape({url:ao.e().required("required")}),YT=function(){var e=Object(j.b)().t,t=Object(U.useHistory)(),r=Object(U.useParams)().name,o=decodeURIComponent(r),i=Object(n.useMemo)((function(){return function(e){var t="/sources/:name".replace(":name",encodeURIComponent(e));return[{name:"innerHeader.overview",to:t},{name:"innerHeader.input",to:"".concat(t,"/input")},{name:"innerHeader.process",to:"".concat(t,"/process")},{name:"innerHeader.dvr",to:"".concat(t,"/dvr")},{name:"innerHeader.output",to:"".concat(t,"/output")},{name:"innerHeader.auth",to:"".concat(t,"/auth")}]}(o)}),[o]),a=Object(U.useRouteMatch)(),s=Object(U.useLocation)(),c=Object(_.ob)({params:{url:o}}),l=c.data,u=c.isLoading,d=c.refetch,f=Object(_.nb)({isAsync:!0}),b=Object(_.qb)({isAsync:!0}),h=function(){var e,r=(e=WT().mark((function e(r){var n,i,s;return WT().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=Object(Rh.a)(l,r)).url||!l){e.next=12;break}return delete(s=lt.a(r)).stats,s.pushes=null===(i=s.pushes)||void 0===i?void 0:i.map((function(e){var t=lt.a(e);return cu.a(["stats"])(t)})),e.next=7,f({params:{url:o}});case 7:return e.next=9,b({params:{url:n.url},body:s});case 9:t.push(Object(U.generatePath)(a.path,{name:encodeURIComponent(n.url)})),e.next=16;break;case 12:return e.next=14,b({params:{url:o},body:n});case 14:return e.next=16,d();case 16:case"end":return e.stop()}}),e)})),function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(e){GT(i,n,o,a,s,"next",e)}function s(e){GT(i,n,o,a,s,"throw",e)}a(void 0)}))});return function(e){return r.apply(this,arguments)}}(),y=Object(nd.f)({initialValues:l,enableReinitialize:!0,onSubmit:h,validationSchema:KT}),g=y.isSubmitting,v=y.dirty,O=y.isValid;Object(n.useEffect)((function(){y.resetForm({values:l})}),[s.pathname]);return Object(m.c)(p.Lb,{menuItems:i,id:"media-page",route:"sources"},Object(m.c)(p.Ub,{isLoading:u},Object(m.c)(nd.e,{value:y},Object(m.c)(BT.a,null,Object(m.c)(BT.b,null,Object(m.c)(U.Switch,null,Object(m.c)(U.Route,{path:"/sources/:name",render:function(){return Object(m.c)(HT,null)},exact:!0}),Object(m.c)(U.Route,{path:"".concat("/sources/:name","/input"),render:function(){return Object(m.c)(UT,null)}}),Object(m.c)(U.Route,{path:"".concat("/sources/:name","/process"),render:function(){return Object(m.c)(zT,null)}}))),Object(m.c)(BT.c,null,Object(m.c)(p.n,{variant:"contained",color:"secondary",size:"small",onClick:function(){window.confirm(e("reallyDelete",{mediaName:o}))&amp;&amp;f({params:{url:o}}).finally((function(){return t.push("/sources")}))},"data-testid":"delete-stream-button"},e("headerSourcePage.removeSource")),Object(m.c)(p.n,{color:"primary",size:"small",variant:"contained",type:"submit","data-testid":"saveButton",disabled:g||!v||!O,endIcon:g&amp;&amp;Object(m.c)(p.u,{size:20,color:"primary"})},e("save")))))))},JT=function(e){var t=e.disabled,r=e.toggleVodDisabled,n=e.savedStorages,o=Object(j.b)().t,i=Object(p.zc)(),a=Object(U.useRouteMatch)(),s=Object(nd.g)().values;return Object(m.c)(p.l,{"data-testid":"vod-overview"},Object(m.c)(p.ib,{container:!0},Object(m.c)(p.ib,{item:!0,container:!0,spacing:2,xs:12,md:11},Object(m.c)(p.ib,{item:!0,xs:8,sm:7},Object(m.c)(p.cb,{name:"prefix",docDescription:so.a.schemas.vod_config.properties.prefix.description,label:o("vod-prefix"),inputProps:{"data-testid":"vod-prefix"}})),Object(m.c)(p.ib,{item:!0,xs:4,sm:5,display:"flex",alignItems:"flex-end"},Object(m.c)(p.n,{"data-testid":"vod-".concat(t?"enable":"disable","-button"),onClick:function(){return r(!t)}},o(t?"enable":"disable")))),Object(m.c)(p.ib,{item:!0,xs:12,md:8},Object(m.c)(nd.b,{name:"storages"},(function(e){var t;return Object(m.c)(p.l,{mt:2},Object(m.c)(p.mc,{variant:"h6"},o("vods.storages"),Object(m.c)(p.l,{ml:2,display:"inline-block"},Object(m.c)(p.k,{color:"primary",size:"small",variant:"contained",onClick:function(){e.push({url:""})},"data-testid":"vod-storage-add-button"},Object(m.c)(p.e,{fontSize:"small"})))),null===(t=s.storages)||void 0===t?void 0:t.map((function(t,r){var s=!(null==n||!n[r]);return(Object(m.c)(p.l,{mt:1,key:r,display:"flex",alignItems:"center",gap:1},Object(m.c)(p.cb,{name:"storages.".concat(r,".url"),inputProps:{"data-testid":"vod-storages-".concat(r)},label:o("path",{pathNumber:r+1})}),Object(m.c)(p.l,{pt:3,display:"flex",alignItems:"center"},!s&amp;&amp;Object(m.c)(p.mc,{"data-testid":"unsaved-vod-path-".concat(r),color:i.palette.grey[600],variant:"caption"},o("unsaved")),s&amp;&amp;Object(m.c)(p.n,{"aria-label":o("edit"),color:"primary",component:Mt.a,to:{pathname:"".concat(a.url,"/tree/").concat(r),state:{name:a.params.name,number:r}},"data-testid":"browse-vod-path-".concat(r)},o("browse")),Object(m.c)(p.mb,{"aria-label":o("remove"),color:"secondary",onClick:function(){return e.remove(r)},"data-testid":"remove-vod-path-".concat(r),size:"large"},Object(m.c)(p.B,{fontSize:"small"})))))})))})))))},QT=function(){var e,t,r,n=Object(j.b)().t,o=Object(nd.g)().values;return Object(m.c)(p.l,{"data-testid":"vod-input"},Object(m.c)(p.ib,{container:!0,spacing:2,style:{width:"100%"}},Object(m.c)(p.ib,{item:!0,xs:12,lg:8,xl:6},Object(m.c)(p.S,{label:n("vodOutputPush.enableMbrFromMultipleFilesLabel"),docDescription:so.a.schemas.vod_config.properties.auto_mbr.description}),Object(m.c)(p.Y,{name:"auto_mbr",label:n("disabled"),"data-testid":"vod-mbr-disabled",value:!1,allowUndefined:!0}),Object(m.c)(p.Y,{name:"auto_mbr",label:n("enabled"),"data-testid":"vod-mbr-enabled",value:!0}),Object(m.c)(p.l,{mt:1},Object(m.c)(p.cb,{name:"read_queue",label:n("vod-read_queue"),docDescription:so.a.schemas.vod_config.properties.read_queue.description,inputProps:{"data-testid":"vod-read_queue"},type:"number"}))),Object(m.c)(p.ib,{item:!0,xs:12},Object(m.c)(p.l,{mt:2},Object(m.c)(p.mc,{variant:"h5"},n("streamOutputPage.cache.title")))),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,lg:4,xl:3},Object(m.c)(p.cb,{name:"cache.path",label:n("vod-cache-path"),docDescription:so.a.schemas.cache_spec.properties.path.description,inputProps:{"data-testid":"vod-cache-path"}})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,lg:4,xl:3},Object(m.c)(p.db,{name:"cache.storage_limit",label:n("vods-cache-storage_limit"),format:"bytes",inputProps:{"data-testid":"vods-cache-storage_limit"},docDescription:so.a.schemas.cache_spec.properties.storage_limit.description,disabled:!(null!==(e=o.cache)&amp;&amp;void 0!==e&amp;&amp;e.path)})),Object(m.c)(p.lb,{lgDown:!0,only:"xl"},Object(m.c)(p.ib,{item:!0,lg:4})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,lg:4,xl:3},Object(m.c)(p.db,{name:"cache.expiration",label:n("vods-cache-expiration"),format:"time",inputProps:{"data-testid":"vods-cache-expiration"},docDescription:so.a.schemas.cache_spec.properties.expiration.description,disabled:!(null!==(t=o.cache)&amp;&amp;void 0!==t&amp;&amp;t.path)})),Object(m.c)(p.ib,{item:!0,xs:12,sm:6,lg:4,xl:3},Object(m.c)(p.cb,{name:"cache.misses",label:n("vod-cache-misses"),docDescription:so.a.schemas.cache_spec.properties.misses.description,type:"number",inputProps:{min:0,"data-testid":"vod-cache-misses"},disabled:!(null!==(r=o.cache)&amp;&amp;void 0!==r&amp;&amp;r.path)}))))};function XT(e){return(XT="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function ZT(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
ZT=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function l(e,t,r,o){var i=t&amp;&amp;t.prototype instanceof d?t:d,a=Object.create(i.prototype),s=new k(o||[]);return n(a,"_invoke",{value:O(e,r,s)}),a}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=l;var u={};function d(){}function m(){}function f(){}var b={};c(b,i,(function(){return this}));var h=Object.getPrototypeOf,y=h&amp;&amp;h(h(S([])));y&amp;&amp;y!==t&amp;&amp;r.call(y,i)&amp;&amp;(b=y);var g=f.prototype=d.prototype=Object.create(b);function v(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function _(e,t){var o;n(this,"_invoke",{value:function(n,i){function a(){return new t((function(o,a){!function n(o,i,a,s){var c=p(e[o],e,i);if("throw"!==c.type){var l=c.arg,u=l.value;return u&amp;&amp;"object"==XT(u)&amp;&amp;r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(u).then((function(e){l.value=e,a(l)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}(n,i,o,a)}))}return o=o?o.then(a,a):a()}})}function O(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return P()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var s=j(a,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&amp;&amp;r.abrupt("return",r.arg);n="executing";var c=p(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===u)continue;return{value:c.arg,done:r.done}}"throw"===c.type&amp;&amp;(n="completed",r.method="throw",r.arg=c.arg)}}}function j(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&amp;&amp;e.iterator.return&amp;&amp;(t.method="return",t.arg=void 0,j(e,t),"throw"===t.method)||"return"!==r&amp;&amp;(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),u;var o=p(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,u;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&amp;&amp;(t.method="next",t.arg=void 0),t.delegate=null,u):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function x(e){var t={tryLoc:e[0]};1 in e&amp;&amp;(t.catchLoc=e[1]),2 in e&amp;&amp;(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function w(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function S(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n&lt;e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:P}}function P(){return{value:void 0,done:!0}}return m.prototype=f,n(g,"constructor",{value:f,configurable:!0}),n(f,"constructor",{value:m,configurable:!0}),m.displayName=c(f,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&amp;&amp;e.constructor;return!!t&amp;&amp;(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,c(e,s,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},v(_.prototype),c(_.prototype,a,(function(){return this})),e.AsyncIterator=_,e.async=function(t,r,n,o,i){void 0===i&amp;&amp;(i=Promise);var a=new _(l(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},v(g),c(g,s,"Generator"),c(g,i,(function(){return this})),c(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=S,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(w),!e)for(var t in this)"t"===t.charAt(0)&amp;&amp;r.call(this,t)&amp;&amp;!isNaN(+t.slice(1))&amp;&amp;(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&amp;&amp;(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o&gt;=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc&lt;=this.prev){var s=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(s&amp;&amp;c){if(this.prev&lt;i.catchLoc)return n(i.catchLoc,!0);if(this.prev&lt;i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev&lt;i.catchLoc)return n(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev&lt;i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n&gt;=0;--n){var o=this.tryEntries[n];if(o.tryLoc&lt;=this.prev&amp;&amp;r.call(o,"finallyLoc")&amp;&amp;this.prev&lt;o.finallyLoc){var i=o;break}}i&amp;&amp;("break"===e||"continue"===e)&amp;&amp;i.tryLoc&lt;=t&amp;&amp;t&lt;=i.finallyLoc&amp;&amp;(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&amp;&amp;t&amp;&amp;(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t&gt;=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),w(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t&gt;=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;w(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:S(e),resultName:t,nextLoc:r},"next"===this.method&amp;&amp;(this.arg=void 0),u}},e}function eC(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function tC(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?eC(Object(r),!0).forEach((function(t){rC(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):eC(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function rC(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==XT(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==XT(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===XT(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function nC(e,t,r,n,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}function oC(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return iC(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return iC(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function iC(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var aC=function(){var e=Object(j.b)().t,t=Object(U.useHistory)(),r=Object(U.useRouteMatch)(),o=Object(U.useParams)().name,i=Object(n.useMemo)((function(){return function(e){var t="/vods/:name".replace(":name",encodeURIComponent(e));return[{name:"innerHeader.overview",to:t},{name:"innerHeader.input",to:"".concat(t,"/input")},{name:"innerHeader.output",to:"".concat(t,"/output")},{name:"innerHeader.auth",to:"".concat(t,"/auth")}]}(o)}),[o]),a=oC(Object(n.useState)(!1),2),s=a[0],c=a[1],l=function(){return c(!0)},u=Object(_.oc)({params:{prefix:o}}),d=u.isLoading,f=u.data,b=u.refetch,h=Object(_.nc)({isAsync:!0}),y=Object(_.qc)({isAsync:!0}),g=function(e){y({params:{prefix:o},body:{disabled:e}}).then((function(){return b()}))},v=function(){var e,n=(e=ZT().mark((function e(n,i){var a,s,c;return ZT().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null===(null==(s=Object(Rh.a)(f,n))?void 0:null===(a=s.cache)||void 0===a?void 0:a.path)&amp;&amp;(s.cache.storage_limit=null,s.cache.expiration=null,s.cache.misses=null),!s.prefix||!f){e.next=10;break}return e.next=5,h({params:{prefix:o}});case 5:return e.next=7,y({params:{prefix:s.prefix},body:tC(tC({},n),s)});case 7:t.push(Object(U.generatePath)(r.path,{name:encodeURIComponent(s.prefix)})),e.next=15;break;case 10:return e.next=12,y({params:{prefix:o},body:s});case 12:c=e.sent,i.resetForm({values:c.data}),b();case 15:case"end":return e.stop()}}),e)})),function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(e){nC(i,n,o,a,s,"next",e)}function s(e){nC(i,n,o,a,s,"throw",e)}a(void 0)}))});return function(e,t){return n.apply(this,arguments)}}();return Object(m.c)(p.Lb,{menuItems:i,id:"media-page",route:"vods"},Object(m.c)(p.Ub,{isLoading:d},Object(m.c)(nd.d,{initialValues:f,onSubmit:v},(function(t){var r=t.resetForm;return Object(m.c)(p.fb,null,Object(m.c)(p.qc,{onLocationChange:function(){r({values:f})}}),Object(m.c)(p.gb,null,Object(m.c)(U.Switch,null,Object(m.c)(U.Route,{path:"/vods/:name",render:function(){return Object(m.c)(JT,{disabled:null==f?void 0:f.disabled,toggleVodDisabled:g,savedStorages:null==f?void 0:f.storages})},exact:!0}),Object(m.c)(U.Route,{exact:!0,path:"".concat("/vods/:name","/input"),render:function(){return Object(m.c)(QT,null)}}))),Object(m.c)(p.hb,null,Object(m.c)(p.n,{variant:"contained",color:"secondary",size:"small",onClick:l,"data-testid":"delete-stream-button"},e("headerVodPage.removeVod")),Object(m.c)(p.Z,null)))}))),Object(m.c)(p.C,{open:s,handleClose:function(){return c(!1)},onDelete:function(){var e=decodeURIComponent(o);h({params:{prefix:e},onSuccess:function(){return t.push("/vods")}})},title:e("confirmDelete",{name:o}),notice:e("deleteNoticeQuestion",{name:o}),removeButtonText:e("vods.deleteVodButtonText")}))},sC=Object(p.wc)()((function(e){return{cell:{borderBottom:"1px solid ".concat(e.palette.grey[300]),paddingBlock:e.spacing(1)}}})),cC=function(){var e=Object(j.b)().t,t=Object(U.useParams)().id,r=Object(U.useHistory)(),i=sC().classes,a=Object(_.g)({params:{id:t}}).data,s=Object(n.useMemo)((function(){var t,r,n,o,i,s,c,l,p,u,d,f,b,h,y,g,v,_;return a?[{title:e("agents.id"),value:a.id},{title:e("agents.stats.serial"),value:null!==(t=null===(r=a.stats)||void 0===r?void 0:r.serial)&amp;&amp;void 0!==t?t:"-"},{title:e("agents.stats.peer_ip"),value:null!==(n=null===(o=a.stats)||void 0===o?void 0:o.peer_ip)&amp;&amp;void 0!==n?n:"-"},{title:e("agents.stats.local_ip"),value:null!==(i=null===(s=a.stats)||void 0===s?void 0:s.local_ip)&amp;&amp;void 0!==i?i:"-"},{title:e("agents.stats.mac_address"),value:null!==(c=null===(l=a.stats)||void 0===l?void 0:l.mac_address)&amp;&amp;void 0!==c?c:"-"},{title:e("agents.stats.version"),value:null!==(p=null===(u=a.stats)||void 0===u?void 0:u.version)&amp;&amp;void 0!==p?p:"-"},{title:e("agents.stats.agent_type"),value:null!==(d=null===(f=a.stats)||void 0===f?void 0:f.agent_type)&amp;&amp;void 0!==d?d:"-"},{title:e("agents.stats.connections_requested"),value:null!==(b=null===(h=a.stats)||void 0===h?void 0:h.connections_requested)&amp;&amp;void 0!==b?b:"-"},{title:e("agents.stats.connections_established"),value:null!==(y=null===(g=a.stats)||void 0===g?void 0:g.connections_established)&amp;&amp;void 0!==y?y:"-"},{title:e("agents.stats.endpoint_connection"),value:Object(m.c)(b_,{connectionStats:null===(v=a.stats)||void 0===v?void 0:v.endpoint_connection})},{title:e("agents.stats.streampoint_connection"),value:Object(m.c)(b_,{connectionStats:null===(_=a.stats)||void 0===_?void 0:_.streampoint_connection})}]:[]}),[a,e]);return Object(m.c)(kn,null,Object(m.c)("div",null,Object(m.c)(p.ib,{item:!0,container:!0,spacing:2,xs:12,alignItems:"center"},Object(m.c)(p.ib,{item:!0},Object(m.c)(p.n,{color:"primary",variant:"outlined",onClick:function(){return r.push("/agents")},"data-testid":"handle-back",size:"small"},"â† ",e("agents.backToList"))),Object(m.c)(p.ib,{item:!0},Object(m.c)(p.mc,{variant:"h6"},null==a?void 0:a.id))),Object(m.c)(p.l,{mt:2,width:{xs:"100%",md:"50%"}},Object(m.c)(p.ib,{container:!0,spacing:1},s.map((function(e,t){var r=t===s.length-1;return(Object(m.c)(o.a.Fragment,{key:t},Object(m.c)(p.ib,{item:!0,xs:4,className:r?void 0:i.cell},Object(m.c)(p.mc,{variant:"subtitle2"},e.title)),Object(m.c)(p.ib,{item:!0,xs:8,className:r?void 0:i.cell},e.value)))}))))))},lC=r(1550),pC=Object(p.wc)()((function(e){return{photoLayout:{width:94,height:56,position:"relative",marginLeft:"auto",backgroundColor:e.palette.grey[400],borderRadius:8,overflow:"hidden"},photo:{maxHeight:"100%",position:"absolute",top:0,left:0,width:"100%",height:"100%",objectFit:"cover"}}})),uC=function(e){var t=e.isLoading,r=e.data,o=e.handlePaginationChange,i=Object(j.b)().t,a=pC().classes,s=Object(p.zc)(),c=Object(p.yc)(s.breakpoints.down("lg")),l=Object(n.useMemo)((function(){return{items:[{title:c?"":i("events.person"),renderData:function(e){var t;return Object(m.c)(p.l,{display:"flex",alignItems:"center",gap:2},e.photos&amp;&amp;Object(m.c)(p.nb,{variant:"standard",cols:null==e?void 0:null===(t=e.photos)||void 0===t?void 0:t.length,gap:8},Object(m.c)(p.ob,{key:Object(lC.a)()},Object(m.c)(p.yb,{to:"/persons/".concat(e.person_id),className:a.photoLayout,component:Mt.b},Object(m.c)("img",{srcSet:"data:".concat(e.photos[0].mime_type,";base64,").concat(e.photos[0].data),src:"data:".concat(e.photos[0].mime_type,";base64,").concat(e.photos[0].data),alt:"",loading:"lazy",className:a.photo})))),Object(m.c)(p.yb,{to:"/persons/".concat(null==e?void 0:e.person_id),component:Mt.b},Object(m.c)(p.mc,{variant:"body2"},e.name)))},breakWord:!0}]}}),[i]);return Object(m.c)(p.Ub,{isLoading:t},Object(m.c)(p.A,{titleMobile:i("events.person"),data:null==r?void 0:r.persons,columns:l,primaryKey:"person_id",nextCursor:null==r?void 0:r.next,prevCursor:null==r?void 0:r.prev,handlePaginationChange:o}))},dC=function(){var e=yt({}),t=e.cursor,r=e.handlePaginationChange,n=Object(_.jb)({params:{cursor:t},options:{keepPreviousData:!0}}),o=n.data,i=n.isLoading;return Object(m.c)(p.Lb,null,Object(m.c)(uC,{isLoading:i,data:o,handlePaginationChange:r}))},mC=["params","body","config"],fC=["params","body","config"],bC=["params","body","config"],hC=["params","body","config"];function yC(e){return(yC="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function gC(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}function vC(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _C(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?vC(Object(r),!0).forEach((function(t){OC(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):vC(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function OC(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==yC(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==yC(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===yC(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var jC=Object(z.c)(!1),xC=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(I_.a)({path:"/pins",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return jC.get(o,_C({params:i},r))};function wC(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return kC(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return kC(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function kC(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var SC=function(e){var t=e.pin,r=e.index,i=Object(j.b)().t,a=wC(Object(n.useState)(!1),2),s=a[0],c=a[1],l=wC(Object(n.useState)(t),2),u=l[0],d=l[1],f=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,n=e.mutationFn,o=e.showSuccessMessage,i=void 0===o||o,a=e.showErrorMessage,s=void 0===a||a,c=Object(j.b)(),l=c.t,p=Object(Sn.b)((function(e){var t=e.params,r=e.body,o=e.config,i=Object(I_.a)({path:"/pins/{pinNumber}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),a=i.pathWithParams,s=i.queryParams;return n&amp;&amp;Object(B.a)(n)?n({params:t,body:r,config:o}):jC.put(a,r,_C({params:s},o))}),(function(){return i&amp;&amp;l("pins_switch.successPutAlert")}),Object(B.g)(t)?t:{},s);return r?function(e){var t=e.params,r=e.body,n=e.config,o=gC(e,mC);return p.mutateAsync(_C({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=gC(e,fC);return p.mutate(_C({params:t,body:r,config:n},o))}}();Object(n.useEffect)((function(){d(t)}),[t]);var b=function(){c(!1)};return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.R,{control:Object(m.c)(p.bc,{onChange:function(){c(!0)},disabled:!1,checked:u}),label:Object(m.c)(p.mc,{variant:"h6"},r+1),labelPlacement:"top"}),Object(m.c)(p.C,{open:s,handleClose:b,onDelete:function(){d(!u),f({params:{pinNumber:r},onSuccess:function(e){var t,n=e.data;d(!(null==n||null===(t=n.pins)||void 0===t||!t[r]))},onError:function(){d(t)}}),b()},title:i("confirmAction"),notice:"",removeButtonText:i("confirm")}))};function PC(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return TC(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return TC(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function TC(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var CC=function(){var e,t=Object(j.b)().t,r=PC(Object(n.useState)(!1),2),o=r[0],i=r[1],a=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,n=e.config,o=e.queryFn;return Object(Sn.a)({queryKey:["streamer_pins_list",t],queryFn:function(){return o&amp;&amp;Object(B.a)(o)?o():xC({params:t,config:n})},options:r})}({options:{refetchInterval:1e3}}).data,s=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,n=e.mutationFn,o=e.showSuccessMessage,i=void 0===o||o,a=e.showErrorMessage,s=void 0===a||a,c=Object(j.b)(),l=c.t,p=Object(Sn.b)((function(e){var t=e.params,r=e.body,o=e.config,i=Object(I_.a)({path:"/pins/reset",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),a=i.pathWithParams,s=i.queryParams;return n&amp;&amp;Object(B.a)(n)?n({params:t,body:r,config:o}):jC.post(a,r,_C({params:s},o))}),(function(){return i&amp;&amp;l("pins_reset.successPostAlert")}),Object(B.g)(t)?t:{},s);return r?function(e){var t=e.params,r=e.body,n=e.config,o=gC(e,bC);return p.mutateAsync(_C({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=gC(e,hC);return p.mutate(_C({params:t,body:r,config:n},o))}}(),c=function(){i(!1)};return Object(m.c)(p.Lb,null,Object(m.c)(p.l,{display:"flex",flexWrap:"wrap"},null==a?void 0:null===(e=a.pins)||void 0===e?void 0:e.map((function(e,t){return Object(m.c)(SC,{key:t,index:t,pin:!!e})}))),Object(m.c)(p.l,{mt:6},Object(m.c)(p.n,{variant:"contained",color:"secondary",onClick:function(){i(!0)}},t("reset"))),Object(m.c)(p.C,{open:o,handleClose:c,onDelete:function(){s({}),c()},title:t("confirmAction"),notice:"",removeButtonText:t("confirm")}))};function IC(e){return(IC="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function AC(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==IC(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==IC(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===IC(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var DC=Object(p.wc)()((function(){return{root:{background:"#F5F5F5",height:36,borderRadius:50}}})),EC=Object(p.wc)()((function(e){var t;return AC(AC(AC(AC(AC(AC(AC(AC(AC(AC(t={chip:{fontWeight:500,height:26}},Sc.e.OPERATIONAL,{backgroundColor:Object(p.rc)(e.palette.success.main,.15)}),Sc.e.DEGRADATED,{backgroundColor:Object(p.rc)("#F79E1B",.15)}),Sc.e.PARTIAL_OUTAGE,{backgroundColor:Object(p.rc)("#F87316",.15)}),Sc.e.OUTAGE,{backgroundColor:Object(p.rc)("#C11030",.15)}),Sc.e.DISABLED,{backgroundColor:Object(p.rc)("#6C778B",.15)}),"icon_".concat(Sc.e.OPERATIONAL),{color:e.palette.success.main}),"icon_".concat(Sc.e.DEGRADATED),{color:"#F79E1B"}),"icon_".concat(Sc.e.OUTAGE),{color:"#C11030"}),"icon_".concat(Sc.e.DISABLED),{color:"#6C778B"}),"icon_".concat(Sc.e.PARTIAL_OUTAGE),{color:"#F87316"}),AC(t,"icon",{fontSize:15})})),$C=Object(p.wc)()((function(e){return AC(AC(AC(AC(AC({progress:{height:20,borderRadius:5},percent:{position:"absolute",zIndex:1,left:e.spacing(1),top:0,color:e.palette.common.white,fontWeight:500}},"progress_".concat(Sc.e.OPERATIONAL),AC(AC({},"&amp;.".concat(p.vc.colorPrimary),{backgroundColor:Object(p.rc)(e.palette.success.main,.15)}),"&amp; .".concat(p.vc.barColorPrimary),{backgroundColor:e.palette.success.main})),"progress_".concat(Sc.e.DEGRADATED),AC(AC({},"&amp;.".concat(p.vc.colorPrimary),{backgroundColor:Object(p.rc)("#F79E1B",.15)}),"&amp; .".concat(p.vc.barColorPrimary),{backgroundColor:"#F79E1B"})),"progress_".concat(Sc.e.PARTIAL_OUTAGE),AC(AC({},"&amp;.".concat(p.vc.colorPrimary),{backgroundColor:Object(p.rc)("#F87316",.15)}),"&amp; .".concat(p.vc.barColorPrimary),{backgroundColor:"#F87316"})),"progress_".concat(Sc.e.OUTAGE),AC(AC({},"&amp;.".concat(p.vc.colorPrimary),{backgroundColor:Object(p.rc)("#C11030",.15)}),"&amp; .".concat(p.vc.barColorPrimary),{backgroundColor:"#C11030"})),"progress_".concat(Sc.e.DISABLED),AC(AC({},"&amp;.".concat(p.vc.colorPrimary),{backgroundColor:Object(p.rc)("#6C778B",.15)}),"&amp; .".concat(p.vc.barColorPrimary),{backgroundColor:"#6C778B"}))})),NC=p.uc.ErrorIcon,LC=p.uc.WarningIcon,RC=p.uc.IconCheckMark,qC=p.uc.IconDisabledTwo,MC=p.uc.IconErrorTwo,FC=function(e){var t=e.type,r=EC().classes,o=Object(n.useMemo)((function(){switch(t){case Sc.e.OPERATIONAL:return Object(m.c)(RC,null);case Sc.e.DEGRADATED:return Object(m.c)(NC,{className:r.icon});case Sc.e.PARTIAL_OUTAGE:return Object(m.c)(LC,{className:r.icon});case Sc.e.DISABLED:return Object(m.c)(qC,null);case Sc.e.OUTAGE:return Object(m.c)(MC,null);default:return null}}),[r.icon,t]);return Object(m.c)(p.l,{className:r["icon_".concat(t)]},o)},UC=function(e){var t=e.text,r=e.type,n=EC(),o=n.classes,i=n.cx;return Object(m.c)(p.t,{className:i(o.chip,o[r]),label:Object(m.c)(p.l,{display:"flex",alignItems:"center",gap:1,lineHeight:1},Object(m.c)(FC,{type:r}),null!=t?t:"")})},zC=function(e){var t=e.data,r=e.mt;return Object(m.c)(p.l,{display:"flex",flexWrap:"wrap",gap:1,mt:r},null!=t&amp;&amp;t.operational?Object(m.c)(UC,{type:Sc.e.OPERATIONAL,text:null==t?void 0:t.operational}):"",null!=t&amp;&amp;t.degradated?Object(m.c)(UC,{type:Sc.e.DEGRADATED,text:null==t?void 0:t.degradated}):"",null!=t&amp;&amp;t.partial_outage?Object(m.c)(UC,{type:Sc.e.PARTIAL_OUTAGE,text:null==t?void 0:t.partial_outage}):"",null!=t&amp;&amp;t.disabled?Object(m.c)(UC,{type:Sc.e.DISABLED,text:null==t?void 0:t.disabled}):"",null!=t&amp;&amp;t.outage?Object(m.c)(UC,{type:Sc.e.OUTAGE,text:null==t?void 0:t.outage}):"")},BC=function(e){var t=e.title,r=e.totalData;return Object(m.c)(p.Kb,{title:null},Object(m.c)(p.mc,{variant:"body2"},t),Object(m.c)(p.mc,{variant:"h6",fontSize:22},null==r?void 0:r.total),Object(m.c)(zC,{data:r,mt:2}))},HC=function(e){var t=e.type,r=e.details,n=DC().classes;return Object(m.c)(p.t,{classes:{root:n.root},label:Object(m.c)(p.l,{display:"flex",alignItems:"center",gap:1,lineHeight:1},r,Object(m.c)(p.l,{my:1},Object(m.c)(UC,{type:t})))})},VC=function(e){var t,r,n=e.data,o=Object(j.b)().t,i=null==n?void 0:null===(t=n.streamer_bitrate_metrics_total)||void 0===t?void 0:t.input_kbit,a=null==n?void 0:null===(r=n.streamer_bitrate_metrics_total)||void 0===r?void 0:r.output_kbit;return Object(m.c)(p.Kb,{title:Object(m.c)(p.l,{display:"flex",flexWrap:"wrap",justifyContent:"space-between"},Object(m.c)(p.mc,{fontSize:18,fontWeight:500,mb:1},o("health.clusterHealthStatus")),Object(m.c)(p.l,{display:"flex",flexWrap:"wrap",gap:1},Object(m.c)(HC,{details:o("health.operational"),type:Sc.e.OPERATIONAL}),Object(m.c)(HC,{details:o("health.degraded"),type:Sc.e.DEGRADATED}),Object(m.c)(HC,{details:o("health.partialOutage"),type:Sc.e.PARTIAL_OUTAGE}),Object(m.c)(HC,{details:o("health.disabled"),type:Sc.e.DISABLED}),Object(m.c)(HC,{details:o("health.error"),type:Sc.e.OUTAGE})))},Object(m.c)(p.ib,{container:!0,spacing:2,my:3},Object(m.c)(p.ib,{container:!0,item:!0},Object(m.c)(p.mc,null,"".concat(o("health.bitrate")," ").concat(i&amp;&amp;_e.a.bps(1e3*i)," ").concat(o("health.in")," / ").concat(a&amp;&amp;_e.a.bps(1e3*a)," ").concat(o("health.out")))),Object(m.c)(p.ib,{item:!0,xs:4},Object(m.c)(BC,{title:o("health.allStreamers"),totalData:null==n?void 0:n.streamer_metrics_total})),Object(m.c)(p.ib,{item:!0,xs:4},Object(m.c)(BC,{title:o("health.allStreams"),totalData:null==n?void 0:n.stream_metrics_total})),Object(m.c)(p.ib,{item:!0,xs:4},Object(m.c)(BC,{title:o("health.allAgents"),totalData:null==n?void 0:n.agent_metrics_total}))))},WC=function(e){var t=e.value,r=e.status,n=$C(),o=n.classes,i=n.cx;return r?Object(m.c)(p.l,{position:"relative"},Object(m.c)(p.mc,{className:o.percent,variant:"body2"},"".concat(t,"%")),Object(m.c)(p.xb,{className:i(o.progress,o["progress_".concat(r)]),variant:"determinate",value:t})):null},GC=function(e){var t=e.data,r=Object(j.b)().t,o=Object(n.useMemo)((function(){return{items:[{title:r("health.streamer"),renderData:function(e){return Object(m.c)(p.l,{display:"flex",alignItems:"center",gap:1,lineHeight:1},e.status&amp;&amp;Object(m.c)(FC,{type:e.status}),Object(m.c)(p.mc,{variant:"body2"},e.hostname))},breakWord:!0},{title:r("health.config"),renderData:function(e){var t,r;return(null===(t=e.config)||void 0===t?void 0:t.status)&amp;&amp;Object(m.c)(FC,{type:null===(r=e.config)||void 0===r?void 0:r.status})}},{title:r("health.streams"),renderData:function(e){return Object(m.c)(zC,{data:e.stream_metrics})}},{title:r("health.agents"),renderData:function(e){return Object(m.c)(zC,{data:e.agent_metrics})}},{title:r("health.cpu"),renderData:function(e){var t,r,n,o;return Object(m.c)(WC,{value:null!==(t=null===(r=e.cpu)||void 0===r?void 0:r.usage)&amp;&amp;void 0!==t?t:0,status:null!==(n=null===(o=e.cpu)||void 0===o?void 0:o.status)&amp;&amp;void 0!==n?n:""})}},{title:r("health.memory"),renderData:function(e){var t,r,n,o;return Object(m.c)(WC,{value:null!==(t=null===(r=e.memory)||void 0===r?void 0:r.usage)&amp;&amp;void 0!==t?t:0,status:null!==(n=null===(o=e.memory)||void 0===o?void 0:o.status)&amp;&amp;void 0!==n?n:""})}},{title:r("health.storage"),renderData:function(e){var t,r,n,o;return Object(m.c)(WC,{value:null!==(t=null===(r=e.storage)||void 0===r?void 0:r.usage)&amp;&amp;void 0!==t?t:0,status:null!==(n=null===(o=e.storage)||void 0===o?void 0:o.status)&amp;&amp;void 0!==n?n:""})}},{title:r("health.uptime"),renderData:function(e){return null!=e&amp;&amp;e.uptime?_e.a.seconds(null==e?void 0:e.uptime):"-"}}]}}),[r]);return Object(m.c)(p.A,{data:t,columns:o,titleMobile:r("health.streamers")})},KC=function(){var e=Object(_.n)({options:{refetchInterval:3e3}}),t=e.data,r=e.isLoading;return Object(m.c)(p.Lb,null,Object(m.c)(p.Ub,{isLoading:r},Object(m.c)(VC,{data:t}),Object(m.c)(p.l,{mt:3},Object(m.c)(GC,{data:null==t?void 0:t.streamer_metrics}))))},YC=p.uc.IconCarEvents,JC=p.uc.IconPersonEvents,QC=p.uc.IconDetectedEvents,XC=p.uc.IconMotionDetected,ZC=p.uc.IconManDiscovered,eI=p.uc.IconCarDetected,tI=function(){var e=Object(j.b)().t,t=Object(n.useMemo)((function(){return[{episode_type:"generic",text:e("episodes_list.filterValues.generic"),icon:Object(m.c)(QC,null),roundedIcon:Object(m.c)(XC,null)},{episode_type:"face",text:e("episodes_list.filterValues.face"),icon:Object(m.c)(JC,null),roundedIcon:Object(m.c)(ZC,null)},{episode_type:"vehicle",text:e("episodes_list.filterValues.vehicle"),icon:Object(m.c)(YC,null),roundedIcon:Object(m.c)(eI,null)}]}),[e]),r=Object(n.useCallback)((function(e){var r;if(e)return null===(r=t.find((function(t){return t.episode_type===e})))||void 0===r?void 0:r.icon}),[t]),i=Object(n.useCallback)((function(e){var r;if(e)return null===(r=t.find((function(t){return t.episode_type===e})))||void 0===r?void 0:r.roundedIcon}),[t]),a=Object(n.useCallback)((function(e){var r,n,o,i,a=null!==(r=null===(n=t.find((function(t){return t.episode_type===e.episode_type})))||void 0===n?void 0:n.text)&amp;&amp;void 0!==r?r:"";switch(e.episode_type){case"face":return null!==(o=null===(i=e.matched_persons)||void 0===i?void 0:i.map((function(e){return e.person.person_id})).join(", "))&amp;&amp;void 0!==o?o:a;case"vehicle":return e.license_plate_text;default:return a}}),[t]),s=Object(n.useCallback)((function(e){switch(e.episode_type){case d.e.face:var t;return"matched_persons"in e?null===(t=e.matched_persons)||void 0===t?void 0:t.map((function(e){return Object(m.c)(o.a.Fragment,{key:Object(lC.a)()},e.person.name)})):"";case d.e.vehicle:return"license_plate_text"in e?e.license_plate_text:"";default:return""}}),[]);return{episodeTypeInfoList:t,getEpisodeTypeIcon:r,getEpisodeTypeRoundedIcon:i,getEpisodeMatch:a,getEpisodeName:s}};function rI(e){return(rI="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function nI(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==rI(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==rI(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===rI(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var oI=Object(p.wc)()((function(e){return{episode:nI(nI(nI(nI(nI(nI({},e.breakpoints.up("sm"),{borderRadius:12}),"overflow","hidden"),"fontSize",12),"position","relative"),"display","flex"),"flexDirection","column"),unknown:{background:Object(p.rc)("#C11030",.6)},known:{background:Object(p.rc)("#10B981",.6)},episodeContent:{aspectRatio:"16/9"},preview:{width:"100%",height:"100%",position:"relative",marginLeft:"auto",backgroundColor:"rgb(107, 107, 113)",overflow:"hidden",cursor:"pointer"},previewImage:{maxHeight:"100%",position:"absolute",top:0,left:0,width:"100%",height:"100%",objectFit:"contain"},episodeTop:{position:"absolute",top:10,right:10,left:10,display:"flex",gap:e.spacing(1),justifyContent:"space-between",alignItems:"flex-start",zIndex:1},modalPlayerPaper:nI({width:960,backgroundColor:"#000"},e.breakpoints.down("sm"),{margin:0,height:"100%",maxHeight:"100%"}),modalPlayerCloseButton:{position:"absolute",right:8,top:0,color:e.palette.grey[500]},modalPlayerIframe:{height:"100%",width:"100%"},episodeFooter:{color:"#fff",display:"flex",gap:e.spacing(1),justifyContent:"space-between",alignItems:"center",padding:e.spacing(1,2),backgroundColor:"#31353D"},cameraName:{textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",fontSize:12,color:"#fff",fontWeight:500},episodeType:{color:"#fff",fontSize:14,display:"flex",alignItems:"center",gap:e.spacing(.5),padding:e.spacing(.5,1),backgroundColor:"#6B6B71",borderRadius:48,overflow:"hidden",wordBreak:"break-all",flexShrink:0},episodeInfWrapper:{marginLeft:"auto",maxWidth:"50%",flexShrink:0,minHeight:47,display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column"},episodeTypeIcon:{color:"#F7B047",fontSize:15,lineHeight:1,borderRadius:"50%",display:"flex",position:"relative","&amp;:before":{content:'""',position:"absolute",width:"80%",height:"80%",top:"10%",left:"10%",backgroundColor:"#fff",borderRadius:"50%"},"&amp;&gt;span":{position:"relative"}},episodeTypeText:{fontSize:12,color:"#fff"},videoPreview:{objectFit:"contain"}}}));function iI(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return aI(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return aI(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function aI(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var sI=Object(p.wc)()((function(e,t){return{button:{color:t.color}}})),cI=function(e){var t=e.episode,r=e.token,o=e.color,i=e.streamingEndpoint,a=sI({color:o}).classes,s=iI(Object(n.useState)(!1),2),c=s[0],l=s[1];return t.closed_at?Object(m.c)(p.mb,{className:a.button,disabled:c,size:"small",onClick:function(e){if(e.stopPropagation(),t.closed_at){l(!0);var n=_e.a.msToFixedSec(t.opened_at-d.o),o=function(e){if(null==e)return e;var t=e/1e3;return t&lt;1?1:Math.floor(t)}(t.closed_at-(t.opened_at-d.o));Object(jt.d)({params:{name:t.media,from:n,duration:o},config:{params:r?{token:r}:{},responseType:"blob",baseURL:i||Object(T.b)()}}).then((function(e){v_(e.data,"".concat(t.media,"_").concat(n,"_").concat(o,".mp4"))})).finally((function(){return l(!1)}))}}},Object(m.c)(p.K,null)):null},lI=r(862),pI=r(318),uI=function(e,t){return"".concat(e.streaming_endpoint||Object(T.b)(),"/").concat(e.media,"/").concat(t,"-preview.mp4?token=").concat(e.playback_token)},dI=function(e){var t=e.item,r=e.getVideoPreview,n=e.classPreview,o=0;null!=t&amp;&amp;t.preview_timestamp?o=Math.floor(t.preview_timestamp/1e3):null!=t&amp;&amp;t.opened_at&amp;&amp;(o=Math.floor(t.opened_at/1e3));var i=t.playback_token,a=oI(),s=a.classes,c=a.cx,l=Object(jt.c)({params:{name:t.media,from:o},options:{enabled:(!t.preview||r)&amp;&amp;!!o&amp;&amp;!Object(pI.a)()},config:{params:i?{token:i}:{},responseType:"arraybuffer",baseURL:t.streaming_endpoint||Object(T.b)()}}).data,u=Object(lI.a)(l);return t.preview&amp;&amp;!r?Object(m.c)("img",{src:"data:image;base64,".concat(t.preview),alt:"",className:c(s.previewImage,n)}):Object(m.c)(p.nc,{videoSrc:u,classPreview:c(s.videoPreview,n),previewUrl:uI(t,o)})},mI=function(e){var t=e.anchorEl,r=e.setAnchorEl,n=e.episode,o=Boolean(t);return Object(m.c)(p.Pb,{sx:{pointerEvents:"none"},open:o,anchorEl:t,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:function(){return r(null)},disableRestoreFocus:!0},Object(m.c)(p.l,{width:150,height:30},Object(m.c)(dI,{item:n})))};function fI(e){return(fI="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function bI(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==fI(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==fI(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===fI(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function hI(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return yI(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return yI(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function yI(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var gI=function(e){var t,r,o,i,a,s,c,l,u,f,b=e.episode,h=e.token,y=e.streamingEndpoint,g=Object(j.b)().t,v=oI(),_=v.classes,O=v.cx,x=tI(),w=x.getEpisodeTypeRoundedIcon,k=x.getEpisodeName,S=hI(Object(n.useState)(null),2),P=S[0],T=S[1],C=hI(Object(n.useState)(!1),2),I=C[0],A=C[1],D="matched_persons"in b&amp;&amp;b.matched_persons&amp;&amp;(null===(t=b.matched_persons)||void 0===t?void 0:t.length)&gt;0;D&amp;&amp;(a=null==b?void 0:null===(c=b.matched_persons)||void 0===c?void 0:null===(l=c[0])||void 0===l?void 0:l.person.is_unknown,s=null==b?void 0:null===(u=b.matched_persons)||void 0===u?void 0:null===(f=u[0])||void 0===f?void 0:f.person.visits_today);var E=(null===(r=b.stream)||void 0===r?void 0:r.title)||(null===(o=b.stream)||void 0===o?void 0:o.name)||b.media,$=wt({from:_e.a.msToFixedSec(+b.opened_at-d.o),to:b.closed_at?_e.a.msToFixedSec(+b.closed_at):void 0,name:b.media,autoplay:!0,token:h,streamingEndpoint:y}),N=b.closed_at&amp;&amp;" (".concat(_e.a.getFormattedTime(b.closed_at-(b.opened_at-d.o),!1,"",!0),")");return Object(m.c)(p.l,{className:_.episode},Object(m.c)("div",{className:_.episodeContent},!I&amp;&amp;Object(m.c)("div",{className:_.preview,onClick:function(){A(!0)}},Object(m.c)(dI,{item:b,getVideoPreview:b.episode_type===d.e.vehicle})),I&amp;&amp;Object(m.c)("iframe",{allowFullScreen:!0,title:"Player",frameBorder:"0",src:$,className:_.modalPlayerIframe})),Object(m.c)("div",{className:O(_.episodeFooter,bI(bI({},_.unknown,a),_.known,void 0!==a&amp;&amp;!a))},Object(m.c)(p.l,{display:"flex",flexDirection:"column",overflow:"hidden"},Object(m.c)(p.mc,{className:_.cameraName},E),Object(m.c)(p.mc,{fontSize:12},wh(b.opened_at),N)),Object(m.c)(p.l,{className:_.episodeInfWrapper},Object(m.c)("div",{className:_.episodeType,"aria-owns":P?"mouse-over-popover":void 0,"aria-haspopup":"true",onMouseEnter:function(e){b.episode_type===d.e.vehicle&amp;&amp;T(e.currentTarget)},onMouseLeave:function(){T(null)}},Object(m.c)("span",{className:_.episodeTypeIcon},w(b.episode_type)),b.episode_type===d.e.face&amp;&amp;D?Object(m.c)(p.yb,{to:"/persons/".concat(null==b?void 0:null===(i=b.matched_persons)||void 0===i?void 0:i[0].person.person_id),component:Mt.b,className:_.episodeTypeText},k(b)):Object(m.c)("span",{className:_.episodeTypeText},k(b)),Object(m.c)(mI,{anchorEl:P,setAnchorEl:T,episode:b})),s?Object(m.c)(p.l,{textAlign:"center"},Object(m.c)(p.mc,{variant:"caption",component:"span"},g("episode.seen")),Object(m.c)(p.mc,{variant:"body2",component:"span"},s),Object(m.c)(p.mc,{variant:"caption",component:"span"},g("episode.times"))):""),Object(m.c)(cI,{episode:b,token:h,color:"white",streamingEndpoint:y})))},vI=r(209);function _I(e){return(_I="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function OI(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==_I(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==_I(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===_I(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function jI(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return xI(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return xI(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function xI(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var wI=p.uc.IconCamera,kI=p.uc.IconDuration,SI=Object(p.wc)()((function(e){return{episode:{backgroundColor:e.palette.grey[200],borderRadius:8,display:"flex",alignItems:"center",gap:e.spacing(1),fontSize:12,cursor:"pointer",position:"relative",border:"1px solid transparent"},infWrapper:{padding:e.spacing(1,0,1,2)},unknown:{background:Object(p.rc)("#C11030",.1)},known:{background:Object(p.rc)("#10B981",.1)},episodeSelected:{border:"1px solid ".concat(e.palette.warning.main)},typeIcon:{color:e.palette.warning.main,fontSize:26,"&amp; span":{borderRadius:"50%"}},preview:{width:122,height:70,position:"relative",backgroundColor:e.palette.grey[400],borderRadius:"0 8px 8px 0",overflow:"hidden"},visits:{position:"relative",marginLeft:"auto",cursor:"pointer"},icon:{color:"rgba(0, 0, 0, .54)",marginRight:e.spacing(.5)},iconCamera:{verticalAlign:"middle"},disableCursorPointer:{cursor:"default"},link:{color:e.palette.text.primary}}})),PI=function(e){var t,r,i,a,s,c,l,u,f,b,h=e.episode,y=e.isSelected,g=e.onEpisodeClick,v=e.token,_=e.streamingEndpoint,O=e.showCameraName,x=e.episode_type,w=e.disableCursorPointer,k=e.filters,S=e.index,P=e.enabledFade,T=Object(j.b)().t,C=SI(),I=C.classes,A=C.cx,D=tI(),E=D.getEpisodeTypeIcon,$=D.getEpisodeName,N=jI(Object(n.useState)(null),2),L=N[0],R=N[1],q="matched_persons"in h&amp;&amp;h.matched_persons&amp;&amp;(null===(t=h.matched_persons)||void 0===t?void 0:t.length)&gt;0;q&amp;&amp;(s=null==h?void 0:null===(l=h.matched_persons)||void 0===l?void 0:null===(u=l[0])||void 0===u?void 0:u.person.is_unknown,c=null==h?void 0:null===(f=h.matched_persons)||void 0===f?void 0:null===(b=f[0])||void 0===b?void 0:b.person.visits_today);var M=(null===(r=h.stream)||void 0===r?void 0:r.title)||(null===(i=h.stream)||void 0===i?void 0:i.name)||h.media,F=h.closed_at&amp;&amp;" (".concat(_e.a.getFormattedTime(h.closed_at-(h.opened_at-d.o),!1,"",!0),")");return Object(m.c)(p.P,{in:!0,timeout:0===S&amp;&amp;P?2e3:0},Object(m.c)(p.l,{key:h.episode_id,className:A(I.episode,x===d.e.face?OI({},I.disableCursorPointer,w):"",OI(OI(OI({},I.episodeSelected,y),I.unknown,s),I.known,void 0!==s&amp;&amp;!s)),onClick:function(){return null==g?void 0:g(h)}},Object(m.c)(p.l,{width:34,pl:2},Object(m.c)(p.l,{className:I.typeIcon},E(h.episode_type))),Object(m.c)("div",{className:I.infWrapper},Object(m.c)(p.l,{display:"flex",alignItems:"center",gap:1},Object(m.c)(cI,{episode:h,token:v,streamingEndpoint:_}),h.episode_type===d.e.face&amp;&amp;q?Object(m.c)(p.yb,{to:"/persons/".concat(null==h?void 0:null===(a=h.matched_persons)||void 0===a?void 0:a[0].person.person_id),component:Mt.b,className:I.link},Object(m.c)(p.mc,{fontWeight:500},$(h))):Object(m.c)(p.mc,{fontWeight:500,"aria-owns":L?"mouse-over-popover":void 0,"aria-haspopup":"true",onMouseEnter:function(e){h.episode_type===d.e.vehicle&amp;&amp;R(e.currentTarget)},onMouseLeave:function(){return R(null)},sx:{cursor:h.episode_type===d.e.vehicle?"auto":"pointer"},onClick:function(e){h.episode_type===d.e.vehicle&amp;&amp;e.stopPropagation()}},$(h)),Object(m.c)(mI,{anchorEl:L,setAnchorEl:R,episode:h})),Object(m.c)(p.l,null,(null==k?void 0:k.group_view)&amp;&amp;Object(m.c)(p.mc,{mr:1,component:"span"},T("events_lastSeen")),Object(m.c)(p.mc,{component:"span",fontWeight:500},O&amp;&amp;Object(m.c)(o.a.Fragment,null,Object(m.c)(p.l,{className:A(I.icon,I.iconCamera),mt:.5,display:"inline"},Object(m.c)(wI,null)),M)),Object(m.c)(p.l,{component:"span"},O&amp;&amp;Object(m.c)(p.l,{className:I.icon,display:"inline",ml:1},Object(m.c)(kI,null)),wh(h.opened_at),F))),Object(m.c)(p.l,{className:I.visits,textAlign:"center"},c&amp;&amp;null!=k&amp;&amp;k.group_view?Object(m.c)(o.a.Fragment,null,Object(m.c)(p.mc,{variant:"caption"},T("episode.seen")),Object(m.c)(p.mc,{variant:"h5"},c),Object(m.c)(p.mc,{variant:"caption"},T("episode.times"))):""),Object(m.c)("div",{className:I.preview},Object(m.c)(dI,{item:h,getVideoPreview:h.episode_type===d.e.vehicle}))))};function TI(e){return(TI="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function CI(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==TI(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==TI(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===TI(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}p.uc.CloseIcon,Object(p.wc)()((function(e){return{modalPlayerPaper:CI({width:960,backgroundColor:"#000"},e.breakpoints.down("sm"),{margin:0,height:"100%",maxHeight:"100%"}),modalPlayerCloseButton:{position:"absolute",right:8,top:0,color:e.palette.grey[500]},modalPlayerIframe:CI({height:440,width:"100%"},e.breakpoints.down("sm"),{height:"100%"})}}));function II(e){return function(e){if(Array.isArray(e))return EI(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||DI(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function AI(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||DI(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function DI(e,t){if(e){if("string"==typeof e)return EI(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?EI(e,t):void 0}}function EI(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var $I=p.uc.ArrowDropDownIcon,NI=p.uc.IconAllEvents,LI=Object(p.wc)()((function(){return{sortIcon:{lineHeight:1,display:"inline-flex"},dropdownButton:{fontWeight:400,paddingTop:3,paddingBottom:3,whiteSpace:"nowrap",height:32,minWidth:145}}})),RI=function(e){var t=e.episode_type,r=e.onChange,i=Object(j.b)().t,a=LI().classes,s=AI(o.a.useState(null),2),c=s[0],l=s[1],u=Boolean(c),d=tI().episodeTypeInfoList,f=Object(n.useMemo)((function(){return[{icon:Object(m.c)(NI,null),text:i("episodes_list.filterValues.all")}].concat(II(d))}),[d,i]),b=Object(n.useMemo)((function(){return f.find((function(e){return e.episode_type===t}))}),[f,t]),h=function(){l(null)};return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.n,{id:"dropdown-button-episode-filter","aria-controls":u?"dropdown-menu-episode-filter":void 0,"aria-haspopup":"true","aria-expanded":u?"true":void 0,onClick:function(e){l(e.currentTarget)},startIcon:Object(m.c)("span",{className:a.sortIcon},null==b?void 0:b.icon),endIcon:Object(m.c)($I,null),variant:"outlined",color:"inherit",className:a.dropdownButton},null==b?void 0:b.text),Object(m.c)(p.Fb,{id:"dropdown-menu-episode-filter",anchorEl:c,open:u,onClose:h,MenuListProps:{"aria-labelledby":"dropdown-button-episode-filter"}},Object(m.c)("div",null,f.map((function(e,n){return Object(m.c)(o.a.Fragment,{key:n},!!n&amp;&amp;Object(m.c)(p.J,{style:{margin:0}}),Object(m.c)(p.Gb,{selected:e.episode_type===t,onClick:function(){r(e.episode_type),h()}},Object(m.c)(p.l,{display:"flex",alignItems:"center",gap:2},Object(m.c)(p.mc,{fontSize:27},e.icon),Object(m.c)(p.mc,{fontSize:14},e.text))))})))))},qI=r(265);function MI(){return(MI=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function FI(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return UI(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return UI(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function UI(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var zI=p.uc.SearchIcon,BI=function(e){var t,r=e.onChange,o=e.filters,i=Object(qI.b)({label:void 0}),a=i.classes,s=i.cx,c=Object(j.b)().t,l=FI(Object(n.useState)((null===(t=o.media)||void 0===t?void 0:t.label)||""),2),f=l[0],b=l[1],h=Object(n.useContext)(u.c)===d.a,y=Object(vI.d)({params:{title_like:f||void 0},options:{keepPreviousData:!0,enabled:!h}}).data,g=Object(_.Lb)({params:{title_like:f||void 0},options:{keepPreviousData:!0,enabled:h}}).data,v=Object(n.useMemo)((function(){var e;return(null===(e=(null==y?void 0:y.streams)||(null==g?void 0:g.streams))||void 0===e?void 0:e.map((function(e){return{value:e.name,label:e.title}})))||[]}),[null==y?void 0:y.streams,null==g?void 0:g.streams]);return Object(m.c)(p.g,{multiple:!0,startAdornment:Object(m.c)(zI,{fontSize:"small",color:"action"}),placeholder:c("events.camera"),id:"camera_name_filter",options:v,value:o.media||[],inputValue:f,variant:"outlined",size:"small",onChange:function(e){function t(t,r){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e,t){r({media:JSON.stringify(t),cursor:void 0})})),onInputChange:function(e,t){e&amp;&amp;b(t)},getOptionLabel:function(e){return e.label},filterOptions:function(e){return e},isOptionEqualToValue:function(e,t){return e.value===t.value},renderOption:function(e,t){return Object(m.c)(p.l,MI({component:"li"},e,{key:Object(lC.a)()}),Object(m.c)(p.mc,{component:"span",variant:"body1","data-testid":"episodes_camera_name_filter-".concat(t.value,"-option")},t.label))},renderTags:function(e,t){return e.map((function(e,r){return Object(m.c)(p.t,MI({label:e.label},t({index:r}),{className:s(a.tag,t({index:r}).className),style:{height:20},key:Object(lC.a)()}))}))}})};function HI(){return(HI=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function VI(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return WI(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return WI(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function WI(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var GI=function(e){var t=e.onChange,r=e.filters,o=Object(qI.b)({label:void 0}),i=o.classes,a=o.cx,s=Object(j.b)().t,c=VI(Object(n.useState)(),2),l=c[0],u=c[1],d=r.organizationId&amp;&amp;JSON.parse(r.organizationId),f=Object(vI.b)({params:{title_like:l||void 0},options:{keepPreviousData:!0}}).data,b=Object(n.useMemo)((function(){var e;return null==f?void 0:null===(e=f.organizations)||void 0===e?void 0:e.map((function(e){return{value:e.id.toString(),label:e.title}}))}),[null==f?void 0:f.organizations]),h=function(e){t({organizationId:JSON.stringify(e)||void 0,cursor:void 0})};return Object(m.c)(p.g,{multiple:!0,id:"organization_filter",options:b,placeholder:s("layout.organizations"),defaultValue:d||[],variant:"outlined",size:"small",onChange:function(e,t){return h(t)},onInputChange:function(e,t){e&amp;&amp;u(t)},getOptionLabel:function(e){return e.label},renderOption:function(e,t){return Object(m.c)(p.l,HI({component:"li"},e,{key:Object(lC.a)()}),Object(m.c)(p.mc,{component:"span",variant:"body1","data-testid":"episodes_organizations_filter-".concat(t.value,"-option")},t.label))},isOptionEqualToValue:function(e,t){return e.value===t.value},renderTags:function(e,t){return e.map((function(e,r){return Object(m.c)(p.t,HI({label:e.label},t({index:r}),{className:a(i.tag,t({index:r}).className),style:{height:20},key:Object(lC.a)()}))}))}})},KI=p.uc.AutorenewIcon,YI=function(e){var t=e.onChange,r=e.autoUpdate,n=Object(j.b)().t;return Object(m.c)(p.R,{checked:r,sx:{maxHeight:32,margin:0},control:Object(m.c)(p.s,{sx:{padding:"9px 0 9px 0px"},color:"primary",onChange:function(e,r){return t({auto_update:r,cursor:void 0})}}),title:n("global.auto_update"),label:Object(m.c)(p.l,{display:"flex",alignItems:"center"},Object(m.c)(KI,{fontSize:"small",sx:{color:"rgb(68, 73, 81)"}}))})};function JI(){return(JI=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function QI(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return XI(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return XI(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function XI(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var ZI,eA=p.uc.IconBoardView,tA=p.uc.IconList,rA=function(e){var t,r,i=e.filters,a=e.onChange,s=e.isCameraPage,c=e.moreFilters,l=e.episode_type,f=e.disabledAutoUpdate,b=Object(j.b)().t,h=(t=Object(vI.f)({options:{keepPreviousData:!0,refetchOnMount:!1,refetchOnReconnect:!1}}),r=t.isLoading,{uiSettings:t.data,isLoading:r}).uiSettings,y=QI(Object(n.useState)(!1),2),g=y[0],v=y[1],_=QI(Object(n.useState)(i.query||""),2),O=_[0],x=_[1],w=Object(p.zc)(),k=Object(p.yc)(w.breakpoints.up("xl")),S=Object(p.yc)(w.breakpoints.down("lg")),P=Object(p.yc)(w.breakpoints.up("md")),T=Object(p.yc)(w.breakpoints.only("xs")),C=Object(n.useContext)(u.c)===d.a,I=function(e){ZI&amp;&amp;clearTimeout(ZI),x(e.target.value),ZI=setTimeout((function(){a({query:e.target.value})}),1e3)},A=Object(n.useMemo)((function(){return Object(m.c)(p.R,{checked:i.group_view,sx:{maxHeight:32,margin:0},control:Object(m.c)(p.s,{color:"primary",onChange:function(e){function t(t,r){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e,t){return a({group_view:t,cursor:void 0})}))}),label:b("person.groupView")})}),[a,i]),D=Object(n.useMemo)((function(){var e;return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.l,{minWidth:150,flex:1,flexBasis:"auto"},Object(m.c)(BI,{onChange:a,filters:i})),(null==h?void 0:null===(e=h.features)||void 0===e?void 0:e.is_context_search_enabled)&amp;&amp;Object(m.c)(p.l,{minWidth:200,flex:1},Object(m.c)(p.Tb,{placeholder:b("contextSearch"),value:O,onChange:I})))}),[a,i]),E=Object(n.useMemo)((function(){return Object(m.c)(p.l,{minWidth:150,flex:1,flexBasis:"auto"},Object(m.c)(GI,{onChange:a,filters:i}))}),[a,i]),$=Object(n.useMemo)((function(){return Object(m.c)(p.Xb,{sort:i.sort||"-opened_at",onChange:function(e){function t(t,r){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e,t){return a({sort:t,cursor:void 0})})),menuWidth:190,defaultSort:"-opened_at",items:[{label:b("sort.event_date"),field:"opened_at",radioButtons:[{value:"-opened_at",label:b("sort.new")},{value:"opened_at",label:b("sort.old")}]},{label:b("sort.detections_count"),field:"visits_today",radioButtons:[{value:"-visits_today",label:b("sort.desc")},{value:"visits_today",label:b("sort.asc")}]}]})}),[a,i]);Object(n.useEffect)((function(){v(!1)}),[l]);var N=Object(n.useMemo)((function(){return Object(m.c)(p.l,{gap:2,display:"flex",justifyContent:"start",flex:1,maxWidth:400},Object(m.c)(p.l,{width:"100%",minWidth:120},Object(m.c)(p.D,{ampm:!1,value:i.from?+i.from:null,inputFormat:"dd-MM-yyyy HH:mm",onChange:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){a({from:e?null==e?void 0:e.getTime():void 0,cursor:void 0})})),renderInput:function(e){return Object(m.c)(p.fc,JI({variant:"outlined"},e))}})),Object(m.c)(p.l,{width:"100%",minWidth:120},Object(m.c)(p.D,{ampm:!1,value:i.to?+i.to:null,inputFormat:"dd-MM-yyyy HH:mm",onChange:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){a({to:e?null==e?void 0:e.getTime():void 0,cursor:void 0})})),renderInput:function(e){return Object(m.c)(p.fc,JI({variant:"outlined"},e))}})))}),[a,i]),L=Object(n.useMemo)((function(){return Object(m.c)(YI,{onChange:a,autoUpdate:i.auto_update})}),[a,i.auto_update]);return Object(n.useEffect)((function(){f&amp;&amp;a({auto_update:!1})}),[f]),Object(m.c)(o.a.Fragment,null,Object(m.c)(p.l,{display:"flex",gap:2,justifyContent:"space-between",alignItems:"end"},!s&amp;&amp;Object(m.c)(p.l,{display:"flex",alignItems:"end"},L,(l===d.e.face||!l)&amp;&amp;Object(m.c)(p.R,{checked:i.is_unknown,sx:{maxHeight:32,margin:0},control:Object(m.c)(p.s,{color:"primary",onChange:function(e){function t(t,r){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e,t){return a({is_unknown:t,cursor:void 0})}))}),label:b("person.unknown")}),l!==d.e.generic&amp;&amp;!T&amp;&amp;A,Object(m.c)(p.l,{ml:2},!S&amp;&amp;N)),s&amp;&amp;Object(m.c)(p.l,{display:"flex",gap:2},L,Object(m.c)(RI,{episode_type:i.episode_type,onChange:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){return a({episode_type:e,cursor:void 0})}))})),k&amp;&amp;!s&amp;&amp;D,Object(m.c)(p.l,{flexShrink:0,display:"flex",alignItems:"start"},!s&amp;&amp;!S&amp;&amp;Object(m.c)(p.kc,{possibleValues:[{value:"list",icon:Object(m.c)(tA,null)},{value:"cards",icon:Object(m.c)(eA,null)}],value:i.view,onChange:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){return a({view:e})}))}),Object(m.c)(p.l,{display:"flex",gap:2},!s&amp;&amp;P&amp;&amp;$,(c||S||!C)&amp;&amp;Object(m.c)(p.o,{isOpen:g,onChangeIsOpen:v})))),g&amp;&amp;Object(m.c)(p.l,{gap:2,display:"flex",justifyContent:"space-between",mt:2,flexWrap:"wrap"},!s&amp;&amp;T&amp;&amp;l!==d.e.generic&amp;&amp;A,!s&amp;&amp;!P&amp;&amp;$,(s||S)&amp;&amp;N,!k&amp;&amp;!s&amp;&amp;D,!s&amp;&amp;!C&amp;&amp;E,c))},nA=r(497);function oA(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return iA(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return iA(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function iA(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var aA=function(e){var t=e.onChange,r=e.filters,o=oA(Object(n.useState)(r.license_plate_text||""),2),i=o[0],a=o[1],s=Object(j.b)().t,c=Object(nA.a)((function(e){t({license_plate_text:e.target.value})}),500);return Object(m.c)(p.Wb,{placeholder:s("licencePlateFilter"),value:i,onChange:function(e){a(e.target.value),c(e)}})},sA=r(520),cA=r(863),lA=r.n(cA),pA=(r(1530),function(e){var t=e.options,r=e.classes,o=Object(n.useRef)(null);return Object(n.useEffect)((function(){var e=lA.a.load(t,o.current);return function(){var t=e.DvrUnmount;t&amp;&amp;t()}}),[t]),Object(m.c)("div",{id:"dvr-player",ref:o,className:r.mediaOverviewPlayerContent})});function uA(e){return(uA="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function dA(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return mA(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return mA(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function mA(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function fA(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==uA(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==uA(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===uA(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var bA=Object(p.wc)()((function(e){return{paper:fA(fA(fA(fA(fA(fA(fA(fA(fA({},e.breakpoints.down("sm"),{width:"100%"}),"position","absolute"),"top","50%"),"left","50%"),"transform","translate(-50%, -50%)"),"aspectRatio","16/9"),"width","80%"),"maxHeight","80%"),"outline","none"),modalPlayerIframe:{height:"100%",width:"100%"},mediaOverviewPlayerContent:fA(fA(fA({},e.breakpoints.down("lg"),{maxHeight:"100%"}),"height","100%"),"width","100%")}})),hA=window.navigator.language.split("-")[0],yA=function(e){var t=e.episodes,r=e.episode_type,i=e.filters,a=e.enabledFade,s=dA(Object(n.useState)(!1),2),c=s[0],l=s[1],u=dA(Object(n.useState)({}),2),f=u[0],b=u[1],h=bA().classes,y=Object(n.useMemo)((function(){return{name:f.media,streamer_http:(null==f?void 0:f.streaming_endpoint)||sA.b,headers:{Authorization:"Bearer ".concat(WS.a.activeAccessToken)},autoplay:!0,from:f.opened_at?_e.a.msToFixedSec(+f.opened_at-d.o):void 0,to:f.closed_at?_e.a.msToFixedSec(+f.closed_at):void 0,query:"token=".concat(f.playback_token),dvr:!0,locale:hA,ui:"ott"}}),[f.closed_at,f.media,f.opened_at,f.playback_token,null==f?void 0:f.streaming_endpoint]);return Object(m.c)(o.a.Fragment,null,null==t?void 0:t.map((function(e,t){return Object(m.c)(p.l,{mb:1,key:t},Object(m.c)(PI,{episode:e,onEpisodeClick:function(){return b(e),void l(!0)},key:e.episode_id,token:e.playback_token,isSelected:!1,streamingEndpoint:e.streaming_endpoint,showCameraName:!0,episode_type:r,filters:i,index:t,enabledFade:a}))})),Object(m.c)(p.Hb,{open:c,onClose:function(){return l(!1)}},Object(m.c)("div",{className:h.paper},Object(m.c)(pA,{options:y,classes:h}))))};function gA(){return(gA=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function vA(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return _A(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _A(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _A(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var OA=p.uc.SearchIcon,jA=function(e){var t,r=e.onChange,o=e.filters,i=Object(j.b)().t,a=vA(Object(n.useState)(o.person?null===(t=JSON.parse(o.person))||void 0===t?void 0:t.label:""),2),s=a[0],c=a[1],l=Object(vI.c)({params:{name_like:s||void 0},options:{keepPreviousData:!0}}).data,u=Object(n.useMemo)((function(){var e;return(null==l?void 0:null===(e=l.persons)||void 0===e?void 0:e.map((function(e){return{value:e.person_id,label:e.name}})))||[]}),[null==l?void 0:l.persons]);return Object(m.c)(p.g,{startAdornment:Object(m.c)(OA,{fontSize:"small",color:"action"}),placeholder:i("events.person_name"),id:"person_name_filter",options:u,value:o.person?JSON.parse(o.person):"",variant:"outlined",size:"small",inputValue:s,onChange:function(e){function t(t,r){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e,t){return r({person:JSON.stringify(t),cursor:void 0})})),onInputChange:function(e,t){e&amp;&amp;c(t)},getOptionLabel:function(e){return e.label},filterOptions:function(e){return e},isOptionEqualToValue:function(e,t){return e.value===t.value},renderOption:function(e,t){return Object(m.c)(p.l,gA({component:"li"},e,{key:Object(lC.a)()}),Object(m.c)(p.mc,{component:"span",variant:"body1","data-testid":"episodes_person_name_filter-".concat(t.value,"-option")},t.label))}})};function xA(e){return(xA="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function wA(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return kA(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return kA(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function kA(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function SA(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==xA(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==xA(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===xA(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var PA=Object(p.wc)()((function(e){return{contentPadding:SA({},e.breakpoints.up("sm"),{padding:"0 ".concat(e.spacing(2)," ").concat(e.spacing(2)," ").concat(e.spacing(2))})}})),TA=function(e){var t,r,i=e.episode_type,a=PA().classes,s=Object(n.useContext)(u.c),c=Object(U.useLocation)(),l=Object(n.useRef)(!0),f=s===d.a,b=Object(p.zc)(),h=Object(p.yc)(b.breakpoints.down("lg")),y=wA(Object(n.useState)(!0),2),g=y[0],v=y[1],O=wA(Object(n.useState)(!1),2),j=O[0],x=O[1],w=function(){var e=yt({sort:"-opened_at",view:"cards"}),t=e.episode_type,r=e.cursor,o=e.from,i=e.to,a=e.handlePaginationChange,s=e.media,c=e.license_plate_text,l=e.view,p=e.is_unknown,u=e.group_view,d=e.sort,m=e.auto_update,f=e.organizationId,b=e.query,h=e.person,y=Object(n.useMemo)((function(){return{from:o?+o:void 0,to:i?+i:void 0,episode_type:t,media:s?JSON.parse(s):s,license_plate_text:c,view:l,is_unknown:"true"===p||!0===p,group_view:"true"===u||!0===u,auto_update:"true"===m||!0===m,sort:d,organizationId:f,query:b,person:h}}),[o,i,t,s,c,l,p,u,m,d,f,b,h]);return{media:s?JSON.parse(s):s,cursor:r,filters:y,handlePaginationChange:a}}(),k=w.cursor,S=w.filters,P=w.handlePaginationChange,T=w.media,C=S.organizationId&amp;&amp;JSON.parse(S.organizationId).map((function(e){return e.value})).join(","),I=S.person&amp;&amp;(null===(t=JSON.parse(S.person))||void 0===t?void 0:t.value),A=T&amp;&amp;T.map((function(e){return e.value})).join(","),D=Object(vI.a)({params:{q:S.query||void 0,episode_type:S.episode_type||void 0,cursor:k,limit:20,opened_at_gte:S.from||void 0,opened_at_lte:S.to||void 0,sort:S.sort||void 0,group_view:S.group_view||void 0,media:A||void 0,license_plate_text_like:S.license_plate_text||void 0,is_unknown:S.is_unknown||void 0,"stream.organization_id":C||void 0,person_id:I||void 0},options:{enabled:d.l,onSuccess:function(){g?v(!1):x(!0)},refetchInterval:S.auto_update?1e3:void 0}}),E=D.data,$=D.isLoading,N=Object(_.G)({params:{episode_type:S.episode_type||void 0,cursor:k,limit:20,opened_at_gte:S.from||void 0,opened_at_lte:S.to||void 0,sort:S.sort,group_view:S.group_view||void 0,media:A||void 0,license_plate_text_like:S.license_plate_text||void 0,is_unknown:S.is_unknown||void 0},options:{enabled:f}}),L=N.data,R=N.isLoading,q=E||L,M=$||R;Object(n.useEffect)((function(){l.current?l.current=!1:P({episode_type:i,cursor:void 0,license_plate_text:void 0,from:void 0,to:void 0,media:void 0,is_unknown:void 0,group_view:void 0,sort:"-opened_at",view:(null==S?void 0:S.view)||"cards",auto_update:void 0,organizationId:void 0,person:void 0})}),[c.pathname]),Object(n.useEffect)((function(){g||(v(!0),x(!1))}),[c.pathname,k,S]);var F=Object(n.useMemo)((function(){return Object(m.c)(p.l,{width:"100%",flex:1,minWidth:100},Object(m.c)(aA,{onChange:P,filters:S}))}),[S,P]),z=Object(n.useMemo)((function(){return Object(m.c)(p.l,{width:"100%",flex:1,minWidth:150},Object(m.c)(jA,{onChange:P,filters:S}))}),[S,P]);return Object(m.c)(o.a.Fragment,null,Object(m.c)(p.l,{p:2},Object(m.c)(rA,{onChange:P,filters:S,moreFilters:function(){switch(i){case d.e.vehicle:return F;case d.e.face:return d.l?z:null;default:return null}}(),episode_type:i,disabledAutoUpdate:q&amp;&amp;"prev"in q})),Object(m.c)(p.eb,{flex:1,paddingBottom:3,className:a.contentPadding},Object(m.c)(p.Ub,{isLoading:M},"list"===S.view||h?Object(m.c)(yA,{episodes:null==q?void 0:q.episodes,episode_type:i,filters:S,enabledFade:j}):Object(m.c)(p.ib,{container:!0,spacing:2},null==q?void 0:null===(r=q.episodes)||void 0===r?void 0:r.map((function(e){return Object(m.c)(p.ib,{item:!0,lg:3,md:4,sm:6,xs:12,key:e.episode_id},Object(m.c)(gI,{token:e.playback_token,episode:e,streamingEndpoint:e.streaming_endpoint}))}))),Object(m.c)(p.ec,{nextCursor:null==q?void 0:q.next,prevCursor:null==q?void 0:q.prev,handlePaginationChange:P}))))},CA=[{name:"events_all",to:"/events"},{name:"events.face_detector",to:"/events/person"},{name:"events.license_plates",to:"/events/car"},{name:"events.motion_detector",to:"/events/motion"}],IA=function(e){var t=e.episode_type;return Object(m.c)(p.Lb,{menuItems:CA,noPadding:!0,"data-testid":"Episodes-page"},Object(m.c)(TA,{episode_type:t}))},AA=function(e){var t=e.menuItems,r=Object(n.useContext)(me),o=r.isServerErrorPage,i=r.isBrokenConfig,a=Object(n.useContext)(u.c),s=a===d.a,c=s?"/streamers":"/cluster",l=t,p=l.pulse,f=l.streamer_config,b=l.cluster,h=l.ipcam,y=l.iptv,g=l.upload_logs,v=l.audit_logs,_=l.usages;return Object(m.c)(U.Switch,null,Object(m.c)(U.Route,{path:"/no-license",exact:!0,render:function(){return Object(m.c)(U.Redirect,{to:"/"})}}),Object(m.c)(U.Route,{path:"/admin",render:function(){return Object(m.c)(U.Redirect,{to:"/streams"})}}),Object(m.c)(U.Route,{path:"/",exact:!0,render:function(){var e=o?"/config".concat(i?"/editor":""):"/streams";return Object(m.c)(U.Redirect,{to:e})}}),Object(m.c)(U.Route,{path:"/create",exact:!0,component:qT}),Object(m.c)(U.Route,{path:"/streams",exact:!0,component:Ao}),Object(m.c)(U.Route,{path:"/streams/:names",component:ay}),Object(m.c)(U.Route,{path:"/templates",exact:!0,render:function(){return(null==t?void 0:t.main_templates)&amp;&amp;Object(m.c)(sy,null)}}),Object(m.c)(U.Route,{path:"/templates/:name",render:function(){return(null==t?void 0:t.main_templates)&amp;&amp;Object(m.c)(gy,null)}}),Object(m.c)(U.Route,{path:"/multiplexers",exact:!0,render:function(){return(null==t?void 0:t.main_transponders)&amp;&amp;Object(m.c)(Cg,null)}}),Object(m.c)(U.Route,{path:"/sources",exact:!0,render:function(){return(null==t?void 0:t.main_cluster_sources)&amp;&amp;Object(m.c)(Eg,null)}}),Object(m.c)(U.Route,{path:["/sources/:name","/sources/:name/input","/sources/:name/process"],exact:!0,render:function(){return(null==t?void 0:t.main_cluster_sources)&amp;&amp;Object(m.c)(YT,null)}}),Object(m.c)(U.Route,{path:"/sources/:name",render:function(){return(null==t?void 0:t.main_cluster_sources)&amp;&amp;Object(m.c)(Fg,null)}}),Object(m.c)(U.Route,{path:"/vods",exact:!0,component:zg}),Object(m.c)(U.Route,{path:["/vods/:name","/vods/:name/input"],exact:!0,component:aC}),Object(m.c)(U.Route,{path:"/vods/:name",component:pv}),Object(m.c)(U.Route,{path:"/dvb-cards",exact:!0,render:function(){return(null==t?void 0:t.main_dvb_cards)&amp;&amp;Object(m.c)(s_,null)}}),Object(m.c)(U.Route,{path:"/dvb-cards/:cardName",render:function(){return(null==t?void 0:t.main_dvb_cards)&amp;&amp;Object(m.c)(u_,null)}}),Object(m.c)(U.Route,{path:"/agents",exact:!0,render:function(){return(null==t?void 0:t.main_agents)&amp;&amp;Object(m.c)(h_,null)}}),Object(m.c)(U.Route,{path:"/agents/:id",exact:!0,render:function(){return(null==t?void 0:t.main_agents)&amp;&amp;Object(m.c)(cC,null)}}),Object(m.c)(U.Route,{path:"/support",exact:!0,render:function(){return g&amp;&amp;Object(m.c)(k_,null)}}),Object(m.c)(U.Route,{path:"/chassis",component:Fj}),Object(m.c)(U.Route,{path:"/watcher",render:function(){return!o&amp;&amp;h&amp;&amp;Object(m.c)(Uj,null)}}),p&amp;&amp;Object(m.c)(U.Route,{path:"/pulse",render:function(){return!o&amp;&amp;Object(m.c)(ax,null)}}),Object(m.c)(U.Route,{path:"/config",exact:!0,render:function(){return f&amp;&amp;Object(m.c)(lw,null)}}),Object(m.c)(U.Route,{path:"".concat("/config","/editor"),render:function(){return f&amp;&amp;Object(m.c)(bw,null)}}),Object(m.c)(U.Route,{path:"".concat("/config","/global-auth"),render:function(){return!o&amp;&amp;f&amp;&amp;Object(m.c)(jw,null)}}),Object(m.c)(U.Route,{path:"".concat("/config","/events"),render:function(){return!o&amp;&amp;f&amp;&amp;Object(m.c)(ik,null)}}),Object(m.c)(U.Route,{path:"".concat("/config","/auth"),render:function(){return(!o&amp;&amp;f||a===d.a)&amp;&amp;Object(m.c)(Mk,null)}}),Object(m.c)(U.Route,{path:"".concat("/config","/dvrs"),render:function(){return!o&amp;&amp;f&amp;&amp;Object(m.c)(pS,null)}}),Object(m.c)(U.Route,{path:"".concat("/iptv","/users"),render:function(){return!o&amp;&amp;y&amp;&amp;Object(m.c)(kS,null)}}),Object(m.c)(U.Route,{path:"".concat("/iptv","/packages"),render:function(){return!o&amp;&amp;y&amp;&amp;Object(m.c)(RS,null)}}),Object(m.c)(U.Route,{path:"".concat("/iptv","/create"),component:VS}),Object(m.c)(U.Route,{path:s?"/streamer_new":"/cluster_new",exact:!0,component:LP}),Object(m.c)(U.Route,{path:c,exact:!0,render:function(){return!o&amp;&amp;b&amp;&amp;Object(m.c)(IP,null)}}),Object(m.c)(U.Route,{path:"".concat(c,"/:hostname"),render:function(){return!o&amp;&amp;b&amp;&amp;Object(m.c)(yT,null)}}),Object(m.c)(U.Route,{path:"/usages",exact:!0,render:function(){return _&amp;&amp;Object(m.c)(PT,null)}}),Object(m.c)(U.Route,{path:"/audit_logs",exact:!0,render:function(){return v&amp;&amp;Object(m.c)(FT,null)}}),Object(m.c)(U.Route,{path:"/events",exact:!0,render:function(){return s&amp;&amp;Object(m.c)(IA,null)}}),Object(m.c)(U.Route,{path:"/events/person",exact:!0,render:function(){return s&amp;&amp;Object(m.c)(IA,{episode_type:d.e.face})}}),Object(m.c)(U.Route,{path:"/events/car",exact:!0,render:function(){return s&amp;&amp;Object(m.c)(IA,{episode_type:d.e.vehicle})}}),Object(m.c)(U.Route,{path:"/events/motion",exact:!0,render:function(){return s&amp;&amp;Object(m.c)(IA,{episode_type:d.e.generic})}}),Object(m.c)(U.Route,{path:"/persons",exact:!0,render:function(){return s&amp;&amp;Object(m.c)(dC,null)}}),Object(m.c)(U.Route,{path:"/health-status",exact:!0,render:function(){return s&amp;&amp;Object(m.c)(KC,null)}}),Object(m.c)(U.Route,{path:"/pins-panel",exact:!0,render:function(){return Object(m.c)(CC,null)}}),Object(m.c)(n.Fragment,null))},DA=r(525),EA=Object(p.wc)()((function(e){return{upgrade:{background:e.palette.primary.main,position:"relative",margin:"0 ".concat(e.spacing(3)," ").concat(e.spacing(3)," ").concat(e.spacing(3)),padding:"".concat(e.spacing(3)," ").concat(e.spacing(2)),color:e.palette.primary.contrastText,border:"1px solid ".concat(e.palette.primary.contrastText),borderRadius:"10px",textAlign:"center",whiteSpace:"normal",overflow:"hidden"},upgradeMin:{margin:"0 0 ".concat(e.spacing(3)," 0"),textAlign:"center",whiteSpace:"normal"},updateText:{padding:"0 ".concat(e.spacing(1))},version:{marginTop:"12px"},topCircle:{width:"160px",height:"153px",position:"absolute",top:"-96px",left:"-96px",background:"rgba(255,255,255,0.05)",borderRadius:"50%",zIndex:1},bottomCircle:{width:"160px",height:"157px",position:"absolute",bottom:"-96px",right:"-96px",background:"rgba(255,255,255,0.05)",borderRadius:"50%",zIndex:1},upgradeButton:{position:"relative",zIndex:2,marginTop:e.spacing(3)},upgradeButtonMin:{width:"36px",height:"36px",fontSize:"12px",zIndex:0},changelog:{"&amp; button":{color:e.palette.primary.contrastText}}}}));function $A(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return NA(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return NA(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function NA(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var LA=p.uc.IconUpgrade,RA=p.uc.IconRestart,qA=function(e){return function(t,r){return Object(m.c)(DA.a,{id:t,message:r,severity:e})}},MA={running:"running",not_running:"not_running",error:"error",upgrade_available:"upgrade_available",restart_required:"restart_required"},FA=function(e){var t=e.debPackageName,r=e.isOpen,i=Object(j.b)().t,a=Object(M.c)().enqueueSnackbar,s=EA().classes,c=Object(n.useContext)(u.c),l=$A(Object(n.useState)(!1),2),f=l[0],b=l[1],h=$A(Object(n.useState)(6e4),2),y=h[0],g=h[1],v=$A(Object(n.useState)(!1),2),O=v[0],x=v[1],w=$A(Object(n.useState)(""),2),k=w[0],P=w[1],T=$A(Object(n.useState)(!1),2),C=T[0],I=T[1],A=$A(Object(n.useState)(!0),2),D=A[0],E=A[1],$=Object(n.useRef)(),N=Object(_.Tb)({options:{refetchInterval:y,enabled:c===d.p,onSettled:function(e){var t;D&amp;&amp;null!=e&amp;&amp;e.repo_uri&amp;&amp;!k&amp;&amp;(t=null==e?void 0:e.repo_uri,S()({method:"get",url:"".concat(t.replace("http","https"),"/last_version.md"),headers:{credentials:"same-origin"}})).then((function(e){P(e.data)})).catch((function(){return E(!1)})),[MA.running,MA.restart_required].includes(null==e?void 0:e.status)||6e4===y||g(6e4),[MA.running,MA.restart_required].includes(null==e?void 0:e.status)&amp;&amp;1e3!==y&amp;&amp;g(1e3)}}}),L=N.data,R=N.refetch,q=null==L?void 0:L.status,F=null==L?void 0:L.last_update_error;Object(n.useEffect)((function(){$.current===MA.running&amp;&amp;[MA.restart_required,MA.not_running].includes(q)&amp;&amp;a(i("headerTopNavNotifications.isDownloaded"),{anchorOrigin:{horizontal:"right",vertical:"top"},autoHideDuration:7e3,variant:"success",preventDuplicate:!0,content:qA("success")}),$.current===MA.restart_required&amp;&amp;q===MA.not_running&amp;&amp;(b(!1),a(i("system_restart.successPostAlert"),{anchorOrigin:{horizontal:"right",vertical:"top"},autoHideDuration:7e3,variant:"success",preventDuplicate:!0,content:qA("success")})),$.current=q}),[q,a,i]);var U=q===MA.upgrade_available,z=q===MA.running,B=q===MA.restart_required,H=q&amp;&amp;q!==MA.not_running,V=U||z,W=q===MA.error,G=Object(_.Ub)({isAsync:!0,showSuccessMessage:!1}),K=function(){x(!0),g(1e3),G({body:{version:L.next_version}}).finally((function(){return R()})).finally((function(){x(!1)})).catch((function(e){e.error&amp;&amp;a(e.error,{anchorOrigin:{horizontal:"right",vertical:"top"},autoHideDuration:7e3,variant:"error",preventDuplicate:!0,content:qA("error")})}))},Y=Object(_.Sb)({isAsync:!0,showSuccessMessage:!1}),J=function(){b(!0),Y({})},Q=Object(n.useMemo)((function(){var e="";return V&amp;&amp;(e=i(z?"headerTopNavNotifications.isUpgrading":"headerTopNavNotifications.newVersion")),B&amp;&amp;(e=i(f?"headerTopNavNotifications.isRestarting":"headerTopNavNotifications.isRestartRequired")),W&amp;&amp;F&amp;&amp;(e=F),e}),[B,f,V,z,W,i,F]);return Object(m.c)(p.l,null,H&amp;&amp;Object(m.c)(o.a.Fragment,null,r?Object(m.c)(p.l,{className:s.upgrade,"data-testid":"notification-new-version"},Object(m.c)("div",null,Object(m.c)(p.mc,{className:s.updateText},Q),V&amp;&amp;!z&amp;&amp;Object(m.c)(p.l,{className:s.version},Object(m.c)(p.mc,{fontWeight:"bold"},L.next_version))),Object(m.c)("div",null,(V&amp;&amp;t&amp;&amp;"streamer"!==t||W&amp;&amp;F)&amp;&amp;Object(m.c)("div",{className:s.upgradeButton},Object(m.c)(p.n,{fullWidth:!0,variant:"contained",color:"secondary",onClick:K,"data-testid":"upgradeButton",disabled:z||O,endIcon:(z||O)&amp;&amp;Object(m.c)(p.u,{size:20,color:"secondary"})},i(W&amp;&amp;F?"tryUpgradeAgain":"upgrade"))),B&amp;&amp;Object(m.c)("div",{className:s.upgradeButton},Object(m.c)(p.n,{fullWidth:!0,variant:"contained",color:"secondary",onClick:J,"data-testid":"restartButton",disabled:f,endIcon:f&amp;&amp;Object(m.c)(p.u,{size:20,color:"secondary"})},i("restart")))),Object(m.c)("div",{className:s.topCircle}),Object(m.c)("div",{className:s.bottomCircle}),k&amp;&amp;Object(m.c)(p.l,{textAlign:"center",className:s.changelog,mt:1},Object(m.c)(p.yb,{component:"button",variant:"body1",type:"button",onClick:function(){return I(!0)}},i("changelog")))):Object(m.c)(p.l,{className:s.upgradeMin,"data-testid":"notification-new-version"},V&amp;&amp;t&amp;&amp;"streamer"!==t&amp;&amp;Object(m.c)(p.O,{color:"secondary",onClick:K,"data-testid":"upgradeButton",disabled:z||O,className:s.upgradeButtonMin},z||O?Object(m.c)(p.u,{size:20,color:"secondary"}):Object(m.c)(LA,null)),B&amp;&amp;Object(m.c)(p.O,{color:"secondary",onClick:J,"data-testid":"restartButton",disabled:f,className:s.upgradeButtonMin},f?Object(m.c)(p.u,{size:20,color:"secondary"}):Object(m.c)(RA,null))),k&amp;&amp;Object(m.c)(p.qb,{open:C,handleClose:function(){return I(!1)}},Object(m.c)(Ce.a,null,k))))},UA=p.uc.KeyboardIcon,zA={MEDIA:"MEDIA",PULSE:"PULSE",CONFIG:"CONFIG",CHASSIS:"CHASSIS",CLUSTER:"CLUSTER",IPTV:"IPTV",IP_CAMERAS:"IP_CAMERAS",SUPPORT:"SUPPORT",USAGES:"USAGES",STREAMS:"STREAMS",TEMPLATES:"TEMPLATES",TRANSPONDERS:"TRANSPONDERS",SOURCES:"SOURCES",VODS:"VODS",DVB_CARDS:"DVB_CARDS",API_CALLS:"API_CALLS",EVENTS:"EVENTS",PERSONS:"PERSONS",BUTTONS_PANEL:"BUTTONS_PANEL",HEALTH_STATUS:"HEALTH_STATUS"},BA=function(e){var t,r=e.uiSettings,i=e.history,a=Object(n.useContext)(u.c),s=Object(n.useContext)(me),c=s.globalSettings,l=s.isServerErrorPage,f=s.isBrokenConfig,b=s.logout;Object(n.useEffect)((function(){if(l){var e=i.location.pathname;"PUSH"!==i.action&amp;&amp;(f&amp;&amp;"/config/editor"!==e&amp;&amp;i.push("/config/editor"),f||"/config"===e||i.push("config"))}}),[l]);c.stats;var h=r.favicons,y=r.title,g=r.logo,v=r.menu_items,_=function(e){var t=e.isServerErrorPage,r=e.product,o=Object(n.useContext)(u.b),i=null!=o?o:{},a=i.pulse,s=i.streamer_config,c=i.cluster,l=i.ipcam,p=i.iptv,f=i.upload_logs,b=i.usages,h=i.audit_logs,y=i.chassis,g=i.pins;return Object(n.useMemo)((function(){return[{id:zA.MEDIA,item:"headerTopNav.media",to:"/streams",icon:"admin-icon-media",paths:["streams","templates","multiplexers","sources","vods","dvb-cards","agents"],enabled:!t},{id:zA.PULSE,item:"headerTopNav.pulse",to:"/pulse",icon:"admin-icon-pulse",enabled:a&amp;&amp;!t},{id:zA.CONFIG,item:"headerTopNav.config",to:r===d.a?"/config/auth":"/config",icon:"admin-icon-config",enabled:s||r===d.a},{id:zA.CHASSIS,item:"headerTopNav.chassis",to:"/chassis",icon:"admin-icon-chassis",enabled:y},{id:zA.CLUSTER,item:r===d.a?"headerTopNav.streamers":"headerTopNav.cluster",to:r===d.a?"/streamers":"/cluster",icon:"admin-icon-cluster",enabled:c&amp;&amp;!t},{id:zA.IPTV,item:"headerTopNav.iptv",to:"/iptv/users",icon:"admin-icon-iptv",enabled:p&amp;&amp;!t},{id:zA.IP_CAMERAS,item:"headerTopNav.ipCameras",to:"/watcher",icon:"admin-icon-ip-cameras",enabled:l&amp;&amp;!t},{id:zA.SUPPORT,item:"headerTopNav.support",to:"/support",icon:"admin-icon-support",enabled:f},{id:zA.USAGES,item:"headerTopNav.usages",to:"/usages",path:"usages",enabled:b},{id:zA.API_CALLS,item:"headerTopNav.audit_logs",to:"/audit_logs",enabled:h},{id:zA.EVENTS,item:"headerTopNav.events",to:"/events",icon:"admin-icon-license-keys",enabled:r===d.a},{id:zA.PERSONS,item:"headerTopNav.persons",to:"/persons",icon:"admin-icon-license-keys",enabled:r===d.a},{id:zA.HEALTH_STATUS,item:"headerTopNav.health_status",to:"/health-status",icon:"admin-icon-pulse",enabled:r===d.a},{id:zA.BUTTONS_PANEL,item:"headerTopNav.pinsPanel",to:"/pins-panel",icon:Object(m.c)(UA,{fontSize:"small"}),enabled:g}].filter((function(e){return e.enabled}))}),[t,a,r,s,y,c,p,l,f,b,h,g])}({isServerErrorPage:l,product:a}),O=Object(n.useCallback)((function(e){var t,r=e.isOpen;return Object(m.c)(FA,{debPackageName:null==v?void 0:null===(t=v.streamer_upgrade)||void 0===t?void 0:t.package_name,isOpen:r})}),[null==v?void 0:null===(t=v.streamer_upgrade)||void 0===t?void 0:t.package_name]);return Object(m.c)(o.a.Fragment,null,Object(m.c)(ve.a,null,Object(m.c)("title",null,y),d.g.map((function(e){if(!h||!h[e])return"";var t=Object(te.a)(h[e]);return[Object(m.c)("link",{key:t,rel:"icon",type:"image/png",href:t,sizes:"".concat(e,"x").concat(e)}),Object(m.c)("link",{key:"".concat(t,"_apple"),rel:"apple-touch-icon",href:t,sizes:"".concat(e,"x").concat(e)})]}))),Object(m.c)(U.Router,{history:i},Object(m.c)(p.eb,{"data-testid":"main",height:"100%"},Object(m.c)(p.Eb,{logo:g,items:_,handleLogout:b,additionalUI:O}),Object(m.c)(p.y,{maxWidth:!1},Object(m.c)(p.ib,{container:!0},Object(m.c)(p.ib,{item:!0,xs:12,sm:9,lg:4,xl:6},Object(m.c)(p.m,null)),Object(m.c)(p.ib,{item:!0,xs:12,sm:3,lg:8,xl:6},Object(m.c)(Te,null))),Object(m.c)(Ve,null)),Object(m.c)(AA,{menuItems:r.menu_items}))))},HA=q.a((function(e){return function(t){var r=be(o.a.useState([]),2),i=r[0],a=r[1],s=Object(n.useMemo)((function(){return{streams:i,setStreams:a}}),[i]);return Object(m.c)(ye.Provider,{value:s},Object(m.c)(e,t))}}),ge.b)((function(e){var t=e.history,r=Object(n.useContext)(u.d);return Object(n.useEffect)((function(){window.localStorage.removeItem(d.v)}),[]),Object(m.c)(M.b,null,Object(m.c)(fe,{uiSettings:r},Object(m.c)(BA,{history:t,uiSettings:r})))})),VA=r(1644),WA=r(868),GA=(r(1531),r(1532),new a.QueryClient),KA=Object(s.b)();Object(i.render)(Object(m.c)((function(e){var t=e.children,r=e.client;return Object(m.c)(n.StrictMode,null,Object(m.c)(n.Suspense,{fallback:Object(m.c)("div",null)},Object(m.c)(a.QueryClientProvider,{client:r},Object(m.c)(WA.a,{dateAdapter:VA.a},t))))}),{client:GA},Object(m.c)((function(e){var t=e.children,r=L(Object(n.useState)(!1),2),o=r[0],i=r[1],a=function(){var e=Object(_.kc)({options:{keepPreviousData:!0,refetchOnMount:!1,refetchOnReconnect:!1}}),t=e.isLoading,r=e.data;return{uiSettings:Object(n.useMemo)((function(){if(!t)return r}),[r,t]),isLoading:t}}(),s=a.uiSettings,c=a.isLoading;return Object(n.useEffect)((function(){s&amp;&amp;(N(s),i(!0))}),[s]),c||!o&amp;&amp;s?Object(m.c)(p.Sb,null):s?Object(m.c)(u.d.Provider,{value:s},Object(m.c)(v,null,t)):Object(m.c)(p.Rb,null)}),null,Object(m.c)(HA,{history:KA}))),document.getElementById("root"))},154:function(e,t,r){"use strict";var n=r(1538);r.d(t,"a",(function(){return n.a}))},184:function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(844),o=r.n(n),i=r(89),a=r(4),s=function(e){return Object(a.e)(e)?e:null},c=function(e,t){return function e(t,r){var n=0;return o()(t,(function(t,o,c){i.a(o,r[c])||(t[Array.isArray(r)?n+=1:c]=Object(a.g)(o)&amp;&amp;Object(a.g)(r[c])?e(o,r[c]):s(o))}))}(t,e)}},209:function(e,t,r){"use strict";r.d(t,"d",(function(){return h})),r.d(t,"a",(function(){return g})),r.d(t,"f",(function(){return _})),r.d(t,"c",(function(){return j})),r.d(t,"b",(function(){return w})),r.d(t,"e",(function(){return S}));var n=r(4),o=r(8),i=r(520),a=r(9),s=r(7),c=(r(14),["params","body","config"]),l=["params","body","config"];function p(e){return(p="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function m(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){f(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function f(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==p(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==p(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===p(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var b=Object(i.a)(),h=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["watcherClient_streams_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():y({params:t,config:i})},options:r})},y=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/streams",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return b.get(o,m({params:i},r))},g=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["watcherClient_episodes_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():v({params:t,config:i})},options:r})},v=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/episodes",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return b.get(o,m({params:i},r))},_=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["watcherClient_ui_settings_get",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():O({params:t,config:i})},options:r})},O=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/ui_settings",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return b.get(o,m({params:i},r))},j=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["watcherClient_persons_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():x({params:t,config:i})},options:r})},x=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/persons",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return b.get(o,m({params:i},r))},w=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["watcherClient_organizations_list",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():k({params:t,config:i})},options:r})},k=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/organizations",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return b.get(o,m({params:i},r))},S=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.options,r=e.isAsync,i=e.mutationFn,p=e.showSuccessMessage,d=void 0===p||p,f=e.showErrorMessage,h=void 0===f||f,y=Object(s.b)(),g=y.t,v=Object(o.b)((function(e){var t=e.params,r=e.body,o=e.config,s=Object(a.a)({path:"/ui_session/{session_id}",queryAndPathParams:t,encodeParams:null==o?void 0:o.encodeParams}),c=s.pathWithParams,l=s.queryParams;return i&amp;&amp;Object(n.a)(i)?i({params:t,body:r,config:o}):b.put(c,r,m({params:l},o))}),(function(){return d&amp;&amp;g("ui_session_save.successPutAlert")}),Object(n.g)(t)?t:{},h);return r?function(e){var t=e.params,r=e.body,n=e.config,o=u(e,c);return v.mutateAsync(m({params:t,body:r,config:n},o))}:function(e){var t=e.params,r=e.body,n=e.config,o=u(e,l);return v.mutate(m({params:t,body:r,config:n},o))}}},22:function(e,t,r){"use strict";r.d(t,"a",(function(){return s})),r.d(t,"e",(function(){return l})),r.d(t,"c",(function(){return p})),r.d(t,"d",(function(){return u})),r.d(t,"f",(function(){return d}));var n=r(107),o=r(4);function i(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return a(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return a(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var s="thumbnails_are_not_fetched",c=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:[];return Object(o.e)(e)&amp;&amp;!!e.find((function(e){return e.url.includes("publish://")}))},l={error:"error",waiting:"waiting",online:"online",disabled:"disabled"},p={dvr:"dvr",transcoder:"transcoder",vision:"vision"},u={user:"user",remote:"remote",config:"config",external:"external"},d={row:"row",card:"card",compact:"compact"},m={isPublished:function(e,t){return!!e.inputs&amp;&amp;(c(e.inputs)&amp;&amp;!!n.a("published_from")(t))},enablePublishing:function(e,t){var r=c(e.inputs)?e.inputs:[].concat(i(e.inputs||[]),[{url:"publish://"}]);return function(){return t(["inputs"],"raw")(r)}},disablePublishing:function(e,t){var r=(e.inputs||[]).filter((function(e){return!e.url.includes("publish://")}));return function(){return t(["inputs"],"raw")(r)}},publishEnabled:function(e){return c(e.inputs)},hasOnlyPublish:function(e){var t=e.inputs&amp;&amp;0===e.inputs.length,r=e.inputs&amp;&amp;1===e.inputs.length&amp;&amp;"publish://"===e.inputs[0].url;return t||r},hasNoSources:function(e){return!(!e.inputs||0!==e.inputs.length)},isUnavailable:function(e){return!!e&amp;&amp;(e.ts_delay&gt;6e4||e.retry_count&gt;0)},embedCode:function(e){return'&lt;iframe style="width:640px; height:480px;" allowfullscreen src="'.concat(e,'"&gt;&lt;/iframe&gt;')}};t.b=m},241:function(e,t,r){"use strict";r(2);var n=r(1),o=r(22),i=r(135),a=r(48),s=r(351),c=r(57),l=r(0),p=["media","stats","delayRange","isCardView","isPlayButton","handlePlay","named_by","fontSize"];function u(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var d=n.uc.IconOnlineTwo,m=n.uc.IconErrorTwo,f=n.uc.IconDisabledTwo,b=n.uc.IconWaitingTwo,h=n.uc.IconPlay,y=function(e){var t=e.media,r=e.stats,y=e.delayRange,g=e.isCardView,v=e.isPlayButton,_=e.handlePlay,O=e.named_by,j=e.fontSize,x=u(e,p),w=Object(s.b)({isCardView:g}),k=w.classes,S=w.cx,P=function(){Object(c.i)({media:t,named_by:O})&amp;&amp;_()};if(t.disabled)return v?Object(l.c)(n.mb,{size:"small",onClick:P,className:k.grayButton},Object(l.c)("span",{className:k.playButtonWithStatus},Object(l.c)(f,null))):Object(l.c)(n.mc,{lineHeight:"20px",className:S(k.sDefault,g?k.status:""),"data-testid":"".concat(x["data-testid"],"-disabled"),fontSize:j},g&amp;&amp;Object(l.c)("span",{className:"iconStatus"},Object(l.c)(f,null)),"Disabled");if(!r)return"";if(r.source_error&amp;&amp;r.source_error!==o.a||o.b.isUnavailable(r)){var T=Object(i.d)(r),C=T.mainText,I=T.detailText;return v?Object(l.c)(n.mb,{size:"small",onClick:P,color:"error"},Object(l.c)("span",{className:k.playButtonWithStatus},Object(l.c)(m,null))):Object(l.c)(n.mc,{lineHeight:"20px",className:S(k.sError,g?k.status:""),"data-testid":"".concat(x["data-testid"],"-error"),fontSize:j},g&amp;&amp;Object(l.c)("span",{className:"iconStatus"},Object(l.c)(m,null)),C,Object(l.c)(n.mc,{className:k.details,component:"span",ml:.5,fontSize:j},I||""))}if(o.b.hasNoSources(t))return v?Object(l.c)(n.mb,{size:"small",onClick:P,color:"warning"},Object(l.c)("span",{className:k.playButtonWithStatus},Object(l.c)(b,null))):Object(l.c)(n.mc,{lineHeight:"20px",className:S(k.sWarning,g?k.status:""),"data-testid":"".concat(x["data-testid"],"-no-sources"),fontSize:j},g&amp;&amp;Object(l.c)("span",{className:"iconStatus"},Object(l.c)(b,null)),"No sources defined");if(o.b.hasOnlyPublish(t)&amp;&amp;!r.alive)return v?Object(l.c)(n.mb,{size:"small",onClick:P,color:"warning"},Object(l.c)("span",{className:k.playButtonWithStatus},Object(l.c)(b,null))):Object(l.c)(n.mc,{lineHeight:"20px",className:S(k.sWarning,g?k.status:""),"data-testid":"".concat(x["data-testid"],"-expecting-publication"),fontSize:j},g&amp;&amp;Object(l.c)("span",{className:"iconStatus"},Object(l.c)(b,null)),"expecting publication"," ",Object(l.c)(n.mc,{className:k.details,component:"span",fontSize:j},r.lifetime?a.a.getFormattedTime(r.lifetime):""));if(!t.static&amp;&amp;!r.alive){var A=t.static?"stream":"clients";return v?Object(l.c)(n.mb,{size:"small",onClick:P,color:"warning"},Object(l.c)("span",{className:k.playButtonWithStatus},Object(l.c)(b,null))):Object(l.c)(n.mc,{lineHeight:"20px",className:S(k.sWarning,g?k.status:""),"data-testid":"".concat(x["data-testid"],"-waiting-for-").concat(A),fontSize:j},g&amp;&amp;Object(l.c)("span",{className:"iconStatus"},Object(l.c)(b,null)),"Waiting for ".concat(A))}if(Object(i.g)(r,y)){var D=Math.floor(r.ts_delay/1e3);return v?Object(l.c)(n.mb,{size:"small",onClick:P,color:"warning"},Object(l.c)("span",{className:k.playButtonWithStatus},Object(l.c)(m,null))):Object(l.c)(n.mc,{lineHeight:"20px",className:S(k.sWarning,g?k.status:""),"data-testid":"".concat(x["data-testid"],"-delay"),fontSize:j},g&amp;&amp;Object(l.c)("span",{className:"iconStatus"},Object(l.c)(b,null)),"Delay ".concat(D,"s"))}return r.input_error_rate?v?Object(l.c)(n.mb,{size:"small",onClick:P,color:"error"},Object(l.c)("span",{className:k.playButtonWithStatus},Object(l.c)(m,null))):Object(l.c)(n.mc,{lineHeight:"20px",className:S(k.sWarning,g?k.status:""),"data-testid":"".concat(x["data-testid"],"-input-error-rate"),fontSize:j},g&amp;&amp;Object(l.c)("span",{className:"iconStatus"},Object(l.c)(b,null)),"".concat(r.input_error_rate," drops/s")):v?Object(l.c)(n.mb,{size:"small",onClick:P,className:k.blackButton},Object(l.c)("span",{className:k.playButtonWithStatus},Object(l.c)(h,null))):Object(l.c)(n.mc,{lineHeight:"20px",className:S(k.sSuccess,g?k.status:""),"data-testid":"".concat(x["data-testid"],"-online"),fontSize:j},g&amp;&amp;Object(l.c)("span",{className:"iconStatus"},Object(l.c)(d,null)),"Online")};y.defaultProps={delayRange:{lower:2e4,hlsLower:2e4,upper:6e4}},t.a=y},242:function(e,t,r){"use strict";r.d(t,"a",(function(){return c})),r.d(t,"e",(function(){return l})),r.d(t,"c",(function(){return p})),r.d(t,"b",(function(){return u})),r.d(t,"d",(function(){return d}));var n,o=r(117),i=r(50),a=r(4),s=/^#([0-9a-f]{3}|[0-9a-f]{6})$/i,c=function(e){var t=e.value;if(Object(a.b)(t))return"streamTranscoderPage.validators.bitrateRequiredError";var r=Object(i.d)(0,t);return Object(a.e)(t)&amp;&amp;r&lt;=0&amp;&amp;"copy"!==t?"shouldBeGreaterZeroError":""},l=(n="Width",function(e){var t=e.value,r=Object(i.d)(0,t);return Object(a.e)(t)&amp;&amp;-1!==r&amp;&amp;r%2!=0?"streamTranscoderPage.validators.multipleOf2Error".concat(n):Object(a.e)(t)&amp;&amp;-1!==r&amp;&amp;r&lt;0?"streamTranscoderPage.validators.greaterZeroError".concat(n):""}),p=function(e){return Object(o.a)(Object(o.b)((function(e){var t=e.value,r=Object(i.d)(0,t);return Object(a.b)(t)||-1===r||r%2==0}),"streamTranscoderPage.validators.multipleOf2Error".concat(e)),Object(o.b)((function(e){var t=e.value,r=Object(i.d)(0,t);return Object(a.b)(t)||-1===r||r&gt;0}),"streamTranscoderPage.validators.greaterZeroError".concat(e)))}("Height"),u=function(e){var t=e.value;return t&amp;&amp;!s.test(t)?"streamTranscoderPage.validators.colorError":""},d=function(e){var t=e.value,r=Object(i.d)(0,t);return Object(a.e)(t)&amp;&amp;r&lt;=0?"shouldBeGreaterZeroError":""}},243:function(e,t,r){"use strict";var n=r(4),o=r(8),i=r(115);var a=r(9);r(7),r(14);r.d(t,"a",(function(){return u})),r.d(t,"d",(function(){return d})),r.d(t,"e",(function(){return m})),r.d(t,"c",(function(){return b})),r.d(t,"b",(function(){return y}));function s(e){return(s="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){p(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==s(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===s(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var u=Object(i.c)(!1),d=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/{name}/archive-{from}-{duration}.mp4",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return u.get(o,l({params:i},r))},m=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streaming_mp4_preview",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():f({params:t,config:i})},options:r})},f=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/{name}/preview.mp4",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return u.get(o,l({params:i},r))},b=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streaming_mp4_dvr",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():h({params:t,config:i})},options:r})},h=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/{name}/{from}-preview.mp4",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return u.get(o,l({params:i},r))},y=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.options,i=e.config,a=e.queryFn,s=e.queryKey;return Object(o.a)({queryKey:["streaming_embed_html",s,t],queryFn:function(){return a&amp;&amp;Object(n.a)(a)?a():g({params:t,config:i})},options:r})},g=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{},t=e.params,r=e.config,n=Object(a.a)({path:"/{name}/embed.html",queryAndPathParams:t,encodeParams:null==r?void 0:r.encodeParams}),o=n.pathWithParams,i=n.queryParams;return u.get(o,l({params:i},r))}},250:function(e){e.exports=JSON.parse('{"a":{"schemas":{"collection_response":{"type":"object","properties":{"estimated_count":{"description":"Estimated total number of records for the query (regardless of the cursors).\\n","type":"integer","example":5},"next":{"description":"Next cursor: a properly encoded equivalent of offset allowing to read the next bunch of items.\\nLearn more in [Flussonic API design principles](https://flussonic.com/doc/rest-api-guidelines/#api-http-collections-cursor).\\n","example":"JTI0cG9zaXRpb25fZ3Q9MA==","type":"string"},"prev":{"description":"Previous cursor: a properly encoded equivalent of offset allowing to read the previous bunch of items.\\nLearn more in [Flussonic API design principles](https://flussonic.com/doc/rest-api-guidelines/#api-http-collections-cursor).\\n","example":"JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl","type":"string"},"timing":{"description":"An object with a list of different timings measured during this API call.","type":"object"}}},"error_response":{"type":"object","properties":{"errors":{"description":"List of structured errors","type":"array","items":{"$ref":"#/components/schemas/error"}},"error":{"type":"string","deprecated":true,"x-delete-at":23.09,"x-private":true,"description":"This is how flussonic serves errors right now. To be removed as we migrate to new format\\n"}}},"appearance_config":{"type":"object","properties":{"title":{"description":"The custom page title.","type":"string","example":"My video site"},"logo":{"description":"The logo image in the sidebar.","type":"string","example":"data:image/png;base64,&lt;base64string&gt;","format":"byte","x-format-description":"byte"},"logo_auth":{"description":"The logo image on the login page.","type":"string","example":"data:image/jpg;base64,&lt;base64string&gt;","format":"byte","x-format-description":"byte"},"favicon":{"description":"The favicon image.","type":"string","example":"data:image/png;base64,&lt;base64string&gt;","format":"byte","x-format-description":"byte"},"colors":{"description":"The interface colors.","type":"object","properties":{"primary":{"description":"Primary color for interface elements like selection in the main menu, info icons, buttons, etc.","type":"string","example":"#444951"},"secondary":{"description":"Secondary color for obsolete interface elements like active tab.","type":"string","example":"#2469f2"},"background":{"description":"The background color.","type":"string","example":"#f3f5f7"}}},"company_info":{"type":"object","description":"Contact information for customers to reach the company through various means.","x-private":true,"properties":{"address":{"description":"Details enabling customers to locate the company\'s physical location.","type":"string"},"phone":{"description":"Telephone contact information for reaching out to the company.","type":"string"},"business_hours":{"description":"Notify your users if you are not ready to answer phone calls and emails 24/7.","type":"string"}}}}},"advert_config":{"type":"object","properties":{"id":{"readOnly":true,"type":"string","format":"uuid","description":"Advert ID.","x-format-description":"uuid"},"clip_url":{"type":"string","description":"link to the advert video.","example":"http://website.com/123/rain.mp4"},"site_url":{"type":"string","description":"link to go to the advertising site.","example":"https://website.com"}}},"adverts":{"type":"object","properties":{"adverts":{"type":"array","description":"List of available adverts.","items":{"$ref":"#/components/schemas/advert_config"}}}},"stream_stats":{"type":"object","properties":{"lifetime":{"type":"number","format":"milliseconds","description":"The time period in seconds during which the stream is being captured.\\nCan be calculated from `opened_at`\\n","x-api-allow":["central","watcher-core","watcher-client","watcher-admin"],"example":71977,"x-format-description":"milliseconds"},"last_dts_at":{"type":"number","format":"utc_ms","description":"The time when the last time frame was sent to the stream output (in UTC).","example":1636383841974,"x-api-allow":["watcher-client","watcher-core","watcher-admin","central"],"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"media_info":{"allOf":[{"$ref":"#/components/schemas/media_info"}],"description":"Technical information about the output media content.","x-api-allow":["watcher-client","watcher-core","watcher-admin","central","smartcam"]},"ts_delay":{"type":"number","format":"ticks","example":1284,"description":"The time period during which no frames were received from the stream\'s input.","x-api-allow":["central","watcher-core","watcher-client","watcher-admin"],"x-format-description":"ticks"},"status":{"description":"Indicates the status of the stream.\\n","allOf":[{"$ref":"#/components/schemas/stream_status"}],"x-api-allow":["watcher-client","watcher-core","watcher-admin","central","vision"]},"input_error_rate":{"type":"integer","description":"The number of packets dropped per second.\\n\\nSwitch to `stream.stats.input.errors`\\n","example":0,"x-api-allow":["central","watcher-core","watcher-client","watcher-admin"],"deprecated":true,"x-delete-at":25.03},"retry_count":{"type":"integer","description":"The number of attempts to restore the stream if `alive=false`.\\nUse `input.retries` instead\\n","openmetrics_metric":"stream_retry_count","x-metric-type":"counter","example":0,"x-api-allow":["central","watcher-core","watcher-client","watcher-admin"],"deprecated":true,"x-delete-at":25.03},"current_agent_id":{"type":"string","format":"agent_id","description":"The identifier of the Agent that is currently serving the stream.","x-api-allow":["watcher-core","central","watcher-client","watcher-admin"],"x-format-description":"agent_id"},"agent_status":{"enum":["connected","not_connected","rproxy_not_configured"],"type":"string","description":"The status of the Agent serving the stream.","x-api-allow":["watcher-core","central","watcher-client","watcher-admin"]},"dvr_info":{"description":"The information about the recorded DVR archive.","allOf":[{"$ref":"#/components/schemas/dvr_info"}],"x-api-allow":["watcher-client","watcher-core","watcher-admin","central","central-layouter"]},"alive":{"default":false,"type":"boolean","example":true,"description":"Becomes `false` when `ts_delay` &gt; 12000 (= 12 seconds)","x-api-allow":["watcher-client","watcher-core","watcher-admin","central"]},"bitrate":{"type":"integer","format":"speed","description":"Stream bitrate.","openmetrics_metric":"stream_bitrate","x-metric-type":"gauge","example":186,"x-api-allow":["watcher-core","central","watcher-client","watcher-admin"],"x-format-description":"speed"},"playback_token":{"description":"Temporary token for playback requests (Media Server Streaming API, Central Streaming API).","type":"string","x-api-allow":["watcher-client","watcher-admin"],"example":"onetime_token"},"streaming_endpoint":{"description":"HTTP(s) URL that can be used for streaming API of this stream","type":"string","x-api-allow":["watcher-core","central","watcher-client","watcher-admin"]},"online_clients":{"type":"integer","format":"client_count","description":"The number of clients receiving the stream.\\nUse play.play_opened_sessions instead\\n","openmetrics_metric":"stream_online_clients","x-metric-type":"gauge","example":3,"x-api-allow":["watcher-core","central","watcher-client","watcher-admin"],"deprecated":true,"x-delete-at":25.04,"x-format-description":"client_count"},"bytes_out":{"type":"integer","format":"bytes","description":"The amount of stream data sent to the clients.","openmetrics_metric":"stream_bytes_out","x-metric-type":"counter","example":0,"x-api-allow":["watcher-core","central","watcher-client","watcher-admin"],"x-format-description":"bytes"}}},"stream_config_base":{"type":"object","properties":{"static":{"default":true,"description":"Whether a stream is `static` or not. \\nIf set to `True` the server will try to keep this stream running even if\\nthere are no viewers or errors encountered.\\n\\nStreamer restarts *all* `static` streams even if any internal errors occur\\nand the `static` streams crash.\\n","type":"boolean","example":true,"x-api-allow":["watcher-core","watcher-client","watcher-admin"]},"disabled":{"description":"Whether a stream is disabled. Disabled streams are inactive and do not run. \\nDisplayed only with the API calls.\\n","type":"boolean","example":false,"x-api-allow":["watcher-core","watcher-client","watcher-admin","central-layouter"]}}},"stream_config_specific":{"type":"object","properties":{"name":{"type":"string","format":"media_name","description":"Globally unique stream name.","readOnly":true,"x-primary-key":true,"openmetrics_label":"name","examples":{"default":{"value":"hockey1"},"mylive/bunny":{"value":"mylive/bunny"},"decklink":{"value":"Decklink-Stream"},"dektec":{"value":"Dektec-Stream"},"test_stream":{"value":"test_stream"}},"x-api-allow":["watcher-client","watcher-core","watcher-admin","vision-config-external","smartcam","central-layouter","vision"],"x-format-description":"media_name"},"comment":{"description":"Human-readable description of the stream.\\n","type":"string","example":"This is a test stream","x-api-allow":["watcher-client","watcher-core","watcher-admin"]},"title":{"description":"Human-readable title of the stream. Provided for SDT MPEG-TS table or\\nSDP RTSP title parameter.\\n","type":"string","example":"Hockey channel","x-api-allow":["watcher-client","watcher-core","watcher-admin"]}},"required":["name"]},"stream_config_additional":{"type":"object","properties":{"stats":{"description":"Stream\'s metrics and other statistical information.","allOf":[{"$ref":"#/components/schemas/stream_stats"}],"readOnly":true,"x-api-allow":["watcher-client","watcher-core","watcher-admin","smartcam","vision","central-layouter"]}}},"stream_config_media":{"type":"object","properties":{"dvr":{"description":"DVR configuraton.","allOf":[{"$ref":"#/components/schemas/stream_dvr_spec"}],"x-api-allow":["watcher-core","watcher-admin","watcher-client","central-layouter"]},"pushes":{"description":"A list of pushes. When a server initiates the connection and sends a stream \\nto other server(s), it is called a `push`.      \\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/push-video-from-media-server/"},"items":{"allOf":[{"$ref":"#/components/schemas/stream_push"}]},"type":"array","x-api-allow":["watcher-core","watcher-admin"]},"labels":{"type":"object","additionalProperties":{"type":"string","maxLength":40,"minLength":1},"maxItems":10,"x-key-type":"string","description":"Stream labels in key value format.","x-api-description":{"central-layouter":"Stream labels in key value format.\\nYou can use labels to control the desired stream layout.\\n\\nNote, that if you are using a multi-stream agent (i.e. multiple streams use the same agent in their inputs),\\nthen the labels of these streams **must** be the same. Otherwise, one or more streams will not work.\\n\\nLayouter can process next labels:\\n\\n- With `required_` prefix. If stream has `required_x=y` label, layouter will provision stream only to nodes with label `x=y`.\\nIf there are no available nodes with label `x=y`, then the stream will not be provisioned. \\n\\n**Use cases**\\n\\nSuppose you have a server used to test new hardware models, and you want the new streams to be provisioned only to the test nodes.\\nTo provide this layout you can add the `required_env=test` label for stream and the `env=test` label for test nodes.\\n"},"examples":[{"key1":"value1","key2":"value2"},{"required_env":"test","location":"eu"}],"x-api-allow":["watcher-core","central-layouter","watcher-admin"]}}},"stream_config_onpremises":{"type":"object","properties":{"vision":{"allOf":[{"$ref":"#/components/schemas/vision_spec"}],"description":"Video analytics parameters.","x-api-allow":["vision-config-external","smartcam","vision","watcher-core","watcher-admin","watcher-client","central-layouter"]}}},"stream_config":{"allOf":[{"$ref":"#/components/schemas/stream_config_specific"},{"$ref":"#/components/schemas/stream_config_base"},{"$ref":"#/components/schemas/stream_config_additional"},{"$ref":"#/components/schemas/stream_config_input"},{"$ref":"#/components/schemas/stream_config_media"},{"$ref":"#/components/schemas/stream_config_onpremises"},{"$ref":"#/components/schemas/watcher_stream_config"}]},"watcher_stream_config":{"type":"object","properties":{"organization_id":{"description":"ID of the organization the stream belongs to.\\nOnly organization owner or domain administrator could change it.\\n","type":"integer","example":9,"x-api-allow":["watcher-client","watcher-admin"]},"coordinates":{"description":"Camera coordinates on a map or a floor plan.","allOf":[{"$ref":"#/components/schemas/map_spec"}],"x-api-allow":["watcher-client","watcher-admin"]},"postal_address":{"description":"Camera adress on a map.","type":"string","x-api-allow":["watcher-client","watcher-admin"]},"map_coordinates":{"description":"Camera coordinates on a map or a floor plan. Deprecated. Use coordinates instead.","deprecated":true,"x-delete-at":24.12,"x-alias":"coordinates","allOf":[{"$ref":"#/components/schemas/map_spec"}],"x-api-allow":["watcher-client","watcher-admin"]},"is_test":{"type":"boolean","description":"Use this parameter to mark the stream as a \\"test\\" stream.\\n\\"Test\\" streams will be provisioned only on \\"test\\" streamers, if available.\\nAfter disabling the parameter, the stream will be provisioned to any non-test streamer, if available.\\n","x-private":true,"x-api-allow":["watcher-client","watcher-admin"]},"permissions":{"description":"Current user\'s permissions for viewing and editing the camera.","x-private":true,"readOnly":true,"x-api-allow":["watcher-client","watcher-admin"],"allOf":[{"$ref":"#/components/schemas/stream_permissions"}]},"onvif":{"description":"Onvif configuration","x-api-allow":["watcher-client","watcher-admin"],"allOf":[{"$ref":"#/components/schemas/stream_onvif_config"}]},"agent":{"description":"Agent configuration.","x-private":true,"readOnly":true,"x-api-allow":["watcher-client","watcher-admin"],"allOf":[{"$ref":"#/components/schemas/agent_config_base"}]},"preset_id":{"description":"Preset identificator.","x-api-allow":["watcher-client","watcher-admin"],"type":"integer"},"folder_id":{"description":"Folder identificator.","x-api-allow":["watcher-client","watcher-admin"],"type":"integer"},"precise_thumbnails_days":{"x-private":true,"format":"integer","minimum":0,"type":"integer","description":"The number of days during which the precise screenshots of the analytics (face recognition or ANPR) events\\nshould be stored in the database.\\n","x-api-allow":["watcher-client","watcher-admin"],"x-format-description":"integer"},"audio":{"type":"object","description":"Audio settings for the stream.","x-api-allow":["watcher-client","watcher-admin"],"properties":{"transcode_audio_codec":{"description":"Audio codec (the AAC codec is used by default).","default":"aac","allOf":[{"$ref":"#/components/schemas/frame_audio_codec"}],"x-api-allow":["watcher-client","watcher-admin"],"x-scope":["watcher-client","watcher-admin"]},"disabled":{"type":"boolean","example":false,"default":false,"description":"A flag showing if the audio is captured (false) or not (true) from the stream.\\n","x-api-allow":["watcher-client","watcher-admin"],"x-scope":["watcher-client","watcher-admin"]}}},"layout":{"description":"Layouts information","x-api-allow":["watcher-admin"],"x-private":true,"allOf":[{"$ref":"#/components/schemas/central_stream_layout"}]},"path":{"description":"Contains path to stream as a list.\\nEach item of the list can be interpreted as a node in a folders tree.\\n","readOnly":true,"items":{"$ref":"#/components/schemas/stream_path_item"},"type":"array","x-api-allow":["watcher-client","watcher-admin"]},"firmware_update_duration":{"description":"Duration of the firmware update. If this field is present, the update process is ongoing.\\n","readOnly":true,"format":"milliseconds","type":"integer","x-api-allow":["watcher-client","watcher-admin"],"x-format-description":"milliseconds"}}},"streams_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"streams":{"items":{"$ref":"#/components/schemas/stream_config"},"type":"array","description":"List of fetched streams according to the query parameters."}}}]},"stream_permissions":{"type":"object","properties":{"edit":{"type":"boolean","description":"Access to camera editing.\\nUser has access to editing camera if he is owner of the organization or if he has been granted such access rights.\\n"},"dvr":{"type":"boolean","description":"Permission to view the camera\'s archive.\\n"},"ptz":{"type":"boolean","description":"Permission to control PTZ.\\n"},"dvr_depth_limit":{"type":"integer","description":"The number of archive days permitted to view.\\n"}}},"stream_onvif_config":{"type":"object","properties":{"url":{"type":"string","description":"The URL that Watcher uses for exchanging data with the camera via ONVIF. \\nThis URL usually can be found in the manual for your camera.\\n"},"ptz":{"type":"boolean","description":"Shows if PTZ control should be enabled for the camera. \\nThe PTZ function must be supported and enabled on the ONVIF camera \\nin order to be able to actually control PTZ from Watcher or your UI.\\n"}}},"stream_path_item":{"type":"object","properties":{"id":{"readOnly":true,"description":"ID of the path item the stream is included in.","type":"integer"},"title":{"readOnly":true,"description":"Title of path item the stream is included in.","type":"string"}}},"central_stream_layout":{"allOf":[{"type":"object","description":"Current layout of stream.\\nCentral will provide configuration to nodes based on this layout.\\n","properties":{}},{"$ref":"#/components/schemas/central_stream_layout_base"}]},"central_stream_layouts":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"layouts":{"items":{"$ref":"#/components/schemas/central_stream_layout"},"type":"array","description":"List of streams layouts records according to the query parameters."}}}]},"central_stream_layout_prediction":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","description":"Predicted layout based on changed properties of stream.\\nIf stream config was not changed, the result will be empty.\\n","properties":{"changes":{"items":{"$ref":"#/components/schemas/central_stream_layout_list_item"},"type":"array","description":"List of streams layout changes"}}}]},"streamers_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"streamers":{"items":{"$ref":"#/components/schemas/streamer"},"type":"array","description":"The list of streamers fetched according to the query parameters."}}}]},"streamer_config":{"allOf":[{"$ref":"#/components/schemas/central_node_role"},{"$ref":"#/components/schemas/peer_config"},{"type":"object","properties":{"public_payload_url":{"description":"The public address that is exposed to clients. It can also contain a port number.\\nThe client will be redirected to this URL and port when requesting for the stream captured on the peer\\neven if other `http` port is set in the peer\'s own config.\\n","type":"string","format":"url","example":"http://public.example.com","x-format-description":"url"},"private_payload_url":{"description":"The internal address for communication in a local network (by default, it is equal to API URL).\\n","type":"string","format":"url","example":"http://streamer.local","x-format-description":"url"},"dvrs":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/dvr_config"}]},"description":"The configuration of the DVRs","readOnly":true,"x-api-allow":["central-layouter"]},"config":{"allOf":[{"$ref":"#/components/schemas/server_config_base"},{"$ref":"#/components/schemas/server_config_full"}],"description":"Flussonic Media Server configuration which will be provided to Streamer"},"total_bandwidth":{"description":"Server network bandwidth limit in kbit.\\nThis value is used to calculate the current network load status.\\n","type":"integer","format":"speed","example":1024,"x-format-description":"speed"},"labels":{"$ref":"#/components/schemas/central_streamer_labels","x-api-allow":["central-layouter"]}}}],"required":["cluster_key","role","hostname"]},"central_streamer_layout_prediction":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","description":"Streamer layout prediction","properties":{"changes":{"type":"array","description":"Predicted layout based on changed properties of streamer grouped by hostname and role.\\nThe result does not contain unchanged streamers.\\nIf streamer config was not changed, the result will be empty.\\n","items":{"$ref":"#/components/schemas/central_streamer_layout_prediction_item"}}}}]},"streamer":{"allOf":[{"$ref":"#/components/schemas/streamer_config"},{"type":"object","properties":{"is_test":{"type":"boolean","description":"Use this parameter to mark the streamer as a \\"test\\".\\nOnly \\"test\\" streams will be provisioned on the \\"test\\" streamer.\\nWhen this parameter is enabled, all current streams will be provisioned to another streamer, if available.\\nWhen this parameter is disabled,\\nall current \\"test\\" streams will be moved to another \\"test\\" streamer, if available.\\n","x-private":true}}}]},"sensor":{"type":"object","properties":{"brightness_correction":{"description":"Image brightness correction.\\nThe value is indicated as a percentage from 0 to 100.\\n","type":"integer","format":"percent","minimum":0,"maximum":100,"x-api-allow":["watcher-admin","watcher-client"],"x-format-description":"percent"},"contrast_correction":{"description":"Image contrast correction.\\nThe value is indicated as a percentage from 0 to 100.\\n","type":"integer","format":"percent","minimum":0,"maximum":100,"x-api-allow":["watcher-admin","watcher-client"],"x-format-description":"percent"},"sharpness":{"description":"Sharpness / edges contrast enhancement level.\\nThe value is indicated as a percentage from 0 to 100.\\n","type":"integer","format":"percent","minimum":0,"maximum":100,"x-api-allow":["watcher-admin","watcher-client"],"x-format-description":"percent"},"saturation":{"description":"Image saturation correction.\\nThe value is indicated as a percentage from 0 to 100.\\n","type":"integer","format":"percent","minimum":0,"maximum":100,"x-api-allow":["watcher-admin","watcher-client"],"x-format-description":"percent"},"wide_dynamic_range":{"description":"Image wide dynamic range correction.\\nThe value is indicated as a percentage from 0 to 100.\\n","type":"integer","format":"percent","minimum":0,"maximum":100,"x-api-allow":["watcher-admin","watcher-client"],"x-format-description":"percent"},"blacklight_compensation":{"description":"Image blacklight compensation correction","allOf":[{"$ref":"#/components/schemas/on_off"}],"x-api-allow":["watcher-admin","watcher-client"]},"infrared_cutoff_filter":{"description":"Infrared cut-of filter","allOf":[{"$ref":"#/components/schemas/on_off_auto"}],"x-api-allow":["watcher-admin","watcher-client"]},"image_orientation":{"description":"Installation position of the camera","type":"string","oneOf":[{"const":"normal","title":"Normal","description":"Default camera mount."},{"const":"upside_down","title":"Upside down","description":"Camera is mounted on the ceiling."}],"x-api-allow":["watcher-admin","watcher-client"]}}},"media_quality":{"oneOf":[{"const":"low","title":"Low"},{"const":"medium","title":"Medium"},{"const":"high","title":"High"}]},"firmware_update":{"type":"object","description":"Update camera firmware","properties":{"image":{"format":"binary","description":"Image for updating camera. Documentation for updating cameras: https://flussonic.com/doc/flussonic-home-v1/#upgrade.\\n","example":"b\'DL\\u0003\\u0004\\u0014\\u0000\'","x-format-description":"binary"},"proto":{"type":"string","description":"Protocol for connecting to camera.","oneOf":[{"title":"Iris","const":"iris","description":"Iris protocol"},{"title":"ISAPI/PSIA","const":"isapi","description":"ISAPI/PSIA protocol"},{"title":"Xm","const":"xm","description":"Xm protocol"},{"title":"MSTAR/Sputnik","const":"sputnik","description":"MSTAR/Sputnik protocol"}],"default":"iris","example":"iris"}},"required":["image"]},"auth":{"type":"object","description":"Authentication details configuration","properties":{"login":{"type":"string","description":"Username authentication"},"password":{"type":"string","description":"Password authentication"},"port":{"type":"integer","description":"Service port on which Onvif/PSIA is accessible, default is 80"}}},"camera_config":{"type":"object","properties":{"sensor":{"description":"Describes sensor configuration.\\n","oneOf":[{"$ref":"#/components/schemas/sensor"},{"$ref":"#/components/schemas/error_response"}]},"camera_info":{"description":"Describes camera information.\\n","oneOf":[{"$ref":"#/components/schemas/camera_info"},{"$ref":"#/components/schemas/error_response"}],"readOnly":true},"media_quality":{"description":"These parameters allow optimizing media quality and performance based on device capabilities and network conditions.\\n","oneOf":[{"$ref":"#/components/schemas/media_quality"},{"$ref":"#/components/schemas/error_response"}]}}},"camera_info":{"type":"object","description":"Camera information","properties":{"firmware":{"type":"string","description":"Firmware version"},"model":{"type":"string","description":"Model name"},"manufacturer":{"type":"string","description":"Manufacturer name"},"serial_number":{"type":"string","description":"Serial number"}}},"tls_certificate":{"type":"object","properties":{"cert":{"description":"Information about the server certificate.","allOf":[{"$ref":"#/components/schemas/certificate_info"}]},"cacert":{"description":"Information about the CA certificate applied on the server.","allOf":[{"$ref":"#/components/schemas/certificate_info"}]},"private_key_match_certificate":{"description":"Shows if the server private key matches the server certificate.","type":"boolean"}}},"letsencrypt_request":{"type":"object","properties":{"domains":{"description":"One or more domain names to issue the Let\'s Encrypt certificate for.","type":"array","items":{"type":"string"}}}},"cluster_health_stats":{"type":"object","properties":{"version":{"type":"integer","description":"The running version of instance in format TAGCNUM. TAG is a five-digit number that contains the year number, month number, and version number. CNUM is a four-digit number that indicates the commit number. Number 240100023 represents version 24.01-23.","openmetrics_metric":"version","example":240100023},"server_id":{"description":"Unique server ID generated on a first run.","type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426655440000","openmetrics_label":"server_id","x-format-description":"uuid"},"collected_at":{"description":"Metrics collection time","type":"integer","format":"utc_ms","x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"stream_metrics_total":{"type":"object","description":"Number of streams, grouped by status","openmetrics_metric_segment":"stream","allOf":[{"$ref":"#/components/schemas/cluster_health_metrics_total"}]},"agent_metrics_total":{"type":"object","description":"Number of agents, grouped by status","openmetrics_metric_segment":"agent","allOf":[{"$ref":"#/components/schemas/cluster_health_metrics_total"}]},"streamer_metrics_total":{"type":"object","description":"Number of streamers, grouped by status","openmetrics_metric_segment":"streamer","allOf":[{"$ref":"#/components/schemas/cluster_health_metrics_total"}]},"streamer_bitrate_metrics_total":{"description":"Cluster total bitrate metrics","type":"object","properties":{"input_kbit":{"type":"integer","description":"Current incoming speed (bitrate) of the data transmission over the network of all streamers.","format":"speed","openmetrics_metric":"streamer_inbound_kbit_total","x-metric-type":"gauge","x-format-description":"speed"},"output_kbit":{"type":"integer","description":"Current outgoing speed (bitrate) of the data transmission over the network of all streamers.","format":"speed","openmetrics_metric":"streamer_outbound_kbit_total","x-metric-type":"gauge","x-format-description":"speed"}}},"streamer_metrics":{"type":"array","items":{"$ref":"#/components/schemas/cluster_health_streamer_stats"},"description":"Streamer stats"}}},"cluster_health_streamer_stats":{"type":"object","description":"Streamer stats","properties":{"hostname":{"description":"Hostname of streamer.","type":"string","format":"server_name","openmetrics_label":"hostname","x-format-description":"server_name"},"uptime":{"description":"The server uptime.","type":"integer","format":"seconds","example":4325502,"x-format-description":"seconds"},"config":{"type":"object","description":"Streamer config info.","properties":{"status":{"$ref":"#/components/schemas/cluster_health_status"}}},"status":{"$ref":"#/components/schemas/cluster_health_status"},"stream_metrics":{"type":"object","description":"Streamer streams info.","allOf":[{"$ref":"#/components/schemas/cluster_health_metrics_total"},{"type":"object","description":"Collective status of streams on the streamer","properties":{"status":{"$ref":"#/components/schemas/cluster_health_status"}}}]},"agent_metrics":{"type":"object","description":"Streamer agents info.","allOf":[{"$ref":"#/components/schemas/cluster_health_metrics_total"},{"type":"object","description":"Collective status of agents on the streamer","properties":{"status":{"$ref":"#/components/schemas/cluster_health_status"}}}]},"cpu":{"type":"object","description":"CPU usage info.","properties":{"usage":{"description":"CPU usage on the server.","type":"integer","format":"percent","example":48,"openmetrics_metric":"cpu_usage","x-metric-type":"gauge","x-format-description":"percent"},"status":{"$ref":"#/components/schemas/cluster_health_status"}}},"memory":{"type":"object","description":"Memory usage info.","properties":{"usage":{"description":"Memory usage on the server.","type":"integer","format":"percent","example":27,"openmetrics_metric":"memory_usage","x-metric-type":"gauge","x-format-description":"percent"},"status":{"$ref":"#/components/schemas/cluster_health_status"}}},"storage":{"type":"object","description":"Total disk usage info.","properties":{"usage":{"description":"Total disk space usage on the server.\\n","type":"integer","format":"percent","example":18,"openmetrics_metric":"storage_usage","x-metric-type":"gauge","x-format-description":"percent"},"status":{"$ref":"#/components/schemas/cluster_health_status"}}},"network":{"description":"Network IO info.","type":"object","properties":{"in_kbit":{"description":"Inbound network info on the server.","properties":{"usage":{"description":"Inbound network usage on the server.","type":"integer","format":"speed","openmetrics_metric":"network_usage_in","x-metric-type":"gauge","x-format-description":"speed"},"status":{"$ref":"#/components/schemas/cluster_health_status"}}},"out_kbit":{"description":"Outbound network info on the server.","properties":{"usage":{"description":"Outbound network usage on the server.","type":"integer","format":"speed","openmetrics_metric":"network_usage_out","x-metric-type":"gauge","x-format-description":"speed"},"status":{"$ref":"#/components/schemas/cluster_health_status"}}}}}},"required":["hostname"]},"cluster_health_metrics_total":{"type":"object","description":"Number of entities, grouped by status","properties":{"operational":{"type":"integer","description":"Number of operational entities","openmetrics_metric":"operational_count","x-metric-type":"gauge"},"degradated":{"type":"integer","description":"Number of degraded entities","openmetrics_metric":"degradated_count","x-metric-type":"gauge"},"partial_outage":{"type":"integer","description":"Number of partial outage entities","openmetrics_metric":"partial_outage_count","x-metric-type":"gauge"},"outage":{"type":"integer","description":"Number of outage entities","openmetrics_metric":"outage_count","x-metric-type":"gauge"},"disabled":{"type":"integer","description":"Number of disabled entities","openmetrics_metric":"disabled_count","x-metric-type":"gauge"},"total":{"type":"integer","description":"Total number of entities","openmetrics_metric":"total_count","x-metric-type":"gauge"}}},"cluster_health_status":{"type":"string","description":"Collective status of certain object\'s metric.","oneOf":[{"title":"Operational","const":"operational","description":"Indicates that the entity is fully functional and performing optimally."},{"title":"Degradated","const":"degradated","description":"Indicates that the entity is partly functional but performing optimally."},{"title":"Partial Outage","const":"partial_outage","description":"Indicates that the entity is mostly non-functional, reduced performance."},{"title":"Outage","const":"outage","description":"Indicates that the entity is non-functional."},{"type":"string","title":"Disabled","const":"disabled","description":"Indicates that the entity is disabled"}]},"dvr_config":{"allOf":[{"$ref":"#/components/schemas/dvr_storage_config"},{"$ref":"#/components/schemas/dvr_base_config"}]},"map_spec":{"type":"object","properties":{"latitude":{"description":"Geographic latitude.","type":"number","example":55.7512},"longitude":{"description":"Geographic longitude.","type":"number","example":37.6184}},"required":["latitude","longitude"]},"login_info":{"type":"object","properties":{"access_token":{"type":"string","description":"A JWT token with a limited lifetime duration. JWT algorithm is RS256.\\n","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"},"refresh_token":{"type":"string","description":"A token used to get a new access_token after expiration. \\nIt works with `/login` request only.\\n","example":"3637e790-5530-11ed-bdc3-0242ac120002"}}},"mail_base":{"type":"object","description":"mail settings","required":["sending_method"],"properties":{"sending_method":{"type":"string","description":"the method of sending messages by mail","example":"SMTP"},"sender":{"type":"object","description":"Information about the sender","properties":{"title":{"type":"string","example":"Flussonic Watcher","description":"sender title"},"email":{"type":"string","example":"watcher@someserver.com","description":"sender email"}}}}},"mail_sendgrid":{"allOf":[{"$ref":"#/components/schemas/mail_base"},{"type":"object","properties":{"api_key":{"type":"string","description":"api key for SendGrid"}}}]},"mail_smtp":{"allOf":[{"$ref":"#/components/schemas/mail_base"},{"type":"object","properties":{"host":{"type":"string","description":"smtp server host"},"port":{"type":"integer","description":"port for smtp server"},"login":{"type":"string","description":"login for smtp server"},"password":{"type":"string","description":"password for smtp server"},"security":{"type":"string","description":"connecting to the server using TLS/STARTTLS","oneOf":[{"const":"none","title":"None","description":"Do not use"},{"const":"tls","title":"TLS","description":"Usually works on port 465, sometimes the connection is called SSL (SMTP name)"},{"const":"starttls","title":"STARTTLS","description":"Usually works on port 587, sometimes the connection is called TLS (SMTP name)"}],"default":"tls"}}}]},"mail_spec":{"discriminator":{"propertyName":"sending_method","mapping":{"SMTP":"#/components/schemas/mail_smtp","SendGrid":"#/components/schemas/mail_sendgrid"}},"oneOf":[{"$ref":"#/components/schemas/mail_smtp"},{"$ref":"#/components/schemas/mail_sendgrid"}]},"loglevel":{"type":"string","description":"The level of logging according to event importance. Several values separated by comma.","example":"debug","oneOf":[{"title":"Debug","const":"debug","description":"Messages of all types are logged."},{"title":"Info","const":"info","description":"Log info messages."},{"title":"Warning","const":"warning","description":"Log warnings."},{"title":"Error","const":"error","description":"Log errors."},{"title":"Critical","const":"critical","description":"Log critical messages."}]},"listeners":{"type":"object","properties":{"http":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/listen_http_config"}]},"description":"List of HTTP ports or `host:port` pairs that will be used for listening.","examples":{"default":{"value":[{"port":80,"api":false}]}},"x-api-allow":["watcher-admin"]}}},"database":{"type":"object","properties":{"url":{"type":"string","description":"Connection string to PostgreSQL database. \\n\\n Format: `postgres://[user[:password]@][host][:port][/dbname][?param1=value1&amp;...&amp;paramN=valueN]`\\n\\n Allowed parameters:\\n - `sslmode` - configuring SSL connection to the database.\\n This parameter defines whether and how SSL should be used to connect to the database.\\n Possible values include `disable`, `allow`, `prefer`, `require`, `verify-ca`, and `verify-full`.\\n - `default_query_exec_mode` - if you use PgBouncer, it\'s necessary to set this parameter to `cache_describe`.\\n","example":"postgres://central:pass@localhost:5432/central_dev","x-api-allow":["watcher-admin"]}},"required":["url"]},"domain_config":{"type":"object","description":"All domain settings","properties":{"mail":{"$ref":"#/components/schemas/mail_spec","type":"object"},"appearance":{"type":"object","description":"Appearance settings allow you to edit the colors, logos, favicon and other brand UI settings of your service.\\n","allOf":[{"$ref":"#/components/schemas/appearance_config"}]}}},"system_config":{"type":"object","description":"System settings","properties":{"central_url":{"type":"string","description":"The url through which the watcher addresses the central","format":"url","example":"http://auth@localhost:9019/streamer/api/v3","x-format-description":"url"},"license_key":{"type":"string","description":"Issued license key"},"database":{"allOf":[{"$ref":"#/components/schemas/database"}],"description":"The configuration of database connection"},"watcher_brute_force_timeout":{"type":"integer","description":"A parameter that determines the time of blocking the user in seconds after several incorrect login attempts\\n","default":1800},"loglevel":{"allOf":[{"$ref":"#/components/schemas/loglevel"}],"description":"Set logging level","default":"INFO"},"api_url":{"type":"string","description":"The parameter is needed so that other elements of the cluster (the center and the media server) \\ncan contact the watcher for authorization.\\n","format":"url","example":"auth@localhost:9015","x-format-description":"url"},"listeners":{"allOf":[{"$ref":"#/components/schemas/listeners"}],"description":"The configuration of network listeners."},"custom_auth":{"type":"string","description":"An additional authorization backend that allows you to authenticate the camera not only in the watcher\\n","example":"http://localhost/camera/authorization","format":"url","x-format-description":"url"},"peeklio_host":{"type":"string","description":"Allows developers use local peeklio service","default":"https://api.peeklio.net","format":"url","x-private":true,"x-format-description":"url"},"sentry_dsn":{"type":"string","description":"Allows developers to use sentry to track watcher logs","example":"https://&lt;hash_license_key&gt;@&lt;peeklio_host_without_schema&gt;/0","format":"url","x-private":true,"x-format-description":"url"},"jaeger_endpoint":{"type":"string","description":"The url needed to send logs to open telemetry","example":"http://HOSTNAME:4318/v1/traces?service_name=watcher","format":"url","x-private":true,"x-format-description":"url"},"redis_dsn":{"type":"string","description":"The URL that the observer uses to access redis","x-private":true,"deprecated":true},"flussonic_face_vector_url":{"type":"string","description":"Url for accessing the old analytics if it is installed.","example":"http://user:password@localhost","format":"url","x-private":true,"x-format-description":"url"},"custom_template_dir":{"type":"string","description":"Custom directory for templates, needed for UI","x-private":true},"web_workers_count":{"type":"int","description":"The number of threads used by the watcher service","x-private":true},"web_threads_count":{"type":"int","description":"The number of workers used by the watcher service","x-private":true},"is_context_search_enabled":{"description":"This parameter enables context search.","type":"boolean","example":false,"x-private":true},"talks_url":{"type":"string","description":"The url through which the watcher addresses the Talks","format":"url","x-private":true,"x-format-description":"url"}}},"users":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"users_list":{"items":{"$ref":"#/components/schemas/user"},"type":"array","description":"List of fetched users according to the query parameters."}}}]},"user":{"allOf":[{"$ref":"#/components/schemas/user_base"},{"$ref":"#/components/schemas/user_admin"}]},"user_base":{"type":"object","description":"User parameters visible from Admin and Client APIs.\\n","properties":{"name":{"type":"string","description":"User name (login)\\n"},"password":{"type":"string","writeOnly":true,"description":"The specified password will be saved as a hash, used only for writing\\n"},"email":{"type":"string","format":"email","example":"user@example.com","description":"User\'s email. Required for password recovery.\\n","x-format-description":"email"},"phone":{"type":"string","format":"phone-number","example":"+78007778413","description":"User\'s phone number\\n","x-format-description":"phone-number"},"locale":{"description":"The language, selected by user.","type":"string","format":"ISO 639-1","example":"en"},"permissions":{"type":"object","description":"Permissions related settings.","x-private":true,"properties":{"can_add_camera":{"type":"boolean","description":"Indicating whether the user has the permission to add cameras.\\n"},"can_edit_organizations":{"type":"boolean","description":"Indicating whether the user has the permission to edit domain organizations.\\n"},"can_view_organizations":{"type":"boolean","description":"Indicating whether the user has the permission to view domain organizations.\\n"}}}}},"user_admin":{"type":"object","description":"User Parameters available from Admin API.\\n","properties":{"id":{"type":"integer","description":"Identifier of the user.\\n","readOnly":true,"example":1},"disabled":{"type":"boolean","default":false,"description":"A parameter that allows you to enable/disable the user\\n","example":false},"readonly":{"type":"boolean","description":"A flag indicating that the user has read-only access and cannot modify their own data.\\n","example":false},"organizations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","description":"Id of the organization\\n","example":1},"title":{"type":"string","description":"Display title of the organization\\n","example":"Cameras"},"owner":{"type":"object","description":"Owner properties.","properties":{"id":{"type":"integer","description":"ID of the organizations owner.","example":2},"name":{"type":"string","description":"Name of the organizations owner.","example":"admin","readOnly":true}}}}},"readOnly":true,"description":"A parameter indicating that the user belongs to certain organizations\\n"},"access_level":{"type":"string","oneOf":[{"const":"generic","description":"Defines standard rights for the user (access is allowed only in the client ui and\\nview of those cameras to which access is granted explicitly)\\n"},{"const":"admin","description":"Grants full rights (allows you to create organizations,\\nuse both admin ui and client ui, change domain settings)\\n"}],"default":"generic","description":"The parameter regulates the rights for the user\\n","example":"generic"}}},"shared_tokens_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"shared_tokens":{"description":"List of available shared tokens","items":{"$ref":"#/components/schemas/shared_token"},"type":"array"}}}]},"shared_token":{"type":"object","description":"Shared token are designed to provide access to the camera and its archive via a link.\\nIn the permission parameters, you can specify the access level that will be available for this token.\\n\\nEach token provides secure access to certain features of the system, including real-time viewing,\\nrecording and playback of archived data, tilt and zoom control,\\nas well as the integration of advertising.\\n","properties":{"key":{"type":"string","description":"Unique secret string","example":"IJCo3KGLBf6NAqMCGgHf5gNhpl9","readOnly":true},"name":{"type":"string","description":"Unique name of the token that can be used to distinguish tokens\\n","examples":{"default":{"value":"root"}}},"permissions":{"type":"array","description":"List of independent permissions, available for this shared token","items":{"allOf":[{"$ref":"#/components/schemas/shared_token_permission"}]}},"media":{"type":"string","description":"Stream that this shared token provides access to.","examples":{"default":{"value":"cam1-abcdef"}}}},"required":["key","name"]},"shared_token_permission":{"type":"object","properties":{"live":{"type":"boolean","description":"The live access token allows you to watch videos in real time.\\n"},"ptz":{"type":"boolean","description":"The PTZ access allows to control the tilt and zoom of the camera.\\nChange the position and focus of the camera during the broadcast.\\n"},"dvr":{"type":"boolean","description":"The DVR access allows the archive and play recordings of past broadcasts.\\n"},"export":{"type":"boolean","description":"The export access allows you to export the dvr to a file.\\n"},"dvr_depth_limit":{"type":"integer","format":"seconds","minimum":0,"description":"The dvr depth limit allows to:\\nSet the maximum recording depth, which determines how far back recorded materials can be viewed.\\nManage access to archived data, ensuring security and control over who can access records.\\n","example":3600,"x-format-description":"seconds"},"advert":{"type":"boolean","description":"The advertising access allows you to show advertisements to viewers during viewing.\\nAdvertising works only in live mode.\\n"}}},"agent_config_base":{"type":"object","properties":{"id":{"type":"string","description":"Agent identifier","x-primary-key":true,"example":"1234567"},"key":{"type":"string","description":"Agent authentication key."},"serial":{"type":"string","readOnly":true,"description":"The device (camera or router) serial number."},"model":{"type":"string","readOnly":true,"description":"The model of the camera with [Agent](https://flussonic.com/doc/agent-with-watcher/).\\n"},"stats":{"description":"Agents\'s metrics and other statistical information.","allOf":[{"$ref":"#/components/schemas/watcher_agent_stats"}],"readOnly":true}}},"watcher_agent_config":{"allOf":[{"$ref":"#/components/schemas/agent_config_base"},{"type":"object","properties":{"streams":{"type":"array","readOnly":true,"description":"List of streams info that have this agent in their inputs","items":{"allOf":[{"$ref":"#/components/schemas/stream_config_specific"},{"type":"object","properties":{"organization":{"description":"Organization information.","allOf":[{"$ref":"#/components/schemas/organization_base"}]}}}]}}}}]},"agents_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"agents":{"items":{"$ref":"#/components/schemas/agent"},"type":"array","description":"The list of Agents fetched according to the query parameters."}}}]},"agent":{"allOf":[{"$ref":"#/components/schemas/watcher_agent_config"},{"type":"object","properties":{}}]},"watcher_agent_stats":{"type":"object","properties":{"agent_type":{"type":"string","enum":["single","router"],"default":"single","description":"The type of Agent installed on the device: \\n\\n* `single` means \\"one Agent = one camera\\", i.e. Agent is installed on a camera itself.\\n* `router` means \\"one Agent = multiple cameras\\", i.e. Agent is installed on a router\\nto provision the cameras from LAN to Watcher.\\n"},"connections_requested":{"type":"integer","default":0,"description":"The number of connections requested by Agent."},"connections_established":{"type":"integer","default":0,"description":"The number of successfully established connections."},"peer_ip":{"type":"string","format":"ipv4","description":"Public IP address of the device (camera or router) on which the Agent is running.","example":"185.134.232.183","x-format-description":"ipv4"},"local_ip":{"type":"string","format":"ipv4","description":"IP address of the device (camera or router) in the local network.","example":"10.10.17.88","x-format-description":"ipv4"},"mac_address":{"type":"string","example":"F0-23-B9-59-20-F1","description":"MAC-address of the device."},"version":{"type":"string","description":"Agent version.","example":"v21.02-8-g535c85d"},"endpoint_connection":{"description":"Parameters of the connection between Agent and its endpoint.","allOf":[{"$ref":"#/components/schemas/watcher_agent_control_connection"}]},"streampoint_connection":{"description":"Parameters of the connection between Agent and its streampoint.","allOf":[{"$ref":"#/components/schemas/watcher_agent_control_connection"},{"$ref":"#/components/schemas/watcher_agent_data_connections"}]}}},"organization_base":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"description":"Organization identifier.","example":7},"title":{"type":"string","description":"Human-readable name of the organization.","example":"Example LLC"}},"required":["id","title"]},"organization_preset":{"type":"object","properties":{"preset_id":{"type":"integer","description":"Preset identifier","example":7}}},"preset":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"description":"Preset identifier","example":7},"title":{"type":"string","description":"Human-readable name of the preset.","example":"Example preset name"},"is_adjustable":{"type":"boolean","description":"Shows if the preset is adjustable.\\n```is_adjustable``` is needed for a situation where presets are managed by external billing. \\nIf ```is_adjustable: true``` user can change camera settings meanwhile using this preset. \\nIf ```is_adjustable: false``` user can not change camera settings meanwhile using this preset. \\n\\nIf the camera has a non-adjustable presets, the DVR and analytics parameters from PUT requests will not be applied. \\nIn this case, either make the preset adjustable, or change the preset itself to achieve the required configuration. \\n","default":true,"example":true},"dvr":{"description":"DVR configuration","allOf":[{"$ref":"#/components/schemas/stream_dvr_spec"}]},"vision":{"description":"Vision configuration","allOf":[{"$ref":"#/components/schemas/vision_spec"}]},"is_default":{"type":"boolean","description":"Shows if the preset is available in all Organizations.\\n"},"deleted_at":{"description":"When this preset was marked as deleted","type":"integer","readOnly":true,"format":"utc_ms","example":1637095014573,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"precise_thumbnails_days":{"format":"integer","minimum":0,"type":"integer","x-private":true,"description":"The number of days during which the precise screenshots of the analytics (face recognition or ANPR) events\\nshould be stored in the database.\\n","x-format-description":"integer"},"domain_id":{"format":"integer","type":"integer","readOnly":true,"x-private":true,"description":"The identifier of the Watcher domain where the preset will be available.\\n","x-format-description":"integer"}},"required":["id","title"]},"presets_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"presets":{"items":{"$ref":"#/components/schemas/preset"},"type":"array","description":"List of presets."}}}]},"event":{"oneOf":[{"$ref":"#/components/schemas/api_call_event"}],"discriminator":{"propertyName":"event","mapping":{"api_call_event":"#/components/schemas/api_call_event"}}},"events_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","description":"List of events","properties":{"events":{"type":"array","description":"List of events","items":{"$ref":"#/components/schemas/event"}}}}]},"entity_event":{"allOf":[{"$ref":"#/components/schemas/event_default"}]},"error":{"type":"object","properties":{"id":{"type":"string","description":"a unique identifier for this particular occurrence of the problem\\n"},"status":{"type":"string","description":"the HTTP status code applicable to this problem, expressed as a string value\\n"},"code":{"type":"string","description":"an application-specific error code, expressed as a string value\\n"},"title":{"type":"string","description":"a short, human-readable summary of the problem that SHOULD NOT change from\\noccurrence to occurrence of the problem, except for purposes of localization\\n"},"source":{"description":"an object containing references to the source of the error\\n","type":"object","properties":{"pointer":{"type":"string","description":"a JSON Pointer [RFC6901] to the associated entity in the request document\\n[e.g. `\\"/data\\"` for a primary data object, or `\\"/data/attributes/title\\"` for a specific attribute].\\n"},"parameter":{"type":"string","description":"a string indicating which URI query parameter caused the error."}}},"meta":{"type":"object","description":"a meta object containing non-standard meta-information about the error.\\n","additionalProperties":{"type":"string"}}}},"media_info":{"allOf":[{"$ref":"#/components/schemas/media_info_specific"},{"$ref":"#/components/schemas/media_info_common"}]},"media_info_specific":{"type":"object","properties":{"flow_type":{"description":"Whether it is a file with a finite start and end time or a live stream.","oneOf":[{"const":"file"},{"const":"stream"},{"const":"dvr_file"},{"const":"dvr_stream"}],"type":"string","example":"stream"},"tracks":{"description":"Information about available tracks (video, audio, or text).","items":{"allOf":[{"$ref":"#/components/schemas/track_info"}]},"type":"array","default":[],"x-api-allow":["smartcam"]},"duration":{"type":"number","format":"ticks","description":"Duration of the media, if applicable.","x-format-description":"ticks"}}},"track_info":{"oneOf":[{"$ref":"#/components/schemas/track_info_video"},{"$ref":"#/components/schemas/track_info_audio"},{"$ref":"#/components/schemas/track_info_text"},{"$ref":"#/components/schemas/track_info_metadata"},{"$ref":"#/components/schemas/track_info_application"}],"discriminator":{"propertyName":"content","mapping":{"video":"#/components/schemas/track_info_video","audio":"#/components/schemas/track_info_audio","text":"#/components/schemas/track_info_text","metadata":"#/components/schemas/track_info_metadata","application":"#/components/schemas/track_info_application"}},"x-record-definition":"#/components/schemas/track_info_full"},"track_info_video":{"allOf":[{"$ref":"#/components/schemas/track_info_base"},{"$ref":"#/components/schemas/track_info_base_configurable"},{"type":"object","properties":{"codec":{"description":"Codec of the track. Different codecs do **not** get the same track.","allOf":[{"$ref":"#/components/schemas/frame_codec"}],"example":"h264","x-api-allow":["smartcam","iris-hal"]}}},{"$ref":"#/components/schemas/track_info_video_specific"},{"$ref":"#/components/schemas/track_info_video_configurable"}]},"track_info_base":{"type":"object","properties":{"track_id":{"description":"Track identifier assigned by Flussonic.","anyOf":[{"type":"integer"},{"type":"string"}],"example":"v1"},"frame_duration":{"description":"For video track, it is the time between the beginning of a frame and the beginning of the next frame.\\n\\nThis parameter is important for some protocols. Normally, frame duration is a difference between timestamps of two neighbouring frames.\\nHowever, sometimes (when the connection is broken) video breakups are possible.\\nAs result, the delta between two consequent frame timestamps will not be equal to the frame duration.\\nThis situation is considered as a frame gap and is handled differently across different protocols.\\n","type":"number","format":"ticks","x-format-description":"ticks"},"avg_fps":{"description":"Actual average FPS - the number of frames diplayed per second (calculated for the last 200 frames).\\nThe higher FPS is, the smoother the video playback is. \\nUsually, standard values of FPS for films and video are used in different countries (for example, in Russia and Europe it is 25 FPS).\\n","type":"number","x-notice":"calculated fps for statistic"},"bandwidth":{"description":"Bandwidth necessary to transfer this track.\\nThis is slightly grater than bitrate because transport (e.g. MPEG TS) adds some overhead\\n","type":"integer","format":"speed","example":2600,"x-format-description":"speed"}}},"track_info_base_configurable":{"type":"object","required":["content"],"properties":{"content":{"description":"Content of the track (audio, video, or text).","allOf":[{"$ref":"#/components/schemas/frame_content"}],"x-api-allow":["smartcam","iris-hal"]},"title":{"description":"Human-readable localized title of the track.","type":"string","x-notice":"Human-readable localized title for HDS/HLS","example":"Video1"},"bitrate":{"description":"Bitrate of the track in kbit/s.\\nWhen using sdtv/hdtv/uhdtv transcoder target, for video tracks\\nthis field sets the desired transport bandwidth instead of raw video bitrate.\\n","type":"integer","format":"speed","example":2543,"x-api-allow":["smartcam","iris-hal"],"x-format-description":"speed"},"pid":{"description":"This parameter sets PIDs values for outgoing MPEG-TS streams.\\nPID identifies separate data stream inside the multiplexed MPEG-TS stream.\\nIt is possible to set PID values for PMT, SDT, video, and audio tracks.\\nTracks are numbered starting from one. The code a1=123 sets a PID value for the first audio track.\\n\\nIt is possible to set the base index for the tracks of a certain type using the 0 (zero) index.\\nFor example, t0=100 sets PID=101 for the first track, 102 for the second, and so on.\\nNumbers can be given in decimal form (by default) or hexadecimal with 16# prefix.\\n","allOf":[{"$ref":"#/components/schemas/ts_pid"}]}}},"frame_content":{"type":"string","oneOf":[{"title":"Audio","const":"audio"},{"title":"Video","const":"video"},{"title":"Text","const":"text"},{"title":"Metadata","const":"metadata"},{"title":"Application","const":"application"}]},"ts_pid":{"maximum":8191,"minimum":0,"type":"integer"},"frame_codec":{"anyOf":[{"$ref":"#/components/schemas/frame_video_codec"},{"$ref":"#/components/schemas/frame_audio_codec"},{"$ref":"#/components/schemas/frame_raw_codec"},{"$ref":"#/components/schemas/frame_text_codec"},{"$ref":"#/components/schemas/frame_app_codec"},{"type":"string","readOnly":true,"x-private":true,"description":"We will show recieved codec, but it could not be configured."}]},"frame_video_codec":{"type":"string","oneOf":[{"title":"H.264","const":"h264"},{"title":"HEVC (H.265)","const":"hevc"},{"title":"MP2V","const":"mp2v"},{"title":"VP9","const":"vp9","deprecated":true,"x-delete-at":23.09},{"title":"MJPEG","const":"mjpeg"},{"title":"Screen","const":"screen"},{"title":"JPEG","const":"jpeg"},{"title":"AV1","const":"av1"}]},"frame_audio_codec":{"type":"string","oneOf":[{"title":"AAC","const":"aac","x-api-allow":["watcher-client","watcher-admin"]}]},"frame_raw_codec":{"type":"string","oneOf":[{"title":"YUV","const":"yuv"},{"title":"UYVY422","const":"uyvy422"},{"title":"YUYV422","const":"yuyv422"},{"title":"YUV422p10","const":"yuv422p10"},{"title":"ARGB","const":"argb"},{"title":"RGB48","const":"rgb48"},{"title":"V210","const":"v210"},{"title":"PCM","const":"pcm"}]},"frame_text_codec":{"type":"string","oneOf":[{"title":"TTXT","const":"ttxt"},{"title":"Text","const":"text"},{"title":"WVTT","const":"wvtt"},{"title":"TTML","const":"ttml"},{"title":"Subtitle","const":"subtitle"},{"title":"ID3T","const":"id3t"},{"title":"ONVIF","const":"onvif"},{"title":"TX3G","const":"tx3g"}]},"frame_app_codec":{"oneOf":[{"title":"MPEG-TS","const":"mpegts"},{"title":"Object","const":"object"},{"title":"EIT","const":"eit"},{"title":"SCTE-27","const":"scte27"},{"title":"SCTE-35","const":"scte35"},{"title":"KLV","const":"klv"},{"title":"Empty","const":"empty"}],"type":"string"},"track_info_video_specific":{"type":"object","properties":{"last_gop":{"description":"Last GOP size (expressed in number of frames).\\nThis parameter is used to monitor the quality of encoding: normally, average GOP size should be equal to the last GOP size.\\nIf this value is floating, this means that your transcoder is working in a flexible GOP size mode and some players may have problems.\\nThis is not acceptable by most ABR usecases and it will not pass DVB validation protocol.\\n","type":"integer","example":28},"avg_gop":{"type":"integer","description":"Average GOP size (expressed in number of frames) of the last 1000-2000 frames.\\nThis parameter is used to monitor the quality of encoding: normally, average GOP size should be equal to the last GOP size.\\nIf this value is floating, this means that your transcoder is working in flexible GOP size mode and some players may have problems.\\nThis is not acceptable by most ABR usecases and it will not pass DVB validation protocol.\\n","example":25},"length_size":{"enum":[2,4],"default":4,"type":"integer","x-notice":"H264 private option","description":"The size of the length field for H264 bitstream without start codes."},"is_progressive":{"description":"Indicates if progressive scanning method is used for all frames of the track\\n","type":"boolean","default":true},"closed_captions":{"description":"Parameters of closed captions.","items":{"allOf":[{"$ref":"#/components/schemas/closed_captions"}]},"type":"array","default":[]}}},"closed_captions":{"type":"object","properties":{"language":{"description":"Language of closed captions.","type":"string","example":"eng"},"name":{"description":"Under what name the audio track will be displayed on the player.","type":"string","example":"English"},"type":{"x-private":true,"description":"The standard of the closed captions. \\nThe value is either 608 or 708 for CEA-608 and CEA-708 standards respectively.\\n\\nThis value is important for HLS and DASH players to display closed captions. \\nFor such players the presence should be explicit in the manifest files.\\n","type":"string","x-notice":"CC 608, 708","example":"608"},"id":{"x-private":true,"description":"The number of the channel that has closed captions. \\nIt\'s an integer between 1 and 4 for CEA-608 and between 1 and 63 for CEA-708.\\n","type":"string","x-notice":"CC 608 channel, CC 708 service num","example":"3"}}},"track_info_video_configurable":{"type":"object","properties":{"width":{"description":"The picture width in pixels on the display where it will be played by a player.\\nIf you need to insert a web-player into a web page, use this value for choosing the player size.\\n","type":"integer","format":"pixels","x-api-allow":["smartcam"],"x-format-description":"pixels"},"height":{"description":"The picture height in pixels on the display where it will be played by a player.\\nIf you need to insert a web-player into a web page, use this value for choosing the player size.\\n","type":"integer","format":"pixels","x-api-allow":["smartcam"],"x-format-description":"pixels"},"fps":{"description":"Frame rate (frames per second) - the speed at which a sequence of images is displayed on a screen.\\nHigher frame rates capture more images per second, which makes for smoother video.\\nThe standard frame rate for color television in the Phase Alternating Line (PAL) format is 25 fps.\\nThe standard frame rate for color television in the National Television System Committee (NTSC) format is 29,97 fps\\n(a little bit lower than the original frame rate of black and white NTSC television, equal to 30 fps.)\\nIf interlaced TV is used, two fields of each frame (with odd-numbered lines and with even-numbered lines) are displayed consequently,\\nbut the frame rate is actually not doubled (50 half-frames are still equal to 25 original frames). \\n","type":"number","x-api-allow":["smartcam"]},"pix_fmt":{"allOf":[{"$ref":"#/components/schemas/frame_video_pix_fmt"}],"default":"yuv420p","description":"The color model of the video."},"num_refs_frames":{"type":"integer","maximum":32,"minimum":0,"description":"The number of I-frames to be used for encoding."},"sar_width":{"description":"The first number in SAR. SAR is the ratio of the width of the display video representation to the width of the pixel representation.\\nSAR is used for creating non-anamorphic video from anamorphic video.\\n","default":1,"type":"integer","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/transcoder-internals/#transcoder-options_sar"}},"sar_height":{"description":"The second number in SAR. SAR is the ratio of the width of the display video representation to the width of the pixel representation.\\nSAR is used for creating non-anamorphic video from anamorphic video.\\n","default":1,"type":"integer","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/transcoder-internals/#transcoder-options_sar"}},"pixel_width":{"description":"The picture width in pixels of the original video before transcoding.","type":"integer","format":"pixels","x-format-description":"pixels"},"pixel_height":{"description":"The picture width in pixels of the original video before transcoding.","type":"integer","format":"pixels","x-format-description":"pixels"},"level":{"type":"string","description":"A set of constraints that indicate a degree of required decoder performance.\\nThis parameter is used for compatibility with old devices.\\n","x-api-allow":["smartcam"]},"profile":{"description":"A specific codec-dependent profile of the output video.\\nThe profile allows to assume if the track can be played on a particular device.\\n","type":"string","x-api-allow":["smartcam"]},"bframes":{"description":"Average number of B-frames in a GOP. B-frames contain links to keyframes and P-frames before and after themselves.\\nB-frames help to compress the video. However, some players impose limitations on this number: usually no more than 2 B-frames are used.\\nThis value also defines the GOP structure - the repeated pattern of frames after the keyframe: P, BP, BBP, BBBP, or BBBBP.\\n","type":"integer","x-notice":"calculated number of bframes for statistic","example":3},"gop_size":{"description":"The number of frames in a group of pictures (GOP). \\nThe encoder will create all GOPs of an exactly identical size - as specified in this option.\\nA bigger GOP can be good for video compression but it can result in big zap-time (the duration of time between changing a channel and displaying a new channel.)\\n","type":"integer","x-api-allow":["smartcam"]}}},"frame_video_pix_fmt":{"type":"string","oneOf":[{"title":"YUV420P","const":"yuv420p"},{"title":"YUVJ420P","const":"yuvj420p"},{"title":"YUV422P","const":"yuv422p"},{"title":"YUV444P","const":"yuv444p"},{"title":"YUV420P10","const":"yuv420p10"},{"title":"YUV422P10","const":"yuv422p10"},{"title":"YUV444P10","const":"yuv444p10"},{"title":"YUV420P12","const":"yuv420p12"},{"title":"YUV422P12","const":"yuv422p12"},{"title":"YUV444P12","const":"yuv444p12"},{"title":"Gray8","const":"gray8"},{"title":"Gray10","const":"gray10"},{"title":"Gray12","const":"gray12"},{"title":"NV12","const":"nv12"},{"title":"P016","const":"p016"},{"title":"V210","const":"v210"},{"title":"UYVY422","const":"uyvy422"},{"title":"YUYV422","const":"yuyv422"},{"title":"RGB48","const":"rgb48"},{"title":"ARGB","const":"argb"}]},"track_info_audio":{"allOf":[{"$ref":"#/components/schemas/track_info_base"},{"$ref":"#/components/schemas/track_info_base_configurable"},{"type":"object","properties":{"codec":{"description":"Codec of the track. Different codecs do **not** get the same track.","allOf":[{"$ref":"#/components/schemas/frame_codec"}],"example":"h264","x-api-allow":["smartcam","iris-hal"]}}},{"$ref":"#/components/schemas/track_info_audio_specific"}]},"track_info_audio_specific":{"type":"object","properties":{"channels":{"description":"The number of audio channels.","type":"integer","example":2,"x-api-allow":["smartcam"]},"sample_rate":{"description":"Sample rate, in hertz -\\nthe number of samples per second taken from a continuous signal to make a discrete or digital signal.\\n","type":"integer","example":8000,"x-api-allow":["smartcam"]},"language":{"description":"Language value of the track, if applicable.","type":"string","example":"eng"}}},"track_info_text":{"allOf":[{"$ref":"#/components/schemas/track_info_base"},{"$ref":"#/components/schemas/track_info_base_configurable"},{"type":"object","properties":{"codec":{"description":"Codec of the track. Different codecs do **not** get the same track.","allOf":[{"$ref":"#/components/schemas/frame_codec"}],"example":"h264","x-api-allow":["smartcam","iris-hal"]}}},{"$ref":"#/components/schemas/track_info_text_specific"}]},"track_info_text_specific":{"type":"object","properties":{"language":{"description":"Language value of the track, if applicable.","type":"string","example":"eng"}}},"track_info_metadata":{"allOf":[{"$ref":"#/components/schemas/track_info_base"},{"$ref":"#/components/schemas/track_info_base_configurable"},{"type":"object","properties":{"codec":{"description":"Codec of the track. Different codecs do **not** get the same track.","allOf":[{"$ref":"#/components/schemas/frame_codec"}],"example":"h264","x-api-allow":["smartcam","iris-hal"]}}}]},"track_info_application":{"allOf":[{"$ref":"#/components/schemas/track_info_base"},{"$ref":"#/components/schemas/track_info_base_configurable"},{"type":"object","properties":{"codec":{"description":"Codec of the track. Different codecs do **not** get the same track.","allOf":[{"$ref":"#/components/schemas/frame_codec"}],"example":"h264","x-api-allow":["smartcam","iris-hal"]}}},{"$ref":"#/components/schemas/track_info_application_specific"}]},"track_info_application_specific":{"type":"object","properties":{"language":{"description":"Language value of the track, if applicable.","type":"string","example":"eng"}}},"media_info_common":{"type":"object","properties":{"provider":{"description":"The media provider of this content.","type":"string","example":"Netflix"},"title":{"description":"Human-readable title of the media.","type":"string","example":"Bunny"},"stream_id":{"type":"integer","example":253,"description":"The identifier of the transport stream for MPEG TS streams."},"program_id":{"type":"integer","example":110,"description":"The program ID for MPEG TS streams."}}},"stream_status":{"type":"string","oneOf":[{"title":"Running","const":"running","description":"Input is OK, stream is ready to be served to your audience."},{"title":"Waiting","const":"waiting","description":"Flussonic awaits for input (publish) or it\'s an \'on demand\' stream waiting for client."},{"title":"Error","const":"error","description":"Something is wrong and Flussonic is not able to serve the stream to your audience."}]},"push_counters":{"type":"object","properties":{"url":{"description":"Obfuscated URL where to push to","type":"string","format":"input_url","x-format-description":"input_url"},"opened_at":{"type":"integer","format":"utc_ms","description":"The time in milliseconds when the pusher instance was created.","x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"status":{"description":"State of the push session.","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/sessions-in-media-server/#events-and-session-states"},"allOf":[{"$ref":"#/components/schemas/pusher_status"}]},"standby_status":{"description":"State of the standby push.","allOf":[{"$ref":"#/components/schemas/pusher_standby_status"}]},"bytes":{"type":"integer","format":"bytes","description":"Total amount of bytes sent since the pusher was created.","x-format-description":"bytes"},"frames":{"type":"integer","description":"Number of frames sent by this pusher.\\n"},"segments":{"type":"integer","description":"Number of segments sent by this pusher.\\n"},"pusher_restarts":{"description":"How many times pusher was restarted","type":"integer"},"errors_stop_overloaded":{"description":"How many times pusher was stopped due to overload","type":"integer"},"errors_dropped_frames":{"description":"Number of dropped frames","type":"integer"},"errors_dropped_segments":{"description":"Number of dropped segments","type":"integer"},"pids":{"type":"array","items":{"$ref":"#/components/schemas/push_pid_counters"},"description":"Per pid statistics for MPEG-TS encoding calculated for the pusher\\n"},"sys_fillers_bytes":{"description":"The fillers bytes count for system traffic.","type":"integer","format":"bytes","x-format-description":"bytes"},"sys_payload_bytes":{"description":"The payload bytes count for system traffic.","type":"integer","format":"bytes","x-format-description":"bytes"},"sys_stuffing_packets":{"description":"The stuff packets count for system traffic.","type":"integer"},"encoded_bytes":{"description":"The encoded bytes count.","type":"integer","format":"bytes","x-format-description":"bytes"},"resent_packets":{"description":"Number of retries since the last successful push.","type":"integer"},"errors_device_not_opened":{"description":"How much times pusher was unable to open (attach to) device for pushing","type":"integer"},"errors_device_buffer_overflow":{"description":"How many times internal device buffer was overflowed.","type":"integer"},"errors_audio_frame_decode":{"description":"Number of errors during of audio frame decoding to raw format.","type":"integer"},"errors_video_frame_decode":{"description":"Number of errors during of video frame decoding to raw format.","type":"integer"},"errors_no_destination":{"description":"How many times pusher did not establish connection because of destination peer is not reached","type":"integer"},"errors_tls":{"description":"How many times pusher got TLS errors.","type":"integer"},"errors_connection_lost":{"description":"How many times pusher unexpectedly lost connection with peer","type":"integer"},"errors_401":{"type":"integer","description":"How many times we\'ve got 401 (unauthorized).\\n"},"errors_403":{"type":"integer","description":"How many times we\'ve got 403 (forbidden).\\n"},"errors_404":{"type":"integer","description":"How many times we\'ve got 404 (enoent).\\n"},"errors_409":{"type":"integer","description":"How many times we\'ve got 409 (double_publish_denied).\\n"},"errors_500":{"type":"integer","description":"How many times we\'ve got 500 (server_error).\\n"},"errors_redirect_limit":{"type":"integer","description":"How many times pusher was stopped because of redirect limit is reached\\n"},"errors_not_authorized":{"description":"How many times pusher did not establish connection because of missing or wrong credentials","type":"integer"},"genlock_status":{"description":"SDI card output clock-lock state.","allOf":[{"$ref":"#/components/schemas/genlock_status"}]},"genref_status":{"description":"SDI card reference port (Ref In Port) status.","allOf":[{"$ref":"#/components/schemas/genref_status"}]}}},"pusher_status":{"anyOf":[{"enum":["starting","pending","retry","error"],"type":"string"},{"allOf":[{"$ref":"#/components/schemas/session_status"}]}]},"session_status":{"oneOf":[{"title":"Establishing","const":"establishing"},{"title":"Running","const":"running"},{"title":"Stalling","const":"stalling"},{"title":"Finished","const":"finished"}],"type":"string"},"pusher_standby_status":{"oneOf":[{"title":"Pusher is sending right now packets, because it does not see any traffic from main source.","const":"active"},{"title":"Pusher can see traffic from main source, so it is holding and does not send any packets.","const":"waiting"}]},"push_pid_counters":{"type":"object","required":["pid"],"properties":{"pid":{"description":"Related MPEG-TS pid","type":"integer"},"pnr":{"description":"What program does have this pid","type":"integer"},"packets":{"description":"How many MPEG-TS packets with 188 bytes on this pid produced\\n","type":"integer"},"payload_bytes":{"description":"The payload bytes count.","type":"integer","format":"bytes","x-format-description":"bytes"},"fillers_bytes":{"type":"integer","format":"bytes","description":"How many bytes were seen in NAL fillers\\n","x-format-description":"bytes"},"stuffing_packets":{"description":"The stuff packets count.","type":"integer"},"trimmed_bytes":{"description":"The trimmed bytes count.","type":"integer","format":"bytes","x-format-description":"bytes"},"trimmed_frames":{"description":"The trimmed frames count.","type":"integer"}}},"genlock_status":{"oneOf":[{"title":"No reference input signal is detected on the reference source input port.","const":"no_ref"},{"title":"A valid reference input signal is detected on the reference source input.","const":"locking"},{"title":"Full clock-lock has been achieved.","const":"locked"},{"title":"Invalid reference input signal is detected on the reference source input.","const":"invalid"},{"title":"Clock-lock feature not supported.","const":"not_supported"},{"title":"Unknown clock-lock state.","const":"unknown"}]},"genref_status":{"type":"object","properties":{"port":{"description":"Detected genref input port number.","type":"integer"},"external":{"description":"If true genref port is a physical port, else genref port is a virtual port (internal clock-lock feature).","type":"boolean"},"vstd":{"description":"Configured reference signal video standard.","anyOf":[{"$ref":"#/components/schemas/video_format"}]},"vstd_detected":{"description":"Detected (actual) reference signal video standard.","anyOf":[{"$ref":"#/components/schemas/video_format"}]}}},"video_format":{"type":"string","oneOf":[{"const":"pal","description":"pal 720x576 @ 50Hz interlace SMPTE-259"},{"const":"625i50","description":"Similar PAL"},{"const":"ntsc","description":"NTSC 720x480 @ 59.94Hz interlace SMPTE-259"},{"const":"525i29.97","description":"Similar NTSC"},{"const":"525i29","description":"Similar NTSC"},{"const":"720p23.98","description":"1280x720 @ 23.98Hz progressive SMPTE-296"},{"const":"720p23","description":"Similar 720p23.98"},{"const":"720p24"},{"const":"720p25"},{"const":"720p29.97"},{"const":"720p29"},{"const":"720p30"},{"const":"720p50"},{"const":"720p59.94"},{"const":"720p59"},{"const":"720p60"},{"const":"1080p23.98","description":"1920x1080 @ 23.98Hz progressive SMPTE-274"},{"const":"1080p23"},{"const":"1080p24"},{"const":"1080p25"},{"const":"1080p29.97"},{"const":"1080p29"},{"const":"1080p30"},{"const":"1080psf23.98","description":"1920x1080 @ 23.98Hz progressive Progressive segmented Frame SMPTE-274"},{"const":"1080psf23"},{"const":"1080psf24"},{"const":"1080psf25"},{"const":"1080psf29.97"},{"const":"1080psf29"},{"const":"1080psf30"},{"const":"1080i50"},{"const":"1080i59.94"},{"const":"1080i60"},{"const":"1080p50","description":"1920x1080 @ 50Hz progressive annex A or annex B depending hardware SMPTE-274"},{"const":"1080p50b","description":"1920x1080 @ 50Hz progressive annex B SMPTE-274"},{"const":"1080p59.94"},{"const":"1080p59"},{"const":"1080p59.94b"},{"const":"1080p59b"},{"const":"1080p60"},{"const":"1080p60b"},{"const":"2160p50","description":"4k 3840x2160 @ 50Hz progressive SMPTE-2036"},{"const":"2160p50b"},{"const":"2160p59.94"},{"const":"2160p59"},{"const":"2160p59.94b"},{"const":"2160p59b"},{"const":"2160p60"},{"const":"2160p60b"},{"const":"2160p23"},{"const":"2160p24"},{"const":"2160p25"},{"const":"2160p29"},{"const":"2160p30"}]},"input_stats":{"allOf":[{"type":"object","properties":{"ip":{"type":"string","description":"IP address of the connected peer.","example":"172.16.25.73"},"proto":{"allOf":[{"$ref":"#/components/schemas/protocol"}],"description":"Protocol used for the data transmission in the session.","example":"dash"},"opened_at":{"type":"number","format":"utc_ms","description":"The time when this session was created.","example":1637094994000,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"media_info":{"allOf":[{"$ref":"#/components/schemas/media_info"}],"description":"Technical description of the input content.\\n"},"ts_delay":{"type":"number","format":"ticks","example":1284,"description":"The time period during which no frames were received from the stream\'s input.\\n","x-format-description":"ticks"},"ts_delay_per_tracks":{"type":"array","items":{"type":"number","format":"ticks","x-format-description":"ticks"},"example":[1284],"description":"The time period during which no frames were received per each track according to `media_info`\\n"},"url":{"type":"string","format":"url","description":"Final URL after redirects.\\n\\nDeprecated because was never actually used.\\n","example":"udp://239.0.0.1:1234","deprecated":true,"x-delete-at":25.03,"x-format-description":"url"},"user_agent":{"type":"string","description":"Client\'s user agent for selected protocol.","example":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML. like Gecko) Chrome/90.0.4430.72 Safari/537.36"},"active":{"description":"Whether this input is selected as active for the stream.","type":"boolean","example":true},"dvr_info":{"description":"Information about DVR that this input has\\n","allOf":[{"$ref":"#/components/schemas/dvr_info"}]}}},{"$ref":"#/components/schemas/input_counters"}]},"protocol":{"type":"string","oneOf":[{"title":"copy","const":"copy"},{"title":"fake","const":"fake"},{"title":"RTP","const":"rtp"},{"title":"RTMP","const":"rtmp"},{"title":"RTMPS","const":"rtmps"},{"title":"RTMPE","const":"rtmpe"},{"title":"RTSP","const":"rtsp"},{"title":"RTSP-UDP","const":"rtsp-udp"},{"title":"RTSP2","const":"rtsp2"},{"title":"RTSPS","const":"rtsps"},{"title":"EST","const":"est"},{"title":"SRT","const":"srt"},{"title":"MSE-LD","const":"mseld"},{"title":"SHOUTcast","const":"shoutcast"},{"title":"SHOUTcasts","const":"shoutcasts"},{"title":"WebRTC","const":"webrtc"},{"title":"HLS","const":"hls"},{"title":"HLSS","const":"hlss"},{"title":"HLS2","const":"hls2"},{"title":"HLSS2","const":"hlss2"},{"title":"LL-HLS","const":"llhls"},{"title":"CMAF","const":"cmaf"},{"title":"DASH","const":"dash"},{"title":"MSS","const":"mss"},{"title":"M4S","const":"m4s"},{"title":"M4SS","const":"m4ss"},{"title":"M4F","const":"m4f"},{"title":"M4FS","const":"m4fs"},{"title":"HTTP MPEG-TS","const":"tshttp"},{"title":"HTTPS MPEG-TS","const":"tshttps"},{"title":"TCP MPEG-TS","const":"tstcp"},{"title":"SSL MPEG-TS","const":"tsssl"},{"title":"FLV","const":"flv"},{"title":"annexB","const":"annexb"},{"title":"UDP","const":"udp"},{"title":"UDP1","const":"udp1"},{"title":"UDP2","const":"udp2"},{"title":"UDP3","const":"udp3"},{"title":"UDP MPTS","const":"mpts-udp"},{"title":"HTTP MPTS","const":"mpts-http"},{"title":"HTTPS MPTS","const":"mpts-https"},{"title":"DVB MPTS","const":"mpts-dvb"},{"title":"DVB","const":"dvb"},{"title":"Decklink","const":"decklink"},{"title":"DekTec","const":"dektec"},{"title":"DekTec ASI","const":"dektec-asi"},{"title":"v4l","const":"v4l"},{"title":"v4l2","const":"v4l2"},{"title":"Playlist","const":"playlist"},{"title":"Mixer","const":"mixer"},{"title":"Mosaic","const":"mosaic"},{"title":"Mosaic2","const":"mosaic2"},{"title":"Timeshift","const":"timeshift"},{"title":"File","const":"file"},{"title":"Download","const":"download"},{"title":"MBR","const":"mbr"},{"title":"MP4","const":"mp4"},{"title":"Logo","const":"logo"},{"title":"JPEG","const":"jpeg"},{"title":"MJPEG","const":"mjpeg"},{"title":"H.323","const":"h323"},{"title":"Ad injector","const":"ad_injector"},{"title":"ffmpeg","const":"ffmpeg"},{"title":"Transponder","const":"transponder"},{"title":"API","const":"api"},{"title":"JSON manifest","const":"json_manifest"},{"title":"Player","const":"player"},{"title":"NDI","const":"ndi"},{"title":"ST2110","const":"st2110"}]},"dvr_info":{"type":"object","properties":{"from":{"type":"integer","format":"utc","description":"The UTC timestamp of the first recording in this archive.","example":1641045644,"x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000},"depth":{"type":"integer","format":"seconds","description":"The time interval between the start of the *first* recording segment and the end of the *last* one.","example":259200,"x-format-description":"seconds"},"ranges":{"deprecated":true,"x-delete-at":24.09,"description":"The list of DVR ranges. The param is replaced with `ranges_list` method.","items":{"allOf":[{"$ref":"#/components/schemas/dvr_range"}]},"type":"array"},"bytes":{"description":"The size of the recorded archive.","type":"integer","format":"bytes","example":129600000000,"x-format-description":"bytes"},"disk_size":{"description":"The size of the recorded archive. Please, use bytes instead.","type":"integer","format":"bytes","example":1099511627776,"deprecated":true,"x-delete-at":25.07,"x-format-description":"bytes"},"duration":{"type":"integer","format":"seconds","description":"A total duration of the recorded segments, excluding recording gaps.\\nIt can be smaller than depth if you have gaps.\\n","example":172800,"x-format-description":"seconds"}},"required":["from","depth","ranges"]},"dvr_range":{"type":"object","properties":{"from":{"description":"The beginning of the recorded DVR range. Use opened_at instead.\\nMention that opened_at has milliseconds\\n","type":"integer","format":"utc","example":1525186456,"deprecated":true,"x-delete-at":24.11,"x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000},"duration":{"description":"The duration of the recorded DVR range.\\nUse closed_at instead of this field. \\n","type":"integer","format":"seconds","example":28800,"deprecated":true,"x-delete-at":24.11,"x-format-description":"seconds"},"opened_at":{"type":"integer","format":"utc_ms","description":"The time when this range was started. Naming is standard for whole flussonic ecosystem.\\n\\nIs a replacement for field `from`\\n","examples":{"default":{"value":1637094994000}},"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"closed_at":{"type":"integer","format":"utc_ms","description":"The the of the last recorded data.\\n\\nPlease notice that closed_at could be changed. There are two reasons.\\n- Cleaner process reduced data. Read [more](https://flussonic.com/doc/api/reference/#tag/stream/operation/stream_get/response%7Cdvr%7Cepisodes_url).\\n- Recording is still working. Near real-time value means that DVR is active at the moment.\\n\\nThis is a replacement for `duration` field\\n","examples":{"default":{"value":1637094994000}},"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000}}},"input_counters":{"type":"object","description":"Here are grouped different counters for sessions: generic and errors\\n","properties":{"bytes":{"type":"integer","format":"bytes","default":0,"description":"Number of bytes received by this stream from outside.\\nIt will be counted before transcoding and will sum all inputs working together.\\n","openmetrics_metric":"stream_input_bytes","x-format-description":"bytes"},"frames":{"type":"integer","default":0,"description":"Number of frames passed to this stream from the inputs.\\n"},"retries":{"type":"integer","description":"How many times has this stream retried to connect to source"},"media_info_changes":{"type":"integer","description":"Indicates, how often does media_info changes\\n"},"valid_secondary_inputs":{"description":"Number of secondary inputs that have no problems.","type":"integer","example":2},"invalid_secondary_inputs":{"description":"Number of secondary inputs that have some problems.","type":"integer","example":0},"resync_count_normal":{"type":"integer","description":"Stream timestamps are synchronized with real time. This counter tells, how many times\\nit was syncronized after source reconnect.\\n"},"resync_count_jump":{"type":"integer","description":"Source may change timestamps without any signalling. This counter indicates how bad is the source\\n"},"resync_count_drift":{"type":"integer","description":"Source may send frames timestamps faster or slower than realtime.\\nLive stream will catch it and resync. This counter indicates how many times did it happened.\\n"},"reorder_count":{"type":"integer","description":"Source may send frames not in the order they should be played. It will be catched and reordered.\\nThis counter indicates how many times did it happened.\\n"},"ad_splices_ingested":{"type":"integer","description":"How many Ad markers passed to this stream from the inputs.\\n"},"ad_splices_inserted":{"type":"integer","description":"How many Ad markers inserted to this stream by user.\\n"},"srt":{"type":"object","$ref":"#/components/schemas/input_srt_counters"},"errors":{"type":"integer","description":"Sum of all other specific errors. Can be used for triggering alert on any error\\n","example":0},"errors_lost_packets":{"type":"integer","description":"RTP, MPEG-TS or other protocols have enough information to tell how many packets were lost\\n"},"errors_decoder_reset":{"type":"integer","description":"Decoder reset count due to abnormal DTS change. Can happen in MPEG-TS, RTP.\\n"},"errors_broken_payload":{"type":"integer","description":"Demultiplexing was done right, but content is broken.\\n"},"errors_dropped_frames":{"type":"integer","description":"Dropped frames count due timestamp adjustment.\\n"},"errors_desync":{"type":"integer","description":"This can be used as a `TS_sync_loss` - how many times MPEG-TS sync was lost.\\n\\nAlso this counter refers to RTSP desync, when camera starts dropping TCP data and\\nwe have to find packet boundaries.\\n\\nHere we write count of such resynchronizations.\\n"},"errors_ts_pat":{"type":"integer","description":"how many times PAT was missing during 0,5 seconds or pid 0 misses PAT\\n\\n`PAT_error`\\n"},"pids":{"type":"array","items":{"$ref":"#/components/schemas/input_pid_counters"},"description":"Per pid statistics calculated for MPEG-TS input\\n"},"rtp_channels":{"type":"array","items":{"$ref":"#/components/schemas/input_rtp_counters"},"description":"Per channel statistics calculated for RTP input\\n"},"errors_ts_service_lost":{"type":"integer","description":"How many times have received PAT that was missing required service (program)\\n"},"errors_ts_stuck_restarts":{"type":"integer","description":"Number of connection restarts to fix ts_stuck issue. Can happen in RTSP.\\n"},"errors_404":{"type":"integer","description":"How many times we\'ve got 404 (enoent).\\n"},"errors_403":{"type":"integer","description":"How many times we\'ve got 403 (eaccess).\\n"},"errors_500":{"type":"integer","description":"How many times we\'ve got 500 (backend error).\\n"},"errors_crashed":{"type":"integer","description":"How many times input was restarted due to internal crash.\\n\\nThis may happen due to unhandled input.\\n"}}},"input_srt_counters":{"type":"object","description":"SRT specific counters\\n","properties":{"rtt":{"type":"integer","description":"Round-trip time\\n"},"latency":{"type":"integer","description":"Receiver buffering delay"},"packets":{"type":"integer","description":"Total incoming SRT packets counter\\n"},"retransmitted_packets":{"type":"integer","description":"How many packets were retransmitted\\n"},"error_lost_packets":{"type":"integer","description":"How many SRT packets were lost\\n"},"error_dropped_packets":{"type":"integer","description":"How many SRT packets were dropped by various reasons\\n"}}},"input_pid_counters":{"type":"object","required":["pid"],"properties":{"pid":{"description":"Related MPEG-TS pid with following problems\\n","type":"integer"},"pnr":{"description":"What program does have this pid\\n","type":"integer"},"packets":{"description":"How many MPEG-TS packets with 188 bytes on this pid received\\n","type":"integer"},"frames":{"description":"Frame count on this pid\\n","type":"integer"},"empty_packets":{"description":"Packets without payload and adaptation field\\n","type":"integer"},"errors_adaptation_broken":{"description":"Packets with adaptation field larger than packet size\\n","type":"integer"},"errors_ts_scrambled":{"type":"integer","description":"Amount of scrambled TS packets\\n"},"errors_ts_pmt":{"type":"integer","description":"how many times PMT was not received after 0,5 seconds\\n\\n`PMT_error`\\n"},"errors_ts_cc":{"type":"integer","description":"how many MPEG-TS packets were received with non-contigious contiuity counters.\\n\\n`Continuity_count_error`\\n","example":0},"errors_ts_tei":{"type":"integer","description":"How many MPEG-TS packets with Transport Error Indicator were received\\n\\n`Transport_error`, 2.1\\n"},"errors_ts_psi_checksum":{"type":"integer","description":"How many times have received PSI entry with broken checksum\\n\\n`CRC_error`\\n"},"broken_pes_count":{"type":"integer","description":"How many PES packets were started not from startcode\\n"},"broken_pes_sum":{"type":"integer","description":"How many bytes were discarded due to lack of PES startcode\\n"},"time_corrections":{"type":"integer","description":"Jumps of timestamps inside a MPEG-TS stream\\n"},"repeated_frames":{"type":"integer","description":"In case of CC error last frame can be repeated. This is a count of repeated frames\\n"},"corrected_backward_pts":{"type":"integer","description":"How many times PTS was less than PCR or previous PTS\\n"},"pcr_resync":{"type":"integer","description":"If PTS is drifting away from PCR, it can be resynchronized with PCR. This is a resync count\\n"},"discarded_buffer_count":{"type":"integer","description":"How many times was discarded too big ES buffer without making a frame of it\\n"},"discarded_buffer_sum":{"type":"integer","description":"How many bytes were lost due to discarding ES buffer\\n"},"fillers_count":{"type":"integer","description":"How many H264(5) NAL fillers were seen in the input\\n"},"fillers_sum":{"type":"integer","description":"How many bytes were seen in NAL fillers\\n"},"padding_pes_count":{"type":"integer","description":"How many PES packets were on the Padding streamId\\n"},"padding_pes_sum":{"type":"integer","description":"How many bytes were in PES packets on the Padding streamId\\n"},"crashed":{"type":"integer","description":"Unhandled crashes inside mpegts decoding process due\\n"},"dts_goes_backwards":{"type":"integer","description":"Time on this PID jumped back from reference PTS and it was not a roll over zero\\n"},"dts_jump_forward":{"type":"integer","description":"Time on this PID jumped forward too far away from reference PTS\\n"},"too_large_dts_jump":{"type":"integer","description":"Jump of the PTS was so big from previous, that had to flush all frames and restart parsing\\n"}}},"input_rtp_counters":{"allOf":[{"$ref":"#/components/schemas/rtp_counters_base"},{"$ref":"#/components/schemas/h26x_decoder_counters"}]},"rtp_counters_base":{"type":"object","required":["channel_id"],"properties":{"channel_id":{"description":"RTP channel number\\n","type":"integer","example":0},"content":{"description":"Content of the track transmitted in the channel\\n","type":"string","example":"video"},"rtp_packets":{"type":"integer","description":"How many RTP packets received for this channel\\n"},"rtcp_packets":{"type":"integer","description":"How many RTCP packets received for this channel\\n"},"bytes":{"type":"integer","description":"How many bytes received for this channel\\n"},"frames":{"type":"integer","description":"How many frames received for this channel\\n"},"pt_reject_count":{"type":"integer","description":"Number of rtp packets rejected due to wrong payload type\\n"},"pt_reject_sum":{"type":"integer","description":"Total size of rejected packets due to wrong payload type (pt_reject_count) rtp packets\\n"},"ts_goes_backwards":{"type":"integer","description":"Time on this channel is jumped back from reference wallclock.\\n"},"ts_jump_forward":{"type":"integer","description":"Time on this channel is jumped forward from reference wallclock.\\n"},"ts_stuck":{"type":"integer","description":"https://datatracker.ietf.org/doc/html/rfc6184#section-4.1\\n\\naccess unit: A set of NAL units always containing a primary coded picture.  In addition to the primary coded\\npicture, an access unit may also contain one or more redundant coded pictures or other NAL units not containing\\nslices or slice data partitions of a coded picture.  The decoding of an access unit always results in a\\ndecoded picture.\\n\\nThere is `marker bit` in RTP packet which is set for the very last packet of the access unit indicated by the RTP timestamp.\\n\\nIt is protocol violation if received RTP packet has the same timestamp as previous marker bit packet.\\n\\nThis counter is a number of RTP packets which `RTP timestamp` is equal to previous RTP marker bit packet.\\n"},"errors_dts_stuck":{"type":"integer","description":"Number of frames which dts is same as previous frame dts.\\n"},"sr_ts_stuck":{"type":"integer","description":"Number of rtcp SR packets which `RTP timestamp` is equal to the previous rtcp SR packet `RTP timestamp`. \\n"},"sender_clock_deviation":{"type":"integer","description":"Sender wallclock deviation from server time in ms. Positive value means that sender time is ahead of server time.\\n"},"marker_packets_count":{"type":"integer","description":"Number of RTP packets which marker bit is set to one.\\n"},"no_marker_mode_flag":{"type":"boolean","description":"If no marker bit packet is received after 400 RTP packets then decoder switches to `no_marker_mode` and\\nmakes frame on each timecode change. \\n\\nThis flag shows if decoder works in `no_marker_mode`.\\n"}}},"h26x_decoder_counters":{"type":"object","description":"Here are counters for h264/h265 decoder.\\n","properties":{"nal_count":{"type":"integer","description":"How many NAL units handled by this decoder.\\n"},"discarded_broken_nal_count":{"type":"integer","description":"Number of NAL units, which `forbidden_zero_bit` is set to one.\\n"},"discarded_not_allowed_nal_count":{"type":"integer","description":"Number of NAL units, which type is not allowed in `non-interleaved packetization mode`.\\n"},"nal_fu_count":{"type":"integer","description":"`Fragmentation Unit` used to fragment a single NAL unit over multiple RTP packets.\\n`H.264` uses `FU-A` NAL. `H.265` has its own fragmentation unit.\\n\\nThis counter shows how many `Fragmentation Units` handled by this decoder. \\n"},"nal_stap_a_count":{"type":"integer","description":"How many NAL `STAP_A` units handled by this decoder.\\n"},"nal_aggregation_count":{"type":"integer","description":"How many NAL `AGGREGATION` units handled by this decoder.\\n"},"fu_pattern_is_broken_count":{"type":"integer","description":"`Fragmentation Unit` used to fragment a single NAL unit over multiple RTP packets.\\n`H.264` uses `FU-A` NAL. `H.265` has its own fragmentation unit.\\n\\n`Fragmentation Units` pattern must have a `Start FU`, `End FU` and could have `FUs` between these ones. \\n\\nThis counter indicates how many times pattern was broken.\\n"},"fu_has_both_start_end_bits_count":{"type":"integer","description":"`Fragmentation Unit` used to fragment a single NAL unit over multiple RTP packets.\\n`H.264` uses `FU-A` NAL. `H.265` has its own fragmentation unit.\\n\\nThis counter shows number of `Fragmentation Units` which `Start bit` and `End bit` are set to one in the same `FU` header\\n"},"incomplete_nal_count":{"type":"integer","description":"NAL deframentation could be interrupted by unexpected NAL or broken/incomplete packet.\\nIf NAL deframentation is interrupted then incomplete fragment of NAL is not discarded and used in decoding process.\\n\\nThis counter indicates how many incomplete NALs were used.  \\n"},"discarded_fu_count":{"type":"integer","description":"`Fragmentation Unit` used to fragment a single NAL unit over multiple RTP packets.\\n`H.264` uses `FU-A` NAL. `H.265` has its own fragmentation unit.\\n\\nThis counter shows number of discarded `Fragmentation Units`\\n"},"fu_end_then_middle_workaround_count":{"type":"integer","description":"There is workaround to not interrupt `FU` sequence if `end-FU` followed by `middle-FU`. \\nThis counter shows how many time the workaround was applied.\\n"},"nal_sei_count":{"type":"integer","description":"How many NAL `SEI` units handled by this decoder.\\n"},"invalid_sei_type_count":{"type":"integer","description":"Number of `SEI` NAL units with invalid type\\n"},"invalid_sei_size_count":{"type":"integer","description":"Number of `SEI` NAL units with invalid size\\n"},"invalid_sei_payload_count":{"type":"integer","description":"Number of `SEI` NAL units with bad payload\\n"},"discarded_sei_count":{"type":"integer","description":"Number of discarded `SEI` NAL units\\n"},"nal_idr_count":{"type":"integer","description":"How many NAL `IDR` units handled by this decoder.\\n"},"nal_single_count":{"type":"integer","description":"How many NAL `SINGLE` units handled by this decoder. \\n"},"nal_sps_count":{"type":"integer","description":"How many NAL `SPS` units handled by this decoder.\\n"},"nal_pps_count":{"type":"integer","description":"How many NAL `PPS` units handled by this decoder.\\n"},"nal_aud_count":{"type":"integer","description":"How many NAL `AUD` units handled by this decoder.\\n"},"nal_filler_count":{"type":"integer","description":"How many NAL `FILLER` units handled by this decoder.\\n"},"nal_slice_count":{"type":"integer","description":"How many NAL `SLICE` units handled by this decoder.\\n"},"nal_vps_count":{"type":"integer","description":"How many NAL `VPS` units handled by this decoder.\\n"},"nal_other_count":{"type":"integer","description":"How many other NAL units handled by this decoder.\\n"},"discarded_nal_count":{"type":"integer","description":"Number of discarded NAL units.\\n"}}},"stream_config_input":{"type":"object","properties":{"inputs":{"description":"List of stream inputs. \\n***Important:*** A stream without any inputs can receive video frames **only** if backup file is specified.\\n","items":{"allOf":[{"$ref":"#/components/schemas/stream_input"}]},"type":"array","x-api-allow":["smartcam","watcher-core","vision-config-external","watcher-client","watcher-admin","central-layouter"]}}},"stream_input":{"oneOf":[{"$ref":"#/components/schemas/stream_input_fake"},{"$ref":"#/components/schemas/stream_input_file"},{"$ref":"#/components/schemas/stream_input_h323"},{"$ref":"#/components/schemas/stream_input_hls"},{"$ref":"#/components/schemas/stream_input_rtmp"},{"$ref":"#/components/schemas/stream_input_rtsp"},{"$ref":"#/components/schemas/stream_input_srt"},{"$ref":"#/components/schemas/stream_input_tshttp"},{"$ref":"#/components/schemas/stream_input_mixer"},{"$ref":"#/components/schemas/stream_input_mosaic"},{"$ref":"#/components/schemas/stream_input_m4f"},{"$ref":"#/components/schemas/stream_input_m4s"},{"$ref":"#/components/schemas/stream_input_rtp"},{"$ref":"#/components/schemas/stream_input_shoutcast"},{"$ref":"#/components/schemas/stream_input_timeshift"},{"$ref":"#/components/schemas/stream_input_playlist"},{"$ref":"#/components/schemas/stream_input_copy"},{"$ref":"#/components/schemas/stream_input_spts"},{"$ref":"#/components/schemas/stream_input_mpts"},{"$ref":"#/components/schemas/stream_input_publish"},{"$ref":"#/components/schemas/stream_input_v4l"},{"$ref":"#/components/schemas/stream_input_decklink"},{"$ref":"#/components/schemas/stream_input_dektec"},{"$ref":"#/components/schemas/stream_input_external"},{"$ref":"#/components/schemas/stream_input_ndi"},{"$ref":"#/components/schemas/stream_input_st2110"}],"x-pattern-discriminator":"url"},"stream_input_fake":{"allOf":[{"type":"object","title":"Demo source","properties":{"url":{"description":"URL to get a demo stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"fake://fake","pattern":"^fake://.*$","x-format-description":"input_url"},"width":{"type":"integer","description":"Width of an artificially created test video stream. \\nApplicable to the `fake://fake` URL.\\n"},"height":{"type":"integer","description":"Height of an artificially created test video stream. \\nApplicable to the `fake://fake` URL.\\n"},"bitrate":{"type":"integer","format":"speed","description":"Bitrate of an artificially created test video stream. \\nApplicable to the `fake://fake` URL.\\n","x-format-description":"speed"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_base":{"type":"object","properties":{"comment":{"description":"Human-readable description of the input.\\n","type":"string","example":"This is a test input"},"source_timeout":{"description":"The period of time, in seconds, for which Media Server will wait for new frames until it considers the source as lost.","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/add-secondary-source-for-redundancy/#source_timeout"},"anyOf":[{"type":"integer","format":"seconds","x-format-description":"seconds"},{"enum":[false],"type":"boolean"}],"example":20,"x-api-allow":["watcher-core"]},"audio_timeout":{"description":"The period of time, in seconds, for which Media Server will wait for new audio frames until it considers the source as lost.","externalDocs":{"description":"Find more information here"},"type":"integer","format":"seconds","example":20,"x-api-allow":["watcher-core"],"x-format-description":"seconds"},"video_timeout":{"description":"The period of time, in seconds, for which Media Server will wait for new video frames until it considers the source as lost.","type":"integer","format":"seconds","example":20,"x-api-allow":["watcher-core"],"x-format-description":"seconds"},"max_retry_timeout":{"description":"The maximum time that Media Server will set for attempts to reconnect to source when source problems occur.\\nThe time between attempts is not linear and may increase if source problems are not fixed. This parameter limits this value, but the time itself between attempts may be longer.\\n","type":"integer","format":"seconds","example":30,"minimum":1,"x-api-allow":["watcher-core"],"x-format-description":"seconds"},"timeout":{"description":"The time, in seconds, for Media Server to switch to the fallback source if the main source stops sending frames (video or audio). \\nThe important thing here is that the source remains active (connected), allowing for a client-publisher to stay on the socket.\\n","type":"integer","example":10,"x-api-allow":["watcher-core"]},"frames_timeout":{"description":"Specifies the period of time, in seconds, for which Media Server waits for new frames to come from the data source before it generates the `frames_timed_out` event that informs you that the source might soon be lost. \\nThis period of time must be smaller than `source_timeout`. \\nIf frames come again from this source, before `source_timeout` has passed, Media Server issues the `frames_restored` event.\\n","type":"integer","example":3,"x-api-allow":["watcher-core"]},"priority":{"description":"The priority that Media Server takes into account when switching to another source.\\nThe source with `priority=1` has the first priority, the source with `priority=2` has the second priority, and so on.\\n\\nBy default, the first source in the list has the highest priority and the last source in the list has the lowest priority. \\nIf priority is not specified for some sources, or if some sources have equal priorities, then the default order is applied. \\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/add-secondary-source-for-redundancy/#priority"},"type":"integer","example":1,"x-api-allow":["watcher-core"]},"stats":{"description":"Detailed runtime information about the input.","allOf":[{"$ref":"#/components/schemas/input_stats"}],"readOnly":true,"x-api-allow":["watcher-core"]},"user_agent":{"type":"string","description":"User agent. Can be modified if a protocol allows it.","x-api-allow":["watcher-core"]},"via":{"type":"string","format":"agent_url","description":"Agent ID. Used as a proxy to connect to the input server.","x-api-allow":["watcher-core","central-layouter"],"x-format-description":"agent://ID identification for `via` configuration option\\n"},"output_audio":{"description":"Enables transcoding of the published audio to another codec.\\nThe option is useful when you want to get an AAC audio track from WebRTC publish with OPUS or RTSP camera with PCMU.\\n","allOf":[{"$ref":"#/components/schemas/output_audio"}],"x-api-allow":["watcher-core"]},"headers":{"additionalProperties":{"type":"string"},"type":"object","description":"Request headers as key-value pairs.","example":{"User-Agent":"curl/7.85.0","Authorization":"Basic dXNlcjpwYXNzd29yZA=="},"x-api-allow":["watcher-core"]},"no_clients_reconnect_delay":{"type":"integer","description":"Skip input start if the stream has no clients."},"allow_if":{"type":"string","description":"Path to a file. The input will be allowed if you put `1` in the file, or denied if `0` (reverse logic to `deny_if`).\\nThis option allows you to manage inputs without API requests.\\n\\nFor example, your stream has two inputs and you set `allow_if = /path/to/file` for the first input.\\nThe `/path/to/file` file contains only the digit `1`. That means that the first input is used when you play the stream.\\nWhen you put `0` to the `/path/to/file` file, the first input is denied, so the second one is played.\\n\\nIf no such file, the input is allowed.\\n"},"deny_if":{"type":"string","description":"Path to a file. The input will be denied if you put `1` in the file, or allowed if `0` (reverse logic to `allow_if`).\\nThis option allows you to manage inputs without API requests.\\n\\nFor example, your stream has two inputs and you set `deny_if = /path/to/file` for the first input.\\nThe `/path/to/file` file contains only the digit `1`. \\nThat means that the first input will not be used when you play the stream, so the second one will.\\nWhen you put `0` to the `/path/to/file` file, the first input is allowed to be played.\\n\\nIf no such file, the input is allowed.\\n"},"bind_ip":{"type":"string","x-private":true,"description":"Interface ip address, to bind socket to."},"mbr":{"x-private":true,"type":"string","deprecated":true,"description":"Enables the multi-bitrate mode for transcoding the input.\\nNeed to remove it, but must offer some replacement to Watcher\\n","x-api-allow":["watcher-core"]}}},"output_audio":{"type":"string","oneOf":[{"title":"Keep","const":"keep","description":"Keep the original audio codec."},{"title":"AAC","const":"aac","description":"Keep AAC if available or transcode to AAC; delete other tracks if any."},{"title":"Add_AAC","const":"add_aac","description":"Add AAC if it was not available already while keeping the original track."}]},"stream_input_file":{"allOf":[{"type":"object","title":"File","properties":{"url":{"description":"URL to get a stream from file.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"file://vod/bunny.mp4","pattern":"^file://.*$","x-format-description":"input_url"},"raw":{"x-private":true,"description":"If this option is enabled, file source produce raw stream.","type":"boolean"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_mpegts_specific"},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_mpegts_specific":{"type":"object","properties":{"programs":{"description":"Choose a program to ingest from an MPEG-TS stream.","items":{"type":"integer"},"type":"array","example":[1]},"pids":{"description":"Choose a specific PID to ingest from an MPEG-TS stream. \\nPID identifies separate data stream inside the multiplexed MPEG-TS stream. \\nIt is possible to set PID values for PMT, SDT, video, and audio tracks.\\n","items":{"type":"integer"},"type":"array","example":[211]},"no_fix_subs_dts":{"x-private":true,"description":"If this option is enabled, Flussonic will not try to fix subtitles DTS.","type":"boolean"},"cc_check":{"x-private":true,"description":"This parameter defines the behavior when getting a CC (Continuity Counter) error.\\n","oneOf":[{"const":"no","description":"Do nothing."},{"const":"log","description":"Write to the log."},{"const":"repeat","description":"Try again."}]},"subtitles":{"description":"This configuration is deprecated. Use `dvbocr` configuration field in stream.\\n\\nThis parameter allows to manage subtitles in an output stream.\\n","oneOf":[{"const":"drop","description":"An output stream will have no subtitles track."},{"const":"accept","description":"An output stream will have a subtitles track in DVB, without conversion to text (default behavior)."},{"const":"ocr_replace","description":"An output stream will have a track containing subtitles converted to a text format (WebVTT)."},{"const":"ocr_add","description":"An output stream will have two tracks containing subtitles: \\nthe original track with subtitles in DVB and a new track with text subtitles.\\n"}],"example":"drop","deprecated":true,"x-delete-at":25.03},"closed_captions":{"additionalProperties":{"type":"string"},"type":"object","x-key-type":"string","description":"The rules for handling the closed captions.\\n"},"scte35":{"description":"This option disables processing of SCTE-35 markers from an MPEG-TS input stream.\\nDeprecated since 22.12.\\nAvailable ways to disable processing of SCTE-35 markers:\\n1. pids option to select tracks without SCTE-35 markers\\n2. hls_scte35 option from stream_config_media for hls output\\n3. performing appropriate tuning pids in the transponder\\n","type":"boolean","default":true,"example":true,"deprecated":true,"x-delete-at":23.09},"languages":{"additionalProperties":{"type":"string"},"type":"object","x-key-type":"mpegts_lang_track","description":"An array of MPEG-TS language descriptors in format `[{key: track, value: language}]`\\n"},"bypass_psis":{"x-private":true,"description":"The list of PIDs that will transmit PSI tables as video frames (content=metadata).","items":{"type":"integer"},"type":"array"},"try_adts":{"x-private":true,"description":"If this option is enabled, the decoder tries to decode LATM as ADTS.","type":"boolean"}}},"stream_input_h323":{"allOf":[{"type":"object","title":"H323","properties":{"url":{"description":"URL to connect to the H323 source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"h323://192.168.100.150","pattern":"^h323://.*$","x-format-description":"input_url"},"id":{"type":"string","description":"H323 input ID."},"video_bitrate":{"type":"integer","format":"speed","description":"H323 input bitrate.","x-format-description":"speed"},"audio_bitrate":{"type":"integer","format":"speed","description":"H323 audio bitrate.","x-format-description":"speed"},"connections":{"type":"integer","description":"H323 connections."}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_hls":{"allOf":[{"type":"object","title":"HLS","properties":{"url":{"description":"URL to get a stream from HLS source.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"hls://remote.host.com/example/video.m3u8"},"apple_standard":{"value":"hls://remote.host.com/example/index.m3u8"},"secure":{"value":"hlss://remote.host.com/example/video.m3u8"},"hls2":{"value":"hls2://remote.host.com/example/video.m3u8"},"hlss2":{"value":"hlss2://remote.host.com/example/video.m3u8"},"http":{"value":"http://remote.host.com/index.m3u8"},"https":{"value":"https://remote.host.com/index.m3u8"}},"pattern":"^(hls|hlss|hls2|hlss2)://.*$|^(http|https)://.*\\\\.m3u8((#|\\\\?).*)?$","x-format-description":"input_url"},"skip_stalled_check":{"description":"By default Flussonic will wait for at least 2-3 new segments before making stream available.\\n\\nThis parameter allows to disable this protection. Use it at your own risk - with it enabled, old content might be repeated over and over.\\n","type":"boolean"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_mpegts_specific"},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_rtmp":{"allOf":[{"type":"object","title":"RTMP","properties":{"url":{"description":"URL to connect to the RTMP source and get the stream.\\n\\nRTMP uses a special URL consisting of at least two segments. *Flussonic* parses the URL and splits it into parts, \\nusing the first segment as an RTMP application name.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"rtmp://remote.host.com/static/example"},"secure":{"value":"rtmps://remote.host.com/static/example"}},"pattern":"^(rtmp|rtmps)://.*$","x-format-description":"input_url"},"pageUrl":{"description":"URL of the web page from where the SWF file was loaded. \\nThis is an RTMP header (Referer) used for establishing connection.\\n","type":"string","format":"url","example":"http://somehost/sample.html","x-format-description":"url"},"swfUrl":{"description":"URL of the source SWF file making the connection by RTMP.","type":"string","example":"file://C:/FlvPlayer.swf"},"tcUrl":{"description":"URL of the remote Server for entering credentials. \\nIt has the following format: `protocol://servername:port/appName/appInstance`.\\n","type":"string","format":"url","example":"rtmp://localhost:1935/testapp/instance1","x-format-description":"url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_rtsp":{"allOf":[{"type":"object","title":"RTSP","properties":{"url":{"description":"URL to connect to the RTSP source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"rtsp://remote.host.com/example"},"secure":{"value":"rtsps://remote.host.com/example"},"rtsp-udp":{"value":"rtsp-udp://remote.host.com/example"},"rtsp2":{"value":"rtsp2://remote.host.com/example"}},"pattern":"^(rtsp|rtsps|rtsp-udp|rtsp2)://.*$","x-format-description":"input_url"},"rtp":{"enum":["udp"],"type":"string","description":"Whether to force UDP to capture a video from RTSP cameras.","x-api-allow":["watcher-core"]},"tracks":{"x-private":true,"type":"array","items":{"type":"integer"},"description":"List of track numbers to receive when capturing a stream from an RTSP camera.","example":[1],"x-api-allow":["watcher-core"]},"wait_rtcp":{"type":"boolean","description":"Whether to wait for the full RTP time synchronization before the processing of frames from the RTSP camera.\\n","x-api-allow":["watcher-core"]}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_srt":{"allOf":[{"type":"object","title":"SRT","required":["url"],"properties":{"url":{"description":"Artificial URL to connect to the SRT source and get the stream.\\n\\nSRT requires IP and port, so we create an artificial URL to specify the options to manage the data interchange.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"srt://remote.host.com:1234?bind_ip=10.77.0.100"},"srt1":{"value":"srt1://remote.host.com:1234?bind_ip=10.77.0.100"},"srt2":{"value":"srt2://remote.host.com:1234?bind_ip=10.77.0.100"}},"pattern":"^(srt|srt1|srt2)://.*$","x-format-description":"input_url"},"closed_captions":{"additionalProperties":{"type":"string"},"type":"object","x-key-type":"string","description":"The rules for handling the closed captions.\\n"}}},{"$ref":"#/components/schemas/stream_input_srt_publish_specific"},{"$ref":"#/components/schemas/stream_input_base"},{"$ref":"#/components/schemas/srt_config_base"}]},"stream_input_srt_publish_specific":{"type":"object","properties":{"subtitles":{"description":"This configuration is deprecated. Use `dvbocr` configuration field in stream.\\n\\nThis parameter allows to manage subtitles in an output stream.\\n","oneOf":[{"const":"drop","description":"An output stream will have no subtitles track."},{"const":"accept","description":"An output stream will have a subtitles track in DVB, without conversion to text (default behavior)."},{"const":"ocr_replace","description":"An output stream will have a track containing subtitles converted to a text format (WebVTT)."},{"const":"ocr_add","description":"An output stream will have two tracks containing subtitles: \\nthe original track with subtitles in DVB and a new track with text subtitles.\\n"}],"example":"drop","deprecated":true,"x-delete-at":25.03},"scte35":{"description":"This option disables processing of SCTE-35 markers from SRT input stream.\\n","type":"boolean","default":true,"example":true}}},"srt_config_base":{"type":"object","properties":{}},"stream_input_tshttp":{"allOf":[{"type":"object","title":"TSHTTP","properties":{"url":{"description":"URL for ingest and pass a stream \\"as is\\" without repackaging.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"tshttp://ADMIN:PASSWORD@FLUSSONIC_IP/flussonic/api/dvbts/a0"},"secure":{"value":"tshttps://127.0.0.1:8080"},"mpegts":{"value":"http://remote.host.com/mpegts"},"mpegts_secure":{"value":"https://remote.host.com/mpegts"},"ts":{"value":"http://remote.host.com/example.ts"},"ts_secure":{"value":"https://remote.host.com/example.ts"}},"pattern":"^(tshttp|tshttps)://.*$|^(http|https)://.*(\\\\.ts|/mpegts)$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_mpegts_specific"},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_mixer":{"allOf":[{"type":"object","title":"Mixer","properties":{"url":{"description":"URL to make a mixer stream from other streams.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"mixer://stream1,stream2","pattern":"^mixer://.*$","x-format-description":"input_url"},"sync":{"description":"This parameter is used for a mixer stream that uses other streams as its video and audio sources.\\n\\nIf the parameter is set to `realtime`, audio frames will be played in sync with video frames: \\nif the difference between timestamps of an audio frame and a corresponding video frame is more than 2 seconds, \\nthe audio frame will be played at the timestamp of the video frame. \\n\\nIf this parameter is set to `dts`, no synchronization is performed.\\n","enum":["dts","realtime"],"type":"string","example":"dts","default":"dts","x-api-allow":["watcher-core"]},"audio_add":{"type":"integer","description":"Moves audio timestamp forwards or backwards on a specified number of milliseconds.","deprecated":true,"x-delete-at":23.09,"format":"milliseconds","x-alias":"audio_offset","x-api-allow":["watcher-core"],"x-format-description":"milliseconds"},"audio_offset":{"type":"integer","description":"Rename audio_add, worked only for dts sync method","x-private":true,"format":"milliseconds","x-format-description":"milliseconds"},"mixer_strategy":{"description":"The mixing mode for the `mixer://` input type.\\n","oneOf":[{"const":"all","description":"Mix all input tracks."},{"const":"first_video_audio","description":"Mix only a first video track of the first input with a first audio track of the second input."}],"default":"first_video_audio","type":"string"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_mosaic":{"allOf":[{"type":"object","title":"Mosaic","properties":{"url":{"description":"Special URL to make a mosaic stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"mosaic://cam1,cam2,cam3,cam4?fps=20&amp;preset=ultrafast&amp;bitrate=1024k&amp;size=340x240&amp;mosaic_size=16"},"mosaic2":{"value":"mosaic2://"}},"pattern":"^(mosaic|mosaic2)://.*$","x-format-description":"input_url"},"disable_video":{"x-private":true,"type":"boolean","description":"Whether to show video from streams included into the mosaic."},"samples":{"x-private":true,"type":"integer","description":"The input samples."},"sample_rate":{"x-private":true,"type":"integer","description":"The input sample rate."},"bitrate":{"type":"integer","format":"speed","description":"Bitrate of the audio. \\n","x-format-description":"speed"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_m4f":{"allOf":[{"type":"object","title":"M4F","properties":{"url":{"description":"URL to get a stream from m4f source.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"m4f://remote.host.com/example"},"secure":{"value":"m4fs://remote.host.com/example"}},"pattern":"^(m4f|m4fs)://.*$","x-format-description":"input_url"},"closed_captions":{"additionalProperties":{"type":"string"},"type":"object","x-key-type":"string","description":"The rules for handling the closed captions.\\n"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_m4s":{"allOf":[{"type":"object","title":"M4S","properties":{"url":{"description":"URL to get a stream from m4s source.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"m4s://remote.host.com/example"},"secure":{"value":"m4ss://remote.host.com/example"}},"pattern":"^(m4s|m4ss)://.*$","x-format-description":"input_url"},"closed_captions":{"additionalProperties":{"type":"string"},"type":"object","x-key-type":"string","description":"The rules for handling the closed captions.\\n"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_rtp":{"allOf":[{"type":"object","title":"RTP","properties":{"url":{"description":"URL to connect to RTP source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"rtp://remote.host.com","pattern":"^rtp://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_shoutcast":{"allOf":[{"type":"object","title":"SHOUTcast","properties":{"url":{"description":"URL to connect to the SHOUTcast source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"shoutcast://remote.host.com/example/shoutcast"},"secure":{"value":"shoutcasts://remote.host.com/example/shoutcast"}},"pattern":"^(shoutcast|shoutcasts)://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_timeshift":{"allOf":[{"type":"object","title":"Timeshift","properties":{"url":{"description":"Special URL to play the archive record of a stream with a fixed delay.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"timeshift://channel/7200"}},"pattern":"^timeshift://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_playlist":{"allOf":[{"type":"object","title":"Playlist","properties":{"url":{"description":"URL to get a stream from playlist.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"playlist://remote.host.com/example.m3u8","pattern":"^playlist://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_copy":{"allOf":[{"type":"object","title":"Copy source","properties":{"url":{"description":"URL to connect to the source and get a copy of the original stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"copy://stream1","pattern":"^copy://.*$","x-format-description":"input_url"},"closed_captions":{"additionalProperties":{"type":"string"},"type":"object","x-key-type":"string","description":"The rules for handling the closed captions.\\n"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_spts":{"allOf":[{"type":"object","title":"SPTS","properties":{"url":{"description":"URL to connect to the SPTS source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"udp://239.0.0.1:1234"},"udp1":{"value":"udp1://239.0.0.1:1234"},"udp2":{"value":"udp2://239.0.0.1:1234"},"udp3":{"value":"udp3://239.0.0.1:1234"}},"pattern":"^(udp|udp1|udp2|udp3)://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_mpegts_specific"},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_mpts":{"allOf":[{"type":"object","title":"MPTS","properties":{"url":{"description":"URL to get a stream from MPTS source.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"mpts-udp://239.0.0.1:1234"},"mpts-http":{"value":"mpts-http://239.0.0.1:1234"},"mpts-https":{"value":"mpts-https://239.0.0.1:1234"},"mpts-dvb":{"value":"mpts-dvb://asi_10?program=15"},"dvb":{"value":"dvb://asi_10?program=15"}},"pattern":"^(mpts-udp|mpts-http|mpts-https|mpts-dvb|dvb)://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_mpegts_specific"},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_publish":{"allOf":[{"type":"object","title":"Publish","properties":{"url":{"description":"The publish:// URL used to indicate where this stream started in publish mode.\\n\\nYou can publish videos to Flussonic using the following URLs:  \\n  __RTSP__: rtsp://FLUSSONIC-IP/stream_name  \\n  __HTTP MPEG-TS__: http://FLUSSONIC-IP/stream_name/mpegts  \\n  __RTMP__: rtmp://flussonic-ip/published or rtmp://flussonic-ip/static/published  \\n  __WebRTC__: http://FLUSSONIC-IP/stream_name/whip  \\n  __SRT__: srt://FLUSSONIC-IP:SRT_PORT?streamid=#!::r=STREAM_NAME,m=publish\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"publish://","pattern":"^publish://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_webrtc_publish_specific"},{"$ref":"#/components/schemas/stream_input_srt_publish_specific"},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_webrtc_publish_specific":{"type":"object","title":"WebRTC","properties":{"prefer_codec":{"description":"Choose one of the listed video codecs at the start of the publication via WebRTC.\\n","deprecated":true,"x-delete-at":24.11,"x-alias":"prefer_video_codec","allOf":[{"$ref":"#/components/schemas/webrtc_prefer_video_codec"}],"example":"av1"},"prefer_video_codec":{"description":"Prefer one of the listed video codecs at the start of the publication via WebRTC.\\n","allOf":[{"$ref":"#/components/schemas/webrtc_prefer_video_codec"}],"example":"av1"},"prefer_video_profile":{"description":"Prefer one of the listed video profiles at the start of the publication via WebRTC.\\nThis option should help if the client\'s equipment cannot encode correctly to the automatically selected profile. Use with option if the publication does not work.\\n","type":"string","example":"42e01f","x-private":true},"transport":{"description":"Choose the prefered transport of the publication via WebRTC: UDP or TCP.\\n","allOf":[{"$ref":"#/components/schemas/webrtc_transport"}],"example":"udp"},"min_bitrate":{"description":"The minimum bitrate threshold, in kbit/s. The default value is 100 kbit/s.","type":"integer","example":150},"webrtc_abr":{"description":"Whether the adaptive bitrate mechanism is used for WebRTC publications.","type":"boolean","example":true},"abr_stepup":{"description":"Increment step for raising the bitrate to the maximum, in percent. The default step is 30%. \\nIf the loss is less than `abr_loss_lower`, Flussonic makes the publisher to step up from the current bitrate to the maximum one with the rate of `abr_stepup percent`.\\n","type":"integer"},"abr_correction":{"description":"The correction between the target bitrate (Receiver Estimated Maximum Bitrate, calculated in Flussonic) and browser bitrate, in kbit/s.\\nFlussonic sends the target bitrate to the browser from which the publication is carried out so that the browser adjusts the bitrate of the publication by this value.\\nThe default value is 300 kbit/s.\\n","type":"integer","example":200},"abr_loss_lower":{"type":"number","description":"The lower limit of packet loss. When it is reached, Flussonic raises the bitrate. \\nThat is, if packet loss is less than `abr_loss_lower`, Flussonic makes the publisher to step up from the current bitrate to the maximum one with the rate of `abr_stepup` percent.\\n","example":2},"abr_loss_upper":{"description":"The upper limit of packet loss. When it is reached, Flussonic reduces the bitrate. \\nThat is, if packet loss is greater than `abr_loss_upper`, Flussonic makes the publisher to reduce the current bitrate in steps with the maximum rate of `abr_stepdown` percent.\\n","type":"number","example":10},"abr_stepdown":{"description":"A step of reducing the bitrate to the minimum. \\nIf packet losses are greater than `abr_loss_upper`, Flussonic makes the publisher to reduce the current bitrate in steps with the maximum rate of `abr_stepdown` percent.\\n","type":"number"},"abr_mode":{"description":"The algorithm for determining the need to change the bitrate of the published stream and for calculating the target bitrate. \\nTwo options are possible:\\n\\n* `abr_mode=0` - This mode takes into account the packet losses, target bitrate, browser bitrate and the number of auto-adjustment cycles.\\n* `abr_mode=1` - This mode considers only packet losses and target bitrate.\\n","type":"integer","example":1},"abr_debug":{"description":"Whether adaptive bitrate process is logged.","type":"integer","example":1},"abr_cycles":{"description":"The number of cycles of bitrate auto-adjustment.\\nAfter the specified number of auto-adjustment cycles passes, Flussonic considers the bitrate to be optimal, and it is no longer analyzed. \\nBy default, `abr_cycles`=5. \\nIf `abr_cycles`=0, the adjustment process takes place all the time while the publication lasts.\\n","type":"integer","example":3},"abr_max_bitrate":{"description":"Maximum bitrate for adjustment process, in kbit/s.\\nFlussonic will keep the publication bitrate equal or below of the specified value.\\n","type":"integer","default":2500,"example":1000}}},"webrtc_prefer_video_codec":{"type":"string","enum":["h264","av1"]},"webrtc_transport":{"type":"string","oneOf":[{"title":"UDP","const":"udp"},{"title":"TCP","const":"tcp"}]},"stream_input_v4l":{"allOf":[{"type":"object","title":"V4L","required":["url"],"properties":{"url":{"description":"URL to connect to the Video4Linux source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"v4l2://"},"v4l":{"value":"v4l://"}},"pattern":"^(v4l|v4l2)://.*$","x-format-description":"input_url"},"audio_device":{"description":"The audio device to capture audio from Stream Labs SDI cards.\\n\\nThis parameter is specified for ALSA devices in the following format `interface:card,device`.\\n","type":"string","example":"plughw:1,0"},"video_device":{"description":"The video device to capture video from Stream Labs SDI cards.\\nIt is actually a path to a device file created on the disk by Video4Linux.\\n","type":"string","example":"/dev/video0"},"vbi_device":{"description":"The VBI device to capture raw VBI data from Stream Labs SDI cards. VBI data can contain information about teletext or closed captions.\\nIt is actually a path to a VBI device file created on the disk by Video4Linux.\\n","type":"string","example":"/dev/vbi"},"ttxt_descriptors":{"description":"This information is necessary for adding into the PMT table to identify streams which carry teletext data in the resulting MPEG-TS stream.","items":{"allOf":[{"$ref":"#/components/schemas/ttxt_descriptors"}]},"type":"array"},"vbi_threshold":{"description":"This parameter is used for debugging when reading teletext from VBI.\\nThis is a threshold, in seconds, for turning on the decoder.\\n","type":"integer"},"vbi_debug":{"description":"This parameter allows logging the decoded data when reading teletext from VBI.","type":"boolean"},"vbi_decoder":{"description":"This parameter is used for debugging when reading teletext from VBI.\\nIt allows to specify which decoder is used.\\n","x-private":true,"oneOf":[{"const":"erl","description":"The decoder in Erlang is used."},{"const":"nif","description":"The decoder in C is used."}]},"sample_rate":{"x-private":true,"type":"integer","description":"The input sample rate."}}},{"$ref":"#/components/schemas/stream_input_base"}]},"ttxt_descriptors":{"properties":{"page":{"description":"Page number of the teletext received from an SDI card.\\nIt is defined according to ETS 300 706 teletext specification.\\n\\nThe information about the pages is received from the stream provider.\\n","type":"integer","x-primary-key":true,"example":100},"lang":{"description":"The language code of the teletext.","anyOf":[{"$ref":"#/components/schemas/language_value"}]},"type":{"description":"Teletext page type defined according to the Specification for Service Information (SI) in DVB systems, 6.2.32 Teletext descriptor in EN 300 468 Digital Video Broadcasting (DVB).","enum":["initial","subtitle","impaired"],"type":"string","example":"initial"}},"required":["page","lang","type"],"type":"object"},"language_value":{"type":"string","description":"The language of the teletext received from an SDI card. \\nSpecified according to the ISO 639-2 standard.\\n","pattern":"^[a-zA-Z]{2,3}","example":"ita"},"stream_input_decklink":{"allOf":[{"type":"object","title":"Decklink SDI","properties":{"url":{"description":"URL to connect to the Decklink SDI source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"decklink://0","pattern":"^decklink://.*$","x-format-description":"input_url"},"mode":{"description":"Mode of the input stream captured from the Decklink card. It is composed of the size and FPS of the captured video. \\n\\nUsually, it is autodetected, but for some Decklink models you\'ll need to specify it manually.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/ingest-sdi-with-blackmagic/#live-sdi-capture"},"anyOf":[{"$ref":"#/components/schemas/bm_display_mode"}],"example":"4d30"},"ainput":{"description":"Audio interface for capturing from the Decklink card.\\n\\nUsually, it is autodetected, but for some Decklink models you should specify it manually.\\n","anyOf":[{"type":"integer","enum":[1,2,3,4,5,6,7]},{"enum":["embedded","aes_ebu","analog","analog_xlr","analog_rca","microphone","headphones"],"type":"string"}],"example":"microphone"},"vinput":{"description":"Video interface for capturing from the Decklink card.\\n\\nUsually, it is autodetected, but for some Decklink models you should specify it manually.\\n","anyOf":[{"type":"integer","enum":[1,2,3,4,5,6]},{"enum":["sdi","hdmi","optical_sdi","component","composite","s_video"],"type":"string"}],"example":"hdmi"},"vpts":{"description":"Synchronization mode for video captured from the Decklink card.\\n","oneOf":[{"const":"audio","description":"Synchronization by audio."},{"const":"ref","description":"Synchronization according to the timing reference signal."},{"const":2,"description":"Equivalent of \'audio\'."},{"const":3,"description":"Equivalent of \'ref\'."}]},"apts":{"description":"Synchronization mode for audio captured from the Decklink card.\\n","oneOf":[{"const":"video","description":"Synchronization by video."},{"const":"ref","description":"Synchronization according to the timing reference signal."},{"const":1,"description":"Equivalent of \'video\'."},{"const":3,"description":"Equivalent of \'ref\'."}]},"pixel":{"description":"Preferred pixel format for captured video.","oneOf":[{"const":"rgb8","description":"rgb color model and 8 bits per pixel."},{"const":"rgb10","description":"rgb color model and 10 bits per pixel."},{"const":"rgb12","description":"rgb color model and 12 bits per pixel."},{"const":"yuv8","description":"YUV color model and 8 bits per pixel."},{"const":"yuv10","description":"YUV color model and 10 bits per pixel."},{"const":"8","description":"equivalent of `yuv8`."},{"const":"10","description":"equivalent of `yuv10`."}]},"sar":{"description":"The ratio of the width of the display representation to the width of the pixel representation of video.\\n\\nThis parameter is used for creating non-anamorphic video from anamorphic video.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/transcoder-internals/#transcoder-options_sar"},"type":"string","example":"16:9"},"ttxt_descriptors":{"description":"This information is necessary for adding into the PMT table to identify streams which carry teletext data in the resulting MPEG-TS stream.","items":{"allOf":[{"$ref":"#/components/schemas/ttxt_descriptors"}]},"type":"array"},"vbi_threshold":{"description":"This parameter is used for debugging when reading teletext from VBI.\\nThis is a threshold, in seconds, for turning on the decoder.\\n","type":"integer"},"vbi_debug":{"description":"This parameter allows logging the decoded data when reading teletext from VBI.","type":"boolean"},"audio_tracks":{"description":"The configuration of an audio track received from DekTec SDI.","items":{"allOf":[{"$ref":"#/components/schemas/audio_track"}]},"type":"array","x-private":true}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"bm_display_mode":{"enum":["ntsc","nt23","pal","ntsp","palp","23ps","24ps","Hp25","Hp29","Hp30","Hp47","Hp48","Hp50","Hp59","Hp60","Hp95","Hp96","Hp10","Hp11","Hp12","Hi50","Hi59","Hi60","hp50","hp59","hp60","2k23","2k24","2k25","2d23","2d24","2d25","2d29","2d30","2d47","2d48","2d50","2d59","2d60","2d95","2d96","2d10","2d11","2d12","4k23","4k24","4k29","4k30","4k47","4k48","4k50","4k59","4k60","4k95","4k96","4k10","4k11","4k12","4d23","4d24","4d25","4d29","4d30","4d47","4d48","4d50","4d59","4d60","4d95","4d96","4d10","4d11","4d12","8k23","8k24","8k25","8k29","8k30","8k47","8k48","8k50","8k59","8k60","8d23","8d24","8d25","8d29","8d30","8d47","8d48","8d50","8d59","8d60","vga6","svg6","wxg5","wxg6","sxg5","sxg6","uxg5","uxg6","wux5","wux6","1945","1946","wqh5","wqh6","wqx5","wqx6","rwci","rwcc"],"type":"string"},"audio_track":{"type":"object","required":["channels"],"properties":{"track":{"description":"The audio track name in Media Server.","type":"string","example":"a1","x-primary-key":true},"sample_type":{"description":"The audio track format.","type":"string","oneOf":[{"const":"pcm"},{"const":"smpte337"}],"default":"pcm"},"channels":{"description":"The list of SDI audio channels from which you want to assemble the audio track.","type":"array","items":{"type":"integer"}},"lang":{"description":"The audio track language.","anyOf":[{"$ref":"#/components/schemas/language_value"}]}}},"stream_input_dektec":{"allOf":[{"type":"object","title":"DekTec SDI","properties":{"url":{"description":"URL to connect to the DekTec SDI source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"dektec://2174220025:2","pattern":"^dektec://.*$","x-format-description":"input_url"},"pixel":{"description":"Preferred pixel format for captured video.","oneOf":[{"const":"rgb8","description":"rgb color model and 8 bits per pixel."},{"const":"rgb10","description":"rgb color model and 10 bits per pixel."},{"const":"rgb12","description":"rgb color model and 12 bits per pixel."},{"const":"yuv8","description":"YUV color model and 8 bits per pixel."},{"const":"yuv10","description":"YUV color model and 10 bits per pixel."},{"const":"8","description":"equivalent of `yuv8`."},{"const":"10","description":"equivalent of `yuv10`."}]},"sar":{"description":"The ratio of the width of the display representation to the width of the pixel representation of video.\\n\\nThis parameter is used for creating non-anamorphic video from anamorphic video.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/transcoder/#video-options"},"type":"string","example":"16:9"},"ttxt_descriptors":{"description":"This information is necessary for adding into the PMT table to identify streams which carry teletext data in the resulting MPEG-TS stream.","items":{"allOf":[{"$ref":"#/components/schemas/ttxt_descriptors"}]},"type":"array"},"vbi_debug":{"description":"This parameter allows logging the decoded data when reading teletext from VBI.","type":"boolean"},"audio_tracks":{"description":"The configuration of an audio track received from DekTec SDI.","items":{"allOf":[{"$ref":"#/components/schemas/audio_track"}]},"type":"array","x-private":true},"scte35":{"description":"This option disables processing of SCTE-35 markers from an MPEG-TS input stream.\\nDeprecated since 22.12.\\nAvailable ways to disable processing of SCTE-35 markers:\\n1. pids option to select tracks without SCTE-35 markers\\n2. hls_scte35 option from stream_config_media for hls output\\n3. performing appropriate tuning pids in the transponder\\n","type":"boolean","default":true,"example":true,"deprecated":true,"x-delete-at":23.09}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_external":{"allOf":[{"type":"object","title":"External","x-private":true,"properties":{"url":{"description":"URL to make an External stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"ffmpeg -i mmsh://wideo.umk.um","pattern":"^ffmpeg .*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_ndi":{"allOf":[{"type":"object","title":"NDI","properties":{"url":{"description":"URL to get a stream from NDI source. Usually NDI software display sources like `My PC (Camera1)`, convert it into `ndi://My PC/Camera1`.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"ndi://hostname/Source1","pattern":"^ndi://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_st2110":{"allOf":[{"type":"object","title":"SMPTE 2110\\n","required":["url"],"properties":{"url":{"description":"SMPTE 2110 UDP multicast group\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","central-layouter"],"examples":{"default":{"value":"st2110://239.0.0.1:1234"},"interface":{"value":"st2110://eth0@239.0.0.1:1234"},"bind_ip":{"value":"st2110://239.0.0.1:1234/192.168.20.24"}},"pattern":"^st2110://.*$","x-format-description":"input_url"},"width":{"type":"integer","description":"Must specify received pixel width\\n"},"height":{"type":"integer","description":"Must specify received pixel height\\n"},"bind_to_core":{"type":"integer","description":"Optional bind core\\n"}}},{"$ref":"#/components/schemas/stream_input_base"}]},"listen_spec":{"anyOf":[{"allOf":[{"$ref":"#/components/schemas/network_port"}]},{"type":"string","format":"hostport","x-format-description":"Hostname with port"}]},"network_port":{"maximum":65535,"minimum":0,"type":"integer"},"srt_config":{"allOf":[{"type":"object","properties":{"port":{"description":"Listening port or a `host:port` pair for the SRT configuration.\\nMust be unique on the whole server.\\n","allOf":[{"$ref":"#/components/schemas/listen_spec"}],"example":9050},"v":{"description":"What implementation to use.\\n","oneOf":[{"const":"srt1","description":"libsrt bindings"},{"const":"srt2","description":"erlang implementation"}],"x-private":true},"timeout":{"description":"Data transmission timeout in seconds. \\nIf set to `false` then data transmission time is unlimited. This is a defalut behavior.\\n","anyOf":[{"type":"integer","format":"seconds","x-format-description":"seconds"},{"enum":[false],"type":"boolean"}],"x-notice":"SRTO_RCVTIMEO SRTO_SNDTIMEO (ms, -1 no limit)","example":10}}},{"$ref":"#/components/schemas/srt_config_base"}]},"stream_config_deprecated":{"type":"object","properties":{}},"transcoder_device":{"oneOf":[{"title":"CPU","const":"cpu"},{"title":"Intel Quick Sync Video","const":"qsv"},{"title":"Nvidia NVENC (encoder only)","const":"nvenc"},{"title":"Nvidia NVENC 2","const":"nvenc2","x-private":true},{"title":"Flussonic Coder","const":"coder"},{"title":"Raspberry Pi OMX","const":"omx","x-private":true},{"title":"L4T2","const":"l4t2","x-private":true}],"type":"string"},"tc_deviceid":{"anyOf":[{"oneOf":[{"title":"Auto","const":"auto","type":"string"}]},{"type":"integer"}]},"web_logo_spec":{"type":"object","properties":{"height":{"description":"Set the specified height for the logo.","type":"integer","example":100},"width":{"description":"Set the specified width for the logo.","type":"integer","example":200},"left":{"description":"Change the position of the logo to the left.","type":"integer","example":15},"top":{"description":"Change the position of the logo to the top.","type":"integer","example":15},"right":{"description":"Change the position of the logo to the right.","type":"integer"},"bottom":{"description":"Change the position of the logo to the bottom.","type":"integer"}}},"thumbnails_spec":{"type":"object","properties":{"url":{"description":"*Flussonic* takes a thumbnail from the specified URL on each keyframe.\\nMay reduce CPU usage on IP cameras.\\n","type":"string","example":"http://10.115.23.45/isapi/thumbnail.jpg"},"enabled":{"description":"Whether to generate thumbnails from the video stream.","oneOf":[{"$ref":"#/components/schemas/thumbnails_enabled_spec"}],"default":true},"sizes":{"description":"What sizes will be used for thumbnails generation.","type":"array","items":{"$ref":"#/components/schemas/thumbnails_size_spec"},"default":[]}}},"thumbnails_enabled_spec":{"oneOf":[{"type":"boolean","enum":[true,false],"description":"Configures thumbnails behaviour.\\n- true : \\n\\n    In case of Stream: \\n      Thumbnails are created and stored in DVR during the recording. If thumbnail is requested then it will be returned from DVR.\\n\\n    In case of VOD:\\n      Thumbnails are created and stored in VOD location at thumbnails folder during the VOD opening if they are not created yet.\\n      If VOD location is `readonly` then it will be used only for thumbnails searching. Nothing will be created and stored.  \\n\\n      If thumbnail is requested then it will be returned from thumbnails folder in VOD location.\\n\\n- false : thumbnails are not stored at all. If thumbnail is requested then 403 \'Forbidden\' error will be returned.\\n"},{"type":"string","enum":["ondemand"],"description":"- ondemand : thumbnails are not stored at all. If thumbnail is requested then it will be generated from corresponding video frame.\\n"}]},"thumbnails_size_spec":{"type":"object","properties":{"width":{"type":"integer","description":"The thumbnail width."},"height":{"type":"integer","description":"The thumbnail height."}}},"stream_dvr_spec":{"allOf":[{"$ref":"#/components/schemas/stream_dvr_specific_spec"},{"$ref":"#/components/schemas/dvr_base_config"}]},"stream_dvr_specific_spec":{"type":"object","properties":{"redundancy_factor":{"description":"How many servers will contain a copy of the DVR archive.\\nYou can find more information [here](https://flussonic.com/doc/api/layouter/#tag/stream/operation/streams_list/response%7Cstreams%7Cdvr%7Credundancy_factor)\\n","x-api-description":{"central-layouter":"How many servers will contain a copy of the DVR archive.\\nLayouter will select nodes to copy the stream archive based on the load of the node and [labels](https://flussonic.com/doc/api/layouter/#tag/stream/operation/streams_list/response%7Cstreams%7Clabels).\\nThe hostname of the selected nodes will be contained in the [layout.dvr_backup](https://flussonic.com/doc/api/layouter/#tag/stream/operation/streams_list/response%7Cstreams%7Clayout%7Cdvr_backup) field\\n"},"type":"integer","example":1,"minimum":0,"x-api-allow":["central-layouter"]}}},"dvr_base_config":{"type":"object","properties":{"storage_limit":{"description":"Maximum disk consumption in bytes. When this limit is reached, \\nthe oldest segment of the recording will be overridden by later data.\\n\\nThis option affects both continuous recording and locked episodes (see `episodes_url`).\\n\\nIf `episodes_url` does not respond, the archive clean-up by `storage_limit` is not performed\\nto avoid deleting the recordings that should not be deleted.\\n","type":"integer","format":"bytes","example":400000000000,"x-format-description":"bytes"},"expiration":{"description":"Archive depth - a period (in seconds) back from the current moment during which the \\ncontigious part of archive is stored. \\nAs time goes, the parts of the recording which are older than the archive depth are deleted.\\n\\nIf you have option `episodes_expiration` enabled, then some parts of DVR that are \\nlocked by episode signalling mechanism may be kept more than this `expiration` depth.\\n\\nIf `episodes_url` does not respond, the archive clean-up by `expiration` is not performed;\\nonly the archive with expired episodes (`episodes_expiration`) is cleaned up until the `episodes_url` restores.\\n","type":"integer","format":"seconds","examples":{"default":{"value":604800}},"x-api-allow":["central-layouter"],"x-format-description":"seconds"},"episodes_expiration":{"description":"Additional archive depth in seconds for episodes. If set, episodes and their corresponding DVR record\\nwill be saved for `expiration + episodes_expiration` seconds.\\n\\nThe archive clean-up within `[expiration, expiration+episodes_expiration]` seconds of the\\nrecording performed depending on [external_episodes_list](https://flussonic.com/doc/api/config-external/#tag/dvr/operation/external_episodes_list)\\nresponse of `episodes_url`.\\n\\nAnything older than `expiration+episodes_expiration` seconds will\\nbe cleaned even if `episodes_url` does not respond.\\n","type":"integer","format":"seconds","examples":{"default":{"value":6048000}},"x-format-description":"seconds"}}},"auth_spec":{"type":"object","properties":{"url":{"description":"The URL of an HTTP backend.","allOf":[{"$ref":"#/components/schemas/auth_url"}],"example":"http://middleware-address/auth/v2"},"domains":{"description":"Specifying the domains, within which playing this video is allowed. \\nThis does not work for those clients that do not pass the value of Referer HTTP header.\\n","items":{"type":"string"},"type":"array","example":["mycompany.com"]},"max_sessions":{"description":"The maximal number of streams or files the user can view simultaneously.\\nThis limitation allows to prevent users from full restreaming to their servers.\\n","type":"integer","example":5000},"allowed_countries":{"description":"Explicit list of countries (two-letter country codes according to ISO 3166-1) that have access to the content without any other checks. \\n\\nFlussonic uses the MaxMind GeoLite2 Country database to map a country to a block of IP addresses. \\nNew releases of GeoIP2 databases come out more often than the releases of Flussonic server, so sometimes the used database can become outdated. \\nTherefore we recommend you to install a separate GeoIP2 library and set up Flussonic to use it.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/restrict-viewer-country-with-geoip/"},"items":{"type":"string","format":"iso3166","x-format-description":"iso3166"},"type":"array","example":["US","DE","GB"]},"disallowed_countries":{"description":"Explicit list of countries (two-letter country codes according to ISO 3166-1) that are banned from accessing the content. \\n\\nFlussonic uses the MaxMind GeoLite2 Country database to map a country to a block of IP addresses. \\nNew releases of GeoIP2 databases come out more often than the releases of Flussonic server, so sometimes the used database can become outdated. \\nTherefore we recommend you to install a separate GeoIP2 library and set up Flussonic to use it.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/restrict-viewer-country-with-geoip/"},"items":{"type":"string","format":"iso3166","x-format-description":"iso3166"},"type":"array","example":["US","DE","GB"]},"soft_limitation":{"description":"If this option is enabled and `max_sessions` limitation is used, the extra sessions are interrupted not immediately, but in 30 or 90 seconds.\\nThis can be useful for middlewares that cannot generate a new token for every new stream or file request \\nand therefore need time to understand that all sessions are being used.\\n","type":"boolean","example":false},"session_keys":{"description":"A list of keys to generate a session ID value, allowing to configure the authorization scheme \\nwhich is a hash sum calculated as follows: `hash(name + ip + proto)`.\\nThis parameter allows to finish one session and start another one with the same authorization token.\\nThe keys `name`,`ip`, and `proto` are required.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/authorize-clients/#auth-session-keys"},"items":{"allOf":[{"$ref":"#/components/schemas/session_key"}]},"type":"array","example":["name","token","proto","ip"]},"extra":{"additionalProperties":{"type":"string"},"type":"object","description":"Some additional options."}}},"auth_url":{"anyOf":[{"type":"string","format":"auth_url","x-format-description":"This may be a limited amount of schemas or a .lua file on disk\\n"},{"type":"string","oneOf":[{"const":"true","description":"Allow all playback sessions. Use the value to override template value."}]}]},"session_key":{"anyOf":[{"oneOf":[{"title":"IP","const":"ip","description":"IP address"},{"title":"Name","const":"name","description":"Stream name"},{"title":"Proto","const":"proto","description":"Protocol"},{"title":"Token","const":"token","description":"Token"}],"type":"string"},{"allOf":[{"$ref":"#/components/schemas/session_key_query"}]}]},"session_key_query":{"format":"query_session_key","type":"string","x-format-description":"query_session_key"},"drm_spec":{"discriminator":{"propertyName":"vendor","mapping":{"aes128":"#/components/schemas/drm_vendor_aes128","axinom":"#/components/schemas/drm_vendor_axinom","buydrm":"#/components/schemas/drm_vendor_buydrm","conax":"#/components/schemas/drm_vendor_conax","cpix":"#/components/schemas/drm_vendor_cpix","drmtoday":"#/components/schemas/drm_vendor_drmtoday","ezdrm":"#/components/schemas/drm_vendor_ezdrm","ezdrm_classic":"#/components/schemas/drm_vendor_ezdrm_classic","gsdrm":"#/components/schemas/drm_vendor_gsdrm","irdeto":"#/components/schemas/drm_vendor_irdeto","keyos":"#/components/schemas/drm_vendor_keyos","pallycon":"#/components/schemas/drm_vendor_pallycon","playready":"#/components/schemas/drm_vendor_playready","sample_aes":"#/components/schemas/drm_vendor_sample_aes","sample_aes_identity":"#/components/schemas/drm_vendor_sample_aes_identity","solocoo":"#/components/schemas/drm_vendor_solocoo","verimatrix":"#/components/schemas/drm_vendor_verimatrix","widevine":"#/components/schemas/drm_vendor_widevine"}},"oneOf":[{"$ref":"#/components/schemas/drm_vendor_aes128"},{"$ref":"#/components/schemas/drm_vendor_axinom"},{"$ref":"#/components/schemas/drm_vendor_buydrm"},{"$ref":"#/components/schemas/drm_vendor_conax"},{"$ref":"#/components/schemas/drm_vendor_cpix"},{"$ref":"#/components/schemas/drm_vendor_drmtoday"},{"$ref":"#/components/schemas/drm_vendor_ezdrm"},{"$ref":"#/components/schemas/drm_vendor_ezdrm_classic"},{"$ref":"#/components/schemas/drm_vendor_gsdrm"},{"$ref":"#/components/schemas/drm_vendor_irdeto"},{"$ref":"#/components/schemas/drm_vendor_keyos"},{"$ref":"#/components/schemas/drm_vendor_pallycon"},{"$ref":"#/components/schemas/drm_vendor_playready"},{"$ref":"#/components/schemas/drm_vendor_sample_aes"},{"$ref":"#/components/schemas/drm_vendor_sample_aes_identity"},{"$ref":"#/components/schemas/drm_vendor_solocoo"},{"$ref":"#/components/schemas/drm_vendor_verimatrix"},{"$ref":"#/components/schemas/drm_vendor_widevine"}]},"drm_vendor_aes128":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Aes128\\n","type":"string","x-atom":true},"hls_ext_x_key_iv":{"description":"This parameter is used for encryption of HLS streams.\\nFor successful playback of an AES128 encrypted HLS streams on some modern devices (running on Tizen 5),\\nset this pareameter to `false`.\\n","type":"boolean"}}},{"$ref":"#/components/schemas/drm_base"}]},"drm_base":{"type":"object","properties":{"keyserver":{"description":"DRM key server.","type":"string","example":"https://keyserver1.mycompany.com"},"resource_id":{"description":"The ID of a resource (a stream or a VOD file) in DRM system, usually it is a UUID.\\nThe DRM system keeps track of viewing each resource by clients.\\n\\nA resource ID is automatically generated for each stream or VOD file by Flussonic but it changes after renaming.\\nIt is possible to set it manually to attach a stream to a particular resource or to combine several streams into one.\\n","type":"string","format":"drm_resource_id","example":"L2sItm6","x-format-description":"drm_resource_id"},"expires":{"description":"Key rotation interval, in minutes.\\n\\nBy default, Flussonic does not rotate enryption keys.\\nSpecify this parameter to enable encryption key rotation and thus to provide a better securtiy.\\n","type":"integer"},"encryption":{"description":"If this parameter is set to `full`, all frames are encrypted.\\nIf it is set to `sparse` (or empty), only the keyframes are encrypted.\\n\\nBy default, Flussonic encrypts only key frames. In most cases this is enough to protect the stream from an unauthorized access.\\nIt also reduces the power consumption, when decrypting on the client side.\\nHowever, some Smart TVs and STBs require all frames to be encrypted.\\n","type":"string","default":"sparse","enum":["full","sparse"]},"save_template":{"x-private":true,"description":"A path to the file to save the request to the keyserver or the response from the keyserver.\\nIt can contain the following placeholders:\\n\\n* `$kind$` - the type of request (`hls` or `dash`).\\n* `$number$` - the key number.\\n* `$now$` - current time in UTC format.\\n* `$name$` - stream name.\\n* `$vendor$` - DRM provider.\\n* `$type$` - request or response.\\n","type":"string","example":"save_template=/var/log/flussonic/drm/$name$-$type$-$now$.xml"},"dump_url":{"x-private":true,"description":"Whether the requested encryption URL is logged.\\n","type":"boolean"}}},"drm_vendor_axinom":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Axinom\\n","type":"string","x-atom":true},"tenant_id":{"description":"Axinom Tenant Id","type":"string"},"management_key":{"description":"Axinom Management Key","type":"string"}}},{"$ref":"#/components/schemas/drm_cpix_base"}]},"drm_cpix_base":{"allOf":[{"$ref":"#/components/schemas/drm_base"},{"$ref":"#/components/schemas/drm_systems"},{"$ref":"#/components/schemas/drm_iv"}]},"drm_systems":{"type":"object","properties":{"systems":{"description":"This parameter is used to specify applicable DRM systems.\\nIf you turned off some of the systems (FairPlay, PlayReady, or Widevine) you should specify the systems that remain in use.\\n","items":{"allOf":[{"$ref":"#/components/schemas/drm_system"}]},"type":"array"}}},"drm_system":{"enum":["widevine","fairplay","playready"],"type":"string"},"drm_iv":{"type":"object","properties":{"iv":{"description":"Initialization vector (IV) - an arbitrary number that can be used along with a secret key for data encryption.\\nIt is employed only one time in any session.\\nThe use of an IV prevents repetition in data encryption, making it more difficult for a hacker to break a cipher.\\n\\nUsually, IV is received from a DRM provider.\\n","type":"string"}}},"drm_vendor_buydrm":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"BuyDRM\\n","type":"string","x-atom":true}}},{"$ref":"#/components/schemas/drm_keyos_base"},{"$ref":"#/components/schemas/drm_base"}]},"drm_keyos_base":{"type":"object","properties":{"userkey":{"description":"A unique identifier of the user\\n","type":"string","deprecated":true,"x-delete-at":"25.04"},"content_id":{"description":"A unique identifier of the content, used for Widevine DRM.\\nBy default, it is equal to the stream name.\\n","type":"string"},"end_user_cert":{"description":"Path to end user certificate file.\\n","type":"string"},"end_user_private_key":{"description":"Path to end user private key file\\n","type":"string"}}},"drm_vendor_conax":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Conax\\n","type":"string","x-atom":true},"user_path":{"description":"A custom key server path","type":"string","example":"12345/nks/conax"}}},{"$ref":"#/components/schemas/drm_base"},{"$ref":"#/components/schemas/drm_systems"}]},"drm_vendor_cpix":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Cpix\\n","type":"string","x-atom":true}}},{"$ref":"#/components/schemas/drm_cpix_base"}]},"drm_vendor_drmtoday":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: DRMtoday\\n","type":"string","x-atom":true},"auth_server":{"description":"Authentication server for DRMtoday.","type":"string","example":"https://auth.drmtoday.com"},"merchant_id":{"description":"The uuid of the merchant at DRMtoday.","type":"string"},"cpix_config_id":{"description":"The uuid of the CPIX/SPEKE ingest configuration","type":"string"},"username":{"description":"The login name of an API account.","type":"string"},"password":{"description":"A password for API account.","type":"string"}}},{"$ref":"#/components/schemas/drm_cpix_base"}]},"drm_vendor_ezdrm":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Ezdrm\\n","type":"string","x-atom":true},"user":{"description":"A user name for authorization of a user on a key server.","type":"string"},"password":{"description":"A password for authorization of a user on a key server.","type":"string"}}},{"$ref":"#/components/schemas/drm_base"}]},"drm_vendor_ezdrm_classic":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Ezdrm classic\\n","type":"string","x-atom":true},"user":{"description":"A user name for authorization of a user on a key server.","type":"string"},"password":{"description":"A password for authorization of a user on a key server.","type":"string"}}},{"$ref":"#/components/schemas/drm_base"}]},"drm_vendor_gsdrm":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: GS DRM\\n","type":"string","x-atom":true}}},{"$ref":"#/components/schemas/drm_base"}]},"drm_vendor_irdeto":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Irdeto\\n","type":"string","x-atom":true},"account_id":{"description":"ID of the Irdeto DRM account.","type":"string"},"ic_host":{"description":"A hostname of Irdeto DRM key server.","type":"string"},"password":{"description":"A password for authorization of a user on a key server.","type":"string"},"user_name":{"description":"A user name of the Irdeto DRM user.","type":"string"}}},{"$ref":"#/components/schemas/drm_cpix_base"}]},"drm_vendor_keyos":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"KeyOs\\n","type":"string","x-atom":true}}},{"$ref":"#/components/schemas/drm_keyos_base"},{"$ref":"#/components/schemas/drm_base"}]},"drm_vendor_pallycon":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Pallycon\\n","type":"string","x-atom":true},"enc_token":{"description":"An API authentication token that is generated when you sign up for the PallyCon service at https://login.pallycon.com/.\\n","type":"string"}}},{"$ref":"#/components/schemas/drm_cpix_base"}]},"drm_vendor_playready":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Playready\\n","type":"string","x-atom":true},"keyseed":{"description":"An arbitrary Base64-encoded string of 30 bytes.\\nIt is necessary for PlayReady to create an encryption key.\\n","type":"string"},"la_url":{"description":"License URL, used for PlayReady DRM.","type":"string","format":"url","x-format-description":"url"}}},{"$ref":"#/components/schemas/drm_base"}]},"drm_vendor_sample_aes":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Sample AES\\n","type":"string","x-atom":true}}},{"$ref":"#/components/schemas/drm_base"}]},"drm_vendor_sample_aes_identity":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"Sample AES which uses KEYFORMAT=identity. It allows to encrypt and decrypt content using clear text AES key.\\nThe identity value for KEYFORMAT should be used only for testing.\\n","type":"string","x-atom":true}}},{"$ref":"#/components/schemas/drm_iv"},{"$ref":"#/components/schemas/drm_enc_key"},{"$ref":"#/components/schemas/drm_enc_key_url"}]},"drm_enc_key":{"type":"object","properties":{"key":{"description":"Encryption Key in hex or file\\n","type":"string"}}},"drm_enc_key_url":{"type":"object","properties":{"url":{"description":"Http link which specifies how to obtain the key. It is URI attribute of HLS manifest EXT-X-KEY method.\\n","type":"string"}}},"drm_vendor_solocoo":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Solocoo\\n","type":"string","x-atom":true},"secret":{"description":"A part of the keyserver\'s URL: `https://SITE.solocoo.tv/SITEadmintools/papi/SECRET/method`.\\n","type":"string"},"site":{"description":"A part of the keyserver\'s URL: `https://SITE.solocoo.tv/SITEadmintools/papi/SECRET/method`.\\n","type":"string"},"fp":{"description":"Whether to use FairPlay system for key generation.\\nIf set to `false`, the requests for FairPlay encryption key are disabled.\\n","type":"string"}}},{"$ref":"#/components/schemas/drm_base"}]},"drm_vendor_verimatrix":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Verimatrix\\n","type":"string","x-atom":true},"user_keyserver":{"description":"The URL sent to the client for watching the content.","type":"string","example":"https://public-keyserver.mycompany.com"}}},{"$ref":"#/components/schemas/drm_base"}]},"drm_vendor_widevine":{"allOf":[{"type":"object","required":["vendor"],"properties":{"vendor":{"description":"FIXME: Widevine\\n","type":"string","x-atom":true},"aes_key":{"description":"AES (Advanced Encryption Standard) key. Used for Widevine DRM.\\n","type":"string"},"signer":{"description":"A unique ID of the signer.\\nFlussonic uses it to connect to the key server when using test key for Widevine DRM.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/drm-widevine/"},"type":"string"}}},{"$ref":"#/components/schemas/drm_base"},{"$ref":"#/components/schemas/drm_iv"}]},"play_protocols_spec":{"type":"object","properties":{"whitelist":{"description":"- If set to `True`, server **allows** a playback only for listed protocols;\\n- If set to `False`, server **forbids** a playback only for listed protocols;\\n","default":false,"type":"boolean"},"hls":{"description":"Whether to allow or deny an HLS stream playback, depending on the `whitelist` properties.","type":"boolean"},"cmaf":{"description":"Whether to allow or deny an LL-HLS stream playback, depending on the `whitelist` properties.","type":"boolean"},"dash":{"description":"Whether to allow or deny a DASH stream playback, depending on the `whitelist` properties.","type":"boolean"},"player":{"description":"Whether to allow or deny playback in embed.html, depending on the `whitelist` properties.","type":"boolean"},"mss":{"description":"Whether to allow or deny an MSS stream playback, depending on the `whitelist` properties.","type":"boolean"},"rtmp":{"description":"Whether to allow or deny an RTMP stream playback, depending on the `whitelist` properties.","type":"boolean"},"rtsp":{"description":"Whether to allow or deny an RTSP stream playback, depending on the `whitelist` properties.","type":"boolean"},"m4f":{"description":"Whether to allow or deny an M4F stream playback, depending on the `whitelist` properties.","type":"boolean"},"m4s":{"description":"Whether to allow or deny an M4S stream playback, depending on the `whitelist` properties.","type":"boolean"},"mseld":{"description":"Whether to allow or deny an MSE-LD stream playback, depending on the `whitelist` properties.","type":"boolean"},"tshttp":{"description":"Whether to allow or deny an MPEG-TS stream playback over HTTP(S), depending on the `whitelist` properties.","type":"boolean"},"webrtc":{"description":"Whether to allow or deny an WebRTC stream playback, depending on the `whitelist` properties.","type":"boolean"},"srt":{"description":"Whether to allow or deny an SRT stream playback, depending on the `whitelist` properties.","type":"boolean"},"shoutcast":{"description":"Whether to allow or deny a SHOUTcast/Icecast stream playback, depending on the `whitelist` properties.","type":"boolean"},"mp4":{"description":"Whether to allow or deny an MP4 file download over HTTP(S), depending on the `whitelist` properties.\\nUsed to export DVR segment(s) in MP4 file.\\n","type":"boolean"},"jpeg":{"description":"Whether to allow or deny delivering JPEG thumbnails over HTTP(S), depending on the `whitelist` properties.","type":"boolean"},"api":{"description":"Whether to allow or deny API requests, depending on the `whitelist` properties.","type":"boolean"}}},"segment_duration":{"type":"integer","format":"milliseconds","minimum":1000,"maximum":15000,"x-format-description":"milliseconds"},"url_prefix":{"anyOf":[{"enum":[false],"type":"boolean"},{"type":"string"}]},"stream_push":{"oneOf":[{"$ref":"#/components/schemas/stream_push_rtmp","x-api-allow":["watcher-admin"]}],"x-pattern-discriminator":"url"},"stream_push_rtmp":{"allOf":[{"type":"object","title":"RTMP","required":["url"],"properties":{"url":{"description":"RTMP URL where to push.\\nYou can publish to RTMP servers. Usually it is a social network streaming.\\n","type":"string","x-api-allow":["watcher-admin"],"format":"input_url","examples":{"default":{"value":"rtmp://your-server.com/app/stream1"}},"pattern":"^rtmps?://.*$","x-format-description":"input_url"}}},{"$ref":"#/components/schemas/stream_push_base"}]},"stream_push_base":{"type":"object","properties":{"comment":{"description":"Human-readable description of the pusher.\\n","type":"string","example":"This is a test push","x-api-allow":["watcher-admin"]},"stats":{"description":"Detailed runtime information about the push.","allOf":[{"$ref":"#/components/schemas/push_counters"}],"readOnly":true,"x-api-allow":["watcher-admin"]},"retry_limit":{"description":"The maximum number of times *Flussonic* retries to push the stream.","type":"integer","x-api-allow":["watcher-admin"]},"retry_timeout":{"description":"How often *Flussonic* should retry attempts to send the stream, e.g., if it has become offline. \\nIt is an interval in seconds, 5 seconds by default. \\nYou can increase this value to reduce server load.\\n","type":"integer","format":"seconds","example":7,"x-api-allow":["watcher-admin"],"x-format-description":"seconds"},"timeout":{"description":"Time interval, in seconds, after which the pusher is stopped if the source stream or publishing is stopped.\\n","type":"integer","format":"seconds","example":10,"x-api-allow":["watcher-admin"],"x-format-description":"seconds"},"disabled":{"description":"Disable pushing the stream.\\n\\nTemporary disabling, or pausing, an offline stream eliminates the necessity to remove it from the the configuration in order to stop Flussonic trying to push it. \\nIn this way, the URL and other settings of a disabled stream remain in Flussonic.\\n","type":"boolean","x-api-allow":["watcher-admin"]}}},"output_mpegts_pids":{"type":"object","properties":{"pmt":{"description":"PID  of the elementary stream that contains Program Map Table (PMT) in the outgoing MPEG-TS stream.\\n\\nPMT contains the description of each program and lists the PIDs of elementary streams associated with that program.\\nFor instance, a transport stream used in digital television might contain three programs, to represent three television channels. \\nSuppose each channel consists of one video stream, one or two audio streams, and any necessary metadata. \\nA receiver wishing to decode one of the three channels merely has to decode the payloads of each PID associated with its program. \\nIt can discard the contents of all other PIDs.\\n","allOf":[{"$ref":"#/components/schemas/ts_pid"}]},"pcr":{"description":"PID of the elementary stream that contains PCR (Program Clock Reference) in the outgoing MPEG-TS stream.\\n\\nPCR is the time label used for synchronization of a stream playback with real time. \\nAdditionally, for DVB streams it is used for managing a decoder and its buffer. \\nIn this case, PCR gives a signal to the frames with DTS&lt;PCR to be sent to the decoder from the buffer. \\nThis mechanism allows to compensate different sizes of frames: if a frame is too big to be played in time with a specified FPS, the frames from the buffer are played.\\n","allOf":[{"$ref":"#/components/schemas/ts_pid"}]},"sdt":{"description":"PID  of the elementary stream that contains Service Description Table (SDT) in the outgoing MPEG-TS stream.\\nSDT provides information about services contained in MPEG-TS stream.\\n","allOf":[{"$ref":"#/components/schemas/ts_pid"}]},"media":{"description":"Information about a particular media track.","items":{"allOf":[{"$ref":"#/components/schemas/transponder_pid"}]},"type":"array"},"default":{"description":"The default algorithm of selecting PID for a track.\\n\\n* `auto`: track PID = PMT PID + track ID, \\nwhere PMT PID is the PID of Program Map Table and track ID is a number of the track set by Flussonic \\n(usually, all video tracks and then all audio tracks are numbered starting from 1).\\n* `increment`: track PID = previous track PID + 1.\\n","enum":["auto","increment"],"type":"string"}}},"transponder_pid":{"type":"object","properties":{"pid":{"description":"A PID to assign to a matched track or system table.\\nPID identifies the payload (media or service) in the resulting MPTS stream.\\n\\nMultiplexer will include only the tracks with specified PIDs.\\n\\nIt is possible to set PID values for video, audio and other media tracks, as well as for PMT and SDT.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/multiplex-several-streams-into-mpts-for-contribution/#choosing-output-tracks"},"allOf":[{"$ref":"#/components/schemas/ts_pid"}],"x-primary-key":true,"openmetrics_label":"pid"},"content":{"description":"Content of the track.","enum":["system","video","audio","application","metadata"],"type":"string","example":"audio"},"codec":{"description":"Codec for this pid. Use this if just content+track is not enough.","allOf":[{"$ref":"#/components/schemas/frame_codec"}],"example":"scte35"},"track":{"description":"Index of a track with specified content and maybe codec.\\nE.g. when you specify content=audio and track=2 the second audio track will be selected.\\nIf you specify content=audio, codec=aac and track=1, the first AAC track will be selected\\neven if it is a third audio track and fifth track in stream media_info\\n","type":"integer","example":1},"bitrate":{"description":"Bitrate of the track.","type":"integer","format":"speed","example":2543,"x-format-description":"speed"},"stream_type":{"description":"Custom program element type in PMT\\nCombined with bypass (content=metadata, track=0) this option makes\\nproprietary PSI streams appear in PMT program info with given stream_type field\\n\\nThis is an optional parameter for advanced users. By default, the media Server\\nis automatically sets the stream_type according to the track codec.\\n","type":"integer","minimum":1,"maximum":255,"example":12},"es_info":{"description":"Raw elementary stream descriptors to describe proprietary stream in PMT program info\\nPlese refer to ISO/IEC 13818-1 section 2.6 for syntax\\n\\nThis is an optional parameter for advanced users. By default, the media Server\\nis automatically sets the stream_type according to the track codec.\\n","type":"string","format":"hexbinary","example":"52010D","x-format-description":"hexbinary"},"stats":{"description":"Detailed runtime information about the multiplexer pid.","allOf":[{"$ref":"#/components/schemas/transponder_pid_stats"}],"readOnly":true}},"required":["pid","content","track"]},"transponder_pid_stats":{"type":"object","properties":{"payload":{"description":"The payload bytes count.","type":"integer","format":"bytes","openmetrics_metric":"pid_payload","x-metric-type":"counter","x-format-description":"bytes"},"fillers":{"description":"The filler bytes count.","type":"integer","format":"bytes","openmetrics_metric":"pid_fillers","x-metric-type":"counter","x-format-description":"bytes"},"stuffing":{"description":"The stuff packets count.","type":"integer","openmetrics_metric":"pid_stuffing","x-metric-type":"counter"},"trimmed_bytes":{"description":"The trimmed bytes count.","type":"integer","format":"bytes","openmetrics_metric":"pid_trimmed_bytes","x-metric-type":"counter","x-format-description":"bytes"},"trimmed_frames":{"description":"The trimmed frames count.","type":"integer","openmetrics_metric":"pid_trimmed_frames","x-metric-type":"counter"}}},"debug_stream_spec":{"type":"object","properties":{"ips":{"description":"Client IP addresses which data is recorded.","type":"array","items":{"allOf":[{"$ref":"#/components/schemas/network_addr"}]},"example":["10.10.10.9"]},"tracepoints":{"description":"Points in stream pipeline where data is recorded.\\n","type":"array","items":{"$ref":"#/components/schemas/debug_stream_tracepoints"},"default":["input"],"example":["input","stream","webrtc_play_network"]},"root":{"description":"The path to the directory where the session data will be recorded.\\nRecommended for debugging needs **only**.\\n","type":"string","format":"dvr_url","example":"/tmp/debug","x-format-description":"dvr_url"},"storage_limit":{"description":"Maximum disk consumption in bytes. When this limit is reached, \\nthe oldest segment of the recording will be overridden by later data.\\n","type":"integer","format":"bytes","example":400000000000,"x-format-description":"bytes"},"expiration":{"description":"A period (in seconds) back from the current moment during which the files are stored.\\nAs time goes, the files which are older than this period are being overridden by the later files.\\n","type":"integer","format":"seconds","example":604800,"x-format-description":"seconds"},"duration":{"description":"Time for recording in milliseconds.","type":"integer","format":"milliseconds","example":6000,"x-format-description":"milliseconds"}},"required":["root"]},"network_addr":{"type":"string","minLength":1},"debug_stream_tracepoints":{"anyOf":[{"oneOf":[{"title":"Input","const":"input","description":"Record raw bytes at stream input. Not all protocols support this."},{"title":"Stream","const":"stream","description":"Record frames after all pre-processing, as would be output via push or play."},{"title":"WEBRTC network output data","const":"webrtc_play_network","description":"Record webrtc play session rtp packets"},{"title":"WEBRTC frames before encoding","const":"webrtc_play_frame","description":"Record webrtc play session frames"},{"title":"RTSP network output data","const":"rtsp_play_network","description":"Record rtsp play session packets"}],"type":"string"}]},"cache_spec":{"type":"object","properties":{"reference":{"description":"The name of the cache.","type":"string","format":"cache_name","example":"cache1","x-format-description":"cache_name"},"misses":{"description":"The number of requests necessary for a file to be cached.","type":"integer","example":3},"storage_limit":{"description":"Maximum disk consumption in bytes. \\nWhen this limit is reached, the oldest files will be overridden by later files.\\n","type":"integer","format":"bytes","example":400000,"x-format-description":"bytes"},"expiration":{"description":"A period (in seconds) back from the current moment during which the files are stored.\\nAs time goes, the files which are older than this period are being overridden by the later files.\\n","type":"integer","format":"seconds","example":3600,"x-format-description":"seconds"}}},"vision_spec":{"type":"object","properties":{"alg":{"description":"The algorithm used for video analytics.\\n","type":"string","oneOf":[{"const":"faces","description":"The algorithm for face recognition is used."},{"const":"plates","description":"The algorithm for license plate recognition is used."}],"example":"faces","x-api-allow":["vision-config-external","vision"]},"areas":{"description":"This parameter allows you to select specific polygonal area(s) for detection.\\nBy default, it is empty, and the recognition system searches over the entire camera field of view.\\n\\nEach area is specified as a sequence of comma-separated coordinates of vertices of the polygon: `x0,y0,x1,y1,x2,y2,...`.\\nThe vertices are specified in a counter-clockwise direction. Multiple areas are separated by `:`.\\n","type":"string","x-api-allow":["vision-config-external","vision"]}}},"auth_token":{"type":"string","format":"auth_token","default":"token","example":"token","description":"Configure key name of query string key-value pair for token authentication\\n","x-format-description":"auth_token"},"central_stream_layout_base":{"type":"object","properties":{"ingest":{"type":"string","format":"server_name","description":"Hostname of current ingest on which the stream is being captured","x-api-description":{"central-layouter":"Current ingest on which the stream is being captured.\\nIngest is selected as the least loaded node matching the labels for the stream.\\n\\nThe rules for matching labels are described [here](https://flussonic.com/doc/api/layouter/#tag/stream/operation/streams_list/response%7Cstreams%7Clabels).\\n\\nThe load is calculated as the number of streams captured by the node divided by [channel_limit](https://flussonic.com/doc/api/layouter/#tag/streamer/operation/streamers_list/response%7Cstreamers__0%7Cchannel_limit).\\n"},"x-format-description":"server_name"}}},"central_stream_layout_list_item":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name of the stream"}}},{"$ref":"#/components/schemas/central_stream_layout"}],"required":["name"]},"central_node_role":{"type":"object","properties":{"role":{"type":"string","description":"The \\"streamer\\" role is used for nodes where Flussonic Media Server is deployed.\\nThe \\"inference\\" role is used for nodes where Flussonic Vision Inference is deployed. On \\"inference\\" nodes, Central provisions streams with the \\"vision\\" parameter set.\\nThe \\"identification\\" role is used for nodes where Flussonic Vision Identification is deployed. Central fetches enriched episodes with persons from Flussonic Identification Service.\\n","oneOf":[{"const":"streamer"},{"const":"inference"},{"const":"identification"}],"x-api-allow":["central-layouter"]}}},"peer_config":{"type":"object","properties":{"hostname":{"type":"string","format":"server_name","description":"Streamer\'s identifier in the cluster.\\n\\nThe managing server may try using this hostname to access the streamer \\nif API URL is not specified.\\n","x-primary-key":true,"readOnly":true,"example":"peer.example.com","x-api-allow":["central-layouter"],"x-format-description":"server_name"},"stats":{"description":"Statistics on peers in the cluster.","allOf":[{"$ref":"#/components/schemas/peer_stats"}],"readOnly":true,"x-api-allow":["central-layouter"]},"api_url":{"type":"string","format":"url","example":"http://streamer.local:8080","description":"The URL for provisioning of configuration from the managing server to the streamer.\\nThis URL does not have to be public but must be accessible from the managing server.\\n\\nThe API URL can also be used as Public and/or Private payload URL if they are not set.\\nWhen used as Public payload URL, the API URL shall be public to allow playback from this streamer.\\n","x-format-description":"url"},"channel_limit":{"description":"Maximal number of streams.","type":"integer","example":5,"x-api-allow":["central-layouter"]},"cluster_key":{"description":"The key for authorization for inter-Flussonic connections.\\nAll cluster peers should have the same cluster key.\\n","type":"string","example":"xS6i6Q3DCc5nEvnu","x-api-allow":["central-layouter"]}}},"peer_stats":{"allOf":[{"$ref":"#/components/schemas/server_stats_whoami"},{"$ref":"#/components/schemas/server_stats_streamer"},{"$ref":"#/components/schemas/server_stats_network"},{"type":"object","properties":{"error":{"description":"Description of an error, if any.","type":"string","x-api-allow":["central-layouter"]}}}]},"server_stats_whoami":{"type":"object","properties":{"server_version":{"description":"Package version of the server. Might be simple a number of release like 21.11 or longer if you have a rolling release installed.","type":"string","format":"server_version","openmetrics_label":"version","example":"23.04","x-format-description":"server_version"},"build":{"type":"integer","description":"Build version\\n","openmetrics_label":"build"},"now":{"type":"number","format":"utc_ms","description":"Current response time\\n","x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"started_at":{"description":"Boot time of this instance.","type":"integer","format":"utc","openmetrics_metric":"server_started_at","x-metric-type":"gauge","example":1639337825,"x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000}}},"server_stats_streamer":{"type":"object","properties":{"config_version":{"description":"Current runtime version of config. We do not declare exact structure, but we promise\\nthat it will be always comparable and increasing (if server has proper NTP configuration, of course).\\nRight now it is a tuple of server start time and incrementing version of config.\\n","allOf":[{"$ref":"#/components/schemas/config_version"}],"example":[1636709231,4]},"next_version":{"description":"Notification about a newer version in the repository.","type":"string","format":"server_version","example":"22.01","x-format-description":"server_version"},"streamer_status":{"description":"*Flussonic* will always try to start even if there are severe errors that do not\\nallow functioning.\\n\\n`starting` status means you should wait for some time (not more than\\na minute).\\n\\n`running` status means all configuration was loaded. However, the status does not provide\\nan information about your streams and the quality of provided service.\\n\\nAll other statuses mean there are some severe problems on the server\\nthat cannot be repaired by Flussonic itself.\\n","allOf":[{"$ref":"#/components/schemas/server_stats_streamer_status"}],"x-api-allow":["central-layouter"]},"config_external_status":{"description":"Information about current external config status","allOf":[{"$ref":"#/components/schemas/config_external_error_status"}],"x-api-allow":["central-layouter"]},"hostname":{"description":"Hostname of your server. Please, use FQDN, do not leave your Linux misconfigured.","type":"string","example":"openapi.flussonic.com"},"license_txt":{"description":"The code of the license applied on the server.","type":"string","example":"uO8v12HJhNXVj5gM"},"license_type":{"description":"The license type.","allOf":[{"$ref":"#/components/schemas/license_type"}]},"license_request":{"description":"Base64 encoded license activation request which is used to prepare licence activation.","x-private":true,"type":"string","example":"QSBwYXJ0IG9mIGEgZHVtbXkgYWN0aXZhdGlvbiBwYXlsb2FkIHN0cmluZw=="},"id":{"description":"Unique runtime ID of this instance. Updated with the restart.","type":"string","format":"uuid","example":"61893b15-75b2-4fcb-b4cf-ae1dd0858ea2","x-format-description":"uuid"},"vsaas":{"description":"Shows if Flussonic Watcher is enabled in the license.","type":"boolean"},"vsaas_branding":{"description":"Shows if Watcher branding is enabled in the license.","type":"boolean"},"vsaas_running":{"description":"Shows if Watcher is currently running.","type":"boolean"},"rproxy":{"description":"Shows if rproxy is configured.","type":"boolean"},"rproxy_running":{"description":"Shows if rproxy is running.","type":"boolean"},"transcoder":{"description":"Shows if the server\'s CPU can be used for transcoding \\n(i.e. if the `flussonic-transcoder` package is installed on the server). \\n","type":"boolean","x-api-allow":["central-layouter"]},"bandwidth_usage":{"description":"Outbound bandwidth usage (load balancing in `usage` mode is based on this value).","type":"integer","format":"percent","example":67,"x-format-description":"percent"},"total_bandwidth":{"description":"Total server bandwidth.","type":"integer","format":"speed","deprecated":true,"x-notice":"duplicate of config total_bandwidth","x-deleted-at":22.03,"x-format-description":"speed"},"cpu_usage":{"description":"CPU usage on the server.","type":"integer","format":"percent","openmetrics_metric":"server_cpu_usage","x-metric-type":"gauge","example":48,"x-format-description":"percent"},"memory_usage":{"description":"Memory usage on the server.","type":"integer","format":"percent","openmetrics_metric":"server_memory_usage","x-metric-type":"gauge","example":27,"x-format-description":"percent"},"scheduler_load":{"description":"Erlang scheduler load.","type":"integer","format":"percent","openmetrics_metric":"server_scheduler_load","x-metric-type":"gauge","example":40,"x-format-description":"percent"},"uptime":{"description":"The server uptime.","type":"integer","format":"seconds","example":4325502,"x-format-description":"seconds"},"partitions":{"description":"The list of disk partitions on the server.","type":"array","items":{"allOf":[{"$ref":"#/components/schemas/partition_stats"}]},"x-api-allow":["central-layouter"]},"transcoder_devices":{"description":"Statistics on the devices used for transcoding.","type":"array","items":{"allOf":[{"$ref":"#/components/schemas/transcoder_device_stats"}]},"x-api-allow":["central-layouter"]},"video_devices":{"x-private":true,"description":"List of DVB/ASI/ATSC/ISDB/SDI cards.","type":"array","items":{"allOf":[{"$ref":"#/components/schemas/video_adapter_device_stats"}]}},"text_alerts":{"description":"Human-readable format of errors and alerts that need to be fixed. \\nProvided by some *Flussonic* subsystems.\\n","additionalProperties":{"type":"string"},"type":"object"},"config_error":{"description":"Information about errors in the config file.","allOf":[{"$ref":"#/components/schemas/config_error_status"}]},"is_chassis":{"description":"The flag shows if Flussonic runs on Flussonic Coder.\\n","type":"boolean"}}},"config_version":{"type":"array","items":{"type":"integer"}},"server_stats_streamer_status":{"type":"string","oneOf":[{"title":"Config is missing","const":"no_config","description":"The configuration file is not found at `/etc/flussonic/flussonic.conf`."},{"title":"Config is broken","const":"broken_config","description":"There are some errors in the config file saved at `/etc/flussonic/flussonic.conf`.\\nTry checking logs and `text_alerts` for details.\\n"},{"title":"Could not obtain valid external config from Central.","const":"config_external_error","description":"There are some errors during external config receiving or validating.\\nTry checking logs and `config_external_error` for details.\\n"},{"title":"License is failing","const":"license_failure","description":"The license cannot be activated. Please contact the support team."},{"title":"License is missing","const":"no_license","description":"The license file is not found at `/etc/flussonic/license.txt`."},{"title":"Starting","const":"starting","description":"The server is starting."},{"title":"Running","const":"running","description":"Normal operation mode."}],"example":"running"},"config_external_error_status":{"type":"object","properties":{"status":{"description":"External config status","type":"string","oneOf":[{"const":"loaded","description":"External config is successfully loaded, parsed and applied."},{"const":"error","description":"Valid external config could not be obtained because of error"}]},"reason":{"$ref":"#/components/schemas/request_error_reason"},"while":{"description":"Conditions of the error occurrence.","type":"string","oneOf":[{"const":"refresh","description":"Configuration server returned an error while performing a background batch refresh."},{"const":"request","description":"Configuration server returned an error while requesting a stream configuration for the first time."},{"const":"srt_port_resolve","description":"Configuration server returned an error while resolving srt port."}]},"code":{"type":"integer","description":"HTTP response code"},"error":{"type":"string","description":"Error description (optional)","example":"invalid_authorization"},"path":{"description":"Config path to the erroneous element.","type":"array","items":{"$ref":"#/components/schemas/config_path_segment"},"example":["streams",0,"inputs",0,"url","input_url"]},"detail":{"type":"string","description":"Detailed error description (optional)"}}},"request_error_reason":{"description":"Reason of the error.","type":"string","oneOf":[{"const":"validation_error","description":"New configuration does not match reference."},{"const":"network_error","description":"Streamer could not get reply from the configuration server."},{"const":"malformed_json","description":"Configuration server returned an malformed json body."},{"const":"invalid_request","description":"Configuration server received an invalid request, e.g. required headers is missing or invalid authorization."},{"const":"unknown","description":"Configuration server returned an error for an unknown reason."}]},"config_path_segment":{"anyOf":[{"type":"string"},{"type":"string","x-atom":true},{"type":"integer"}]},"license_type":{"type":"string","enum":["undefined","online","usb","network","offline"]},"partition_stats":{"type":"object","properties":{"path":{"description":"Mount path.","type":"string","format":"disk_path","example":"_var_lib_docker_overlay2_3684778579db0a4d418fdc1a8a6953b680ab92d179a7d6f9506710d073095e36_merged","openmetrics_label":"path","x-format-description":"disk_path"},"device":{"description":"The block device or file related to a mount path.","type":"string","format":"disk_device","example":"sda1","openmetrics_label":"device","x-format-description":"disk_device"},"total_mb":{"description":"Total number of megabytes shown by the OS for this partition.","type":"integer","format":"megabytes","openmetrics_metric":"partition_total_mb","x-metric-type":"gauge","example":45423,"x-format-description":"megabytes"},"usage":{"description":"Percentage of usage of this partition.","type":"integer","format":"percent","openmetrics_metric":"partition_usage","x-metric-type":"gauge","example":30,"x-format-description":"percent"},"io_util":{"description":"Percentage of IO utilization for device related to a mount path.","type":"integer","format":"percent","example":42,"openmetrics_metric":"device_io_util","x-metric-type":"gauge","x-format-description":"percent"}}},"transcoder_device_stats":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/transcoder_device"}],"description":"The type of the device used for transcoding.","example":"cpu"},"id":{"allOf":[{"$ref":"#/components/schemas/tc_deviceid"}],"description":"The ID of the device used for transcoding.\\n\\nIn PUT requests, you can use `auto` for Flussonic to set the ID itself. \\nIn the response to GET requests, the `id` will always be a number.\\n"},"name":{"type":"string","description":"The name of the transcoder device."},"can_logo":{"type":"boolean","description":"Shows if the device can put a logo on the image."},"can_interlace":{"type":"boolean","description":"Shows if the device can make an interlaced stream from a progressive one."},"can_internal":{"type":"boolean","description":"Shows if the transcoder with this device can run in the same process as Flussonic Media Server."},"memTotal":{"type":"integer","description":"Total RAM on the device."},"memFree":{"type":"integer","description":"Free RAM."},"memUsed":{"type":"integer","description":"Utilized RAM."},"reconfig_support":{"allOf":[{"$ref":"#/components/schemas/tc_reconfig_support"}],"description":"The ability of the device to be reconfigured online, i.e. without complete restart of the transcoder.\\n\\n`full` means that both decoder and encoder can be reconfigured online.\\n`encoder` means that only encoder can be reconfigured online.\\n`decoder` means that only decoder can be reconfigured online.\\n`false` means that online reconfiguration is not supported.\\n"},"gpu_temp":{"type":"integer","description":"GPU temperature, C."},"gpu_enc":{"type":"integer","description":"GPU encoder load percentage."},"gpu_dec":{"type":"integer","description":"GPU decoder load percentage."},"gpu_sm":{"type":"integer","description":"GPU shared memory amount."}}},"tc_reconfig_support":{"anyOf":[{"type":"string","oneOf":[{"title":"Full","const":"full"},{"title":"Decoder","const":"decoder"},{"title":"Encoder","const":"encoder"}]},{"type":"boolean","oneOf":[{"title":"False","const":false}]}]},"video_adapter_device_stats":{"type":"object","properties":{"hw":{"description":"The type of the device.","type":"string","oneOf":[{"const":"dektec","title":"DekTec card"},{"const":"decklink","title":"Blackmagic Decklink Card"},{"const":"v4l","title":"Video4Linux device detected on the server"},{"const":"tbs","title":"TBS product series include DVB-S2/S, DVB-C, DVB-T,ATSC digital TV Tuner PCI-e card"}],"example":"dektec"},"id":{"type":"string","description":"The ID of the device. It could be serial number or any other ID.\\n","examples":{"default":{"value":"serial"},"dektec":{"value":"2174220024"},"v4l":{"value":"/dev/video1"}}},"title":{"type":"string","description":"The name/model of the device.","example":"Decklink Quad 2"}}},"config_error_status":{"type":"object","properties":{"error":{"description":"Short error description.","type":"string","x-atom":true,"example":"bad_url"},"config":{"description":"Partial configuration that can be recovered if an error occurs.","type":"object"},"line":{"description":"Line number pointing to where an error was detected.","type":"integer","example":15},"first_error_line":{"description":"If an error takes up to several lines, it is the first line where the error was detected.","type":"integer","example":14},"col":{"description":"The column number pointing to where the error was detected.","type":"integer","example":20},"first_error_col":{"description":"Last column with something valid.","type":"integer","example":5},"path":{"description":"Config path to the erroneous element.","type":"array","items":{"$ref":"#/components/schemas/config_path_segment"},"example":["streams",0,"inputs",0,"url","input_url"]},"detail":{"description":"Some other details that may help to identify the error.","anyOf":[{"type":"string"},{"type":"number"},{"type":"object","additionalProperties":{"type":"string"}},{"type":"array","items":{"$ref":"#/components/schemas/config_path_segment"}}]},"errors":{"description":"List of structured errors. Just to conform with JSONAPI format","type":"array","x-private":true,"deprecated":true,"x-delete-at":23.09,"items":{"$ref":"#/components/schemas/error"}}}},"server_stats_network":{"type":"object","properties":{"total_clients":{"description":"The number of clients receiving the streams from the server at the moment of request.","type":"integer","openmetrics_metric":"server_total_clients","x-metric-type":"gauge","example":2040},"total_streams":{"description":"The number of streams created on the server.","type":"integer","example":45,"x-api-allow":["central-layouter"]},"online_streams":{"description":"The number of streams that are ready to be served to the clients.","type":"integer","openmetrics_metric":"server_online_streams","x-metric-type":"gauge","example":27,"x-api-allow":["central-layouter"]},"opened_files":{"description":"The number of opened files.","type":"integer","openmetrics_metric":"server_opened_files","x-metric-type":"gauge","example":5},"input_kbit":{"description":"Current incoming speed (bitrate) of the data transmission over the network.","type":"integer","format":"speed","openmetrics_metric":"server_input_bitrate","x-metric-type":"gauge","example":400300,"x-format-description":"speed"},"output_kbit":{"description":"Current outgoing speed (bitrate) of the data transmission over the network.","type":"integer","format":"speed","openmetrics_metric":"server_output_bitrate","x-metric-type":"gauge","example":500400,"x-format-description":"speed"}}},"server_config_base":{"type":"object","properties":{"listeners":{"allOf":[{"$ref":"#/components/schemas/listeners"}],"description":"The configuration of network listeners."},"srt":{"allOf":[{"$ref":"#/components/schemas/listen_spec"}],"description":"Global SRT listening port. It is possible to use a single port for playback and publishing, but it is not compatible with clients.\\nConsider configuring separate ports for playback and publishing for each stream."},"srt2":{"x-private":true,"allOf":[{"$ref":"#/components/schemas/listen_spec"}],"description":"Global SRT2 listening port. It is not possible to use a single port for playback and publishing.\\nConfigure separate ports for playback and publishing for each stream."},"srt_play":{"allOf":[{"$ref":"#/components/schemas/srt_config"}],"description":"SRT play configuration with single-port mode. Not supported by many clients, better use per-stream mode."},"srt2_play":{"allOf":[{"$ref":"#/components/schemas/srt_config"}],"description":"SRT2 play configuration with single-port mode. Not supported by many clients, better use per-stream mode."},"srt_publish":{"allOf":[{"$ref":"#/components/schemas/srt_config"}],"description":"SRT publish configuration with single-port mode. Not supported by many clients, better use per-stream mode."},"srt2_publish":{"allOf":[{"$ref":"#/components/schemas/srt_config"}],"description":"SRT2 publish configuration with single-port mode. Not supported by many clients, better use per-stream mode."},"geoip":{"type":"string","format":"disk_path","description":"Use your own GeoIP database.","example":"/usr/share/GeoIP/GeoLite2-City.mmdb","x-format-description":"disk_path"},"meta":{"description":"Some additional options of the server.","allOf":[{"$ref":"#/components/schemas/server_meta"}],"example":"{\\"role\\": \\"transcoder\\"}"},"loglevel":{"allOf":[{"$ref":"#/components/schemas/loglevel"}],"description":"Raise loglevel to debug if needed.","example":"error"},"nvidia_monitor":{"description":"Enables saving statistics on Nvidia performance.","type":"boolean","example":true},"total_bandwidth":{"description":"Total server bandwidth.","type":"integer","format":"speed","example":1000000000,"x-format-description":"speed"},"log_requests":{"description":"Enables logging of requests for streams (manifests, segments) and API request.","type":"boolean"},"pulsedb":{"description":"Directory to store Pulse statistics.","type":"string","format":"disk_path","example":"/var/run/flussonic/pulsedb","x-format-description":"disk_path"},"session_log":{"description":"Directory to store the session log.","type":"string","format":"disk_path","example":"/var/run/flussonic/session_log","x-format-description":"disk_path"},"cluster_key":{"description":"The cluster key to unite several servers with the same key into a cluster.","type":"string","example":"xS6i6Q3DCc5nEvnu"},"url_prefix":{"description":"This option applies to HLS and DASH protocols, for all streams on the server. \\nThe addresses of individual segments within a segment-based playlist will start with the specified prefix.\\nThis setting is available in the global part of the config file as well as locally for any individual stream. \\nWhen specified at the stream level, it is only valid for this particular stream.\\n","allOf":[{"$ref":"#/components/schemas/url_prefix"}]},"view_auth":{"allOf":[{"$ref":"#/components/schemas/admin_credentials"}],"description":"Credentials for access to readonly API functions like getting streams info, status, and statistics.\\n"},"edit_auth":{"allOf":[{"$ref":"#/components/schemas/admin_credentials"}],"description":"Credentials for administrator access to the server."},"api_allowed_from":{"description":"The list of allowed subnets to accept API requests from.","type":"array","items":{"type":"string","format":"cidr","x-format-description":"cidr"}},"wwwroot":{"type":"string","format":"disk_path","x-private":true,"description":"Alternative wwwroot directory\\n","x-format-description":"disk_path"},"auth_token":{"allOf":[{"$ref":"#/components/schemas/auth_token"}],"description":"Configure key name of query string key-value pair for token authentication\\n"},"max_sessions":{"type":"integer","x-private":true,"description":"Maximum allowed sessions for whole streamer\\n"},"aliaser":{"type":"string","format":"aliaser_url","x-private":true,"description":"HTTP url of media name aliaser backend\\n","x-format-description":"aliaser_url"},"init_script":{"type":"string","format":"disk_path","x-private":true,"description":"Path to lua script that will be called on server start\\n","x-format-description":"disk_path"}}},"server_meta":{"type":"string"},"admin_credentials":{"type":"object","properties":{"login":{"type":"string","description":"Login","example":"secretlogin"},"password":{"type":"string","description":"Password","example":"passw","format":"password","x-format-description":"password"}},"required":["login","password"]},"server_config_full":{"type":"object","properties":{"chassis":{"allOf":[{"$ref":"#/components/schemas/chassis_config"}],"description":"The configuration of the chassis."},"event_sinks":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/event_sink_config"}]},"description":"The configuration of event notifications"},"auth_backends":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/auth_backend_config"}]},"description":"The configuration of auth backends"},"vods":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/vod_config"}]},"description":"The configuration of VODs"},"dvrs":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/dvr_config"}]},"description":"The configuration of the DVRs"},"peers":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/peer_config"}]},"description":"The configuration of peers in the cluster."},"sources":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/source_config"}]},"description":"The configuration of the video sources."},"transponders":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/transponder_config"}]},"description":"The configuration of the transponders."},"templates":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/template_config"}]},"description":"The configuration of the templates."},"streams":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/stream_config"}]},"default":[],"description":"The configuration of the streams."},"caches":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/cache_config"}]},"description":"The configuration of the cache."},"dvb_cards":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/dvb_card_config"}]},"description":"The configuration of the DVB cards."},"balancers":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/balancer_config"}]},"description":"The configuration of the balancers."},"camera_alarm":{"allOf":[{"$ref":"#/components/schemas/camera_alarm_config"}],"description":"The configuration of the camera alarms."},"rproxy":{"allOf":[{"$ref":"#/components/schemas/rproxy_config"}],"description":"The configuration of the port forwarding."},"vsaas":{"allOf":[{"$ref":"#/components/schemas/vsaas_config"}],"description":"The configuration of the video surveillance subsystem."},"file_processor":{"allOf":[{"$ref":"#/components/schemas/file_processor_config"}],"description":"The configuration of the file processor."},"iptv":{"allOf":[{"$ref":"#/components/schemas/iptv_config"}],"description":"The configuration of the IPTV"},"decklinks":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/decklink_config"}]},"description":"Configuration of decklink SDI capture cards\\n"},"web_scripts":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/web_script_config"}]},"x-private":true,"description":"Prefixed lua handlers that can handle simple web requests\\n"},"http_proxies":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/http_proxy_config"}]},"description":"List of HTTP prefixes that can be handled via call to remote http server\\n"}}},"chassis_config":{"type":"object","properties":{"product_name":{"description":"Coder product name","allOf":[{"$ref":"#/components/schemas/chassis_product"}],"readOnly":true},"api_port":{"description":"Private port for API requests to the chassis from coders.","allOf":[{"$ref":"#/components/schemas/listen_spec"}],"readOnly":true},"auto_reboot":{"description":"Shows if auto restart of coders when (re)starting chassis is enabled.","type":"boolean","default":false,"readOnly":true},"dhcpd_iface":{"description":"Network interface for automatic reception of IP address from DHCP server. \\nThis interface will be used for launching coders.\\n","type":"string","format":"interface_name","readOnly":true,"x-format-description":"interface_name"},"dhcpd_port":{"description":"Source port for DHCP requests.","allOf":[{"$ref":"#/components/schemas/listen_spec"}],"readOnly":true},"dhcpd_port_dest":{"description":"Destination port for DHCP requests.","allOf":[{"$ref":"#/components/schemas/listen_spec"}],"readOnly":true},"lcd":{"description":"Shows if LCD monitor capabilities are enabled in the firmware.","type":"boolean","default":false,"readOnly":true},"ntpd_iface":{"description":"Network interface for NTP daemon.","type":"string","format":"interface_name","readOnly":true,"x-format-description":"interface_name"},"ntpd_port":{"description":"Port for NTP daemon.","allOf":[{"$ref":"#/components/schemas/listen_spec"}],"readOnly":true},"tftp_port":{"description":"Port for TFTP used for loading program core to the coders.","allOf":[{"$ref":"#/components/schemas/listen_spec"}],"readOnly":true},"tftp_root":{"description":"TFTP root directory.","type":"string","format":"disk_path","readOnly":true,"x-format-description":"disk_path"},"update_channel":{"description":"Update channel specified in the config file.","type":"string","readOnly":true},"firmware_host":{"description":"URL for downloading firmware.","type":"string","format":"url","readOnly":true,"x-format-description":"url"},"firmware_version":{"description":"Firmware version installed on the device.","allOf":[{"$ref":"#/components/schemas/chassis_version"}],"readOnly":true},"firmware_boot_dir":{"description":"Directory to boot the device from. This is also where the firmware is downloaded on updates.","type":"string","format":"disk_path","readOnly":true,"x-format-description":"disk_path"},"stats":{"description":"Statistics of the chassis connections.","allOf":[{"$ref":"#/components/schemas/chassis_stats"}],"readOnly":true},"restart_coder_timeout":{"description":"Timeout for restarting coders.","type":"integer","readOnly":true},"hostname":{"description":"The name of the chassis server.","type":"string","format":"server_name","example":"coder1.example.com","x-format-description":"server_name"},"default_gateway_interface":{"description":"If `default_gateway` parameters are set the individual interfaces config, \\nthis gateway is only used for checking license and updates. \\nOtherwise, it is used as gateway for all traffic.\\n","type":"string","example":"streaming"},"ntp_servers":{"description":"List of NTP server host names or IP addresses","type":"array","items":{"type":"string"}}}},"chassis_product":{"type":"string","oneOf":[{"title":"Coder","const":"coder_transcoder","description":"Basic coder with transcoding support"},{"title":"Vision Coder","const":"coder_vision","description":"Coder with video analytic support"},{"title":"DVB Coder","const":"coder_dvb","description":"Basic coder with transcoding support and DVB output"}]},"chassis_version":{"type":"string"},"chassis_stats":{"type":"object","properties":{"dhcp":{"description":"DHCP statistics.","allOf":[{"$ref":"#/components/schemas/chassis_dhcpd_stats"}],"x-private":true},"tftp":{"description":"TFTP statistics.","allOf":[{"$ref":"#/components/schemas/chassis_tftp_stats"}],"x-private":true},"ntpd":{"description":"NTP daemon statistics.","allOf":[{"$ref":"#/components/schemas/chassis_ntpd_stats"}],"x-private":true},"model":{"description":"The chassis model name.","type":"string","example":"chassis_model"},"version":{"description":"Full version number of the firmware. Deprecated. Version could be found at `chassis_config/firmware_version`","deprecated":true,"x-delete-at":"24.10","allOf":[{"$ref":"#/components/schemas/chassis_version"}],"example":"21.09.1-234"},"next_version":{"deprecated":true,"x-delete-at":"24.10","description":"The latest available version of the firmware, if any. Deprecated. Last available version could be obtained from `chassis_firmwares_list`","allOf":[{"$ref":"#/components/schemas/chassis_version"}]},"serial_number":{"description":"The serial number of the chassis.","type":"string","example":"2174220024"},"hardware_id":{"description":"MAC address of the manage0 interface.","type":"string"},"hostname":{"type":"string","description":"Hostname of the server.","example":"coder1.example.com"},"ntp_clock_synchronized":{"type":"boolean","description":"Whether a system clock synchronized with NTP server"},"system_time":{"type":"number","format":"utc_ms","description":"Chassis system time (in UTC milliseconds)","x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000}}},"chassis_dhcpd_stats":{"type":"object","properties":{"error":{"description":"The error code, if any.","type":"string","enum":["listen_failure","port_busy","no_interface"]},"leases":{"description":"The list of leased IP addresses.","type":"array","items":{"type":"object","properties":{"mac":{"description":"MAC address corresponding to the IP address.","type":"string"},"ip":{"description":"IP address.","type":"string"},"count":{"description":"The number of uses.","type":"integer"},"last_seen_at":{"description":"When the IP address was used the last time.","type":"integer"}}},"default":[]}}},"chassis_tftp_stats":{"type":"object","properties":{"error":{"description":"Error code, if any.","type":"string","enum":["listen_failure","port_busy","no_interface"]},"file_count":{"description":"The number of files sent over TFTP.","type":"integer"},"sent_bytes":{"description":"The number of bytes sent over TFTP.","type":"integer"}}},"chassis_ntpd_stats":{"type":"object","properties":{"port":{"description":"The port used for NTP daemon.","type":"integer"},"requests_count":{"description":"The number of requests sent.","type":"integer"}}},"event_sink_config":{"type":"object","required":["name","url"],"properties":{"name":{"type":"string","format":"event_sink_name","description":"Globally unique event sink name.","x-primary-key":true,"readOnly":true,"example":"my_json_sink","x-format-description":"event_sink_name"},"url":{"type":"string","description":"Path where events are sent.\\n\\n* For event handler, it is the URL of an HTTP handler or the path to a lua script:  `http://URL`, `https://URL`, or `path_to_lua_script.lua`.\\n* For event logging, it is the path to a log file (human-readable text file or JSON): `log://path_to_log_file.log` or `jsonlog://path_to_log_file.json`.\\n","example":"jsonlog:///var/log/events-json.log","pattern":"^(log|jsonlog|http|https)://.+$|^pid://&lt;[0-9]+\\\\.[0-9]+\\\\.[0-9]+&gt;$"},"only":{"description":"If specified, only the events that match **every** filter in the filter set will be passed to the event sink target.\\n\\nThat is, if even one of the conditions is not satisfied, an event will **not** be processed. \\nEach filter (condition) has several possible values. For an event to satisfy the condition, \\nan event should match **any** of the specified values, not all of them.\\n","type":"array","items":{"$ref":"#/components/schemas/event_sink_filter"},"examples":{"default":{"value":[{"event":["listener_start"],"group":["system_overloaded"]}]}}},"except":{"description":"If specified, only the events that match **every** filter in the filter set will not be be passed to the event sink target.\\n\\nThat is, if even one of the conditions is not satisfied, an event will be processed.\\n\\nEach filter (condition) has several possible values. For an event to satisfy the condition, \\nan event should match **any** of the specified values, not all of them.\\n","type":"array","examples":{"default":{"value":[{"event":["stream_stopped","stream_started","source_*"]}]}},"items":{"$ref":"#/components/schemas/event_sink_filter"}},"throttle_delay":{"description":"The delay (in seconds) before sending an event to the sink after saving it into the buffer. \\nThis parameter allows to lower frequency of sending events.\\n\\nIf there are more than 100 events in the buffer, all of them will be sent to the sink without any delay.  \\n","type":"integer","format":"seconds","example":1,"x-format-description":"seconds"},"max_size":{"description":"Maximum size of a log file. \\n\\nWhen this limit is reached, log rotation is performed: the oldest events will be overridden by later data.\\n","type":"integer","format":"bytes","example":10000,"x-format-description":"bytes"},"max_depth":{"description":"Maximal number of log files with events (JSON or text) that can be stored on a disk.\\n\\nWhen this limit is reached, log rotation is performed: the oldest files will be overridden by later data.\\n","type":"integer","example":100},"resend_limit":{"description":"If an error occurs (`HTTP 500` or any other error), then *Flussonic* will try to buffer events and send them later.\\n\\nThe option defines the **number** of events to keep in memory for further delivery.\\n\\nThe default value is `unlimited`.\\n","type":"integer","example":1000},"resend_timeout":{"description":"How often *Flussonic* will try to resend non-confirmed events to the handler (in seconds).","type":"integer","example":10},"level":{"allOf":[{"$ref":"#/components/schemas/loglevel"}],"description":"Specify logging level for this sink. Anything more verbose than it will not get into this sink.\\n"},"extra":{"additionalProperties":{"type":"string"},"type":"object","description":"Some additional options."}}},"event_sink_filter":{"type":"object","additionalProperties":{"description":"A set of filters for event fields.\\nYou can specify an event field and its possible values.\\n","type":"array","items":{"type":"string","example":"stream_stopped"}}},"auth_backend_config":{"type":"object","required":["name"],"properties":{"name":{"type":"string","format":"auth_backend_name","description":"Globally unique [`auth_backend`](https://flussonic.com/doc/complex-authorization-with-backends/) name.","x-primary-key":true,"readOnly":true,"x-format-description":"auth_backend_name"},"allow_tokens":{"description":"Explicit list of tokens that give access to the content without any other checks.\\n","example":["test_token1","test_token2"],"type":"array","items":{"type":"string"}},"deny_tokens":{"description":"Explicit list of tokens that deny access to the content and stop any other checks.\\n","example":["test_token3","test_token4"],"type":"array","items":{"type":"string"}},"allow_ips":{"description":"Explicit list of IP-addresses or subnet masks that have access to the content without any other checks.\\n","example":["127.0.0.1","10.10.0.0/24"],"type":"array","items":{"type":"string"}},"deny_ips":{"description":"Explicit list of IP-addresses or subnet masks that are banned from accessing the content.      \\n","example":["8.8.8.8","10.10.0.0/24"],"type":"array","items":{"type":"string"}},"allow_countries":{"description":"Explicit list of countries (two-letter country codes according to ISO 3166-1) that have access to the content without any other checks.\\nFlussonic uses the MaxMind GeoLite2 Country database to map a country to a block of IP addresses. \\nNew releases of GeoIP2 databases come out more often than the releases of Flussonic server, so sometimes the used database can become outdated.\\nTherefore we recommend you to install a separate GeoIP2 library and set up Flussonic to use it.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/restrict-viewer-country-with-geoip/"},"example":["RU","US"],"type":"array","items":{"type":"string"}},"deny_countries":{"description":"Explicit list of countries (two-letter country codes according to ISO 3166-1) that are banned from accessing the content.\\nFlussonic uses the MaxMind GeoLite2 Country database to map a country to a block of IP addresses. \\nNew releases of GeoIP2 databases come out more often than the releases of Flussonic server, so sometimes the used database can become outdated.\\nTherefore we recommend you to install a separate GeoIP2 library and set up Flussonic to use it.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/restrict-viewer-country-with-geoip/"},"example":["RU","GB"],"type":"array","items":{"type":"string"}},"allow_uas":{"description":"Explicit list of user agents (set-top boxes or browsers) that have access to the content without any other checks.    \\n","example":["AppleWebKit/533.3 (KHTML, like Gecko)","VLC/3.0.8 LibVLC/3.0.8"],"type":"array","items":{"type":"string"}},"deny_uas":{"description":"The list of user agents (set-top boxes or browsers) that are banned from accessing the content.      \\n","example":["Mobile Safari/533.3","VLC/3.0.8 LibVLC/3.0.8"],"type":"array","items":{"type":"string"}},"backends":{"description":"URL(s) of the HTTP backend(s).","type":"array","items":{"$ref":"#/components/schemas/auth_backend_url"}},"allow_default":{"description":"This option defines the default behavior when all backends are not responding (usually, because of errors in HTTP responses) and the session is not started yet.\\nIf this option is enabled, all clients or devices except those listed in `deny` option will have access to the content.\\nIf this option is disabled, all clients or devices except those listed in `allow` option will not have access to the content. \\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/complex-authorization-with-backends/#auth-configurator-allowdefault"},"type":"boolean","default":false}}},"auth_backend_url":{"type":"object","properties":{"url":{"description":"The URL of an HTTP backend.      \\n","example":"http://stalker-1.iptv.net/auth.php","type":"string"},"extra":{"x-private":true,"type":"object","additionalProperties":{"type":"string"},"description":"Some additional options."}},"required":["url"]},"vod_config":{"type":"object","properties":{"prefix":{"description":"The unique name of VOD location. \\n\\nIt is used as a prefix in file playback requests to explicitly specify where the system should find the files for playing. \\nAll the path after the prefix will be cut and added to the specified path on the disk (the storage configured for this VOD location). \\nThus, the system will find the file on the disk and play it.\\n","type":"string","format":"media_name","x-primary-key":true,"example":"movies","x-format-description":"media_name"},"auto_mbr":{"description":"Turns on automatic creation of a multi-bitrate HLS playlist from several files with different bitrates.","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/play-mbr-vod-with-auto-mbr/"},"type":"boolean","default":false},"position":{"type":"integer","format":"sort_index","description":"If an order of VOD locations is declared, it is a position of the this VOD location in the order.","x-notice":"only for stream","example":1,"x-format-description":"sort_index"},"disabled":{"description":"Whether this VOD location is disabled.","type":"boolean","example":false},"storages":{"description":"The directories (on disk or on another server) that Flussonic scans for VOD files.","items":{"allOf":[{"$ref":"#/components/schemas/vod_storage"}]},"type":"array"},"on_play":{"description":"Configuraton of the authorization backend for play sessions **only**. \\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/authorize-clients/#auth-on_play"},"allOf":[{"$ref":"#/components/schemas/auth_spec"}]},"cache":{"description":"Configuraton of the local file cache which is used for files from a cloud or an HTTP server.\\n\\nIf this option is enabled, a file will be downloaded to a local cache path by megabyte blocks. \\nDuring playback, the file will be first read from the cache. \\nThis allows to avoid multiple HTTP requests to the source for each part of data and, thus, to speed up broadcasting.\\n","allOf":[{"$ref":"#/components/schemas/cache_spec"}]},"segment_cache":{"x-private":true,"description":"Configuraton of the intermediate cache of video file segements for files on SSD drives.\\nIt is not recommended to use this option without local cahe.\\n","allOf":[{"$ref":"#/components/schemas/segment_cache_spec"}]},"read_queue":{"description":"The number of simultaneous readers form disk that should wait in a queue for playing a file.","type":"integer","example":100},"thumbnails":{"description":"Configuration of thumbnails generator.","allOf":[{"$ref":"#/components/schemas/thumbnails_spec"}]},"download":{"description":"Enables downloading files from the URL `http://FLUSSONIC-IP:80/vod_prefix/file_subpath.mp4`. \\nThe `Range` HTTP headers are supported.\\n","type":"boolean","default":false,"example":false},"protocols":{"description":"Configuraton of play protocols.","allOf":[{"$ref":"#/components/schemas/play_protocols_spec"}]},"url_prefix":{"description":"The names of separate segments within a segment-based HLS or DASH playlist start with the *specified* prefix. \\nThe option no longer works for *variant playlists*.\\n","allOf":[{"$ref":"#/components/schemas/url_prefix"}]},"segment_duration":{"description":"The time, in seconds, of the segment duration. Used for the protocols like HLS or DASH.","allOf":[{"$ref":"#/components/schemas/segment_duration"}]},"logo":{"description":"Overlay logo.","allOf":[{"$ref":"#/components/schemas/web_logo_spec"}]},"timeout":{"description":"The time (in milliseconds) passed since the last file request.\\nIf the file was not requested within this period, it will be closed and its resources will be deallocated.\\n","type":"integer","example":3},"drm":{"description":"Configuraton of the content encryption (DRM).","allOf":[{"$ref":"#/components/schemas/drm_spec"}]},"pulse_off":{"x-private":true,"description":"If this option is enabled, the data about playing the files is not collected for the Pulse tab in Flussonic UI.","type":"boolean","example":false,"x-notice":"do not collect pulse data on this stream"},"add_audio_only":{"description":"Whether to add an audio-only version of an HLS stream. \\nUsed to create App Store compliant HLS streams to deliver the content to Apple iOS devices.\\nAdd audio-only HLS playlist to variant MBR playlist for iOS compliant streaming.\\n","type":"boolean","example":false},"provider":{"description":"Human-readable name of the content provider. Applicable to MPEG-TS.","type":"string"}}},"vod_storage":{"type":"object","properties":{"url":{"type":"string","description":"The storage (on the disk or on another server) that Flussonic will scan for VOD files.\\nIf it is a path on the disk, it should be specified relating to the disk root.\\n\\nIt is possible to specify multiple storages for one VOD location. When Flussonic gets the URL for playing the file, it finds the prefix in this URL, \\ncuts the path after it and consequently searches for this path in all specified storages.\\n","example":"/storage"},"extra":{"additionalProperties":{"type":"string"},"type":"object","description":"Some additional options."}}},"segment_cache_spec":{"type":"object","properties":{"path":{"description":"The path where the files from the cloud or HTTP are cached to speed up broadcasting.","type":"string","format":"disk_path","example":"/mount/ssd1","x-format-description":"disk_path"},"misses":{"description":"The number of requests necessary for a file to be cached.","type":"integer","example":3},"storage_limit":{"description":"Maximum disk consumption in bytes. \\nWhen this limit is reached, the oldest segments will be overridden by later data.\\n","type":"integer","format":"bytes","example":400000,"x-format-description":"bytes"},"expiration":{"description":"A period (in seconds) back from the current moment during which the segments are stored.\\nAs time goes, the segments which are older than this period are being overridden by the later data.\\n","type":"integer","format":"seconds","x-format-description":"seconds"}}},"source_config":{"allOf":[{"$ref":"#/components/schemas/source_specific_config"},{"$ref":"#/components/schemas/stream_config_media"},{"$ref":"#/components/schemas/stream_config_onpremises"}]},"source_specific_config":{"type":"object","properties":{}},"transponder_config":{"type":"object","required":["name"],"properties":{"name":{"description":"The name of the transponder.","type":"string","format":"media_name","x-primary-key":true,"readOnly":true,"openmetrics_label":"name","example":"multiplexer","x-format-description":"media_name"},"pushes":{"description":"The list of pushes for the transponder.","items":{"allOf":[{"$ref":"#/components/schemas/transponder_push"}]},"type":"array"},"bitrate":{"description":"Transponder bitrate.","type":"integer","format":"speed","x-format-description":"speed"},"provider":{"description":"Provider of the transponder.","type":"string","example":"Example Provider"},"network_name":{"description":"The name of the TV network.","type":"string","example":"Example Network"},"ts_stream_id":{"description":"The identifier of the transport stream for the transponder.","type":"integer"},"network_id":{"description":"Identifier of the delivery network.","type":"integer"},"original_network_id":{"description":"Identifier of the original delivery network. The same original network is used for NIT and SDT.","type":"integer"},"ts_descriptors":{"description":"The list of transport stream descriptors. Descriptors are added to NIT and SDT.","items":{"allOf":[{"$ref":"#/components/schemas/ts_descriptor"}]},"type":"array","default":[]},"timeouts":{"description":"The list of timeouts for autodetect of provider, title, and service_type of the programs.\\n","allOf":[{"$ref":"#/components/schemas/ts_timeouts"}]},"programs":{"description":"The list of programs in the transponder.","items":{"allOf":[{"$ref":"#/components/schemas/transponder_program"}]},"type":"array"},"time_offsets":{"description":"The list of time offsets.","items":{"allOf":[{"$ref":"#/components/schemas/transponder_time_offset"}]},"type":"array","default":[]},"versions":{"description":"Versions of PSI tables.","allOf":[{"$ref":"#/components/schemas/ts_versions"}]},"others":{"description":"The list of other transponders on the network.","items":{"allOf":[{"$ref":"#/components/schemas/transponder_other"}]},"type":"array","default":[]},"eit":{"description":"Transponder\'s program guide in EIT format.","allOf":[{"$ref":"#/components/schemas/transponder_eit"}]},"video_buffer":{"description":"The size of the video buffer for the transponder.","type":"integer"},"prebuffer":{"description":"The length of multiplexer input buffer.\\nThe higher value makes the multiplexer more robust to non-uniform inputs.\\nThe lower value reduces input-to-output latency, but requires more stable bitrate (CBR) on input.\\n","format":"milliseconds","default":300,"example":800,"type":"integer","x-format-description":"milliseconds"},"stats":{"description":"Detailed runtime information about the multiplexer.","allOf":[{"$ref":"#/components/schemas/multiplexer_stats"}],"readOnly":true}}},"transponder_push":{"properties":{"url":{"description":"Push URL for the MPTS stream. Usually it is a `udp://` multicast address and port.\\n","type":"string"},"multicast_loop":{"description":"The multicast socket option that enables ingesting the sent data back to the transponder.\\nUse for test purposes, e.g. if the same server creates MTPS and splits MPTS to separate programs.\\n","type":"boolean","default":true},"tos":{"description":"ToS byte in the IP packages of the multicasted data.","type":"integer","default":0},"depth_limit":{"description":"Maximum allowable duration of the file. For push to `file://` only.","type":"integer","x-private":true},"pkt_limit":{"description":"Maximum allowable number of 188-byte TS packages in the file. For push to `file://` only.","type":"integer","x-private":true},"standby":{"description":"Monitoring multicast group and stop pushing if another publisher presented","type":"boolean"},"stats":{"description":"Detailed runtime information about the push.","allOf":[{"$ref":"#/components/schemas/push_counters"}],"readOnly":true},"v":{"description":"This option allows to enable non-default, probably experimental, version of udp pusher.","x-private":true,"type":"string","enum":["timed"]},"bind_to_core":{"description":"Timed pusher option. CPU core to bind sending thread to. Will not bind by default.","x-private":true,"type":"integer"},"timed_wait":{"description":"Timed pusher option. How to wait to send a packet.","x-private":true,"type":"string","enum":["sleep","busy"]}},"required":["url"],"type":"object"},"ts_descriptor":{"type":"object","properties":{"tag":{"type":"integer","description":"Identifier of the descriptor."},"hex":{"type":"string","format":"hexbinary","description":"Descriptor data.","x-format-description":"hexbinary"}},"required":["tag","hex"]},"ts_timeouts":{"type":"object","properties":{"service_type":{"type":"integer","description":"The type of the program."},"media_info":{"type":"integer","description":"The timeout value."}}},"transponder_program":{"type":"object","properties":{"program_id":{"description":"Identifier of the program within the transponder.","allOf":[{"$ref":"#/components/schemas/program_id"}],"x-primary-key":true,"openmetrics_label":"program_id"},"source":{"description":"The stream that is in use as the program source.","type":"string","format":"media_name","openmetrics_label":"source","example":"hockey1","x-format-description":"media_name"},"lcn":{"description":"Logical channel number.","type":"integer","example":5},"service_type":{"description":"Information about the program type.","allOf":[{"$ref":"#/components/schemas/ts_service_type"}],"example":"digital_tv"},"title":{"description":"The program title.","type":"string","example":"ProgramTitle"},"pids":{"description":"The list of PIDs.","allOf":[{"$ref":"#/components/schemas/output_mpegts_pids"}]},"eit_title":{"description":"The name of the EIT.","type":"string","example":"EIT_Title"}},"required":["program_id"]},"program_id":{"type":"integer","minimum":1,"maximum":65535,"x-notice":"mpegts program number"},"ts_service_type":{"anyOf":[{"type":"integer"},{"type":"string","enum":["none","digital_tv","digital_radio","teletext","nvod_reference","nvod_shifted","mosaic","fm_radio","dvb_srm","digital_radio_aac","mosaic_avc","data","common_interface","rcs_map","rcs_fls","dvb_mhp","digital_tv_mpeg2_hd","digital_tv_avc_sd","nvod_shifted_avc_sd","nvod_reference_avc_sd","digital_tv_avc_hd","digital_tv_avc_stereo_hd","nvod_shifted_avc_stereo_hd","nvod_reference_avc_stereo_hd","digital_tv_hevc","digital_tv_hevc_uhd"]}]},"transponder_time_offset":{"type":"object","required":["country"],"properties":{"country":{"description":"The country code.","type":"string"},"region":{"description":"The region code.","type":"integer"},"time_of_change":{"description":"Date and time when the time change takes place.","allOf":[{"$ref":"#/components/schemas/iso8601"}]},"local_time_offset":{"description":"The current offset time from UTC.","type":"string"},"next_time_offset":{"description":"The next offset time after the change.","type":"string"}}},"iso8601":{"type":"integer","x-notice":"2016-07-08T09:04:46Z"},"ts_versions":{"type":"object","properties":{"psi":{"description":"Global version for all PSI tables.","allOf":[{"$ref":"#/components/schemas/psi_version"}]},"pat":{"description":"The version of PAT table.","allOf":[{"$ref":"#/components/schemas/psi_version"}]},"pmt":{"description":"The version of PMT table.","allOf":[{"$ref":"#/components/schemas/psi_version"}]},"nit":{"description":"The version of NIT table.","allOf":[{"$ref":"#/components/schemas/psi_version"}]},"sdt":{"description":"The version of SDT table.","allOf":[{"$ref":"#/components/schemas/psi_version"}]},"cat":{"description":"The version of CAT table.","allOf":[{"$ref":"#/components/schemas/psi_version"}]}}},"psi_version":{"type":"integer","minimum":0,"maximum":31},"transponder_other":{"type":"object","properties":{"name":{"description":"The name of the other transponder on the network.","type":"string","format":"media_name","x-primary-key":true,"readOnly":true,"x-format-description":"media_name"}},"required":["name"]},"transponder_eit":{"type":"object","properties":{"sources":{"description":"List of epg sources\\n","items":{"allOf":[{"$ref":"#/components/schemas/epg_source"}]},"type":"array","x-private":true},"max_bitrate":{"description":"Maximum bitrate for the transponder\'s EIT EPG.","type":"integer","format":"max_bitrate","x-format-description":"max_bitrate"},"xmltv_url":{"description":"Directory for storing the XMLTV EPG files.","type":"string","example":"xmltv_dir"},"keep_epg":{"description":"Period for storing the XMLTV files.","type":"integer","format":"seconds","x-format-description":"seconds"},"intervals_pf":{"description":"Periods for sending the present/following events.","allOf":[{"$ref":"#/components/schemas/ts_eit_intervals"}]},"intervals_schedule":{"description":"Periods for sending the event schedules.","allOf":[{"$ref":"#/components/schemas/ts_eit_intervals"}]}}},"epg_source":{"type":"object","properties":{"url":{"description":"URL of the epg source.\\n","type":"string","examples":{"stream":{"value":"copy://local_stream_name"}}}}},"ts_eit_intervals":{"type":"object","properties":{"actual":{"description":"Period for the actual transponder.","type":"integer"},"other":{"description":"Period for the other transponder.","type":"integer"}}},"multiplexer_stats":{"type":"object","properties":{"payload":{"description":"The payload bytes count.","type":"integer","format":"bytes","openmetrics_metric":"multiplexer_payload","x-metric-type":"counter","x-format-description":"bytes"},"encoded":{"description":"The encoded bytes count.","type":"integer","format":"bytes","openmetrics_metric":"multiplexer_encoded","x-metric-type":"counter","x-format-description":"bytes"},"fillers":{"description":"The filler packets count.","type":"integer","openmetrics_metric":"multiplexer_fillers","x-metric-type":"counter"},"stuffing":{"description":"The stuff packets count.","type":"integer","openmetrics_metric":"multiplexer_stuffing","x-metric-type":"counter"},"trimmed_bytes":{"description":"The trimmed bytes count.","type":"integer","format":"bytes","openmetrics_metric":"multiplexer_trimmed_bytes","x-metric-type":"counter","x-format-description":"bytes"},"trimmed_frames":{"description":"The trimmed frames count.","type":"integer","openmetrics_metric":"multiplexer_trimmed_frames","x-metric-type":"counter"},"ts_overflow":{"description":"Is TS overflowed. True if no stuffing at last time.","type":"boolean"}}},"template_config":{"allOf":[{"$ref":"#/components/schemas/template_config_specific"},{"$ref":"#/components/schemas/stream_config_base"},{"$ref":"#/components/schemas/stream_config_input"},{"$ref":"#/components/schemas/stream_config_media"},{"$ref":"#/components/schemas/stream_config_onpremises"},{"$ref":"#/components/schemas/stream_config_deprecated"}]},"template_config_specific":{"type":"object","properties":{}},"cache_config":{"type":"object","required":["name"],"properties":{"name":{"type":"string","format":"cache_name","description":"Globally unique cache name.","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/scale-vod-playback-with-ssd-cache/"},"x-primary-key":true,"readOnly":true,"example":"cache1","x-format-description":"cache_name"},"path":{"description":"The path where the files from the cloud or HTTP are cached to speed up broadcasting.","type":"string","format":"disk_path","example":"/storage/cache","x-format-description":"disk_path"},"misses":{"description":"The number of requests necessary for a file to be cached.","type":"integer","example":3},"storage_limit":{"description":"Maximum disk consumption in bytes. \\nWhen this limit is reached, the oldest files will be overridden by later files.\\n","type":"integer","format":"bytes","example":400000,"x-format-description":"bytes"},"expiration":{"description":"A period (in seconds) back from the current moment during which the files are stored.\\nAs time goes, the files which are older than this period are being overridden by the later files.\\n","type":"integer","format":"seconds","example":604800,"x-format-description":"seconds"}}},"dvb_card_config":{"type":"object","properties":{"name":{"description":"DVB card name.","type":"string","format":"dvb_card_name","x-primary-key":true,"readOnly":true,"openmetrics_label":"name","example":"a16","x-format-description":"dvb_card_name"},"hw":{"description":"Adapter card hardware type.","type":"string","enum":["dvb","dektec_asi","record_input","resi","tbs6014"],"example":"dvb"},"system":{"description":"Adapter type. Different systems are supported besides DVB, as the configuring is similar.","type":"string","enum":["dvbs","dvbs2","dvbt","dvbt2","dvbca","dvbcb","dvbcc","atsc","isdbt"]},"adapter":{"description":"Adapter number.","type":"integer","example":16},"device":{"description":"Modulator number in adapter.","type":"integer"},"frontend":{"description":"Frontend number.","type":"integer"},"frequency":{"description":"The carrier frequency of the transponder for this channel, in Hz.","type":"integer","example":11606},"symbol_rate":{"description":"The symbol rate of the transponder, in symbols per second.\\nA symbol is a pulse in digital baseband transmission.\\n","type":"integer","example":27500},"int_freq":{"description":"Base frequency, in MHz.","type":"integer"},"high_band":{"description":"Whether high frequency band is used.","type":"boolean"},"polarization":{"description":"Polarization of the transponder for this channel. \\nThe supported values are: \\n\\n * `v`- vertical linear polarization, \\n * `h` - horizontal linear polarization, \\n * `r` - right-hand circular polarization, \\n * `l` - left-hand circular polarization.\\n","type":"string","enum":["v","h","r","l"],"example":"v"},"hierarchy":{"description":"Constellation ratio for hierarchical transmission.\\n","externalDocs":{"description":"Find more information here","url":"https://dvb.org/wp-content/uploads/2019/12/a012_dvb-t_june_2015.pdf"},"type":"string","enum":["1","2","4","none","auto"]},"transmission_mode":{"description":"DVB transmission mode.","type":"string","enum":["1k","2k","8k","16k","32k","c1","c3780"]},"guard_interval":{"description":"The mode of inserting a guard interval - a padding separating transmissions so that they do not interfere with each other.\\n","type":"string","enum":["1_128","1_32","1_16","1_8","1_4","19_128","19_256","pn420","pn595","pn945"],"example":"1_16"},"pilot":{"description":"Enable, disable, or autodetect pilot tones.\\n","type":"string","enum":["auto","on","off"],"example":"auto"},"rolloff":{"description":"Rolloff factor, in %.\\nIt is used to estimate bandwidth, together with symbol rate.\\n","type":"string","enum":["35","25","20"]},"bandwidth":{"description":"Bandwidth, in Hz.","type":"integer","enum":[1712000,5000000,6000000,7000000,8000000,10000000],"example":6000000},"code_rate_lp":{"description":"Low priority stream code rate.","allOf":[{"$ref":"#/components/schemas/dvb_fec"}]},"code_rate_hp":{"description":"High priority stream code rate.","allOf":[{"$ref":"#/components/schemas/dvb_fec"}]},"modulation":{"description":"DVB-C modulation method.","type":"string","enum":["auto","qpsk","qam16","qam32","qam64","qam128","qam256","qam_auto","psk8","apsk16","apsk32","vsb8","vsb16","dqpsk","qam4nr"],"example":"auto"},"disabled":{"description":"Whether this DVB card is disabled.","type":"boolean","example":false},"comment":{"description":"Any text comment.","type":"string"},"stats":{"description":"Statistic information about the captured signal.","allOf":[{"$ref":"#/components/schemas/dvb_card_stats"}]},"serial":{"description":"Serial number of the card, used for capturing from DekTec ASI cards.","type":"integer"},"port":{"description":"Port number, used for capturing from DekTec ASI cards.","type":"integer"},"asi_annex":{"description":"The EN 50083-9 Annex followed by the DVB card.","x-private":true,"type":"string","oneOf":[{"title":"Annex A","const":"a","description":"Synchronous Serial Interface (SSI)."},{"title":"Annex B","const":"b","description":"Asynchronous Serial Interface (ASI)."},{"title":"Annex C","const":"c","description":"SSI clock and data recovery."}]},"asi_isdbt_segments":{"description":"The number of segments in a stream.","x-private":true,"type":"string","enum":["1","3","13"]},"asi_isdbt_subchannel":{"description":"Sub channel of the center segment of the spectrum, which implicitly specifies the sub-channels of the 1-segment streams in the signal. \\nThe valid range is 0 â€¦ 41.\\n","x-private":true,"type":"integer"},"asi_dvb2_streamid":{"description":"Stream-id for the generated T2-MI stream. The valid range is 0 â€¦ 7.","x-private":true,"type":"integer"},"asi_diseqcpg":{"description":"The last byte of DiSEqC switch port command.","x-private":true,"type":"string","enum":["f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"]},"asi_polarity":{"description":"Inversion of the DVB-ASI signal.","x-private":true,"type":"string","oneOf":[{"title":"Auto","const":"auto","description":"Automatically detect and correct the polarity."},{"title":"Normal","const":"normal","description":"Do not invert the DVB-ASI signal."},{"title":"Invert","const":"invert","description":"Invert DVB-ASI signal."}]},"asi_iqdem":{"description":"Modulation type.","x-private":true,"type":"string","enum":["qam","ofdm"]},"asi_iqbandwidth":{"description":"Channel raster of the network.","x-private":true,"type":"integer"},"asi_iqsamplerate":{"description":"I/Q sample rate in Hz.","x-private":true,"type":"integer"},"debug_stream":{"x-private":true,"description":"Configuration of recording the stream sessions data. Recommended for debugging needs **only**.","allOf":[{"$ref":"#/components/schemas/debug_stream_spec"}]},"compensate_time_drift_ppm":{"description":"Max source\'s internal clock drift to compensate, rounding to six decimal places.","type":"integer"},"plp_stream_id":{"description":"PLP stream selector. Used in DVB-T2.","type":"integer"},"attenuator":{"description":"Attenuation of the signal level. Takes values from 0 to 10.\\n","type":"integer"},"interleave":{"description":"Use interleaver.\\nThe interlaver disperses sequence of bits in bit stream to minimize effect of burst errors during transmission.\\n","type":"integer","minimum":0,"maximum":15},"gain":{"description":"Adjust the output gain to the specified value in dB.","type":"integer"},"input_bitrate":{"description":"Input bitrate, in Mbps.","type":"integer"},"video_device":{"description":"The video device to capture video from Stream Labs SDI/ASI cards.\\nIt is actually a path to a device file created on the disk by Video4Linux.\\n","type":"string","example":"/dev/video0"}},"required":["name"]},"dvb_fec":{"type":"string","enum":["1_2","2_3","2_5","3_4","3_5","4_5","5_6","6_7","7_8","8_9","9_10"]},"dvb_card_stats":{"type":"object","properties":{"ber":{"description":"Bit error rate. It is the percent of bit errors from total number of transferred bits.\\n","type":"integer","example":5},"strength_raw":{"description":"Signal strength, as a raw 16-bit number received from DVB API.","type":"integer","example":62446},"strength":{"description":"Signal strength, in percent.","type":"integer","openmetrics_metric":"dvb_card_strength","x-metric-type":"gauge","example":95},"snr_raw":{"description":"Signal-noise ratio, as a raw 16-bit number received from DVB API. It is the ratio of signal power to the noise power.\\n","type":"integer","example":894},"snr":{"description":"Signal-noise ratio, in percent. It is the ratio of signal power to the noise power. \\n","type":"integer","example":1},"has_signal":{"description":"Whether a signal is detected above the normal noise level.","type":"boolean","example":true},"has_carrier":{"description":"Carrier detected in signal.","type":"boolean","example":true},"has_viterbi":{"description":"DVB signal was locked at Viterbi decoder stage.","type":"boolean","example":true},"has_sync":{"description":"Synchronization bytes detected.","type":"boolean","example":true},"has_lock":{"description":"DVB signal was successfully locked.","type":"boolean","example":true},"has_timedout":{"description":"The signal was not locked within the last about 2 seconds.","type":"boolean","example":false},"has_reinit":{"description":"The frontend was reinitialized, the application is recommended to reset DiSEqC, tone and parameters.\\n","type":"boolean","example":false},"has_rate":{"description":"Input rate is sufficient (900 bps or greater). Used for capturing from DekTec ASI cards.\\n","type":"boolean","example":true}}},"balancer_config":{"type":"object","properties":{"name":{"type":"string","format":"media_name","description":"Globally unique balancer name.","readOnly":true,"x-primary-key":true,"x-format-description":"media_name"},"servers":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/balancer_server_config"}]},"description":"Balancer will distribute requests between these servers."},"peers":{"description":"Configuration of the peers.","type":"array","items":{"allOf":[{"$ref":"#/components/schemas/peer_config"}]},"deprecated":true,"x-delete-at":23.09},"mode":{"description":"Balancing mode","type":"string","default":"bitrate","oneOf":[{"title":"Usage","const":"usage","description":"Bandwidth usage"},{"title":"Clients","const":"clients","description":"Total clients number"},{"title":"Bitrate","const":"bitrate","description":"Total output bitrate"},{"title":"Streams","const":"streams","description":"Streams number"}]}}},"balancer_server_config":{"type":"object","properties":{"name":{"type":"string","description":"Hostname of the peer. Can refer to globally defined peer.","x-primary-key":true,"readOnly":true},"max_bitrate":{"type":"integer","format":"speed","description":"Maximum allowed bitrate, request is redirecting if current bitrate is lower.","x-format-description":"speed"},"countries":{"type":"array","items":{"type":"string","format":"iso3166","x-format-description":"iso3166"},"description":"Client will be redirected to the peer if its IP belongs to one of these countries."},"countries_default":{"type":"boolean","default":false,"description":"This flag allows to redirect a request to this peer if \\"countries\\" list not matched."}}},"camera_alarm_config":{"type":"object","properties":{"listen":{"description":"The `smtp://` link to get camera alarms from.","allOf":[{"$ref":"#/components/schemas/listen_spec"}]},"catch":{"description":"The list of keywords in the e-mails that are considered alarms.","type":"array","items":{"type":"string"}}}},"rproxy_config":{"type":"object","required":["streampoint_key"],"properties":{"streampoint_key":{"description":"The streamer ID key.","type":"string","minLength":1,"maxLength":256},"forward_ports":{"description":"Configuration of port handlers.","type":"object","additionalProperties":{"$ref":"#/components/schemas/forward_ports_config"},"x-key-type":"network_port"},"endpoint_auth":{"description":"Path to authorization backend on the endpoint to check if the Agents are allowed to connect.","type":"string"}}},"forward_ports_config":{"type":"object","properties":{"handler":{"description":"The handler name.","type":"string","x-atom":true},"options":{"description":"The handler options.","type":"object"}}},"vsaas_config":{"type":"object","properties":{"watcher_url":{"type":"string","description":"All requests to /vsaas and /watcher will be proxied to this url.\\nWatcher will not be launched by flussonic with this option.\\n"},"central_url":{"type":"string","description":"All requests to /central will be proxied to this url.\\n"}}},"file_processor_config":{"type":"object","properties":{"path":{"description":"The directory where Flussonic puts output files.","type":"string","format":"disk_path","x-format-description":"disk_path"}}},"iptv_config":{"type":"object","properties":{"database":{"description":"DB connection string.","type":"string"}}},"decklink_config":{"type":"object","properties":{"name":{"description":"The Decklink card name.","allOf":[{"$ref":"#/components/schemas/decklink_card_id"}],"x-primary-key":true,"readOnly":true},"profile":{"description":"The Decklink card profile that allows choosing between input and output direction.","oneOf":[{"const":"one_full","description":"The `bmdProfileOneSubDeviceFullDuplex` mode."},{"const":"one_half","description":"The `bmdProfileOneSubDeviceHalfDuplex` mode."},{"const":"two_full","description":"The `bmdProfileTwoSubDevicesFullDuplex` mode."},{"const":"two_half","description":"The `bmdProfileTwoSubDevicesHalfDuplex` mode."},{"const":"four_half","description":"The `bmdProfileFourSubDevicesHalfDuplex` mode."}]}}},"decklink_card_id":{"oneOf":[{"type":"integer"},{"const":"test_fake","type":"string"}]},"web_script_config":{"type":"object","required":["prefix","path"],"properties":{"prefix":{"type":"string","format":"media_name","x-primary-key":true,"description":"HTTP prefix that will be intercepted by this lua script\\n","x-format-description":"media_name"},"path":{"type":"string","format":"disk_path","description":"Path to the lua handler\\n","x-format-description":"disk_path"},"extra":{"x-private":true,"type":"object","additionalProperties":{"type":"string"},"description":"Some additional options.\\n"}}},"http_proxy_config":{"type":"object","properties":{"prefix":{"type":"string","format":"media_name","x-primary-key":true,"description":"HTTP prefix that will be intercepted by this http proxy configuration\\n","x-format-description":"media_name"},"url":{"type":"string","format":"url","description":"Upstream url\\n","x-format-description":"url"},"mainpage":{"type":"boolean","default":false,"description":"If this flag is set, then streamer will redirect from \\"/\\" to this proxy configuration.\\n"},"stats":{"description":"The runtime statistics about http proxy\\n","allOf":[{"$ref":"#/components/schemas/http_proxy_stats"}],"readOnly":true}},"required":["prefix","url"]},"http_proxy_stats":{"type":"object","properties":{"requests":{"description":"Total number of requests this prefix received\\n","type":"integer","openmetrics_metric":"http_proxy_requests","x-metric-type":"counter","example":1000},"protocol_upgrades":{"description":"Total number of requests with protocol upgrade (e.g. websocket)\\n","type":"integer","openmetrics_metric":"http_proxy_protocol_upgrades","x-metric-type":"counter","example":1000},"proxy_error":{"description":"Number of requests with error on proxy itself\\n","type":"integer","example":10,"openmetrics_metric":"http_proxy_error","x-metric-type":"counter"},"proxy_error_connection":{"description":"Number of requests with connection errors - econnrefused, etc\\n","type":"integer","example":10,"openmetrics_metric":"http_proxy_error_connection","x-metric-type":"counter"},"http_100":{"description":"Number of requests with HTTP code 1xx (e.g. protocol upgrades)\\n","type":"integer","example":1000,"openmetrics_metric":"http_proxy_100","x-metric-type":"counter"},"http_200":{"description":"Number of requests with HTTP code 2xx\\n","type":"integer","example":1000,"openmetrics_metric":"http_proxy_200","x-metric-type":"counter"},"http_300":{"description":"Number of requests with HTTP code 3xx\\n","type":"integer","example":10,"openmetrics_metric":"http_proxy_300","x-metric-type":"counter"},"http_400":{"description":"Number of requests with HTTP code 4xx\\n","type":"integer","example":10,"openmetrics_metric":"http_proxy_400","x-metric-type":"counter"},"http_500":{"description":"Number of requests with HTTP code 5xx\\n","type":"integer","example":10,"openmetrics_metric":"http_proxy_500","x-metric-type":"counter"},"time_100ms":{"type":"integer","description":"Number of API calls that took less than 100ms","example":10,"openmetrics_metric":"http_proxy_time_100ms","x-metric-type":"counter"},"time_500ms":{"type":"integer","description":"Number of API calls that took more than 100ms and less than 500ms","example":5,"openmetrics_metric":"http_proxy_time_500ms","x-metric-type":"counter"},"time_1000ms":{"type":"integer","description":"Number of API calls that took more than 500ms and less than 1s","example":2,"openmetrics_metric":"http_proxy_time_1000ms","x-metric-type":"counter"},"time_5000ms":{"type":"integer","description":"Number of API calls that took more than 1s and less than 5s","example":2,"openmetrics_metric":"http_proxy_time_5000ms","x-metric-type":"counter"},"time_longms":{"type":"integer","description":"Number of API calls that took more than 5s","example":1,"openmetrics_metric":"http_proxy_time_longms","x-metric-type":"counter"}}},"central_streamer_labels":{"type":"object","additionalProperties":{"type":"string"},"x-key-type":"string","description":"Streamer labels in key value format.\\n","x-api-description":{"central-layouter":"Streamer labels in key-value format.\\nYou can use labels to manage the requirements of the streams that can be provisioned to the streamer.\\n\\nLayouter can process next labels:\\n\\n- With `required_` prefix. If streamer has `required_x=y` label, layouter will provision streams only with label `x=y` to this streamer.\\nIf there are no available streams with the label `x=y`, then no stream will be provisioned.\\n\\n**Use cases**\\n\\nLet\'s say you have 3 nodes - 2 production and 1 test node for testing new equipment \\nand you don\'t want the production streams to be provisioned to the test node.\\nTo solve this problem you can add `required_env=test` label for the test node.\\nSpecifying this label will prevent layouter from provisioning streams without the `env=test` label to this node.\\n"},"example":{"key1":"value1","key2":"value2"}},"central_streamer_layout_prediction_item":{"type":"object","properties":{"hostname":{"type":"string","description":"Hostname of streamer","example":"streamer1","format":"server_name","x-format-description":"server_name"},"role":{"type":"string","description":"Layout role of streamer.\\n","example":"ingest","oneOf":[{"const":"ingest","description":"Streamer is used as ingest.\\n"},{"const":"inference","description":"Streamer is used as inference.\\n"},{"const":"dvr_backup","description":"Streamer is used as dvr backup.\\n"}]},"before":{"type":"integer","description":"Number of streams assigned to the streamer before the layouter iteration.\\n","example":321},"after":{"type":"integer","description":"Number of streams assigned to the streamer after the layouter iteration.\\n","example":123},"delta":{"type":"integer","description":"`after - before` value.\\n","example":1}}},"on_off":{"type":"object","properties":{"mode":{"oneOf":[{"const":"on","title":"On","description":"The system is turned on"},{"const":"off","title":"Off","description":"The system is turned off"}]}}},"on_off_auto":{"type":"object","properties":{"mode":{"oneOf":[{"const":"on","title":"On","description":"The system is turned on"},{"const":"off","title":"Off","description":"The system is turned off"},{"const":"auto","title":"Auto","description":"The system automatically adjusts based on conditions"}]}}},"certificate_info":{"type":"object","properties":{"domains":{"description":"One or more domains for which the certificate is issued.","type":"array","items":{"type":"string"}},"not_before":{"description":"Start date of the certificate.","type":"integer"},"not_after":{"description":"End date of the certificate.","type":"integer"},"issuer_name":{"description":"The name of the issuing authority.","type":"string"},"public_key":{"description":"Public key.","type":"string"}}},"dvr_storage_config":{"type":"object","properties":{"name":{"description":"DVR configuration name.","type":"string","format":"dvr_name","openmetrics_label":"dvr_name","x-primary-key":true,"readOnly":true,"x-api-allow":["central-layouter"],"x-format-description":"dvr_name"},"root":{"description":"A path where the DVR archive is stored.","type":"string","format":"dvr_url","x-api-allow":["central-layouter"],"x-format-description":"dvr_url"},"raid":{"description":"This value is present if RAID (redundant array of independent disks) is enabled. Learn more in [Flussonic RAID for DVR](https://flussonic.com/doc/extend-video-storage-on-fly/). \\n","allOf":[{"$ref":"#/components/schemas/dvr_raid_level"}]},"active":{"description":"The number of disks to write the archive.","type":"integer"},"index":{"description":"A directory on an SSD disk where the data will be cached.","type":"string","format":"disk_path","x-format-description":"disk_path"},"disks":{"description":"RAID disks mounted on the server.","type":"array","items":{"$ref":"#/components/schemas/raid_disk_config"}},"stats":{"description":"The runtime statistics about DVR.\\n","allOf":[{"$ref":"#/components/schemas/dvr_storage_stats"},{"$ref":"#/components/schemas/dvr_capacity_stats"}],"readOnly":true,"x-api-allow":["central-layouter"]}},"required":["name","root"]},"dvr_raid_level":{"type":"integer","oneOf":[{"title":0,"const":0,"description":"RAID level 0"}]},"raid_disk_config":{"type":"object","properties":{"path":{"description":"The path to a mounted disk. \\n","example":"volume1","type":"string","format":"disk_path","openmetrics_label":"disk","x-primary-key":true,"readOnly":true,"x-format-description":"disk_path"},"mode":{"description":"The mode of using the disk.\\n","example":"keep","allOf":[{"$ref":"#/components/schemas/raid_disk_mode"}]},"stats":{"description":"The runtime statistics about RAID. The statistics shows the state of disks.\\nLearn more in [Flussonic RAID for DVR](https://flussonic.com/doc/extend-video-storage-on-fly/#dvr-flussonic-raid-stats)\\n","allOf":[{"$ref":"#/components/schemas/raid_disk_stats"},{"$ref":"#/components/schemas/dvr_capacity_stats"}],"readOnly":true}},"required":["path"]},"raid_disk_mode":{"type":"string","oneOf":[{"title":"Normal","const":"normal","description":"Flussonic reads the data from and writes it to the hard drive, removing the data according to the DVR settings.\\nThe default mode.\\n"},{"title":"Migrate","const":"migrate","description":"Flussonic migrates the data from the current hard drive to other hard drives in the array on the fly, cleaning up the current hard drive.\\nYou can check that Flussonic finished migrating the data, when there aren\'t any calls to this hard drive.\\nIn the meantime, Flussonic continues archive recording, so it isn\'t interrupted. You don\'t need to restart Flussonic after you remove the disk.\\nUse this option if you need to extract the hard drive and don\'t want to lose the data.\\n"},{"title":"Readonly","const":"readonly","description":"Flussonic reads the data from the hard drive, restricting any writing to it. Use this option in the following cases:  \\nFlussonic reads the data from the hard drive until the data on it expires. Then Flussonic deletes the data.\\n* If the hard drive is worn out and you can\'t write the data to the hard drive, delete files, update the index, or copy the data to another hard drive.\\n* If the hard drive stores the records written in the `keep` mode and you want to store the data permanently.\\n"},{"title":"Rescue","const":"rescue","description":"Flussonic copies all the data from the old hard drive that\'s going to fail and stops writing the data to this hard drive.\\nFlussonic doesn\'t delete the data from the hard drive, unlike in `migrate` mode, so you can still access the archive.\\nUse this option in an emergency.\\n"},{"title":"Abandon","const":"abandon","description":"Flussonic stops writing new data on this hard drive. When the data becomes obsolete, Flussonic deletes it, updating the index. \\nUse this option when you want to replace a hard drive, for example, with a larger one.\\n"},{"title":"Keep","const":"keep","description":"Flussonic writes the data to the hard drive, but doesn\'t delete it.\\nUse this option if you need to store the entire archive permanently.\\n"}]},"raid_disk_stats":{"type":"object","properties":{"mounted":{"description":"Whether the disk is mounted correctly.","type":"boolean"},"mode":{"description":"The mode of using the disk.\\n","example":"keep","allOf":[{"$ref":"#/components/schemas/raid_disk_mode"}]},"io_usage":{"description":"Disk I/O utilization percentage from `/proc/devstat`.","type":"integer","format":"percent","openmetrics_metric":"raid_disk_io_usage","x-metric-type":"gauge","x-format-description":"percent"},"migration_speed":{"description":"The speed of copying the last blob, in bytes per second.","type":"integer","format":"speed","x-format-description":"speed"},"migration_eta":{"description":"The estimated migration end time, in UTC seconds.","type":"integer","format":"utc","x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000},"migration_updated":{"description":"The time when the values of `migration_speed` and `migration_eta` were last updated.","type":"integer","format":"utc","x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000},"errors":{"description":"Errors of using the disk.\\n","allOf":[{"$ref":"#/components/schemas/raid_disk_errors"}]}}},"raid_disk_errors":{"type":"object","properties":{"eacces":{"description":"Total number of permission denied errors\\n","example":1,"type":"integer"},"eagain":{"description":"Total number of temporarily unavailable errors\\n","example":1,"type":"integer"},"ebusy":{"description":"Total number of file busy errors\\n","example":1,"type":"integer"},"edquot":{"description":"Total number of disk quota exceeded errors\\n","example":1,"type":"integer"},"emfile":{"description":"Total number of too many open files errors\\n","example":1,"type":"integer"},"enoent":{"description":"Total number of no such file or directory errors\\n","example":1,"type":"integer"},"enodev":{"description":"Total number of no such device errors\\n","example":1,"type":"integer"},"enospc":{"description":"Total number of no space left on device errors\\n","example":1,"type":"integer"},"erofs":{"description":"Total number of read-only file system errors\\n","example":1,"type":"integer"},"connection_timeout":{"description":"Total number of connection timeout errors\\n","example":1,"type":"integer"},"ssl_error":{"description":"Total number of SSL errors\\n","example":1,"type":"integer"},"nxdomain":{"description":"Total number of non-existing domain errors\\n","example":1,"type":"integer"},"econnrefused":{"description":"Total number of connection refused errors\\n","example":1,"type":"integer"},"other":{"description":"Total number of other errors\\n","example":1,"type":"integer"}}},"dvr_capacity_stats":{"type":"object","description":"This list of stats can be used to monitor health of invidiual disk in storage.\\n\\nThere are several layers of indexes in internal database, here you can validate\\nintegrity of data.\\n","properties":{"blobs_count_db":{"description":"The number of blobs on the disk according to centralized Raid DB that is\\nused to allocate blobs across whole storage.\\n","type":"integer","openmetrics_metric":"storage_blobs_count_db","x-metric-type":"gauge"},"blobs_count":{"description":"The number of blobs on the disk that are enlisted in individual stream indexes.\\nIt must be equal to blobs_count_db and can be different in case of software\\nor hardware errors.\\n","type":"integer","openmetrics_metric":"storage_blobs_count","x-metric-type":"gauge"},"size":{"description":"Disk capacity in bytes.\\n","type":"integer","format":"bytes","openmetrics_metric":"storage_size","x-metric-type":"gauge","x-api-allow":["central-layouter"],"x-format-description":"bytes"},"used":{"description":"Used disk space in bytes according to linux metrics. It must be equal (almost equal) to\\n`used_index`. If it differs more than in 1%, then it means that there are lot of unknown files.\\n\\nIf this disk is used exclusively for Raid, then it may mean that some blobs are lost from\\ndatabase and repairing is required.\\n","type":"integer","format":"bytes","openmetrics_metric":"storage_used","x-metric-type":"gauge","x-api-allow":["central-layouter"],"x-format-description":"bytes"},"used_index":{"description":"Used disk space in bytes according to internal database index.\\n","type":"integer","format":"bytes","openmetrics_metric":"storage_used_index","x-metric-type":"gauge","x-format-description":"bytes"},"usage":{"description":"Disk utilization percentage.","type":"integer","format":"percent","openmetrics_metric":"storage_usage","x-metric-type":"gauge","x-api-allow":["central-layouter"],"x-format-description":"percent"}}},"dvr_storage_stats":{"type":"object","properties":{"errors":{"description":"The runtime DVR errors.\\n","allOf":[{"$ref":"#/components/schemas/dvr_storage_errors"}]}}},"dvr_storage_errors":{"type":"object","properties":{"read_errors":{"description":"Total number of errors while reading the archive.","type":"integer"},"write_errors":{"description":"Total number of errors while writing to the archive.","type":"integer"},"delete_errors":{"description":"Total number of errors while deleting from the archive.","type":"integer"},"collapsed_write_count":{"description":"Total number of collapsed segments while writing to the archive. Collapsed segments are pack of segments written together occur due to lack of storage performance.","type":"integer"},"drop_write_count":{"description":"Total number of dropped segments while writing to the archive.","type":"integer"}}},"listen_http_config":{"allOf":[{"$ref":"#/components/schemas/listen_config"},{"$ref":"#/components/schemas/listen_http_config_params"}]},"listen_config":{"type":"object","properties":{"port":{"type":"integer","format":"network_port","description":"Port that will be used for listening.","example":80,"x-primary-key":true,"x-format-description":"network_port"},"address":{"type":"string","description":"Network address that will be used for listening.","example":"10.0.35.1"}},"required":["port"]},"listen_http_config_params":{"type":"object","properties":{}},"watcher_agent_control_connection":{"type":"object","properties":{"opened_at":{"type":"number","format":"utc_ms","description":"Timestamp of the current Agent control connection opening.","example":1637094994000,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"hostname":{"type":"string","description":"Hostname of the server","example":"agents-001.vsaas.io"},"alive":{"type":"boolean","description":"A flag showing if Agent is connected at the moment of the request."},"status_changed_at":{"description":"UTC timestamp of the last Agent status change to offline or online.\\nSame as `opened_at` if Agent is now connected.\\n","type":"integer","format":"utc","example":1634560921,"x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000},"bytes_from_server":{"type":"integer","format":"bytes","description":"A number of bytes received from the server by Agent since `opened_at`.","example":40000,"x-format-description":"bytes"},"bytes_to_server":{"type":"integer","format":"bytes","description":"A number of bytes sent to the server by Agent since `opened_at`.","example":400000000000,"x-format-description":"bytes"}}},"watcher_agent_data_connections":{"type":"object","properties":{"connections_attempted":{"type":"integer","description":"A number of times the streamer tried to open a data connection via this Agent.","example":400},"connections_opened":{"type":"integer","description":"A number of successfully opened data connections via this Agent.","example":300},"connections_current":{"type":"integer","description":"A number of currently active data connections opened via this Agent.","example":2}}},"api_call_event":{"allOf":[{"type":"object","required":["event"],"properties":{"event":{"type":"string","description":"The api call.","const":"api_call"},"path":{"description":"The api call path.","type":"string"},"qs":{"description":"The api call query string.","type":"string"}}},{"$ref":"#/components/schemas/api_call"},{"$ref":"#/components/schemas/entity_event"}]},"api_call":{"type":"object","properties":{"created_at":{"type":"string","format":"date_time","description":"Creation date and time","example":"2021-01-30T08:30:00.432567Z","x-format-description":"date_time"},"ip":{"description":"IP address of the caller.","type":"string","format":"ip","example":"192.34.32.10","x-format-description":"ip"},"user_agent":{"description":"The type of the device from which the API call was produced.","type":"string","example":"Flussonic 24.04"},"originator":{"description":"The program produced the API call. Content of `X-Originator` header.","type":"string","example":"flussonic"},"operation_id":{"description":"API method ID.","type":"string","example":"streams_list"},"payload":{"description":"Payload data transmitter in the API call.","type":"string"},"status":{"description":"Request status code.","type":"integer"},"duration":{"type":"integer","format":"microseconds","description":"Microseconds that this request took","x-format-description":"microseconds"},"request_id":{"x-primary-key":true,"type":"string","description":"Internal request-id for this operation"}}},"event_default":{"type":"object","properties":{"utc_ms":{"type":"integer","format":"utc_ms","description":"The time of the event registration on the server.\\n","x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"event_id":{"type":"integer","description":"Event identifier.\\n"},"trace_id":{"type":"string","format":"uuid","description":"Unique identifier of the operation.\\nYou can use this field to search for events related to same operation.\\nValue of this field is taken from the `X-Trace-Id` header.\\nIf `X-Trace-Id` header is not set, it will be generated automatically.\\nService will use the value of this field to make outgoing requests.\\n","example":"05cec7ee-fbd0-11ed-be56-0242ac120002","x-format-description":"uuid"},"server":{"type":"string","description":"Originator of event.\\nThis field is present if [event_sink.url](https://flussonic.com/doc/api/reference/#tag/events/operation/event_sink_get/response%7Curl)\\nis configured as HTTP/HTTPS url.\\n","example":"flussonic.host"}}}},"parameters":{"select":{"name":"select","description":"Comma-separated list of fields (including nested) that will be returned.","explode":false,"in":"query","required":false,"schema":{"example":"episode_id,media,close_reason","type":"string"},"style":"form"},"limit":{"name":"limit","description":"Limit select count in collection to N elements.","explode":false,"in":"query","required":false,"schema":{"type":"integer","example":100},"style":"form"},"cursor":{"name":"cursor","description":"Properly encoded analog of offset, allowing to read next bunch of items.\\nWe do not offer common `offset` fields, use please cursor for predictable\\nfetching of quickly changing list of items. Learn more in [Flussonic API design principles](https://flussonic.com/doc/rest-api-guidelines/#api-http-collections-cursor).\\n","in":"query","required":false,"schema":{"type":"string","example":"JTI0cG9zaXRpb25fZ3Q9MQ=="}},"sort":{"name":"sort","description":"Composite sort direction.\\nDefault sort order is `named_by (config,user,remote)`, `position`, `name`.\\n","explode":false,"in":"query","required":false,"schema":{"example":"-stats.bitrate,name,position","type":"string"},"style":"form"},"q":{"name":"q","description":"Search pattern for different fields like name, title, urls, etc.","in":"query","required":false,"schema":{"type":"string","example":"somepattern"}}},"securitySchemes":{"basicAuth":{"scheme":"basic","type":"http","description":"To use Basic Auth to authorize API calls, you need a token.\\nToken is base64 encoded `user:password` string.\\n"},"bearerAuth":{"bearerFormat":"JWT","scheme":"bearer","type":"http","description":"To use Bearer Auth to authorize API calls, you need a token.\\nToken is returned in `/login` (login_create) request as `access_token` parameter.\\n"}}}}')},265:function(e,t,r){"use strict";r.d(t,"b",(function(){return O})),r.d(t,"a",(function(){return j}));var n=r(2),o=r.n(n),i=r(41),a=r(841),s=r.n(a),c=r(877),l=r(613),p=r(615),u=r(322),d=r(72),m=r(0);function f(e){return(f="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}var b=["id","freeSolo","options","value","onChange","disabled","error","helperText","label","docDescription","variant","placeholder","renderInput","additionalControls","startAdornment","data-testid","filterOptions"];function h(){return(h=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function y(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function g(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?y(Object(r),!0).forEach((function(t){v(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function v(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==f(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==f(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===f(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var O=Object(i.a)()((function(e,t){return{root:{"&amp; .MuiFormControl-root":{marginTop:0,marginBottom:0,display:"block"},"&amp;.MuiAutocomplete-hasClearIcon .MuiAutocomplete-inputRoot":{paddingRight:0},"&amp; .MuiInputBase-root.MuiInputBase-sizeSmall":{paddingTop:4,paddingBottom:4,paddingLeft:4},"&amp; fieldset":{"&amp; legend":{width:t.label?"10px":0}}},wrapper:{display:"flex",alignItems:"baseline",width:"100%"},tag:{borderRadius:4,border:"1px solid #E5E5E5",height:24,background:"#F6F6F6"}}})),j=function(e){var t=e.id,r=e.freeSolo,n=void 0!==r&amp;&amp;r,i=e.options,a=void 0===i?[]:i,f=e.value,y=e.onChange,v=e.disabled,j=void 0!==v&amp;&amp;v,x=e.error,w=e.helperText,k=e.label,S=e.docDescription,P=e.variant,T=e.placeholder,C=e.renderInput,I=e.additionalControls,A=e.startAdornment,D=e["data-testid"],E=e.filterOptions,$=_(e,b),N=O({label:k}),L=N.classes,R=N.cx;return Object(m.c)("div",{className:L.wrapper},Object(m.c)(s.a,h({filterOptions:E,id:t,"data-testid":D,fullWidth:!0,freeSolo:n,options:a,classes:{root:L.root},value:f,onChange:y,disabled:j,renderInput:C||function(e){return Object(m.c)(c.a,h({},e,{inputProps:g(g({},e.inputProps),{},{"data-testid":"".concat(D,"-input")}),label:Object(m.c)("span",{"data-testid":"".concat(D,"-label")},k),fullWidth:!0,helperText:w,error:!!x,onClick:function(e){return e.stopPropagation()},variant:P,placeholder:T,InputProps:g(g({},e.InputProps),{},{startAdornment:Object(m.c)(o.a.Fragment,null,e.InputProps.startAdornment,A)})}))},renderTags:function(e,t){return e.map((function(e,r){return Object(m.c)(l.a,h({variant:"outlined",label:e},t({index:r}),{key:r,className:R(L.tag,t({index:r}).className)}))}))},renderOption:function(e,t){return Object(m.c)(p.a,h({component:"li"},e),Object(m.c)(u.a,{component:"span",variant:"body1","data-testid":"".concat(D,"-option-").concat(t)},t))}},$)),I,Object(m.c)(d.a,{docDescription:S,style:{top:"6px"}}))};j.defaultProps={error:"",helperText:"",label:"",variant:"standard"},j.muiName="Autocomplete"},281:function(e,t,r){"use strict";r.d(t,"b",(function(){return p})),r.d(t,"a",(function(){return l}));var n=r(2),o=r(0);function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return a(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return a(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var s=Object(n.createContext)({modal:!1,product:null,configEffective:null,setModal:function(){}}),c=s.Provider,l=s.Consumer,p=function(e){var t=e.children,r=i(Object(n.useState)(!1),2),a=r[0],s=r[1],l=i(Object(n.useState)(null),2),p=l[0],u=l[1],d=i(Object(n.useState)(null),2),m=d[0],f=d[1];return Object(o.c)(c,{value:{modal:a,setModal:s,product:p,setProduct:u,configEffective:m,setConfigEffective:f}},t)}},286:function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var n=new(r(524).a)("watcherClientAuth")},31:function(e,t,r){"use strict";r.d(t,"f",(function(){return k})),r.d(t,"j",(function(){return S})),r.d(t,"d",(function(){return P})),r.d(t,"c",(function(){return T})),r.d(t,"e",(function(){return D})),r.d(t,"E",(function(){return E})),r.d(t,"F",(function(){return $})),r.d(t,"A",(function(){return N})),r.d(t,"B",(function(){return R})),r.d(t,"C",(function(){return q})),r.d(t,"D",(function(){return M})),r.d(t,"h",(function(){return F})),r.d(t,"G",(function(){return U})),r.d(t,"L",(function(){return z})),r.d(t,"K",(function(){return B})),r.d(t,"z",(function(){return H})),r.d(t,"H",(function(){return V})),r.d(t,"I",(function(){return G})),r.d(t,"a",(function(){return J})),r.d(t,"g",(function(){return Q})),r.d(t,"b",(function(){return Z})),r.d(t,"l",(function(){return ee})),r.d(t,"u",(function(){return te})),r.d(t,"v",(function(){return re})),r.d(t,"w",(function(){return ne})),r.d(t,"x",(function(){return oe})),r.d(t,"r",(function(){return ie})),r.d(t,"s",(function(){return ae})),r.d(t,"t",(function(){return se})),r.d(t,"k",(function(){return pe})),r.d(t,"y",(function(){return ue})),r.d(t,"i",(function(){return de})),r.d(t,"m",(function(){return me})),r.d(t,"n",(function(){return be})),r.d(t,"p",(function(){return he})),r.d(t,"q",(function(){return ye})),r.d(t,"o",(function(){return ge})),r.d(t,"J",(function(){return ve}));var n=r(239),o=r(146),i=r(173),a=r(510),s=r(403),c=r(290),l=r(107),p=r(145),u=r(397),d=r(511),m=r(174),f=r(512),b=r(236),h=r(611),y=r(50),g=r(4),v=r(10),_=r(33);function O(e){return(O="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function j(e){return function(e){if(Array.isArray(e))return x(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return x(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return x(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function x(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function w(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==O(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==O(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===O(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var k=Object.values(_.w).map((function(e){return[e,e]})),S=_.D.map((function(e){return[e.value,e.label]})),P="fit",T="#000000",C=n.a((function(e,t){var r=Object(y.c)(t);return Number.isNaN(r)||o.a(r)||r&lt;1?e:r})),I=i.a,A=function(e){return a.a(["global","hw"],e)},D="nvenc",E=A(D),$=A("qsv"),N=function(e){return A("cpu")(e)||!E(e)&amp;&amp;!$(e)},L=function(e){return function(t,r){return a.a(["video",r,"codec"],e,t)}},R=L("h264"),q=L("hevc"),M=L("mp2v"),F=-1,U=function(e){return[0,F].includes(e)||o.a(e)||s.a(e)},z=function(e){var t=arguments.length&gt;1&amp;&amp;void 0!==arguments[1]?arguments[1]:{};return function(r){var n="width"===e?"height":"width",o=c.a(null,n)(t),i=c.a(null,"strategy")(t),a=c.a(null,"background")(t),s=Object(g.b)(r),l=Object(g.b)(o),p=r===F,u=o===F;return s&amp;&amp;l||p&amp;&amp;u||p&amp;&amp;l||s&amp;&amp;u?null:w(w(w(w({},e,s&amp;&amp;!l?F:r),n,!s&amp;&amp;l?F:o),"strategy",i||P),"background",a||T)}},B=function(e){return U(e)?"auto":e},H=function(e){return"copy"===l.a("bitrate",e)},V=p.a(u.a(1e3),Object(y.d)("0")),W=function(e){var t=e.path,r=e.x,n=e.y,o=e.r;return{path:t.trim(),x:r,y:n,r:o}},G=function(e){return Object(g.e)(e)?1e3*Object(y.d)(null,e):e},K=v.a.schemas.transcoder_device.oneOf.map((function(e){return e.const})),Y=[!1,!0].concat(j(v.a.schemas.deinterlace_settings.anyOf[1].oneOf.map((function(e){return e.const})))),J=[1,2,4,5,6,8],Q=[0,8e3,16e3,24e3,32e3,44100,48e3],X=["0","8000","16000","32000","44100","48000"],Z=Object.keys(v.a.schemas.tc_audio_opts.discriminator.mapping),ee=v.a.schemas.tc_video_opts.properties.codec.oneOf.map((function(e){return e.const})),te=Object.values(_.E),re=["baseline","high","main"],ne=["main","main10"],oe=["high","main","simple"],ie=v.a.schemas.h264_level.enum,ae=v.a.schemas.hevc_level.enum,se=v.a.schemas.mp2v_level.oneOf.map((function(e){return e.const})),ce=[24,25,30,50,60],le=v.a.schemas.tc_video_opts.properties.bframes.enum,pe=v.a.schemas.tc_video_opts.properties.bframes.enum.map((function(e){return[e,"I".concat("BBBBBBBBBB".slice(0,e),"P")]})),ue=[1,2,3,4,5,6],de=v.a.schemas.tc_size.properties.strategy.oneOf.map((function(e){return e.const})),me=["240","360","576","720","1080"],fe=[!1,!0].concat(j(v.a.schemas.interlace_settings.anyOf[0].oneOf.map((function(e){return e.const})))),be=[[!1,"Progressive"],[!0,"Interlaced"]],he=[].concat(be,[["tff","Top field first"],["bff","Bottom field first"]]),ye=[].concat(j(he),[["tff_separated","TFF separated"],["bff_separated","BFF separated"]]),ge=[].concat(be,[["mbaff","MBAFF"]]),ve={global:{hw:function(e,t){return Object(y.a)(K,t)(e)},deviceid:function(e){return d.a([[s.a,m.a(null)],[f.a,Object(y.d)(null)]])(e)},external:function(e,t){return o.a(e)?t:e},seamless:i.a,fps:function(e){return Object(y.a)(ce,null)(e)}},decoder:{deinterlace:function(e){return Object(y.a)(Y,null)(e)},deinterlace_rate:i.a,threads:function(e,t){return N(t)?Object(y.d)(void 0,e):void 0},crop:function(e,t){return E(t)?e:{}}},audio:{bitrate:i.a,sample_rate:function(e){return Q.includes(e)?e:X.includes(e)?parseInt(e,10):null},codec:function(e){return Object(y.a)(Z,null)(e)},channels:d.a([[b.a(h.a)(J),i.a],[f.a,m.a(null)]]),avol:function(e){return Object(g.e)(e)?e:null},split_channels:function(e,t){return o.a(e)?t:e}},video:{bitrate:I,codec:Object(y.a)(ee),preset:function(e){return Object(y.a)(te,null)(e)},profile:function(e,t,r){return R(t,r)&amp;&amp;Object(y.a)(re,null)(e)||q(t,r)&amp;&amp;Object(y.a)(ne,null)(e)||M(t,r)&amp;&amp;Object(y.a)(oe,null)(e)||Object(y.a)(re,null)(e)},level:function(e,t,r){return R(t,r)&amp;&amp;Object(y.a)(ie,null)(e)||q(t,r)&amp;&amp;Object(y.a)(ae,null)(e)||M(t,r)&amp;&amp;Object(y.a)(se,null)(e)||Object(y.a)(ie,null)(e)},size:{width:Number,height:Number,strategy:Object(y.a)(de),background:function(e){return e?e.toString():e}},logo:W,alogo:W,fps:Object(y.a)(ce,null),bframes:Object(y.a)(le,null),refs:Object(y.a)(ue,null),g:C("auto"),disable_cgop:Boolean,open_gop:Boolean,vbr:Boolean,peak_bitrate:I,interlace:Object(y.a)(fe,null),aspect:function(e){return Object(g.d)(e)&amp;&amp;Object(g.d)(e.x)&amp;&amp;Object(g.d)(e.y)&amp;&amp;!Number.isNaN(e.x)&amp;&amp;!Number.isNaN(e.y)?e:null}}}},318:function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var n=function(){return navigator.userAgent.toLowerCase().indexOf("safari/")&gt;-1&amp;&amp;navigator.vendor.toLowerCase().indexOf("apple")&gt;-1}},33:function(e,t,r){"use strict";r.d(t,"x",(function(){return n})),r.d(t,"w",(function(){return o})),r.d(t,"E",(function(){return i})),r.d(t,"D",(function(){return p})),r.d(t,"z",(function(){return y})),r.d(t,"f",(function(){return x})),r.d(t,"I",(function(){return P})),r.d(t,"a",(function(){return T})),r.d(t,"y",(function(){return C})),r.d(t,"G",(function(){return N})),r.d(t,"K",(function(){return L})),r.d(t,"L",(function(){return R})),r.d(t,"A",(function(){return q})),r.d(t,"B",(function(){return M})),r.d(t,"C",(function(){return H})),r.d(t,"b",(function(){return V})),r.d(t,"J",(function(){return We})),r.d(t,"c",(function(){return Ge})),r.d(t,"d",(function(){return Ke})),r.d(t,"e",(function(){return Ye})),r.d(t,"F",(function(){return Je})),r.d(t,"H",(function(){return Qe})),r.d(t,"o",(function(){return Xe})),r.d(t,"t",(function(){return Ze})),r.d(t,"r",(function(){return et})),r.d(t,"n",(function(){return tt})),r.d(t,"u",(function(){return rt})),r.d(t,"m",(function(){return nt})),r.d(t,"q",(function(){return ot})),r.d(t,"s",(function(){return it})),r.d(t,"l",(function(){return at})),r.d(t,"p",(function(){return st})),r.d(t,"g",(function(){return ct})),r.d(t,"j",(function(){return lt})),r.d(t,"h",(function(){return pt})),r.d(t,"k",(function(){return ut})),r.d(t,"i",(function(){return dt})),r.d(t,"v",(function(){return mt}));var n={NONE:"none",DEBUG:"debug",INFO:"info",NOTICE:"notice",WARNING:"warning",ERROR:"error",ALERT:"alert",CRITICAL:"critical"},o=(n.NONE,n.DEBUG,n.INFO,n.NOTICE,n.WARNING,n.ERROR,n.ALERT,n.CRITICAL,{YUV420P:"yuv420p",YUVJ420P:"yuvj420p",YUV422P:"yuv422p",YUV444P:"yuv444p",YUV420P10:"yuv420p10",YUV422P10:"yuv422p10",YUV444P10:"yuv444p10",YUV420P12:"yuv420p12",YUV422P12:"yuv422p12",YUV444P12:"yuv444p12",GRAY8:"gray8",GRAY10:"gray10",GRAY12:"gray12",NV12:"nv12",P016:"p016",V210:"v210",UYVY422:"uyvy422",YUYV422:"yuyv422",RGB48:"rgb48",ARGB:"argb"}),i=(o.YUV420P,o.YUVJ420P,o.YUV422P,o.YUV444P,o.YUV420P10,o.YUV422P10,o.YUV444P10,o.YUV420P12,o.YUV422P12,o.YUV444P12,o.GRAY8,o.GRAY10,o.GRAY12,o.NV12,o.P016,o.V210,o.UYVY422,o.YUYV422,o.RGB48,o.ARGB,{SLOW:"slow",MEDIUM:"medium",FAST:"fast",VERYFAST:"veryfast",ULTRAFAST:"ultrafast"}),a=(i.SLOW,i.MEDIUM,i.FAST,i.VERYFAST,i.ULTRAFAST,"uhdtv"),s="hdtv",c="sdtv_pal",l="sdtv_ntsc",p=[{label:"UHD television",value:a},{label:"HD television",value:s},{label:"SD television (PAL)",value:c},{label:"SD television (NTSC)",value:l}],u="normal",d="migrate",m="readonly",f="rescue",b="abandon",h="keep",y=[{label:"Normal",value:u},{label:"Migrate",value:d},{label:"Readonly",value:m},{label:"Rescue",value:f},{label:"Abandon",value:b},{label:"Keep",value:h}],g="input",v="stream",_="webrtc_play_network",O="webrtc_play_frame",j="rtsp_play_network",x=[{label:"Input",value:g},{label:"Stream",value:v},{label:"WEBRTC network output data",value:_},{label:"WEBRTC frames before encoding",value:O},{label:"RTSP network output data",value:j}],w="initial",k="subtitle",S="impaired",P=[{label:"initial",value:w},{label:"subtitle",value:k},{label:"impaired",value:S}],T={PCM:"pcm",SMPTE337:"smpte337"},C=(T.PCM,T.SMPTE337,{PCM:"pcm"}),I=(C.PCM,"system"),A="video",D="audio",E="application",$="metadata",N=[{label:"system",value:I},{label:"video",value:A},{label:"audio",value:D},{label:"application",value:E},{label:"metadata",value:$}],L={FACES:"faces",PLATES:"plates"},R=[{label:"faces",value:L.FACES},{label:"plates",value:L.PLATES}],q={EMBEDDED:"embedded",AES_EBU:"aes_ebu",ANALOG:"analog",ANALOG_XLR:"analog_xlr",ANALOG_RCA:"analog_rca",MICROPHONE:"microphone",HEADPHONES:"headphones"},M=(q.EMBEDDED,q.AES_EBU,q.ANALOG,q.ANALOG_XLR,q.ANALOG_RCA,q.MICROPHONE,q.HEADPHONES,{SDI:"sdi",HDMI:"hdmi",OPTICAL_SDI:"optical_sdi",COMPONENT:"component",COMPOSITE:"composite",S_VIDEO:"s_video"}),F=(M.SDI,M.HDMI,M.OPTICAL_SDI,M.COMPONENT,M.COMPOSITE,M.S_VIDEO,"drop"),U="accept",z="ocr_replace",B="ocr_add",H=[{label:"drop",value:F},{label:"accept",value:U},{label:"ocr_replace",value:z},{label:"ocr_add",value:B}],V={1945:"1945",1946:"1946",NTSC:"ntsc",NT23:"nt23",PAL:"pal",NTSP:"ntsp",PALP:"palp","23PS":"23ps","24PS":"24ps",HP25:"Hp25",HP29:"Hp29",HP30:"Hp30",HP47:"Hp47",HP48:"Hp48",HP50:"hp50",HP59:"hp59",HP60:"hp60",HP95:"Hp95",HP96:"Hp96",HP10:"Hp10",HP11:"Hp11",HP12:"Hp12",HI50:"Hi50",HI59:"Hi59",HI60:"Hi60","2K23":"2k23","2K24":"2k24","2K25":"2k25","2D23":"2d23","2D24":"2d24","2D25":"2d25","2D29":"2d29","2D30":"2d30","2D47":"2d47","2D48":"2d48","2D50":"2d50","2D59":"2d59","2D60":"2d60","2D95":"2d95","2D96":"2d96","2D10":"2d10","2D11":"2d11","2D12":"2d12","4K23":"4k23","4K24":"4k24","4K29":"4k29","4K30":"4k30","4K47":"4k47","4K48":"4k48","4K50":"4k50","4K59":"4k59","4K60":"4k60","4K95":"4k95","4K96":"4k96","4K10":"4k10","4K11":"4k11","4K12":"4k12","4D23":"4d23","4D24":"4d24","4D25":"4d25","4D29":"4d29","4D30":"4d30","4D47":"4d47","4D48":"4d48","4D50":"4d50","4D59":"4d59","4D60":"4d60","4D95":"4d95","4D96":"4d96","4D10":"4d10","4D11":"4d11","4D12":"4d12","8K23":"8k23","8K24":"8k24","8K25":"8k25","8K29":"8k29","8K30":"8k30","8K47":"8k47","8K48":"8k48","8K50":"8k50","8K59":"8k59","8K60":"8k60","8D23":"8d23","8D24":"8d24","8D25":"8d25","8D29":"8d29","8D30":"8d30","8D47":"8d47","8D48":"8d48","8D50":"8d50","8D59":"8d59","8D60":"8d60",VGA6:"vga6",SVG6:"svg6",WXG5:"wxg5",WXG6:"wxg6",SXG5:"sxg5",SXG6:"sxg6",UXG5:"uxg5",UXG6:"uxg6",WUX5:"wux5",WUX6:"wux6",WQH5:"wqh5",WQH6:"wqh6",WQX5:"wqx5",WQX6:"wqx6",RWCI:"rwci",RWCC:"rwcc"},W=(V.NTSC,V.NT23,V.PAL,V.NTSP,V.PALP,V["23PS"],V["24PS"],V.HP25,V.HP29,V.HP30,V.HP47,V.HP48,V.HP50,V.HP59,V.HP60,V.HP95,V.HP96,V.HP10,V.HP11,V.HP12,V.HI50,V.HI59,V.HI60,V.HP50,V.HP59,V.HP60,V["2K23"],V["2K24"],V["2K25"],V["2D23"],V["2D24"],V["2D25"],V["2D29"],V["2D30"],V["2D47"],V["2D48"],V["2D50"],V["2D59"],V["2D60"],V["2D95"],V["2D96"],V["2D10"],V["2D11"],V["2D12"],V["4K23"],V["4K24"],V["4K29"],V["4K30"],V["4K47"],V["4K48"],V["4K50"],V["4K59"],V["4K60"],V["4K95"],V["4K96"],V["4K10"],V["4K11"],V["4K12"],V["4D23"],V["4D24"],V["4D25"],V["4D29"],V["4D30"],V["4D47"],V["4D48"],V["4D50"],V["4D59"],V["4D60"],V["4D95"],V["4D96"],V["4D10"],V["4D11"],V["4D12"],V["8K23"],V["8K24"],V["8K25"],V["8K29"],V["8K30"],V["8K47"],V["8K48"],V["8K50"],V["8K59"],V["8K60"],V["8D23"],V["8D24"],V["8D25"],V["8D29"],V["8D30"],V["8D47"],V["8D48"],V["8D50"],V["8D59"],V["8D60"],V.VGA6,V.SVG6,V.WXG5,V.WXG6,V.SXG5,V.SXG6,V.UXG5,V.UXG6,V.WUX5,V.WUX6,V[1945],V[1946],V.WQH5,V.WQH6,V.WQX5,V.WQX6,V.RWCI,V.RWCC,"pal"),G="625i50",K="ntsc",Y="525i29.97",J="525i29",Q="720p23.98",X="720p23",Z="720p24",ee="720p25",te="720p29.97",re="720p29",ne="720p30",oe="720p50",ie="720p59.94",ae="720p59",se="720p60",ce="1080p23.98",le="1080p23",pe="1080p24",ue="1080p25",de="1080p29.97",me="1080p29",fe="1080p30",be="1080psf23.98",he="1080psf23",ye="1080psf24",ge="1080psf25",ve="1080psf29.97",_e="1080psf29",Oe="1080psf30",je="1080i50",xe="1080i59.94",we="1080i60",ke="1080p50",Se="1080p50b",Pe="1080p59.94",Te="1080p59",Ce="1080p59.94b",Ie="1080p59b",Ae="1080p60",De="1080p60b",Ee="2160p50",$e="2160p50b",Ne="2160p59.94",Le="2160p59",Re="2160p59.94b",qe="2160p59b",Me="2160p60",Fe="2160p60b",Ue="2160p23",ze="2160p24",Be="2160p25",He="2160p29",Ve="2160p30",We=[{label:"pal",value:W},{label:"625i50",value:G},{label:"ntsc",value:K},{label:"525i29.97",value:Y},{label:"525i29",value:J},{label:"720p23.98",value:Q},{label:"720p23",value:X},{label:"720p24",value:Z},{label:"720p25",value:ee},{label:"720p29.97",value:te},{label:"720p29",value:re},{label:"720p30",value:ne},{label:"720p50",value:oe},{label:"720p59.94",value:ie},{label:"720p59",value:ae},{label:"720p60",value:se},{label:"1080p23.98",value:ce},{label:"1080p23",value:le},{label:"1080p24",value:pe},{label:"1080p25",value:ue},{label:"1080p29.97",value:de},{label:"1080p29",value:me},{label:"1080p30",value:fe},{label:"1080psf23.98",value:be},{label:"1080psf23",value:he},{label:"1080psf24",value:ye},{label:"1080psf25",value:ge},{label:"1080psf29.97",value:ve},{label:"1080psf29",value:_e},{label:"1080psf30",value:Oe},{label:"1080i50",value:je},{label:"1080i59.94",value:xe},{label:"1080i60",value:we},{label:"1080p50",value:ke},{label:"1080p50b",value:Se},{label:"1080p59.94",value:Pe},{label:"1080p59",value:Te},{label:"1080p59.94b",value:Ce},{label:"1080p59b",value:Ie},{label:"1080p60",value:Ae},{label:"1080p60b",value:De},{label:"2160p50",value:Ee},{label:"2160p50b",value:$e},{label:"2160p59.94",value:Ne},{label:"2160p59",value:Le},{label:"2160p59.94b",value:Re},{label:"2160p59b",value:qe},{label:"2160p60",value:Me},{label:"2160p60b",value:Fe},{label:"2160p23",value:Ue},{label:"2160p24",value:ze},{label:"2160p25",value:Be},{label:"2160p29",value:He},{label:"2160p30",value:Ve}],Ge={STREAMER:"streamer",INFERENCE:"inference",IDENTIFICATION:"identification"},Ke=[{label:"streamer",value:Ge.STREAMER},{label:"inference",value:Ge.INFERENCE},{label:"identification",value:Ge.IDENTIFICATION}],Ye={OPERATIONAL:"operational",DEGRADATED:"degradated",PARTIAL_OUTAGE:"partial_outage",OUTAGE:"outage",DISABLED:"disabled"},Je=(Ye.OPERATIONAL,Ye.DEGRADATED,Ye.PARTIAL_OUTAGE,Ye.OUTAGE,Ye.DISABLED,[{label:"TLSv1",value:"tlsv1"},{label:"TLSv1.1",value:"tlsv1.1"},{label:"TLSv1.2",value:"tlsv1.2"},{label:"TLSv1.3",value:"tlsv1.3"}]),Qe=[{label:"none",value:"none"},{label:"digital_tv",value:"digital_tv"},{label:"digital_radio",value:"digital_radio"},{label:"teletext",value:"teletext"},{label:"nvod_reference",value:"nvod_reference"},{label:"nvod_shifted",value:"nvod_shifted"},{label:"mosaic",value:"mosaic"},{label:"fm_radio",value:"fm_radio"},{label:"dvb_srm",value:"dvb_srm"},{label:"digital_radio_aac",value:"digital_radio_aac"},{label:"mosaic_avc",value:"mosaic_avc"},{label:"data",value:"data"},{label:"common_interface",value:"common_interface"},{label:"rcs_map",value:"rcs_map"},{label:"rcs_fls",value:"rcs_fls"},{label:"dvb_mhp",value:"dvb_mhp"},{label:"digital_tv_mpeg2_hd",value:"digital_tv_mpeg2_hd"},{label:"digital_tv_avc_sd",value:"digital_tv_avc_sd"},{label:"nvod_shifted_avc_sd",value:"nvod_shifted_avc_sd"},{label:"nvod_reference_avc_sd",value:"nvod_reference_avc_sd"},{label:"digital_tv_avc_hd",value:"digital_tv_avc_hd"},{label:"digital_tv_avc_stereo_hd",value:"digital_tv_avc_stereo_hd"},{label:"nvod_shifted_avc_stereo_hd",value:"nvod_shifted_avc_stereo_hd"},{label:"nvod_reference_avc_stereo_hd",value:"nvod_reference_avc_stereo_hd"},{label:"digital_tv_hevc",value:"digital_tv_hevc"},{label:"digital_tv_hevc_uhd",value:"digital_tv_hevc_uhd"}],Xe={DVB:"dvb",DEKTEC_ASI:"dektec_asi",RECORD_INPUT:"record_input",RESI:"resi",TBS6014:"tbs6014"},Ze=(Xe.DVB,Xe.DEKTEC_ASI,Xe.RECORD_INPUT,Xe.RESI,Xe.TBS6014,{DVBS:"dvbs",DVBS2:"dvbs2",DVBT:"dvbt",DVBT2:"dvbt2",DVBCA:"dvbca",DVBCB:"dvbcb",DVBCC:"dvbcc",ATSC:"atsc",ISDBT:"isdbt"}),et=(Ze.DVBS,Ze.DVBS2,Ze.DVBT,Ze.DVBT2,Ze.DVBCA,Ze.DVBCB,Ze.DVBCC,Ze.ATSC,Ze.ISDBT,{V:"v",H:"h",R:"r",L:"l"}),tt=(et.V,et.H,et.R,et.L,{1:"1",2:"2",4:"4",NONE:"none",AUTO:"auto"}),rt=(tt[1],tt[2],tt[4],tt.NONE,tt.AUTO,{"1K":"1k","2K":"2k","8K":"8k","16K":"16k","32K":"32k",C1:"c1",C3780:"c3780"}),nt=(rt["1K"],rt["2K"],rt["8K"],rt["16K"],rt["32K"],rt.C1,rt.C3780,{"1_128":"1_128","1_32":"1_32","1_16":"1_16","1_8":"1_8","1_4":"1_4","19_128":"19_128","19_256":"19_256",PN420:"pn420",PN595:"pn595",PN945:"pn945"}),ot=(nt["1_128"],nt["1_32"],nt["1_16"],nt["1_8"],nt["1_4"],nt["19_128"],nt["19_256"],nt.PN420,nt.PN595,nt.PN945,{AUTO:"auto",ON:"on",OFF:"off"}),it=(ot.AUTO,ot.ON,ot.OFF,{20:"20",25:"25",35:"35"}),at=(it[35],it[25],it[20],{1712e3:1712e3,5e6:5e6,6e6:6e6,7e6:7e6,8e6:8e6,1e7:1e7}),st=(at[1712e3],at[5e6],at[6e6],at[7e6],at[8e6],at[1e7],{AUTO:"auto",QPSK:"qpsk",QAM16:"qam16",QAM32:"qam32",QAM64:"qam64",QAM128:"qam128",QAM256:"qam256",QAM_AUTO:"qam_auto",PSK8:"psk8",APSK16:"apsk16",APSK32:"apsk32",VSB8:"vsb8",VSB16:"vsb16",DQPSK:"dqpsk",QAM4NR:"qam4nr"}),ct=(st.AUTO,st.QPSK,st.QAM16,st.QAM32,st.QAM64,st.QAM128,st.QAM256,st.QAM_AUTO,st.PSK8,st.APSK16,st.APSK32,st.VSB8,st.VSB16,st.DQPSK,st.QAM4NR,{A:"a",B:"b",C:"c"}),lt=(ct.A,ct.B,ct.C,{1:"1",3:"3",13:"13"}),pt=(lt[1],lt[3],lt[13],{F0:"f0",F1:"f1",F2:"f2",F3:"f3",F4:"f4",F5:"f5",F6:"f6",F7:"f7",F8:"f8",F9:"f9",FA:"fa",FB:"fb",FC:"fc",FD:"fd",FE:"fe",FF:"ff"}),ut=(pt.F0,pt.F1,pt.F2,pt.F3,pt.F4,pt.F5,pt.F6,pt.F7,pt.F8,pt.F9,pt.FA,pt.FB,pt.FC,pt.FD,pt.FE,pt.FF,{AUTO:"auto",NORMAL:"normal",INVERT:"invert"}),dt=(ut.AUTO,ut.NORMAL,ut.INVERT,{QAM:"qam",OFDM:"ofdm"}),mt=(dt.QAM,dt.OFDM,{"1_2":"1_2","2_3":"2_3","2_5":"2_5","3_4":"3_4","3_5":"3_5","4_5":"4_5","5_6":"5_6","6_7":"6_7","7_8":"7_8","8_9":"8_9","9_10":"9_10"});mt["1_2"],mt["2_3"],mt["2_5"],mt["3_4"],mt["3_5"],mt["4_5"],mt["5_6"],mt["6_7"],mt["7_8"],mt["8_9"],mt["9_10"]},349:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return n}));var n=function(e){return"".concat(e.startsWith("data:")?"":"data:image/png;base64,").concat(e)}}).call(this,r(326).Buffer)},35:function(e,t,r){"use strict";r.d(t,"c",(function(){return i})),r.d(t,"b",(function(){return a})),r.d(t,"a",(function(){return s})),r.d(t,"d",(function(){return c}));var n=r(2),o=r.n(n),i=o.a.createContext(""),a=o.a.createContext({}),s=o.a.createContext(""),c=o.a.createContext({})},350:function(e,t,r){"use strict";r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return s})),r.d(t,"c",(function(){return c}));var n=r(15),o=r(45),i=r(51),a=Object(n.a)(o.c)({flex:1,display:"flex",flexDirection:"column",overflowY:"auto",height:"100%"}),s=Object(n.a)(i.a)({flex:1,overflowY:"auto"}),c=Object(n.a)(i.a)((function(e){var t=e.theme;return{marginTop:t.spacing(4),display:"flex",gap:t.spacing(2)}}))},351:function(e,t,r){"use strict";r.d(t,"a",(function(){return c})),r.d(t,"c",(function(){return l})),r.d(t,"b",(function(){return p}));var n=r(1),o=r(509),i=r.n(o);function a(e){return(a="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function s(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var c=Object(n.wc)()((function(e){return{modalHidden:{visibility:"hidden !important"},modalVisible:{visibility:"visible !important"},createButtonWrapper:s({},e.breakpoints.only("xs"),{justifyContent:"flex-start"}),createFirstStream:{border:"1px solid #E8EBF0",borderRadius:"4px 4px 0 0",padding:"".concat(e.spacing(8)," 0"),textAlign:"center","&amp; &gt; img":{maxHeight:"235px",maxWidth:"100%"}},createFirstStreamTitle:{marginTop:e.spacing(7)},outputActions:s({},e.breakpoints.down("lg"),{display:"block"}),noStreams:{background:"#F2F8FF",padding:"".concat(e.spacing(1)," ").concat(e.spacing(2))},noStreamsText:{marginLeft:e.spacing(2)}}})),l=Object(n.wc)()((function(e){return{cardWrapper:s({borderRadius:6,overflow:"hidden",lineHeight:.5,position:"relative",height:188,background:"no-repeat url(".concat(i.a,")"),backgroundSize:"cover","&amp; video":{objectFit:"cover"},"&amp; img":{objectFit:"cover"}},e.breakpoints.only("xs"),{height:200}),bottomBlockWrapper:{width:"100%",height:32,position:"absolute",bottom:0,background:"#353535"},streamNameWrapper:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:e.spacing(0,1)},streamName:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},statusWrapper:{position:"absolute",top:10,left:0,maxWidth:"100%",overflow:"hidden"},dvrInfo:{borderBottom:"2px solid #726F6F",position:"relative",top:-2},middleBlock:{position:"absolute",bottom:42,width:"100%",display:"flex",justifyContent:"space-between"},rightBlock:{paddingRight:12,display:"flex",flexDirection:"column",alignItems:"flex-end"},leftBlock:{paddingLeft:12,display:"flex",alignItems:"flex-end",width:"50%","&amp; .source-urls-switcher":{width:"100% !important"}},outputInf:{background:"rgba(96, 96, 96, 0.6)",borderRadius:76,color:e.palette.common.white,fontSize:11,padding:"2px 0 2px ".concat(e.spacing(1)),fontWeight:500,lineHeight:1,display:"flex",alignItems:"center",marginTop:e.spacing(.5),"&amp; &gt; span":{fontSize:15,marginLeft:e.spacing(.5),marginRight:e.spacing(.5),"&amp;:last-of-type":{marginRight:2}}},moreButtonIcon:{color:e.palette.common.white,fontSize:20,lineHeight:1,display:"block",height:20},moreButton:{padding:0},playButtonWrapper:{position:"absolute",left:"50%",top:"50%",marginLeft:-25,marginTop:-41,zIndex:100}}})),p=Object(n.wc)()((function(e,t){var r=t.isCardView;return{sSuccess:{color:e.palette.success.main,background:r?e.palette.success.main:"none","&amp; &gt; .iconStatus":{"&amp; &gt; span":{color:e.palette.success.main}}},sWarning:{color:e.palette.warning.main,background:r?e.palette.warning.main:"none","&amp; &gt; .iconStatus":{"&amp; &gt; span":{color:e.palette.warning.main}}},sError:{color:e.palette.error.main,background:r?e.palette.error.main:"none","&amp; &gt; .iconStatus":{"&amp; &gt; span":{color:e.palette.error.main}}},details:{color:r?"#232323":e.palette.text.secondary,fontWeight:r?500:400},sDefault:{color:e.palette.text.secondary,background:r?e.palette.text.secondary:"none","&amp; &gt; .iconStatus":{"&amp; &gt; span":{color:e.palette.text.secondary}}},status:{fontSize:12,fontWeight:500,color:e.palette.common.white,borderRadius:"0 76px 76px 0",padding:e.spacing(0,1),display:"flex",alignItems:"center",lineHeight:2,whiteSpace:"nowrap","&amp; &gt; .iconStatus":{marginRight:e.spacing(1),"&amp; &gt; span":{border:"2px solid ".concat(e.palette.common.white),borderRadius:"50%",background:e.palette.common.white}}},playButtonWithStatus:{fontSize:51,opacity:.5,lineHeight:1,height:51},grayButton:{color:e.palette.text.secondary},blackButton:{color:e.palette.common.black,padding:0,borderRadius:"50%",backgroundColor:"".concat(e.palette.common.white," !important"),border:"1px solid ".concat(e.palette.common.white),overflow:"hidden",width:53,height:53}}}))},352:function(e,t,r){"use strict";r.d(t,"a",(function(){return u}));r(2);var n=r(222),o=r(143),i=r(290),a=r(1),s=r(22),c=r(86),l=r(13),p=r(0),u=function(e){var t=e.media,r=e.isSources,u=e.isPushes,d=Object(l.Bb)(),m={inputs:{}};m.inputs=t.inputs?n.a(t.inputs):[];var f="#11B981";(o.a(["stats","source_error"])(t)||s.b.isUnavailable(t)||t&amp;&amp;"stats"in t&amp;&amp;s.b.isUnavailable(t.stats))&amp;&amp;(f="#C11030");var b=[],h=function(e){return 6+18*e};m.inputs.forEach((function(e,r){var n;null!==(n=e.stats)&amp;&amp;void 0!==n&amp;&amp;n.active?b.push(Object(p.c)(a.lc,{key:r,title:e.url,placement:"top"},Object(p.c)("circle",{cx:h(r),r:6,style:{fill:f}}))):o.a(["stats","alive"])(t)?b.push(Object(p.c)(a.lc,{title:e.url,placement:"top",key:r},Object(p.c)("circle",{cx:h(r),r:6,style:{fill:"#BAC1CC"},className:"switchable",onClick:function(){return e=r,void d({params:{name:t.name,index:e}});var e}}))):b.push(Object(p.c)(a.lc,{title:e.url,placement:"top",key:r},Object(p.c)("circle",{cx:h(r),r:6,style:{fill:"#BAC1CC"}})))}));var y=i.a(null,"pushes")(t),g=i.a(null,"push_stats")(t.stats),v=[],_=[];y&amp;&amp;g&amp;&amp;(_=Object.keys(y).filter((function(e){return!y[e].disabled})).map((function(e){return y[e].url}))).slice(0,5).reverse().forEach((function(e,t){var r=Object(c.b)({pushStats:g[e]}),n=r.status,o=r.statusColor,i=r.duration,s=r.resultStatusParams;g[e]&amp;&amp;v.push(Object(p.c)(a.lc,{key:g[e].id,title:Object(p.c)(a.mc,null,e," ",Object(p.c)(a.mc,{variant:"subtitle2",component:"span",style:{color:o}},n,Object(p.c)(a.mc,{component:"span",style:{color:"#616161"}},i)),s),placement:"top"},Object(p.c)("circle",{cx:6+24*t,r:6,style:{fill:o}})))}));var O=_.length&gt;=5?Object(c.b)({pushStats:g[_[4]]}):null;return Object(p.c)("div",{className:"source-urls-switcher"},u&amp;&amp;O&amp;&amp;Object(p.c)(a.lc,{title:Object(p.c)(a.mc,null,Object.keys(g)[4]," ",Object(p.c)(a.mc,{variant:"subtitle2",component:"span",style:{color:O.statusColor}},O.status,Object(p.c)(a.mc,{component:"span",style:{color:"#616161"}},O.duration)),O.resultStatusParams),placement:"top"},Object(p.c)("div",{className:"fade-block",style:{display:5===v.length?"block":"none"}})),r&amp;&amp;Object(p.c)("svg",{width:200,height:6,className:"urls","data-testid":"".concat(t.name,"-urls")},b),u&amp;&amp;Object(p.c)("svg",{width:110,height:6,className:"pushes","data-testid":"".concat(t.name,"-pushes")},v))};u.defaultProps={isSources:!1,isPushes:!1}},354:function(e,t,r){"use strict";r(2);var n=r(1),o=r(0),i=["maxWidth","pxPerCell","secondsPerCell","info"];function a(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var s=function(e,t,r){var n=t-e,o=0;for(var i in r)if(r[i]){if(t&lt;r[i].from)continue;var a=Math.max(e,r[i].from),s=Math.min(t,r[i].from+r[i].duration);s&gt;a&amp;&amp;(o+=s-a)}return o/n},c=Object(n.wc)()((function(){return{dvrRecordLine:{height:2,width:"100%",position:"relative",overflow:"hidden",top:2},dvrRecordLineSvg:{position:"absolute",right:0}}})),l=function(e){var t=e.maxWidth,r=e.pxPerCell,n=e.secondsPerCell,l=e.info,p=a(e,i),u=c().classes,d=function(){for(var e=Math.floor(t/r),o=[],i=Math.round((new Date).getTime()/1e3);!(o.length&gt;=e);){var a=i-o.length*n,c=s(a-n,a,l.ranges);if(0==c)o.push("empty");else if(c&lt;=.5)o.push("some");else if(c&lt;1)o.push("some");else{if(1!=c)throw"Unknown cell filled value: ".concat(c);o.push("full")}}return o}(),m=[];return d.forEach((function(e,n){if("empty"!==e){var i;switch(e){case"some":i="#A7D7C0";break;case"full":i="#10B981"}var a=t-n*r;m.push(Object(o.c)("rect",{key:a,x:a-r,width:r+1,height:3,style:{fill:i}}))}})),Object(o.c)("div",{className:u.dvrRecordLine,"data-testid":p["data-testid"]},Object(o.c)("div",null,Object(o.c)("svg",{className:u.dvrRecordLineSvg,height:3,width:t},m)))};l.displayName="MediaDVRLine",l.defaultProps={"data-testid":null,secondsPerCell:180,pxPerCell:6,maxWidth:500},t.a=l},359:function(e,t,r){"use strict";var n=r(2),o=r.n(n),i=r(7),a=r(22),s=r(405),c=r(514),l=r(53),p=r(281),u=r(1);function d(e){return(d="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function m(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==d(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==d(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===d(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var f=Object(u.wc)()((function(e){return{switchStaticOnDemand:{border:"1px solid #98A2B2",textTransform:"uppercase",padding:"2px ".concat(e.spacing(1)," 0px ").concat(e.spacing(1)),fontSize:"12px"},buttons:m({},e.breakpoints.down("lg"),{justifyContent:"flex-start"}),actionsWrapper:m(m({},e.breakpoints.down("lg"),{marginTop:e.spacing(1),paddingTop:e.spacing(.5),borderTop:"1px solid rgba(212, 214, 221, 0.2)",display:"flex",alignItems:"center"}),e.breakpoints.only("xs"),{display:"block"})}})),b=r(57),h=r(0);function y(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return g(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return g(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}r.d(t,"a",(function(){return _}));var v=u.uc.PlayArrowIcon,_=function(e){var t,r=e.media,d=e.name,m=e.toggleStreamDisabled,g=e.onIgnoreStream,_=e.moveFromExceptToOnly,O=e.removeFromExcept,j=e.named_by,x=e.isIgnored,w=e.isTemplate,k=e.product,S=e.isDisableIgnoreButton,P=e.size,T=void 0===P?"normal":P,C=e.disableMobileView,I=void 0!==C&amp;&amp;C,A=Object(i.b)().t,D=f(),E=D.classes,$=D.cx,N=y(Object(n.useState)({ignore:!1,static:!1,onDemand:!1}),2),L=N[0],R=N[1],q=function(){g({media:r,setDisableButton:R,disableButton:L})};return Object(h.c)("div",{className:$({"classes.actionsWrapper":I})},Object(h.c)(u.l,{display:"flex",alignItems:"center",justifyContent:"flex-end",className:E.buttons},!w&amp;&amp;Object(h.c)(o.a.Fragment,null,Object(h.c)(c.a,{name:r.name,media:r,status:null==r?void 0:null===(t=r.stats)||void 0===t?void 0:t.status,size:T,isMainPage:!0}),Object(b.i)({named_by:j,media:r})?Object(h.c)("div",null,Object(h.c)(p.a,null,(function(e){return Object(h.c)(u.k,{"data-testid":"stream-play-".concat(r.name),onClick:function(){e.setModal(r.name),e.setProduct(k),e.setConfigEffective(r)},color:"primary",fontSize:"compact"===T?10:void 0,mr:2},Object(h.c)(v,null))}))):"",j===a.d.config&amp;&amp;Object(h.c)(s.a,{mediaNames:[r.name],media:r,dataTestid:"stream-disable-enable-".concat(r.name),isSwitch:!0,onToggleEnableDisable:function(){m(r.name,!r.disabled)}})),!w&amp;&amp;Object(h.c)(o.a.Fragment,null,j===a.d.remote&amp;&amp;!x&amp;&amp;Object(h.c)(o.a.Fragment,null,Object(h.c)(u.lb,{mdDown:!0},Object(h.c)(l.a,{label:L.ignore?A("ignoring"):A("ignore"),disabled:S||L.ignore,onClick:q,className:"danger","data-testid":"ignore-sourced-".concat(r.name)})),Object(h.c)(u.lb,{mdUp:!0},Object(h.c)(u.mb,{"aria-label":L.ignore?A("ignoring"):A("ignore"),color:"secondary",onClick:q,"data-testid":"ignore-sourced-".concat(r.name),size:"small",disabled:S||L.ignore},Object(h.c)(u.j,{fontSize:"small"})))),j===a.d.remote&amp;&amp;x&amp;&amp;(r.only?Object(h.c)("div",{style:{display:"flex",alignItems:"center"}},Object(h.c)("div",{className:"notice-text action-buttons-notice"},A("sourcesListIgnoredItem.startUseAs")),Object(h.c)("div",{style:{marginLeft:"8px"}},Object(h.c)(l.a,{label:A("static"),onClick:_,className:"margin-left-10",isRadio:!0,"data-testid":"stream-use-as-static-".concat(d)})),Object(h.c)("div",null,Object(h.c)(l.a,{label:A("onDemand"),onClick:O,className:"margin-left-10",isRadio:!0,"data-testid":"stream-use-as-on-demand-".concat(d)}))):Object(h.c)("div",{className:"flex-end padding-left-10"},Object(h.c)("div",{className:"notice-text"},A("sourcesListIgnoredItem.startUseAs")),Object(h.c)(l.a,{label:"static",onClick:O,className:"margin-left-10","data-testid":"stream-use-as-static-".concat(d)}))))))};_.defaultProps={loadingStaticButton:!1,moveFromExceptToOnly:function(){},removeFromExcept:function(){},toggleStreamDisabled:function(){},disableButton:{},isIgnored:!1,isDisableIgnoreButton:!1,renderToggleStatic:null,name:null,isTemplate:!1}},4:function(e,t,r){"use strict";r.d(t,"f",(function(){return h})),r.d(t,"a",(function(){return y})),r.d(t,"d",(function(){return p})),r.d(t,"c",(function(){return u})),r.d(t,"e",(function(){return d})),r.d(t,"g",(function(){return b})),r.d(t,"b",(function(){return m}));var n=r(402),o=r(146),i=r(403),a=r(610),s=r(145),c=r(89),l=r(278),p=n.a(o.a),u=n.a(i.a),d=a.a([p,u]),m=n.a(d),f=function(e){return s.a(c.a(e),l.a)},b=f("Object"),h=f("Number"),y=f("Function")},405:function(e,t,r){"use strict";r(2);var n=r(7),o=r(1),i=r(106),a=r(0),s=Object(o.wc)()((function(){return{enableDisableStreamButton:{width:100,height:32,padding:"4px 11px"}}})),c=function(e){var t=e.media,r=e.dataTestid,c=e.isSwitch,l=e.onConfigSave,p=e.onConfigChange,u=e.onSaveCallback,d=e.onToggleEnableDisable,m=Object(n.b)().t,f=s().classes,b=function(){d?d():p(["disabled"],"raw",(function(e){l(u,e)}))(!t.disabled)};return c?Object(a.c)(o.lc,{title:t.disabled?m("disabled"):m("enabled"),placement:"top"},Object(a.c)("div",null,Object(a.c)(i.a,{isSwitch:!0,checked:!t.disabled,"data-testid":r,color:"primary",onChange:b,justifyContent:"start",size:"small"}))):Object(a.c)(o.n,{variant:"contained",color:"primary",onClick:b,"data-testid":r,className:f.enableDisableStreamButton},t.disabled?m("enable"):m("disable"))};c.defaultProps={dataTestid:void 0,isSwitch:!1,onSaveCallback:function(){},onToggleEnableDisable:null,onConfigSave:null,onConfigChange:null},t.a=c},406:function(e,t,r){"use strict";r.d(t,"c",(function(){return w})),r.d(t,"b",(function(){return k})),r.d(t,"a",(function(){return S}));var n=r(353),o=r(145),i=r(222),a=r(146),s=(r(2),r(7)),c=r(877),l=r(77),p=r(66),u=r(31),d=r(242),m=r(4),f=r(1),b=r(72),h=r(10),y=r(0);function g(e){return(g="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function v(){return(v=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function _(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function O(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?_(Object(r),!0).forEach((function(t){j(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function j(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==g(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==g(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===g(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var x=Object(f.wc)()((function(){return{root:{"&amp; .MuiFormControl-root":{marginTop:0,marginBottom:0,display:"block"},"&amp;.MuiAutocomplete-hasClearIcon .MuiAutocomplete-inputRoot":{paddingRight:0}}}})),w=n.a(u.h,["size","height"]),k=o.a(u.G,w),S=function(e){var t=e.track,r=e.trackId,n=e.onError,o=e.onErrorResolve,g=e.errors,_=e.videoTrackCalc,j=e.video,S=e.isTemplate,P=e.handleChange,T=Object(s.b)().t,C=x().classes,I=Object(l.b)(g[Object(p.c)(["video",r,"height"])],T),A=k(t)&amp;&amp;Object(m.e)(_.height),D=function(e,s){e.stopPropagation();var c=Object(d.c)({value:s});if(c.isValid){o(["video",r,"height"])();var l=i.a(j);l[r].size=Object(u.L)("height",t.size)(Object(m.e)(s)?Number(s):s),a.a(l[r].size)&amp;&amp;delete l[r].size,P(l)}else n(["video",r,"height"])(c.error)},E=function(e){D(e,e.target.value)};return Object(y.c)(f.g,{id:"video-height-".concat(r),fullWidth:!0,freeSolo:!0,options:u.m,classes:{root:C.root},value:k(t)?String(_.height||""):String(Object(u.K)(w(t))),onChange:D,disabled:S,docDescription:h.a.schemas.tc_size.properties.height.description,renderInput:function(e){return Object(y.c)(c.a,v({variant:"standard"},e,{inputProps:O(O({},e.inputProps),{},{"data-testid":"video-height-".concat(r),style:{color:A?"#b0afaf":"rgba(0, 0, 0, 0.87)"}}),helperText:I,error:!!I,onBlur:E,label:T("transcoderSettingsVideoTrackDetails.heightLabel"),fullWidth:!0,InputProps:O(O({},e.InputProps),{},{endAdornment:Object(y.c)(f.rb,{position:"end"},Object(y.c)(b.a,{path:"track_info_video_configurable.properties.height"}))}),onClick:function(e){return e.stopPropagation()}}))}})}},44:function(e,t,r){"use strict";var n=r(146),o=r(174),i=r(2),a=r.n(i),s=r(103),c=r.n(s),l=r(7),p=r(4),u=r(1),d=r(0),m=["label","hideLabel","value","onChange","onClose","inputProps","displayEmpty","name","formClassName","autoWidth","helperText","multiple","items","disabled","HelperDocProps","isCalculatedValue","error","required","onError","onErrorResolve","children","width","isSimpleMenuItem"];function f(){return(f=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function b(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return h(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return h(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}function y(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var g=Object(u.wc)()((function(){return{formControl:{display:"flex"},selectMenuPopoverRoot:{zIndex:100}}})),v=function(e){var t=e.label,r=e.hideLabel,o=e.value,i=e.onChange,s=e.onClose,h=e.inputProps,v=e.displayEmpty,_=e.name,O=e.formClassName,j=e.autoWidth,x=e.helperText,w=e.multiple,k=e.items,S=e.disabled,P=e.HelperDocProps,T=e.isCalculatedValue,C=e.error,I=e.required,A=e.onError,D=e.onErrorResolve,E=e.children,$=e.width,N=e.isSimpleMenuItem,L=y(e,m),R=Object(l.b)().t,q=g().classes,M=b(a.a.useState(!1),2),F=M[0],U=M[1];return a.a.useEffect((function(){I&amp;&amp;n.a(o)&amp;&amp;A&amp;&amp;A(R("smthIsRequired",{label:t})),(!I||I&amp;&amp;Object(p.d)(o))&amp;&amp;D&amp;&amp;D()}),[I,o,A,D]),a.a.useEffect((function(){Object(p.e)(o)||null!=o&amp;&amp;k&amp;&amp;Array.isArray(k[0])&amp;&amp;Object(p.e)(k[0][1])?U(!0):U(!1)}),[o]),Object(d.c)("div",{style:{width:$}},Object(d.c)(u.Q,{className:c()(O,q.formControl),disabled:S,error:!!C},Object(d.c)("div",{style:{display:"flex",width:"100%",alignItems:"flex-end"}},!r&amp;&amp;Object(d.c)(u.sb,{shrink:F},t),Object(d.c)(u.Vb,f({fullWidth:!0,value:o,onChange:i,onClick:function(e){return e.stopPropagation()},onClose:s,inputProps:h,displayEmpty:v,autoWidth:j,name:_,multiple:w,style:{color:T?"#b0afaf":"rgba(0, 0, 0, 0.87)"},MenuProps:{PopoverClasses:{root:q.selectMenuPopoverRoot}}},L),N&amp;&amp;k.map((function(e){return Object(d.c)(u.Gb,{key:e,value:e,onClick:function(e){return e.stopPropagation()},"data-testid":e},e)})),!N&amp;&amp;k?k.map((function(e){var t=b(e,3),r=t[0],n=t[1],o=t[2],i=void 0===o?r:o;return Object(d.c)(u.Gb,{key:n,value:r,onClick:function(e){return e.stopPropagation()},"data-testid":i},n)})):E),P&amp;&amp;Object(d.c)(u.kb,P)),(C||x)&amp;&amp;Object(d.c)(u.T,null,C||x)))};v.defaultProps={value:void 0,onClose:o.a(),inputProps:void 0,displayEmpty:!1,name:void 0,formClassName:void 0,autoWidth:!1,helperText:void 0,multiple:!1,disabled:!1,HelperDocProps:void 0,"data-testid":void 0,isCalculatedValue:!1,error:"",required:!1,onError:o.a(),onErrorResolve:o.a(),items:null,children:null,width:"100%",isSimpleMenuItem:!1},t.a=v},466:function(e,t,r){"use strict";var n=r(1537);r.d(t,"a",(function(){return n.a}))},467:function(e,t,r){"use strict";var n=r(1539);r.d(t,"a",(function(){return n.a}))},468:function(e,t,r){"use strict";r.d(t,"a",(function(){return l}));var n=r(45),o=r(467),i=r(0),a=["name","data-testid"];function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function c(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n&lt;i.length;n++)r=i[n],t.indexOf(r)&gt;=0||Object.prototype.propertyIsEnumerable.call(e,r)&amp;&amp;(o[r]=e[r])}return o}var l=function(e){var t=e.name,r=e["data-testid"],l=c(e,a);return Object(i.c)(n.a,{name:t},(function(e){var n=e.field,a=e.form;return Object(i.c)(o.a,s({defaultChecked:l.defaultChecked,inputProps:{"data-testid":r}},n,l,{checked:n.value,onChange:function(e,r){a.setFieldValue(t,r)}}))}))}},48:function(e,t,r){"use strict";var n=r(146),o=r(4),i=function(e,t){var r="".concat(e);return"00000000000000000000".slice(0,t-r.length)+r},a=function(e){if(e&gt;0){var t=Math.round(e%1e3),r=a(Math.round(e/1e3));return"".concat(""===r?t:r+i(t,3)," ")}return""},s=function(e,t,r){var n=r,o=-1;do{n/=t,o+=1}while(n&gt;t);return Math.max(n,.1).toFixed(1)+e[o]},c={pad:i,pad2:function(e){return e&lt;=9?"0".concat(e):"".concat(e)},add_spaces_to_int:a,seconds:function(e){if(!(e&gt;0))return 0;var t=e=Math.round(e),r=i(t%60,2);return(t=Math.floor(t/60))&gt;0?(r="".concat(i(t%60,2),":").concat(r),t=Math.floor(t/60)):r+=" s",t&gt;0&amp;&amp;(r="".concat(i(t%24,2),":").concat(r),t=Math.floor(t/24)),t&gt;0&amp;&amp;(r="".concat(t,"d ").concat(r)),r},bytes:function(e){var t=arguments.length&gt;1&amp;&amp;void 0!==arguments[1]?arguments[1]:"";return Number.isFinite(e)?s([" KB"," MB"," GB"," TB"," PB"," EB"],1024,e):t},bps:function(e){return s([" kbps"," Mbps"," Gbps"," Tbps","Pbps","Ebps","Zbps","Ybps"],1e3,e)},local_date_at:function(e){var t=new Date;return t.setTime(Math.round(e&lt;4e9?1e3*e:e)),"".concat(i(t.getYear()+1900,4),"-").concat(i(t.getMonth()+1,2),"-").concat(i(t.getDate(),2))},shortestTimeFormat:function(e){if(e&lt;=999)return"".concat(e,"ms");var t=Math.floor(e/1e3);if(t&lt;=59)return"".concat(t,"s");var r=Math.floor(t/60);if(r&lt;=59)return"".concat(r,"m");var n=Math.floor(r/60);if(n&lt;=23)return"".concat(n,"h");var o=Math.floor(n/24);return"".concat(o,"d")},getFormattedTime:function(e,t){var r=arguments.length&gt;2&amp;&amp;void 0!==arguments[2]?arguments[2]:"",n=arguments.length&gt;3?arguments[3]:void 0;if(Object(o.b)(e))return r;var i=e;if(!t){if(e&lt;1e3)return"".concat(e,"ms");i=e/1e3;var a=Math.floor(i);if(i&lt;60)return n?"".concat(a,"s"):"".concat(a).concat(1===a?" second":" seconds")}var s=i/60,c=Math.floor(s),l=Math.floor(i%60);if(s&lt;60)return"".concat(c).concat(l&gt;=1||n?"m":"".concat(1===c?" minute":" minutes")," ").concat(l&gt;=1?"".concat(l,"s"):"");var p=s/60,u=Math.floor(p),d=Math.floor(s%60);if(p&lt;24)return"".concat(u).concat(d&gt;=1||n?"h":"".concat(1===u?" hour":" hours")," ").concat(d&gt;=1?"".concat(d,"m"):"");var m=p/24,f=Math.floor(m),b=Math.floor(p%24);if(m&lt;30.417)return"".concat(f).concat(b&gt;=1||n?"d":"".concat(1===f?" day":" days")," ").concat(b&gt;=1?"".concat(b,"h"):"");var h=m/30.417,y=Math.floor(h),g=Math.floor(m%30.417);if(h&lt;12)return"".concat(y).concat("".concat(g&gt;=1||n?1===y?"mo":"mos":1===y?" month":" months")," ").concat(g&gt;=1?"".concat(g,"d"):"");var v=h/12,_=Math.floor(v),O=Math.floor(h%12);return"".concat(_).concat(O&gt;=1||n?"y":"".concat(1===_?" year":" years")," ").concat(O&gt;=1?"".concat(O).concat(O&gt;1?"mos":"mo"):"")},shortNumber:function(e){var t=arguments.length&gt;1&amp;&amp;void 0!==arguments[1]&amp;&amp;arguments[1],r=arguments.length&gt;2&amp;&amp;void 0!==arguments[2]?arguments[2]:"";if(!Number.isFinite(e))return r;var n=t?1e3:1024,o=["","K","M","G","T","P"],i=Math.floor(Math.log(e)/Math.log(1024)),a=e/Math.pow(n,i);return a&gt;3||a-Math.trunc(a)&lt;.13?"".concat(Math.trunc(a)," ").concat(o[i]):"".concat(a.toFixed(1)," ").concat(o[i])},msToFixedSec:function(e){return n.a(e)?e:Math.floor(e/1e3)},formatValueWithUnit:function(e,t){var r=arguments.length&gt;2&amp;&amp;void 0!==arguments[2]?arguments[2]:"";if(Number.isNaN(e)||Number.isNaN(t)||0===t)return"";var n=r;return null==n&amp;&amp;(n=""),"".concat(Math.floor(e/t)).concat(n)}};t.a=c},49:function(e,t,r){"use strict";r.d(t,"l",(function(){return bt})),r.d(t,"a",(function(){return ht})),r.d(t,"b",(function(){return yt})),r.d(t,"c",(function(){return gt})),r.d(t,"k",(function(){return vt})),r.d(t,"f",(function(){return _t})),r.d(t,"j",(function(){return Ot})),r.d(t,"o",(function(){return jt})),r.d(t,"d",(function(){return xt})),r.d(t,"g",(function(){return wt})),r.d(t,"m",(function(){return kt})),r.d(t,"t",(function(){return St})),r.d(t,"h",(function(){return Pt})),r.d(t,"i",(function(){return Tt})),r.d(t,"s",(function(){return Ct})),r.d(t,"p",(function(){return It})),r.d(t,"e",(function(){return At})),r.d(t,"q",(function(){return Dt})),r.d(t,"r",(function(){return Et})),r.d(t,"n",(function(){return $t}));var n=r(332),o=r.n(n),i=r(786),a=r.n(i),s=r(787),c=r.n(s),l=r(333),p=r.n(l),u=r(788),d=r.n(u),m=r(789),f=r.n(m),b=r(453),h=r.n(b),y=r(790),g=r.n(y),v=r(791),_=r.n(v),O=r(454),j=r.n(O),x=r(792),w=r.n(x),k=r(793),S=r.n(k),P=r(794),T=r.n(P),C=r(795),I=r.n(C),A=r(796),D=r.n(A),E=r(785),$=r.n(E),N=r(783),L=r.n(N),R=r(784),q=r.n(R),M=r(334),F=r.n(M),U=r(797),z=r.n(U),B=r(798),H=r.n(B),V=r(799),W=r.n(V),G=r(800),K=r.n(G),Y=r(801),J=r.n(Y),Q=r(802),X=r.n(Q),Z=r(803),ee=r.n(Z),te=r(782),re=r.n(te),ne=r(335),oe=r.n(ne),ie=r(804),ae=r.n(ie),se=r(805),ce=r.n(se),le=r(806),pe=r.n(le),ue=r(807),de=r.n(ue),me=r(808),fe=r.n(me),be=r(455),he=r.n(be),ye=r(809),ge=r.n(ye),ve=r(810),_e=r.n(ve),Oe=r(811),je=r.n(Oe),xe=r(812),we=r.n(xe),ke=r(813),Se=r.n(ke),Pe=r(814),Te=r.n(Pe),Ce=r(815),Ie=r.n(Ce),Ae=r(816),De=r.n(Ae),Ee=r(456),$e=r.n(Ee),Ne=r(817),Le=r.n(Ne),Re=r(818),qe=r.n(Re),Me=r(819),Fe=r.n(Me),Ue=r(820),ze=r.n(Ue),Be=r(821),He=r.n(Be),Ve=r(822),We=r.n(Ve),Ge=r(823),Ke=r.n(Ge),Ye=r(457),Je=r.n(Ye),Qe=r(824),Xe=r.n(Qe),Ze=r(1551),et=r(825),tt=r.n(et),rt=r(826),nt=r.n(rt),ot=r(827),it=r.n(ot),at=r(458),st=r.n(at),ct=r(828),lt=r.n(ct),pt=r(829),ut=r.n(pt),dt=r(830),mt=r.n(dt),ft=r(0),bt=function(){return Object(ft.c)("span",{className:"admin-icon-menu"})},ht=function(){return Object(ft.c)("span",{className:"admin-icon-arrow"})},yt=function(){return Object(ft.c)("span",{className:"admin-icon-arrow_02"})},gt=function(){return Object(ft.c)("span",{className:"admin-icon-arrow_03"})},vt=function(){return Object(ft.c)("span",{className:"admin-icon-logout"})},_t=function(){return Object(ft.c)("span",{className:"admin-icon-close"})},Ot=function(){return Object(ft.c)("span",{className:"admin-icon-filter"})},jt=function(){return Object(ft.c)("span",{className:"admin-icon-sort-by"})},xt=function(){return Object(ft.c)("span",{className:"admin-icon-avatar-02"})},wt=function(){return Object(ft.c)("span",{className:"admin-icon-dvr-replicate"})},kt=function(){return Object(ft.c)("span",{className:"admin-icon-online"})},St=function(){return Object(ft.c)("span",{className:"admin-icon-waiting"})},Pt=function(){return Object(ft.c)("span",{className:"admin-icon-disabled"})},Tt=function(){return Object(ft.c)("span",{className:"admin-icon-error"})},Ct=function(){return Object(ft.c)("span",{className:"admin-icon-video"})},It=function(){return Object(ft.c)("span",{className:"admin-icon-sound"})},At=function(){return Object(ft.c)("span",{className:"admin-icon-bitrate-cards-two"})},Dt=function(){return Object(ft.c)("span",{className:"admin-icon-success"})},Et=function(){return Object(ft.c)("span",{className:"admin-icon-uptime_streams"})},$t=function(){return Object(ft.c)("span",{className:"admin-icon-push_streams"})};t.u={IconMenu:bt,IconQuality:function(){return Object(ft.c)("span",{className:"admin-icon-quality"})},IconBitrate:function(){return Object(ft.c)("span",{className:"admin-icon-bitrate"})},IconTime:function(){return Object(ft.c)("span",{className:"admin-icon-time"})},IconInput:function(){return Object(ft.c)("span",{className:"admin-icon-input"})},IconOutput:function(){return Object(ft.c)("span",{className:"admin-icon-output"})},IconNoInfo:function(){return Object(ft.c)("span",{className:"admin-icon-no-info"})},IconArrow:ht,IconArrowDown:yt,IconArrowUp:gt,IconLogout:vt,IconUpgrade:function(){return Object(ft.c)("span",{className:"admin-icon-upgrade"})},IconClose:_t,IconRestart:function(){return Object(ft.c)("span",{className:"admin-icon-restart"})},IconCheck:function(){return Object(ft.c)("span",{className:"admin-icon-check"})},IconFilter:Ot,IconSortBy:jt,IconPro:function(){return Object(ft.c)("span",{className:"admin-icon-pro"})},IconCheckMark:function(){return Object(ft.c)("span",{className:"admin-icon-check-mark"})},IconEmail:function(){return Object(ft.c)("span",{className:"admin-icon-email"})},IconAvatar2:xt,IconAttach:function(){return Object(ft.c)("span",{className:"admin-icon-attach"})},IconDVRReplicate:wt,IconOnline:kt,IconWaiting:St,IconDisabled:Pt,IconError:Tt,IconBoardView:function(){return Object(ft.c)("span",{className:"admin-icon-board-view"})},IconList:function(){return Object(ft.c)("span",{className:"admin-icon-list"})},IconOnlineTwo:function(){return Object(ft.c)("span",{className:"admin-icon-online-two"})},IconErrorTwo:function(){return Object(ft.c)("span",{className:"admin-icon-error-two"})},IconDisabledTwo:function(){return Object(ft.c)("span",{className:"admin-icon-disabled-two"})},IconWaitingTwo:function(){return Object(ft.c)("span",{className:"admin-icon-waiting-two"})},IconClients:function(){return Object(ft.c)("span",{className:"admin-icon-clients"})},IconVideo:Ct,IconSound:It,IconBitrateCardsTwo:At,IconMoreTwo:function(){return Object(ft.c)("span",{className:"admin-icon-more-two"})},IconPlay:function(){return Object(ft.c)("span",{className:"admin-icon-play"})},IconMultiplexerProgram:function(){return Object(ft.c)("span",{className:"admin-icon-multiplexer-program"})},IconMultiplexer:function(){return Object(ft.c)("span",{className:"admin-icon-multiplexer"})},IconServers:function(){return Object(ft.c)("span",{className:"admin-icon-servers"})},IconLicensePaidTill:function(){return Object(ft.c)("span",{className:"admin-icon-license-paid-till"})},IconAttachTwo:function(){return Object(ft.c)("span",{className:"admin-icon-attach_two"})},IconAvatar:function(){return Object(ft.c)("span",{className:"admin-icon-avatar"})},IconLink:function(){return Object(ft.c)("span",{className:"admin-icon-link"})},LanguageIcon:re.a,VideocamIcon:L.a,VideocamOffIcon:q.a,InfoIcon:o.a,ShareIcon:$.a,InfoOutlinedIcon:a.a,PendingIcon:c.a,ArrowDropDownIcon:p.a,ArrowDropUpIcon:d.a,PlayArrowIcon:f.a,DeleteIcon:h.a,ArrowForwardIcon:g.a,SaveIcon:_.a,ExpandMoreIcon:j.a,ReplyIcon:w.a,CloseIcon:S.a,ArrowBackIcon:T.a,KeyboardArrowRightIcon:I.a,FileCopyIcon:D.a,SearchIcon:F.a,EmergencyRecordingIcon:z.a,ErrorIcon:H.a,WarningIcon:W.a,IconUrl:function(){return Object(ft.c)("span",{className:"admin-icon-url"})},IconSuccess:Dt,IconCompact:function(){return Object(ft.c)("span",{className:"admin-icon-compact"})},IconUptimeStream:Et,IconArchiveStream:function(){return Object(ft.c)("span",{className:"admin-icon-archive_streams"})},IconPushStream:$t,IconVersionTwo:function(){return Object(ft.c)("span",{className:"admin-icon-version_two"})},IconDate:function(){return Object(ft.c)("span",{className:"admin-icon-date"})},IconTraffic:function(){return Object(ft.c)("span",{className:"admin-icon-traffic"})},IconCamera:function(){return Object(ft.c)("span",{className:"admin-icon-camera"})},IconPlayCards:function(){return Object(ft.c)("span",{className:"admin-icon-play-cards"})},IconEventsFilter:function(){return Object(ft.c)("span",{className:"admin-icon-events_filter"})},IconAllEvents:function(){return Object(ft.c)("span",{className:"admin-icon-all_events"})},IconManDiscovered:function(){return Object(ft.c)("span",{className:"admin-icon-man_discovered"})},IconCarDetected:function(){return Object(ft.c)("span",{className:"admin-icon-car_detected"})},IconBill:function(){return Object(ft.c)("span",{className:"admin-icon-bill"})},IconCarEvents:function(){return Object(ft.c)("span",{className:"admin-icon-car_events"})},IconPersonEvents:function(){return Object(ft.c)("span",{className:"admin-icon-person_events"})},IconDetectedEvents:function(){return Object(ft.c)("span",{className:"admin-icon-detected_events"})},IconMedia:function(){return Object(ft.c)("span",{className:"admin-icon-media"})},IconInfo:function(){return Object(ft.c)("span",{className:"admin-icon-info"})},IconMotionDetected:function(){return Object(ft.c)("span",{className:"admin-icon-motion_detected"})},IconFavourites:function(){return Object(ft.c)("span",{className:"admin-icon-favorites"})},IconDuration:function(){return Object(ft.c)("span",{className:"admin-icon-duration"})},CallIcon:K.a,NearMeIcon:J.a,AccessTimeIcon:X.a,BusinessIcon:ee.a,AddIcon:oe.a,KeyboardIcon:ae.a,AppsIcon:ce.a,StarIcon:pe.a,DeviceHubIcon:de.a,ExploreIcon:fe.a,NotificationsIcon:he.a,HowToRegIcon:ge.a,PeopleIcon:_e.a,WorkIcon:je.a,TuneIcon:we.a,SettingsIcon:Se.a,AssignmentIcon:Te.a,BackupIcon:Ie.a,ExtensionIcon:De.a,AutorenewIcon:$e.a,AutoAwesomeMosaicIcon:Le.a,ArrowDownwardIcon:qe.a,NorthEastIcon:Fe.a,NorthWestIcon:ze.a,SouthEastIcon:He.a,SouthWestIcon:We.a,ArrowUpwardIcon:Ke.a,RemoveIcon:Je.a,FolderIcon:Xe.a,ReceiptIcon:tt.a,Avatar:Ze.a,ContactSupportIcon:nt.a,PersonIcon:it.a,EditIcon:st.a,InsertLinkIcon:lt.a,FormatBoldIcon:ut.a,FormatItalicIcon:mt.a}},497:function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(2),o=function(e){var t=arguments.length&gt;1&amp;&amp;void 0!==arguments[1]?arguments[1]:0,r=Object(n.useRef)(),o=Object(n.useCallback)((function(n){return r.current&amp;&amp;(window.clearTimeout(r.current),r.current=void 0),t?r.current=window.setTimeout((function(){return e(n)}),t):e(n),function(){window.clearTimeout(r.current),r.current=void 0}}),[e,t]);return o}},50:function(e,t,r){"use strict";r.d(t,"d",(function(){return s})),r.d(t,"c",(function(){return a})),r.d(t,"b",(function(){return c})),r.d(t,"a",(function(){return l}));var n=r(239),o=r(146),i=r(396),a=function(e){return parseInt(e,10)},s=n.a((function(e,t){var r=a(t);return Number.isNaN(r)||o.a(r)?e:r})),c=n.a((function(e,t){return function(e){return parseFloat(e)}(t)||e})),l=function(e){var t=arguments.length&gt;1&amp;&amp;void 0!==arguments[1]?arguments[1]:i.a(e);return function(r){return e.includes(r)?r:t}}},505:function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=r(2),o=r.n(n).a.createContext({isLoggedIn:!1,checkIfRefreshNeeded:function(){return!1},logout:function(){},doRefreshToken:function(){return new Promise((function(e){return e(void 0)}))},login:function(){}}),i=function(){return Object(n.useContext)(o)}},509:function(e,t,r){e.exports=r.p+"c322043c2848f64f24a54c0fe6d6a4f6.png"},51:function(e,t,r){"use strict";r.d(t,"b",(function(){return i}));var n=r(615);r.d(t,"a",(function(){return n.a}));var o=r(15),i=Object(o.a)(n.a)({display:"flex",flexDirection:"column",overflowY:"auto"})},514:function(e,t,r){"use strict";r(2);var n=r(7),o=r(4),i=r(22),a=r(13),s=r(1),c=r(11),l=r(0),p=Object(s.wc)()((function(){return{stopStartButton:{width:100,height:32,padding:"4px 11px"}}})),u=function(e){var t,r=e.name,u=e.mediaNames,d=e.media,m=e.status,f=e.className,b=e.size,h=void 0===b?"normal":b,y=e.isMainPage,g=Object(n.b)().t,v=p().classes,_=Object(a.Eb)(),O=function(e){_({params:{name:e}})},j=function(){Object(o.e)(u)?u.forEach((function(e){O(e)})):O(r)};if(m===c.t){var x=d.static&amp;&amp;d.named_by===i.d.config?g("restart"):g("stop");t=y?Object(l.c)(s.lc,{title:x,placement:"top"},Object(l.c)(s.k,{"aria-label":x,onClick:j,"data-testid":"stop-restart-button-".concat(r),color:"primary",fontSize:"compact"===h?10:void 0,mr:2},d.static&amp;&amp;d.named_by===i.d.config?Object(l.c)(s.h,null):Object(l.c)(s.Zb,null))):Object(l.c)(s.n,{onClick:j,"data-testid":"stop-restart-button-".concat(r),color:"secondary",variant:"contained",className:v.stopStartButton,startIcon:d.static&amp;&amp;d.named_by===i.d.config?Object(l.c)(s.h,null):Object(l.c)(s.Zb,null)},x)}return Object(l.c)("div",{className:f},t)};u.defaultProps={className:"",mediaNames:void 0},t.a=u},516:function(e,t,r){"use strict";(function(e){r.d(t,"b",(function(){return O})),r.d(t,"a",(function(){return j}));r(2);var n=r(7),o=r(107),i=r(222),a=r(146),s=r(4),c=r(44),l=r(31),p=(r(858),r.t(858,1)),u=(r(859),r.t(859,1)),d=r(144),m=r(406),f=r(10),b=r(0);function h(e){return function(e){if(Array.isArray(e))return y(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return y(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return y(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var g=l.J.video.level,v=l.J.global.fps,_=function(e){var t=e.width,r=e.height,n=e.fpsVal,o=e.levelsJSON,i=e.transcoderSettings,a=e.defaultList;if(!Object(l.E)(i))return a;var s=o.default,c=[];return s.forEach((function(e){t&lt;=e[0]&amp;&amp;r&lt;=e[1]&amp;&amp;n&lt;=e[2]&amp;&amp;c.push(e[3])})),c.filter((function(e,t){return c.indexOf(e)===t}))},O=function(e){var t=e.transcoderSettings,r=e.trackId,n=e.width,o=e.height,i=e.fpsVal;return Object(l.B)(t,r)&amp;&amp;_({width:n,height:o,fpsVal:i,levelsJSON:p,transcoderSettings:t,VIDEO_LEVEL_H264_ENUM:l.r})||Object(l.C)(t,r)&amp;&amp;_({width:n,height:o,fpsVal:i,levelsJSON:u,transcoderSettings:t,VIDEO_LEVEL_HEVC_ENUM:l.s})||Object(l.D)(t,r)&amp;&amp;l.t||l.r},j=function(t){var r=t.track,p=t.trackId,u=t.transcoderSettings,y=t.videoTrackCalc,_=t.video,j=t.isTemplate,x=t.handleVideoChange,w=Object(n.b)().t,k=Object(d.b)(r)?y.width:Object(l.K)(Object(d.c)(r)),S=Object(m.b)(r)?y.height:Object(l.K)(Object(m.c)(r)),P=v(o.a("fps",e),null),T=O({transcoderSettings:u,trackId:p,width:k,height:S,fpsVal:P}),C=g(r.level,u,p),I=y.level&amp;&amp;T.includes(y.level.toString())?y.level:"";return Object(b.c)(c.a,{displayEmpty:!0,label:w("transcoderSettingsVideoTrackDetails.levelLabel"),"data-testid":"video-level-".concat(p),value:(C||I||"").toString(),onChange:function(e){var t=i.a(_);t[p].level=g(e.target.value,u,p),a.a(t[p].level)&amp;&amp;delete t[p].level,x(t)},items:[[null,""]].concat(h(T.map((function(e){return[e,e]})))),isCalculatedValue:!g(r.level,u,p)&amp;&amp;Object(s.e)(y.level),HelperDocProps:{docDescription:f.a.schemas.transcoder_track_info_video.allOf[1].properties.level.description},disabled:j})}}).call(this,r(189))},520:function(e,t,r){"use strict";r.d(t,"b",(function(){return d})),r.d(t,"a",(function(){return m}));var n=r(126),o=r.n(n),i=r(286),a=r(78);function s(e){return(s="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){p(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==s(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===s(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var u=r(704)({storeAsString:!0}),d=Object(a.b)("watcher_host"),m=function(){var e=o.a.create({baseURL:"".concat(d,"/").concat("watcher/client-api/v3"),headers:l(l({},a.c),{},{"Content-Type":"application/json"}),transformResponse:function(e){var t,r;return"string"==typeof e&amp;&amp;e.startsWith('{"')?u.parse(e):null===o.a||void 0===o.a?void 0:null===(t=o.a.defaults)||void 0===t?void 0:null===(r=t.transformResponse)||void 0===r?void 0:r[0](e)}});return e.interceptors.request.use((function(e){return i.a.activeAccessToken&amp;&amp;(e.headers=l(l({},e.headers),{},{Authorization:"Bearer ".concat(i.a.activeAccessToken)})),e})),e}},524:function(e,t,r){"use strict";var n=function(e){window.history.replaceState(null,"","?".concat(window.decodeURIComponent(e.toString())).concat(window.location.hash))};function o(e){return(o="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){for(var r=0;r&lt;t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&amp;&amp;(n.writable=!0),Object.defineProperty(e,(i=n.key,a=void 0,a=function(e,t){if("object"!==o(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(i,"string"),"symbol"===o(a)?a:String(a)),n)}var i,a}r.d(t,"a",(function(){return a}));var a=function(){return e=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.storageKey=t;var r=new URLSearchParams(window.location.search),o=r.get("token"),i=r.get("refresh_token");(o||i)&amp;&amp;this.removeTokens(),o&amp;&amp;(this.setTokens({access_token:o}),r.delete("token"),n(r)),i&amp;&amp;(this.setTokens({refresh_token:i}),r.delete("refresh_token"),n(r))},(t=[{key:"authData",get:function(){var e=window.localStorage.getItem(this.storageKey);return e?JSON.parse(e):void 0}},{key:"activeAccessToken",get:function(){var e,t;return null===(e=this.authData)||void 0===e||!e.access_token_expires||Date.now()/1e3+3&gt;this.authData.access_token_expires?void 0:null===(t=this.authData)||void 0===t?void 0:t.access_token}},{key:"refreshToken",get:function(){var e;return null===(e=this.authData)||void 0===e?void 0:e.refresh_token}},{key:"shouldRefresh",get:function(){return!this.activeAccessToken&amp;&amp;!!this.refreshToken}},{key:"setTokens",value:function(e){var t,r,n=e.access_token?(t=e.access_token,r=t.split(".")[1],JSON.parse(window.atob(r))):void 0,o={access_token:e.access_token,refresh_token:e.refresh_token,access_token_expires:null==n?void 0:n.exp};window.localStorage.setItem(this.storageKey,JSON.stringify(o))}},{key:"removeTokens",value:function(){window.localStorage.removeItem(this.storageKey)}}])&amp;&amp;i(e.prototype,t),r&amp;&amp;i(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r}()},525:function(e,t,r){"use strict";var n=r(2),o=r.n(n),i=r(132),a=r(1),s=r(4),c=r(0);function l(e){return(l="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function p(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==l(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==l(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===l(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var u=Object(a.wc)()((function(e){return{root:p({},e.breakpoints.up("sm"),{minWidth:"344px !important"})}})),d=o.a.forwardRef((function(e,t){var r,n=e.id,o=e.severity,l=e.message,p=e.details;r=Object(s.g)(p)?Object.keys(p):p?[p]:[];var d=Object(i.c)().closeSnackbar,m=u().classes;return Object(c.c)(i.a,{ref:t,className:m.root},Object(c.c)(a.f,{id:n,severity:o,variant:"filled",onClose:function(){return d(n)}},Object(c.c)(a.mc,null,l),r.map((function(e){return Object(c.c)(a.mc,{key:e},e," ",p[e])}))))}));d.displayName="CustomAlert",d.defaultProps={severity:"error"},r.d(t,"a",(function(){return d}))},53:function(e,t,r){"use strict";var n=r(2),o=r.n(n),i=r(1),a=r(0);function s(e){return(s="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){f(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t){for(var r=0;r&lt;t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&amp;&amp;(n.writable=!0),Object.defineProperty(e,b(n.key),n)}}function u(e,t,r){return t=d(t),function(e,t){if(t&amp;&amp;("object"===s(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){return!1}}()?Reflect.construct(t,r||[],d(e).constructor):t.apply(e,r))}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function m(e,t){return(m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function f(e,t,r){return(t=b(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function b(e){var t=function(e,t){if("object"!==s(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===s(t)?t:String(t)}var h=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),f(r=u(this,t,[e]),"onMouseEnter",(function(e){var t=r.props.onMouseEnter;r.setState({hover:!0}),t&amp;&amp;t(e)})),f(r,"onMouseLeave",(function(e){var t=r.props.onMouseLeave;r.setState({hover:!1}),t&amp;&amp;t(e)})),r.state={hover:!1},r}return function(e,t){if("function"!=typeof t&amp;&amp;null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&amp;&amp;t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&amp;&amp;m(e,t)}(t,e),r=t,(n=[{key:"render",value:function(){var e=this.props,t=e.isRadio,r=e.className,n=e.checked,o=e.label,s=e.labelOnHover,c=e.disabled,p=e.onClick,u=e.style,d=this.state.hover,m="".concat(r||""," action-button");n&amp;&amp;(m="".concat(m," active"));var f=o||"";return d&amp;&amp;s&amp;&amp;(f=s),t?Object(a.c)(i.R,{checked:n,control:Object(a.c)(i.Qb,{color:"primary",inputProps:{"data-testid":this.props["data-testid"]},onChange:p}),label:f,disabled:c}):Object(a.c)(i.n,{className:m,onClick:p,disabled:c,"data-testid":this.props["data-testid"],onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave,type:"button",color:"primary",size:"small",style:l({borderBottom:0},u)},f)}}])&amp;&amp;p(r.prototype,n),o&amp;&amp;p(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o}(o.a.Component);h.defaultProps={"data-testid":void 0,labelOnHover:"",className:"",checked:!1,disabled:!1,isRadio:!1,onClick:function(){},onMouseEnter:function(){},onMouseLeave:function(){},style:{}},t.a=h},531:function(e){e.exports=JSON.parse('{"a":{"schemas":{"collection_response":{"type":"object","properties":{"estimated_count":{"description":"Estimated total number of records for the query (regardless of the cursors).\\n","type":"integer","example":5},"next":{"description":"Next cursor: a properly encoded equivalent of offset allowing to read the next bunch of items.\\nLearn more in [Flussonic API design principles](https://flussonic.com/doc/rest-api-guidelines/#api-http-collections-cursor).\\n","example":"JTI0cG9zaXRpb25fZ3Q9MA==","type":"string"},"prev":{"description":"Previous cursor: a properly encoded equivalent of offset allowing to read the previous bunch of items.\\nLearn more in [Flussonic API design principles](https://flussonic.com/doc/rest-api-guidelines/#api-http-collections-cursor).\\n","example":"JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl","type":"string"},"timing":{"description":"An object with a list of different timings measured during this API call.","type":"object"}}},"error_response":{"type":"object","properties":{"errors":{"description":"List of structured errors","type":"array","items":{"$ref":"#/components/schemas/error"}},"error":{"type":"string","deprecated":true,"x-delete-at":23.09,"x-private":true,"description":"This is how flussonic serves errors right now. To be removed as we migrate to new format\\n"}}},"ui_settings_config":{"type":"object","properties":{"title":{"description":"The product title.","type":"string","examples":{"flussonic":{"value":"Streamer","x-scope":["flussonic"]},"central":{"value":"Central","x-scope":["central"]},"cloud":{"value":"Cloud","x-scope":["cloud"]},"client-area":{"value":"Billing","x-scope":["client-area"]}}},"brand":{"description":"The product brand.","type":"string","examples":{"flussonic":{"value":"Streamer","x-scope":["flussonic"]},"central":{"value":"Central","x-scope":["central"]},"cloud":{"value":"Cloud","x-scope":["cloud"]}}},"product":{"description":"The product type.","type":"string","examples":{"flussonic":{"value":"streamer","x-scope":["flussonic"]},"central":{"value":"central","x-scope":["central"]},"cloud":{"value":"cloud","x-scope":["cloud"]}}},"fonts":{"description":"The fonts in the UI.","type":"object","properties":{"light":{"description":"The light font style.","type":"string","x-private":true,"example":"fira-sans-300.woff2","format":"byte","x-notice":"file_base64","x-format-description":"byte"},"regular":{"description":"The regular font style.","type":"string","x-private":true,"example":"fira-sans-400.woff2","format":"byte","x-notice":"file_base64","x-format-description":"byte"},"medium":{"description":"The medium font style.","type":"string","x-private":true,"example":"fira-sans-500.woff2","format":"byte","x-notice":"file_base64","x-format-description":"byte"}}},"logo":{"description":"The logo in the header. The user interface supports values with or without the mime type.","type":"string","examples":{"with-mime":{"value":"data:image/svg+xml;base64,&lt;base64string&gt;"},"just-png":{"value":"&lt;base64string&gt;"}},"x-private":true,"format":"byte","x-notice":"file_base64","x-format-description":"byte"},"logoAuth":{"description":"The logo on the login page.","type":"string","example":"logoLogin.png","x-private":true,"format":"byte","x-notice":"file_base64","x-format-description":"byte"},"favicons":{"description":"The favicons of different sizes for different OSes and browsers.","type":"object","properties":{"16":{"description":"16x16 pixels favicon.","type":"string","x-private":true,"format":"byte","example":"icons/favicon-16.png","x-format-description":"byte"},"32":{"description":"32x32 pixels favicon.","type":"string","x-private":true,"example":"icons/favicon-32.png","format":"byte","x-notice":"file_base64","x-format-description":"byte"},"48":{"description":"48x48 pixels favicon.","type":"string","x-private":true,"example":"icons/favicon-48.png","format":"byte","x-notice":"file_base64","x-format-description":"byte"},"64":{"description":"64x64 pixels favicon.","type":"string","x-private":true,"example":"icons/favicon-64.png","format":"byte","x-notice":"file_base64","x-format-description":"byte"},"128":{"description":"128x128 pixels favicon.","type":"string","x-private":true,"example":"icons/favicon-128.png","format":"byte","x-notice":"file_base64","x-format-description":"byte"}}},"colors":{"description":"The interface colors.","type":"object","properties":{"primary":{"description":"Primary color for interface elements like selection in the main menu, info icons, buttons, etc.","type":"string","examples":{"flussonic":{"value":"#002DAB","x-scope":["flussonic"]},"central":{"value":"#4549F2","x-scope":["central"]},"cloud":{"value":"#4549F2","x-scope":["cloud"]},"client-area":{"value":"#002DAB","x-scope":["client-area"]}}},"secondary":{"description":"Secondary color for obsolete interface elements like active tab.","type":"string","examples":{"flussonic":{"value":"#FF0D70","x-scope":["flussonic"]},"central":{"value":"#E91E63","x-scope":["central"]},"cloud":{"value":"#E91E63","x-scope":["cloud"]},"client-area":{"value":"#FF0D70","x-scope":["client-area"]}}},"background":{"description":"The background color.","type":"string","example":"#fff"}}},"menu_items":{"description":"The list of the main menu items and Streams page tabs that are available on the server.","x-private":true,"type":"object","properties":{"pulse":{"description":"The Pulse page.","type":"boolean","default":true,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"streamer_config":{"description":"The Config page.","type":"boolean","default":true,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"cluster":{"description":"The Cluster page.","type":"boolean","default":true,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":true,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"ipcam":{"description":"The IP Cameras page (for Watcher DB settings).","type":"boolean","default":true,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"audit_logs":{"description":"The Audit Logs page.","type":"boolean","default":true,"examples":{"flussonic":{"value":false,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":true,"x-scope":["cloud"]},"watcher-client":{"value":true,"x-scope":["watcher-client"]}}},"pins":{"description":"Pins page for RTRN.","type":"boolean","default":false,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]}}},"iptv":{"description":"The IPTV page.","type":"boolean","default":false,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"upload_logs":{"description":"The Support page.","type":"boolean","default":true,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"streamer_upgrade":{"description":"Info about available upgrades for the server.","type":"object","properties":{"package_name":{"description":"The name of the upgrade package.","type":"string","example":"streamer"}}},"usages":{"description":"The Usages page.","type":"boolean","default":true,"examples":{"flussonic":{"value":false,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":true,"x-scope":["cloud"]}}},"chassis":{"description":"The Chassis page.","type":"boolean","default":false,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"nvrs":{"description":"Watcher page that allows view streams from NVRs.","type":"boolean","default":false,"examples":{"flussonic":{"value":false,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"watcher-client":{"value":true,"x-scope":["watcher-client"]}}},"map":{"description":"Watcher page with map.","type":"boolean","default":true,"examples":{"flussonic":{"value":false,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"watcher-client":{"value":true,"x-scope":["watcher-client"]}}},"main_templates":{"description":"The Streams - Templates tab.","type":"boolean","default":true,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"main_transponders":{"description":"The Streams - Transponders tab.","type":"boolean","default":true,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"main_cluster_sources":{"description":"The Streams - Sources tab.","type":"boolean","default":true,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"main_vod_locations":{"description":"The Streams - VODs tab.","type":"boolean","default":true,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"main_dvb_cards":{"description":"The Streams - DVB cards tab.","type":"boolean","default":true,"examples":{"flussonic":{"value":true,"x-scope":["flussonic"]},"central":{"value":false,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"main_agents":{"description":"The Streams - Agents tab.","type":"boolean","default":true,"examples":{"flussonic":{"value":false,"x-scope":["flussonic"]},"central":{"value":true,"x-scope":["central"]},"cloud":{"value":false,"x-scope":["cloud"]}}},"my_cameras":{"description":"Page with cameras.","type":"boolean","default":true,"x-scope":["watcher-client"]},"cameras":{"description":"The admin page with cameras.","type":"boolean","default":false,"x-scope":["watcher-client"]},"persons":{"description":"Page with persons.","type":"boolean","default":false,"x-scope":["watcher-client"]},"streamers":{"description":"Page with streamers.","type":"boolean","default":false,"x-scope":["watcher-client"]},"adverts":{"description":"Page with adverts.","type":"boolean","default":false,"x-scope":["watcher-client"]},"favorites":{"description":"Page with favorites cameras.","type":"boolean","default":true,"x-scope":["watcher-client"]},"mosaics":{"description":"Page with mosaics.","type":"boolean","default":true,"x-scope":["watcher-client"]},"agents":{"description":"Page with agents.","type":"boolean","default":false,"x-scope":["watcher-client"]},"episodes":{"description":"Page with episodes.","type":"boolean","default":true,"x-scope":["watcher-client"]},"users":{"description":"Page with users.","type":"boolean","default":false,"example":true,"x-scope":["watcher-client"]},"organizations":{"description":"Page with organizations.","type":"boolean","default":true,"example":true,"x-scope":["watcher-client"]},"presets":{"description":"Page with presets.","type":"boolean","default":false,"x-scope":["watcher-client"]},"settings":{"description":"Page with settings.","type":"boolean","default":false,"x-scope":["watcher-client"]},"health_status":{"description":"Page with health status.","type":"boolean","default":false,"x-scope":["watcher-client"]},"access_log":{"description":"Page with access log.","type":"boolean","default":false,"x-scope":["watcher-client"]},"support":{"description":"Indicates is support chat enabled.","type":"boolean","example":false,"x-scope":["watcher-client"]}}},"locales":{"type":"array","description":"The list of possible locales","example":["en","ru"],"items":{"$ref":"#/components/schemas/locale"}},"default_locale":{"description":"The default locale","allOf":[{"$ref":"#/components/schemas/locale"}]},"company_info":{"type":"object","description":"Contact information for customers to reach the company through various means.","properties":{"address":{"description":"Details enabling customers to locate the company\'s physical location.","type":"string"},"phone":{"description":"Telephone contact information for reaching out to the company.","type":"string"},"business_hours":{"description":"Notify your users if you are not ready to answer phone calls and emails 24/7.","type":"string"}}},"map":{"description":"Map settings for displaying streams with specified coordinates.","allOf":[{"$ref":"#/components/schemas/map"}]},"features":{"description":"The list of features accessibility flags.","x-private":true,"type":"object","properties":{"is_context_search_enabled":{"description":"This parameter enables context search.","type":"boolean","example":false}}}}},"manifest_config":{"type":"object","required":["name","display","start_url","id","icons"],"properties":{"name":{"description":"The product name.","type":"string","example":"My_awesome_product"},"display":{"oneOf":[{"const":"fullscreen","description":"Opens the web application without any browser UI and takes up the entirety of the available display area."},{"const":"standalone","description":"Opens the web app to look and feel like a standalone app. The app runs in its own window, separate from the browser, and hides standard browser UI elements such as the URL bar."},{"const":"minimal-ui","description":"This mode is similar to standalone, but provides the user a minimal set of UI elements for controlling navigation (such as back and reload)."}],"example":"standalone","default":"standalone"},"start_url":{"type":"string","description":"The start_url tells the browser where your application should start when it is launched, and prevents the app from starting on whatever page the user was on when they added your app to their home screen.","example":"https://www.example.com/"},"id":{"type":"string","description":"The id property allows you to explicitly define the identifier used for your application. Adding the id property to the manifest removes the dependency on the start_url or the location of the manifest, and makes it possible for them to be updated in the future.","example":"https://www.example.com/"},"icons":{"type":"array","description":"The list of icons of the PWA.","items":{"type":"object","properties":{"src":{"type":"string","description":"The path to an icon.","example":"images/icon.svg"},"sizes":{"type":"string","description":"The sizes of an icon.","example":"192x192"},"type":{"type":"string","description":"The type of an icon","example":"image/svg+xml"}}}}}},"advert_config":{"type":"object","properties":{"id":{"readOnly":true,"type":"string","format":"uuid","description":"Advert ID.","x-format-description":"uuid"},"clip_url":{"type":"string","description":"link to the advert video.","example":"http://website.com/123/rain.mp4"},"site_url":{"type":"string","description":"link to go to the advertising site.","example":"https://website.com"}}},"stream_stats":{"type":"object","properties":{"lifetime":{"type":"number","format":"milliseconds","description":"The time period in seconds during which the stream is being captured.\\nCan be calculated from `opened_at`\\n","x-api-allow":["central","watcher-core","watcher-client","watcher-admin"],"example":71977,"x-format-description":"milliseconds"},"last_dts_at":{"type":"number","format":"utc_ms","description":"The time when the last time frame was sent to the stream output (in UTC).","example":1636383841974,"x-api-allow":["watcher-client","watcher-core","watcher-admin","central"],"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"media_info":{"allOf":[{"$ref":"#/components/schemas/media_info"}],"description":"Technical information about the output media content.","x-api-allow":["watcher-client","watcher-core","watcher-admin","central","smartcam"]},"ts_delay":{"type":"number","format":"ticks","example":1284,"description":"The time period during which no frames were received from the stream\'s input.","x-api-allow":["central","watcher-core","watcher-client","watcher-admin"],"x-format-description":"ticks"},"status":{"description":"Indicates the status of the stream.\\n","allOf":[{"$ref":"#/components/schemas/stream_status"}],"x-api-allow":["watcher-client","watcher-core","watcher-admin","central","vision"]},"input_error_rate":{"type":"integer","description":"The number of packets dropped per second.\\n\\nSwitch to `stream.stats.input.errors`\\n","example":0,"x-api-allow":["central","watcher-core","watcher-client","watcher-admin"],"deprecated":true,"x-delete-at":25.03},"retry_count":{"type":"integer","description":"The number of attempts to restore the stream if `alive=false`.\\nUse `input.retries` instead\\n","openmetrics_metric":"stream_retry_count","x-metric-type":"counter","example":0,"x-api-allow":["central","watcher-core","watcher-client","watcher-admin"],"deprecated":true,"x-delete-at":25.03},"current_agent_id":{"type":"string","format":"agent_id","description":"The identifier of the Agent that is currently serving the stream.","x-api-allow":["watcher-core","central","watcher-client","watcher-admin"],"x-format-description":"agent_id"},"agent_status":{"enum":["connected","not_connected","rproxy_not_configured"],"type":"string","description":"The status of the Agent serving the stream.","x-api-allow":["watcher-core","central","watcher-client","watcher-admin"]},"dvr_info":{"description":"The information about the recorded DVR archive.","allOf":[{"$ref":"#/components/schemas/dvr_info"}],"x-api-allow":["watcher-client","watcher-core","watcher-admin","central","central-layouter"]},"alive":{"default":false,"type":"boolean","example":true,"description":"Becomes `false` when `ts_delay` &gt; 12000 (= 12 seconds)","x-api-allow":["watcher-client","watcher-core","watcher-admin","central"]},"bitrate":{"type":"integer","format":"speed","description":"Stream bitrate.","openmetrics_metric":"stream_bitrate","x-metric-type":"gauge","example":186,"x-api-allow":["watcher-core","central","watcher-client","watcher-admin"],"x-format-description":"speed"},"playback_token":{"description":"Temporary token for playback requests (Media Server Streaming API, Central Streaming API).","type":"string","x-api-allow":["watcher-client","watcher-admin"],"example":"onetime_token"},"streaming_endpoint":{"description":"HTTP(s) URL that can be used for streaming API of this stream","type":"string","x-api-allow":["watcher-core","central","watcher-client","watcher-admin"]},"online_clients":{"type":"integer","format":"client_count","description":"The number of clients receiving the stream.\\nUse play.play_opened_sessions instead\\n","openmetrics_metric":"stream_online_clients","x-metric-type":"gauge","example":3,"x-api-allow":["watcher-core","central","watcher-client","watcher-admin"],"deprecated":true,"x-delete-at":25.04,"x-format-description":"client_count"},"bytes_out":{"type":"integer","format":"bytes","description":"The amount of stream data sent to the clients.","openmetrics_metric":"stream_bytes_out","x-metric-type":"counter","example":0,"x-api-allow":["watcher-core","central","watcher-client","watcher-admin"],"x-format-description":"bytes"}}},"stream_config_base":{"type":"object","properties":{"static":{"default":true,"description":"Whether a stream is `static` or not. \\nIf set to `True` the server will try to keep this stream running even if\\nthere are no viewers or errors encountered.\\n\\nStreamer restarts *all* `static` streams even if any internal errors occur\\nand the `static` streams crash.\\n","type":"boolean","example":true,"x-api-allow":["watcher-core","watcher-client","watcher-admin"]},"disabled":{"description":"Whether a stream is disabled. Disabled streams are inactive and do not run. \\nDisplayed only with the API calls.\\n","type":"boolean","example":false,"x-api-allow":["watcher-core","watcher-client","watcher-admin","central-layouter"]}}},"stream_config_specific":{"type":"object","properties":{"name":{"type":"string","format":"media_name","description":"Globally unique stream name.","readOnly":true,"x-primary-key":true,"openmetrics_label":"name","examples":{"default":{"value":"hockey1"},"mylive/bunny":{"value":"mylive/bunny"},"decklink":{"value":"Decklink-Stream"},"dektec":{"value":"Dektec-Stream"},"test_stream":{"value":"test_stream"}},"x-api-allow":["watcher-client","watcher-core","watcher-admin","vision-config-external","smartcam","central-layouter","vision"],"x-format-description":"media_name"},"comment":{"description":"Human-readable description of the stream.\\n","type":"string","example":"This is a test stream","x-api-allow":["watcher-client","watcher-core","watcher-admin"]},"title":{"description":"Human-readable title of the stream. Provided for SDT MPEG-TS table or\\nSDP RTSP title parameter.\\n","type":"string","example":"Hockey channel","x-api-allow":["watcher-client","watcher-core","watcher-admin"]}},"required":["name"]},"stream_config_additional":{"type":"object","properties":{"stats":{"description":"Stream\'s metrics and other statistical information.","allOf":[{"$ref":"#/components/schemas/stream_stats"}],"readOnly":true,"x-api-allow":["watcher-client","watcher-core","watcher-admin","smartcam","vision","central-layouter"]}}},"stream_config_media":{"type":"object","properties":{"dvr":{"description":"DVR configuraton.","allOf":[{"$ref":"#/components/schemas/stream_dvr_spec"}],"x-api-allow":["watcher-core","watcher-admin","watcher-client","central-layouter"]}}},"stream_config_onpremises":{"type":"object","properties":{"vision":{"allOf":[{"$ref":"#/components/schemas/vision_spec"}],"description":"Video analytics parameters.","x-api-allow":["vision-config-external","smartcam","vision","watcher-core","watcher-admin","watcher-client","central-layouter"]}}},"stream_config":{"allOf":[{"$ref":"#/components/schemas/stream_config_specific"},{"$ref":"#/components/schemas/stream_config_base"},{"$ref":"#/components/schemas/stream_config_additional"},{"$ref":"#/components/schemas/stream_config_input"},{"$ref":"#/components/schemas/stream_config_media"},{"$ref":"#/components/schemas/stream_config_onpremises"},{"$ref":"#/components/schemas/watcher_stream_config"}]},"watcher_stream_config":{"type":"object","properties":{"organization_id":{"description":"ID of the organization the stream belongs to.\\nOnly organization owner or domain administrator could change it.\\n","type":"integer","example":9,"x-api-allow":["watcher-client","watcher-admin"]},"is_favourite":{"description":"The stream is added to favorites list.","type":"boolean","x-api-allow":["watcher-client"]},"notifications_enabled":{"description":"Notifications are enabled for the camera.","type":"boolean","x-api-allow":["watcher-client"]},"coordinates":{"description":"Camera coordinates on a map or a floor plan.","allOf":[{"$ref":"#/components/schemas/map_spec"}],"x-api-allow":["watcher-client","watcher-admin"]},"postal_address":{"description":"Camera adress on a map.","type":"string","x-api-allow":["watcher-client","watcher-admin"]},"map_coordinates":{"description":"Camera coordinates on a map or a floor plan. Deprecated. Use coordinates instead.","deprecated":true,"x-delete-at":24.12,"x-alias":"coordinates","allOf":[{"$ref":"#/components/schemas/map_spec"}],"x-api-allow":["watcher-client","watcher-admin"]},"is_test":{"type":"boolean","description":"Use this parameter to mark the stream as a \\"test\\" stream.\\n\\"Test\\" streams will be provisioned only on \\"test\\" streamers, if available.\\nAfter disabling the parameter, the stream will be provisioned to any non-test streamer, if available.\\n","x-private":true,"x-api-allow":["watcher-client","watcher-admin"]},"permissions":{"description":"Current user\'s permissions for viewing and editing the camera.","x-private":true,"readOnly":true,"x-api-allow":["watcher-client","watcher-admin"],"allOf":[{"$ref":"#/components/schemas/stream_permissions"}]},"onvif":{"description":"Onvif configuration","x-api-allow":["watcher-client","watcher-admin"],"allOf":[{"$ref":"#/components/schemas/stream_onvif_config"}]},"agent":{"description":"Agent configuration.","x-private":true,"readOnly":true,"x-api-allow":["watcher-client","watcher-admin"],"allOf":[{"$ref":"#/components/schemas/agent_config_base"}]},"preset_id":{"description":"Preset identificator.","x-api-allow":["watcher-client","watcher-admin"],"type":"integer"},"folder_id":{"description":"Folder identificator.","x-api-allow":["watcher-client","watcher-admin"],"type":"integer"},"precise_thumbnails_days":{"x-private":true,"format":"integer","minimum":0,"type":"integer","description":"The number of days during which the precise screenshots of the analytics (face recognition or ANPR) events\\nshould be stored in the database.\\n","x-api-allow":["watcher-client","watcher-admin"],"x-format-description":"integer"},"audio":{"type":"object","description":"Audio settings for the stream.","x-api-allow":["watcher-client","watcher-admin"],"properties":{"transcode_audio_codec":{"description":"Audio codec (the AAC codec is used by default).","default":"aac","allOf":[{"$ref":"#/components/schemas/frame_audio_codec"}],"x-api-allow":["watcher-client","watcher-admin"],"x-scope":["watcher-client","watcher-admin"]},"disabled":{"type":"boolean","example":false,"default":false,"description":"A flag showing if the audio is captured (false) or not (true) from the stream.\\n","x-api-allow":["watcher-client","watcher-admin"],"x-scope":["watcher-client","watcher-admin"]}}},"path":{"description":"Contains path to stream as a list.\\nEach item of the list can be interpreted as a node in a folders tree.\\n","readOnly":true,"items":{"$ref":"#/components/schemas/stream_path_item"},"type":"array","x-api-allow":["watcher-client","watcher-admin"]},"firmware_update_duration":{"description":"Duration of the firmware update. If this field is present, the update process is ongoing.\\n","readOnly":true,"format":"milliseconds","type":"integer","x-api-allow":["watcher-client","watcher-admin"],"x-format-description":"milliseconds"}}},"streams_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"streams":{"items":{"$ref":"#/components/schemas/stream_config"},"type":"array","description":"List of fetched streams according to the query parameters."}}}]},"public_stream_config":{"type":"object","properties":{"name":{"type":"string","format":"media_name","description":"Globally unique stream name.","x-primary-key":true,"examples":{"default":{"value":"hockey1"}},"x-format-description":"media_name"},"title":{"description":"Human-readable title of the stream. Provided for SDT MPEG-TS table or\\nSDP RTSP title parameter.\\n","type":"string","example":"Hockey channel"},"logo":{"description":"Overlay logo.","allOf":[{"$ref":"#/components/schemas/web_logo_spec"}]},"advert":{"type":"array","x-private":true,"description":"Configure advertising used for monetization your camera shares.","items":{"$ref":"#/components/schemas/advert_config"}},"permissions":{"type":"object","description":"Permissions related settings.","x-private":true,"properties":{"export":{"type":"boolean","description":"Enable or disable the export feature."}}},"auth_token":{"allOf":[{"$ref":"#/components/schemas/auth_token"}],"description":"Configure key name of query string key-value pair for token authentication\\n"},"stats":{"description":"Stream\'s metrics and other statistical information.","allOf":[{"$ref":"#/components/schemas/public_stream_stats"}],"readOnly":true}},"required":["name"]},"stream_organization":{"type":"object","properties":{"organization_id":{"readOnly":true,"description":"ID of the organization the stream belongs to.\\n","type":"integer","example":9}}},"stream_permissions":{"type":"object","properties":{"edit":{"type":"boolean","description":"Access to camera editing.\\nUser has access to editing camera if he is owner of the organization or if he has been granted such access rights.\\n"},"dvr":{"type":"boolean","description":"Permission to view the camera\'s archive.\\n"},"ptz":{"type":"boolean","description":"Permission to control PTZ.\\n"},"dvr_depth_limit":{"type":"integer","description":"The number of archive days permitted to view.\\n"}}},"stream_onvif_config":{"type":"object","properties":{"ptz":{"type":"boolean","description":"Shows if PTZ control should be enabled for the camera. \\nThe PTZ function must be supported and enabled on the ONVIF camera \\nin order to be able to actually control PTZ from Watcher or your UI.\\n"}}},"streams_import_response":{"type":"object","properties":{"created":{"type":"integer","description":"The number of streams created"},"updated":{"type":"integer","description":"The number of streams updated"}}},"stream_path_item":{"type":"object","properties":{"id":{"readOnly":true,"description":"ID of the path item the stream is included in.","type":"integer"},"title":{"readOnly":true,"description":"Title of path item the stream is included in.","type":"string"}}},"sensor":{"type":"object","properties":{"brightness_correction":{"description":"Image brightness correction.\\nThe value is indicated as a percentage from 0 to 100.\\n","type":"integer","format":"percent","minimum":0,"maximum":100,"x-api-allow":["watcher-admin","watcher-client"],"x-format-description":"percent"},"contrast_correction":{"description":"Image contrast correction.\\nThe value is indicated as a percentage from 0 to 100.\\n","type":"integer","format":"percent","minimum":0,"maximum":100,"x-api-allow":["watcher-admin","watcher-client"],"x-format-description":"percent"},"sharpness":{"description":"Sharpness / edges contrast enhancement level.\\nThe value is indicated as a percentage from 0 to 100.\\n","type":"integer","format":"percent","minimum":0,"maximum":100,"x-api-allow":["watcher-admin","watcher-client"],"x-format-description":"percent"},"saturation":{"description":"Image saturation correction.\\nThe value is indicated as a percentage from 0 to 100.\\n","type":"integer","format":"percent","minimum":0,"maximum":100,"x-api-allow":["watcher-admin","watcher-client"],"x-format-description":"percent"},"wide_dynamic_range":{"description":"Image wide dynamic range correction.\\nThe value is indicated as a percentage from 0 to 100.\\n","type":"integer","format":"percent","minimum":0,"maximum":100,"x-api-allow":["watcher-admin","watcher-client"],"x-format-description":"percent"},"blacklight_compensation":{"description":"Image blacklight compensation correction","allOf":[{"$ref":"#/components/schemas/on_off"}],"x-api-allow":["watcher-admin","watcher-client"]},"infrared_cutoff_filter":{"description":"Infrared cut-of filter","allOf":[{"$ref":"#/components/schemas/on_off_auto"}],"x-api-allow":["watcher-admin","watcher-client"]},"image_orientation":{"description":"Installation position of the camera","type":"string","oneOf":[{"const":"normal","title":"Normal","description":"Default camera mount."},{"const":"upside_down","title":"Upside down","description":"Camera is mounted on the ceiling."}],"x-api-allow":["watcher-admin","watcher-client"]}}},"media_quality":{"oneOf":[{"const":"low","title":"Low"},{"const":"medium","title":"Medium"},{"const":"high","title":"High"}]},"firmware_update":{"type":"object","description":"Update camera firmware","properties":{"image":{"format":"binary","description":"Image for updating camera. Documentation for updating cameras: https://flussonic.com/doc/flussonic-home-v1/#upgrade.\\n","example":"b\'DL\\u0003\\u0004\\u0014\\u0000\'","x-format-description":"binary"},"proto":{"type":"string","description":"Protocol for connecting to camera.","oneOf":[{"title":"Iris","const":"iris","description":"Iris protocol"},{"title":"ISAPI/PSIA","const":"isapi","description":"ISAPI/PSIA protocol"},{"title":"Xm","const":"xm","description":"Xm protocol"},{"title":"MSTAR/Sputnik","const":"sputnik","description":"MSTAR/Sputnik protocol"}],"default":"iris","example":"iris"}},"required":["image"]},"auth":{"type":"object","description":"Authentication details configuration","properties":{"login":{"type":"string","description":"Username authentication"},"password":{"type":"string","description":"Password authentication"},"port":{"type":"integer","description":"Service port on which Onvif/PSIA is accessible, default is 80"}}},"camera_config":{"type":"object","properties":{"sensor":{"description":"Describes sensor configuration.\\n","oneOf":[{"$ref":"#/components/schemas/sensor"},{"$ref":"#/components/schemas/error_response"}]},"camera_info":{"description":"Describes camera information.\\n","oneOf":[{"$ref":"#/components/schemas/camera_info"},{"$ref":"#/components/schemas/error_response"}],"readOnly":true},"media_quality":{"description":"These parameters allow optimizing media quality and performance based on device capabilities and network conditions.\\n","oneOf":[{"$ref":"#/components/schemas/media_quality"},{"$ref":"#/components/schemas/error_response"}]}}},"camera_info":{"type":"object","description":"Camera information","properties":{"firmware":{"type":"string","description":"Firmware version"},"model":{"type":"string","description":"Model name"},"manufacturer":{"type":"string","description":"Manufacturer name"},"serial_number":{"type":"string","description":"Serial number"}}},"map_spec":{"type":"object","properties":{"latitude":{"description":"Geographic latitude.","type":"number","example":55.7512},"longitude":{"description":"Geographic longitude.","type":"number","example":37.6184}},"required":["latitude","longitude"]},"login_info":{"type":"object","properties":{"access_token":{"type":"string","description":"A JWT token with a limited lifetime duration. JWT algorithm is RS256.\\n","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"},"refresh_token":{"type":"string","description":"A token used to get a new access_token after expiration. \\nIt works with `/login` request only.\\n","example":"3637e790-5530-11ed-bdc3-0242ac120002"}}},"password_recovery":{"type":"object","properties":{"email":{"type":"string","format":"email","example":"user@example.com","description":"Email address to which instructions will be sent\\n","x-format-description":"email"}}},"password_reset":{"type":"object","properties":{"password":{"type":"string","minLength":5,"maxLength":128,"description":"New password\\n"}}},"client_auth_payload_base":{"type":"object","properties":{"exp":{"type":"integer","description":"the time when the token will expire\\n","example":1666781590}},"required":["exp"]},"jwt_payload":{"allOf":[{"$ref":"#/components/schemas/client_auth_payload_base"},{"type":"object","properties":{"session":{"type":"string","description":"Identify of current session id. Every login with username and password generates a new session.\\n","example":"6P1nGOz4pG94xz4h82qqmZTghKA"}}}]},"episode":{"oneOf":[{"$ref":"#/components/schemas/episode_generic"},{"$ref":"#/components/schemas/vision_episode_face"},{"$ref":"#/components/schemas/vision_episode_vehicle"},{"$ref":"#/components/schemas/vision_episode_context_search"},{"$ref":"#/components/schemas/vision_episode_qr_code"},{"$ref":"#/components/schemas/episode_custom"}]},"vision_episode_face":{"allOf":[{"$ref":"#/components/schemas/episode_base"},{"type":"object","properties":{"episode_type":{"type":"string","description":"Face is detected","const":"face"},"detections":{"type":"array","description":"Detections associated with this episode","items":{"$ref":"#/components/schemas/vision_detected_face"}},"fingerprint":{"description":"The fingerprint of the detected face","allOf":[{"$ref":"#/components/schemas/vision_face_fingerprint"}]},"matched_persons":{"description":"List of matched persons with similarity metric.  \\nVideoanalytics identification service enriches episode\'s data and fills this field\\nwith the list of persons that are similar to the face detected in this episode.\\n","type":"array","items":{"$ref":"#/components/schemas/vision_person_match"}}}}]},"vision_episode_vehicle":{"allOf":[{"$ref":"#/components/schemas/episode_base"},{"type":"object","description":"Vehicle episode","properties":{"episode_type":{"type":"string","description":"Vehicle is detected","const":"vehicle"},"detections":{"type":"array","description":"Detections associated with this episode","items":{"oneOf":[{"$ref":"#/components/schemas/vision_detected_vehicle"},{"$ref":"#/components/schemas/vision_detected_license_plate"}]}},"vehicle_purpose":{"description":"The purpose of the vehicle, e.g. emergency or regular.","allOf":[{"$ref":"#/components/schemas/vision_vehicle_purpose"}]},"vehicle_emergency_subtype":{"description":"Emergency type of the vehicle.","allOf":[{"$ref":"#/components/schemas/vision_vehicle_emergency_subtype"}]},"license_plate_text":{"description":"Recognized vehicle\'s license plate number","allOf":[{"$ref":"#/components/schemas/vision_license_plate_text"}]},"license_plate_missing":{"type":"boolean","description":"Indicates if no license plate is detected on this vehicle"},"vehicle_facing_side":{"description":"Shows from which side the vehicle was detected.","allOf":[{"$ref":"#/components/schemas/vision_vehicle_facing_side"}]}}}]},"episode_play":{"type":"object","properties":{"playback_token":{"type":"string","description":"Temporary token for playback requests (Media Server Streaming API, Central Streaming API).","example":"onetime_token"},"streaming_endpoint":{"description":"HTTP(s) URL that can be used for streaming API of this episode","type":"string","example":"https://streamer.example.com"}}},"episode_stream_details":{"type":"object","properties":{"stream":{"x-private":true,"description":"Details about stream related to the episode.","allOf":[{"$ref":"#/components/schemas/stream_config_specific"},{"$ref":"#/components/schemas/stream_organization"}]}}},"episodes_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"episodes":{"description":"The list of Episodes fetched according to the query parameters.","type":"array","items":{"$ref":"#/components/schemas/watcher_episode"}}}}]},"watcher_episode":{"allOf":[{"$ref":"#/components/schemas/episode"},{"$ref":"#/components/schemas/episode_play"},{"$ref":"#/components/schemas/episode_stream_details"}]},"watcher_episode_face":{"allOf":[{"$ref":"#/components/schemas/vision_episode_face"},{"$ref":"#/components/schemas/episode_play"}]},"watcher_episode_vehicle":{"allOf":[{"$ref":"#/components/schemas/vision_episode_vehicle"},{"$ref":"#/components/schemas/episode_play"}]},"profile":{"allOf":[{"$ref":"#/components/schemas/user_base"},{"$ref":"#/components/schemas/user_profile"},{"$ref":"#/components/schemas/apikey"}]},"apikey":{"type":"object","description":"Users apikey for access via API.\\n","properties":{"apikey":{"type":"string","description":"Apikey for users access via API.\\n"}}},"web_push_subscription":{"type":"object","description":"WebPush Notifications subscription","required":["endpoint"],"properties":{"endpoint":{"type":"string","format":"uri","description":"Endpoint on which Billing will send Push Messages","example":"https://fcm.googleapis.com/fcm/send/${token}","x-format-description":"uri"}},"externalDocs":"https://developer.mozilla.org/en-US/docs/Web/API/Push_API"},"web_push_subscription_create":{"allOf":[{"$ref":"#/components/schemas/web_push_subscription"},{"type":"object","required":["keys"],"properties":{"keys":{"type":"object","description":"Keys that are used to encrypt the payload","required":["p256dh","auth"],"writeOnly":true,"properties":{"p256dh":{"type":"string","description":"Public key","minLength":1},"auth":{"type":"string","description":"Authentication secret","minLength":1}}}}}]},"persons_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","required":["persons"],"properties":{"persons":{"description":"List of fetched persons according to the query parameters.","type":"array","items":{"$ref":"#/components/schemas/vision_person"}}}}]},"person":{"type":"object","description":"Person","required":["person_id","updated_at","originator"],"properties":{"person_id":{"description":"Identifier of the person","readOnly":true,"format":"snowflake_id","type":"integer","examples":{"default":{"value":7036001172460667000}},"x-format-description":"snowflake_id"},"name":{"type":"string","description":"The name of the person filled in manually or automatically if not recognized\\n","examples":{"default":{"value":"John Doe"},"unknown":{"value":"Unknown ABC"}}},"is_unknown":{"type":"boolean","readOnly":true,"x-private":true,"description":"The flag shows that person name is unset. rm-38808, rm-36612.\\n","default":true},"visits_today":{"type":"integer","readOnly":true,"x-private":true,"default":0,"description":"The counter increases when an episode with this person is created.\\n"},"external_id":{"description":"Identifier of the person in the external system. \\nUse it when supplying the recognition results further into the external system\\n(e.g. for access level check) if the person identifiers in the external system \\nare different from the ones in Flussonic Identification database.\\n\\nThis field may contain `null` when video analytics detects a new person\\nwhich explicitly has no association in the external system (i.e. if `originator=identification_service`). \\n","type":"string","examples":{"default":{"value":"dedcc8e8"}}},"originator":{"description":"Indicates the way this person was created: \\nmanually via an api or automatically in the identification service.\\n","allOf":[{"$ref":"#/components/schemas/vision_person_originator"}]},"updated_at":{"description":"When this person was last updated","type":"integer","format":"utc_ms","example":1637034282845,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"deleted_at":{"description":"When this person was marked as deleted","type":"integer","format":"utc_ms","example":1637095014573,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"photos":{"description":"Person\'s photos. External system uploads images\\nwhich are being processed by videoanalytics\\nto get digital fingerprint of the person\\n","type":"array","items":{"$ref":"#/components/schemas/vision_image_attributes"}}}},"person_create":{"required":["organization_id","name"],"allOf":[{"type":"object","properties":{"organization_id":{"description":"The ID of the organization that the person will be assigned to.\\nOnly the owner of the organization has the ability to add a person to the organization.\\n","type":"integer","example":7},"name":{"type":"string","description":"The name of the person filled in manually or automatically if not recognized\\n","examples":{"default":{"value":"John Doe"}}},"external_id":{"description":"Identifier of the person in the external system. \\nUse it when supplying the recognition results further into the external system\\n(e.g. for access level check) if the person identifiers in the external system \\nare different from the ones in Flussonic Identification database.\\nThis field may contain `null` when video analytics detects a new person\\nwhich explicitly has no association in the external system (i.e. if `originator=identification_service`).\\n","type":"string","nullable":true,"examples":{"default":{"value":"dedcc8e8"}}},"photos":{"description":"Person\'s photos. External system uploads images\\nwhich are being processed by videoanalytics\\nto get digital fingerprint of the person\\n","type":"array","items":{"$ref":"#/components/schemas/vision_image_attributes"}}}}]},"vision_person_originator":{"type":"string","oneOf":[{"title":"api","const":"api","description":"Person is created by operator or external system via API.\\nFor example, when you add the person in Watcher UI, it has `originator=api`.\\nBut when you edit an automatically created person in UI, `originator=identification_service` remains.\\n"},{"title":"identification_service","const":"identification_service","description":"Person is created automatically by the Identification service\\nbecause no matching person was found in the persons database.\\n\\nThe Identification service stores unrecognized persons and matches new episodes with them\\nin case if it becomes known who this is (i.e. if operator edits such person in UI to specify name).\\n"}]},"vision_image_attributes":{"type":"object","required":["data"],"properties":{"data":{"description":"Base64-encoded image data","type":"string","format":"base64","x-format-description":"base64"},"sha256":{"type":"string","format":"hexbinary","description":"Checksum of this image","minLength":64,"maxLength":64,"x-format-description":"hexbinary"},"mime_type":{"description":"MIME type of the image","allOf":[{"$ref":"#/components/schemas/vision_image_mimetype"}]}}},"vehicles_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"vehicles_list":{"items":{"$ref":"#/components/schemas/vehicle"},"type":"array","description":"List of vehicles."}}}]},"vehicle":{"type":"object","description":"Vehicle","properties":{"vehicle_id":{"type":"string","format":"license_plate","examples":{"default":{"value":"NBC1234"}},"description":"Vehicle license plate\\n","x-format-description":"license_plate"},"comment":{"type":"string","description":"Human description like car model, color or relation to somebody.\\n"},"visits_today":{"type":"integer","x-private":true,"default":0,"description":"The counter increases when an episode with this person is created.\\n"},"photos":{"description":"Vehicle\'s photos. The photo helps the operator confirm that\\nthe car matches the license plate.\\n","type":"array","items":{"$ref":"#/components/schemas/vision_image_attributes"}}}},"users":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"users_list":{"items":{"$ref":"#/components/schemas/user"},"type":"array","description":"List of fetched users according to the query parameters."}}}]},"user":{"allOf":[{"$ref":"#/components/schemas/user_base"},{"$ref":"#/components/schemas/user_admin"}]},"user_base":{"type":"object","description":"User parameters visible from Admin and Client APIs.\\n","properties":{"name":{"type":"string","description":"User name (login)\\n"},"password":{"type":"string","writeOnly":true,"description":"The specified password will be saved as a hash, used only for writing\\n"},"email":{"type":"string","format":"email","example":"user@example.com","description":"User\'s email. Required for password recovery.\\n","x-format-description":"email"},"phone":{"type":"string","format":"phone-number","example":"+78007778413","description":"User\'s phone number\\n","x-format-description":"phone-number"},"locale":{"description":"The language, selected by user.","type":"string","format":"ISO 639-1","example":"en"},"permissions":{"type":"object","description":"Permissions related settings.","x-private":true,"properties":{"can_add_camera":{"type":"boolean","description":"Indicating whether the user has the permission to add cameras.\\n"},"can_edit_organizations":{"type":"boolean","description":"Indicating whether the user has the permission to edit domain organizations.\\n"},"can_view_organizations":{"type":"boolean","description":"Indicating whether the user has the permission to view domain organizations.\\n"}}}}},"user_profile":{"type":"object","description":"User parameters visible from Admin and Client APIs.\\n","properties":{"is_admin":{"type":"boolean","readOnly":true,"description":"Indicates that user has access_level equal \\"admin\\".\\n"},"is_domain_admin":{"type":"boolean","readOnly":true,"description":"Indicates that user has access_level equal \\"domain admin\\".\\n"},"is_readonly":{"type":"boolean","readOnly":true,"description":"Indicates that the user has a read-only access level.\\n","example":true}}},"user_admin":{"type":"object","description":"User Parameters available from Admin API.\\n","properties":{"id":{"type":"integer","description":"Identifier of the user.\\n","readOnly":true,"example":1},"disabled":{"type":"boolean","default":false,"description":"A parameter that allows you to enable/disable the user\\n","example":false},"readonly":{"type":"boolean","description":"A flag indicating that the user has read-only access and cannot modify their own data.\\n","example":false},"organizations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","description":"Id of the organization\\n","example":1},"title":{"type":"string","description":"Display title of the organization\\n","example":"Cameras"},"owner":{"type":"object","description":"Owner properties.","properties":{"id":{"type":"integer","description":"ID of the organizations owner.","example":2},"name":{"type":"string","description":"Name of the organizations owner.","example":"admin","readOnly":true}}}}},"readOnly":true,"description":"A parameter indicating that the user belongs to certain organizations\\n"},"access_level":{"type":"string","oneOf":[{"const":"generic","description":"Defines standard rights for the user (access is allowed only in the client ui and\\nview of those cameras to which access is granted explicitly)\\n"},{"const":"admin","description":"Grants full rights (allows you to create organizations,\\nuse both admin ui and client ui, change domain settings)\\n"}],"default":"generic","description":"The parameter regulates the rights for the user\\n","example":"generic"}}},"message_send":{"allOf":[{"$ref":"#/components/schemas/message_base"},{"type":"object","properties":{"user_id":{"type":"integer","description":"Identifier of the user to whom the message will be sent.\\n","example":1}}}],"required":["user_id","body"]},"message_base":{"type":"object","description":"The message that will be sent to the user.\\n","properties":{"title":{"type":"string","description":"Message title.\\n","example":"Attention! Maintenance work is in progress.\\n"},"body":{"type":"string","description":"Message text with Markdown.\\n","example":"**Maintenance work is in progress.**\\n"},"type":{"type":"string","oneOf":[{"const":"info","description":"The info message type.\\n"},{"const":"warning","description":"The warning message type.\\n"},{"const":"danger","description":"The danger message type.\\n"}],"description":"The type of a message.\\n","example":"warning"},"is_push":{"type":"boolean","default":false,"description":"Whether to send a push notification to mobile devices or not\\n","example":false},"is_dashboard":{"type":"boolean","default":false,"description":"Whether to display the notification on the information panel or not\\n","example":false}}},"message":{"allOf":[{"$ref":"#/components/schemas/message_base"},{"type":"object","properties":{"id":{"type":"integer","description":"Identifier of the message.\\n","readOnly":true,"example":1},"is_deleted":{"type":"boolean","default":false,"description":"This parameter indicates whether the message is deleted or not.\\n","example":false},"sender":{"type":"object","description":"Message sender\\n","properties":{"id":{"type":"integer","description":"User ID who sent the message\\n","example":1},"name":{"type":"string","description":"User name who sent the message\\n","example":"admin"}}},"user":{"type":"object","description":"Message recipient\\n","properties":{"id":{"type":"integer","description":"User ID to whom the message was sent\\n","example":1},"name":{"type":"string","description":"User name to whom the message was sent\\n","example":"support"}}},"was_read":{"type":"boolean","default":false,"description":"This parameter indicates whether the message has been read or not.\\n","example":false}}}]},"messages":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"messages":{"items":{"$ref":"#/components/schemas/message"},"type":"array","description":"List of fetched messages according to the query parameters."}}}]},"message_response":{"allOf":[{"$ref":"#/components/schemas/message"},{"type":"object","properties":{"devices":{"type":"integer","description":"The number of devices to which push notifications were sent. If the flag `is_push` is set to `true` and no devices are returned,\\nit means the user has no devices registered for push notifications.\\n","readOnly":true,"example":3}}}]},"attendance_person":{"type":"object","properties":{"person_id":{"deprecated":true,"type":"integer","description":"Person ID"},"person_name":{"deprecated":true,"type":"string","description":"We\'ll generate random name for a new unknown persons. For a known person will be displayed saved name.\\n","example":"John Smith"},"person":{"description":"Person information","allOf":[{"$ref":"#/components/schemas/person"}]},"episodes_count":{"type":"integer","description":"The number of episodes with the person\'s participation during the specified interval.\\nIf there are no episodes or there are fewer than the expected number, read\\n[how to configure episodes](https://flussonic.ru/doc/view-episodes-in-watcher-ui/)\\n","example":2},"first_episode":{"$ref":"#/components/schemas/watcher_episode_face"},"last_episode":{"$ref":"#/components/schemas/watcher_episode_face"}}},"attendance_persons_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"attendance":{"description":"List of visits for all persons","type":"array","items":{"$ref":"#/components/schemas/attendance_person"}}}}]},"attendance_vehicle":{"type":"object","properties":{"vehicle":{"description":"Vehicle information","allOf":[{"$ref":"#/components/schemas/vehicle"}]},"episodes_count":{"type":"integer","description":"The number of episodes with the vehicle\'s participation during the specified interval.\\nIf there are no episodes or there are fewer than the expected number, read\\n[how to configure episodes](https://flussonic.ru/doc/view-episodes-in-watcher-ui/)\\n","example":2},"first_episode":{"$ref":"#/components/schemas/watcher_episode_vehicle"},"last_episode":{"$ref":"#/components/schemas/watcher_episode_vehicle"}}},"attendance_vehicles_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"attendance":{"description":"List report of vehicle license plates","type":"array","items":{"$ref":"#/components/schemas/attendance_vehicle"}}}}]},"agent_config_base":{"type":"object","properties":{"id":{"type":"string","description":"Agent identifier","x-primary-key":true,"example":"1234567"},"model":{"type":"string","readOnly":true,"description":"The model of the camera with [Agent](https://flussonic.com/doc/agent-with-watcher/).\\n"},"stats":{"description":"Agents\'s metrics and other statistical information.","allOf":[{"$ref":"#/components/schemas/watcher_agent_stats"}],"readOnly":true}}},"watcher_agent_stats":{"type":"object","properties":{"agent_type":{"type":"string","enum":["single","router"],"default":"single","description":"The type of Agent installed on the device: \\n\\n* `single` means \\"one Agent = one camera\\", i.e. Agent is installed on a camera itself.\\n* `router` means \\"one Agent = multiple cameras\\", i.e. Agent is installed on a router\\nto provision the cameras from LAN to Watcher.\\n"},"connections_requested":{"type":"integer","default":0,"description":"The number of connections requested by Agent."},"connections_established":{"type":"integer","default":0,"description":"The number of successfully established connections."},"local_ip":{"type":"string","format":"ipv4","description":"IP address of the device (camera or router) in the local network.","example":"10.10.17.88","x-format-description":"ipv4"},"mac_address":{"type":"string","example":"F0-23-B9-59-20-F1","description":"MAC-address of the device."},"version":{"type":"string","description":"Agent version.","example":"v21.02-8-g535c85d"},"streampoint_connection":{"description":"Parameters of the connection between Agent and its streampoint.","allOf":[{"$ref":"#/components/schemas/watcher_agent_control_connection"},{"$ref":"#/components/schemas/watcher_agent_data_connections"}]}}},"agent_activation_token":{"required":["token"],"properties":{"token":{"type":"string","description":"Agent activation token.\\n"},"stream_name":{"type":"string","description":"A unique stream name. Its presence notifies about the binding of the agent token to the stream.\\n"}}},"agent_activation_token_request":{"required":["title"],"properties":{"title":{"type":"string","description":"Human readable title of the camera as displayed in the UI.\\n"},"organization_id":{"type":"integer","description":"The identifier of the Organization to which the camera belongs.\\nThe user activating the camera must have the right to control the cameras in this organization.\\nIf user belongs to only one organization, camera will be automatically added to this organization.\\nIf user belongs to multiple organizations, this parameter is required.\\n"},"preset_id":{"type":"integer","description":"The identifier of the preset assigned to the camera.\\nIf this parameter is not specified, the camera will be added with default preset.\\n"},"folder_id":{"type":"integer","description":"The identifier of a folder to which the camera is added.\\n"},"enabled":{"type":"boolean","description":"Shows if the camera enabled or not. If the camera is enabled (the parameter is true), video from it is captured by the streamer.\\n"},"static":{"type":"boolean","description":"If true, the video is captured continuously; if false, the camera is in \\"On-demand\\" mode.\\n"},"dvr_depth":{"type":"integer","description":"The archive depth for the camera (the number of days).\\n","minimum":0},"dvr_space":{"type":"integer","description":"The maximum storage space for the camera\'s archive, in Gigabytes.\\n","minimum":0},"comment":{"type":"string","description":"Any text note about the camera.\\n"},"coordinates":{"type":"object","allOf":[{"$ref":"#/components/schemas/coordinates"}]},"postal_address":{"type":"string","description":"The postal address of the camera.\\n"}}},"organization_base":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"description":"Organization identifier.","example":7},"title":{"type":"string","description":"Human-readable name of the organization.","example":"Example LLC"}},"required":["id","title"]},"organization":{"allOf":[{"$ref":"#/components/schemas/organization_base"},{"type":"object","properties":{"stats":{"type":"object","description":"Counts for streams, users and mosaics in organization.","readOnly":true,"properties":{"streams":{"type":"integer","description":"Count of streams in organization.","example":12},"users":{"type":"integer","description":"Count of users in organization.","example":12},"mosaics":{"type":"integer","description":"Count of mosaics in organization.","example":2}}},"limits":{"type":"object","description":"Limits for properties in organization.","properties":{"streams":{"type":"integer","description":"Streams limit in organization. Maximum amount of streams for organization.","example":50,"default":5000},"users":{"type":"integer","description":"Owner cannot add users above this limit.","example":50,"default":2000}}},"is_default":{"type":"boolean","description":"Is that organization is default for new users.","readOnly":true,"example":true},"domain":{"type":"object","description":"Domain properties.","readOnly":true,"x-private":true,"properties":{"id":{"type":"integer","description":"ID of the organizations domain.","example":2},"title":{"type":"string","description":"Title of the organizations domain.","example":"Flussonic Watcher"}}},"owner":{"type":"object","description":"Owner properties.","properties":{"id":{"type":"integer","description":"ID of the organizations owner.","example":2},"name":{"type":"string","description":"Name of the organizations owner.","example":"admin","readOnly":true}}},"user_permissions":{"description":"User permissions in organization.","type":"object","allOf":[{"$ref":"#/components/schemas/organization_permissions"}],"readOnly":true}}}]},"organizations_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"organizations":{"items":{"$ref":"#/components/schemas/organization"},"type":"array","description":"List of organizations."}}}]},"organization_permissions":{"type":"object","properties":{"is_member":{"type":"boolean","description":"Is the user a member of the organization.","example":true,"readOnly":true},"can_view_stats":{"type":"boolean","description":"An indicator of whether the user can view statistics of organization.","example":true},"can_edit_streams":{"type":"boolean","description":"An indicator of whether the user has control over the streams.","example":true},"can_edit_users":{"type":"boolean","description":"An indicator of whether the user has control over the users.","example":true},"can_view_persons_lists":{"type":"boolean","description":"An indicator of whether the user can view persons list in organization.","example":true},"can_edit_persons_lists":{"type":"boolean","description":"An indicator of whether the user has control over the persons list in organization.","example":true}}},"organization_user":{"type":"object","properties":{"id":{"type":"integer","description":"User identifier","example":7,"readOnly":true},"name":{"type":"string","description":"User name","example":"Example LLC","readOnly":true},"email":{"type":"string","description":"User email","example":"user@example.com","readOnly":true},"permissions":{"type":"object","description":"User permissions","properties":{"folders":{"description":"List of permissions in [Folders](https://flussonic.com/doc/api/watcher-client/#tag/folder)","type":"array","readOnly":true,"items":{"allOf":[{"type":"object","properties":{"id":{"type":"integer","description":"Id of [Folder](https://flussonic.com/doc/api/watcher-client/#tag/folder)"}}},{"$ref":"#/components/schemas/folder_user"}]}},"organization":{"type":"object","description":"User permissions in [Organization](https://flussonic.com/doc/api/watcher-client/#tag/organization)\\n","allOf":[{"$ref":"#/components/schemas/organization_permissions"}]}}}}},"organization_users_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"users":{"items":{"$ref":"#/components/schemas/organization_user"},"type":"array","description":"List of users in organizations."}}}]},"floor_file":{"type":"object","description":"Floor file object","properties":{"b64_content":{"description":"Image data in base64 format","writeOnly":true,"title":"b64_content","type":"string"},"binary_content":{"description":"Image data in binary format","writeOnly":true,"title":"binary_content","type":"string"},"mime_type":{"description":"Mime type of the image","writeOnly":true,"title":"mime_type","type":"string"},"url":{"description":"Image URL","readOnly":true,"title":"url","type":"string"}}},"folder":{"type":"object","properties":{"id":{"readOnly":true,"type":"integer","description":"The folder ID.\\n"},"streams_count":{"type":"integer","readOnly":true,"description":"The number of streams in the folder.\\n"},"coordinates":{"description":"The folder may have a floor plan attached to it to be shown on the map.\\nThis parameter sets the image center coordinates: latitude and longitude.\\n","allOf":[{"$ref":"#/components/schemas/map_spec"}]},"floor_plan":{"type":"object","description":"Object of map parameters","properties":{"file":{"$ref":"#/components/schemas/floor_file"},"bottomleft":{"description":"The coordinates of the bottom left corner of the floor plan image.\\n","allOf":[{"$ref":"#/components/schemas/map_spec"}]},"topleft":{"description":"The coordinates of the top left corner of the floor plan image.\\n","allOf":[{"$ref":"#/components/schemas/map_spec"}]},"topright":{"description":"The coordinates of the top right corner of the floor plan image.\\n","allOf":[{"$ref":"#/components/schemas/map_spec"}]}}},"hierarchy":{"type":"object","description":"Hierarchy object.","properties":{"level":{"readOnly":true,"type":"integer","description":"The folder level in the hierarchy. The default (main) folder of the Organization is level 0.\\nThe child folder of the default folder is level 1, etc.\\n"},"order_num":{"readOnly":true,"type":"integer","description":"The index number of the folder within the parent folder. This number can be used for ordering folders.\\n"},"shift":{"type":"object","description":"This parameters block allows changing the level of the folder in the hierarchy and order of folders","writeOnly":true,"properties":{"direction":{"type":"string","oneOf":[{"const":"after","title":"after","description":"This parameter allows changing the folders order set by `order_num` without re-numbering all folders manually.\\nJust specify the ID of the folder (on the same level within the parent folder) to place the current folder after.\\nWatcher will rearrange the order numbers automatically.\\n\\nYou can use `shift_before` parameter instead depending on your situation. \\n"},{"const":"before","title":"before","description":"This parameter allows changing the folders order set by `order_num` without re-numbering all folders manually.\\nJust specify the ID of the folder (on the same level within the parent folder) to place the current folder before.\\nWatcher will rearrange the order numbers automatically.\\n\\nYou can use `shift_after` parameter instead depending on your situation.\\n"},{"const":"inside","title":"inside","description":"This parameter allows changing the level of the folder in the hierarchy. \\nSpecify the parent folder ID to place the current folder under it.\\n"}]},"destination":{"description":"The Id of destination folder.","type":"integer"}}}}},"organization_id":{"readOnly":true,"type":"integer","description":"The identifier of the Organization to which the folder belongs.\\n"},"parent_id":{"type":"integer","title":"parent_id","description":"The identifier of the parent folder.\\n"},"title":{"type":"string","description":"The folder name.\\n"}},"required":["id"]},"folders_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"folders":{"items":{"$ref":"#/components/schemas/folder"},"type":"array","description":"List of folders."}}}]},"folder_users_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"users":{"items":{"$ref":"#/components/schemas/folder_users"},"type":"array","description":"List of fetched users in a folder according to the query parameters."}}}]},"folder_users":{"allOf":[{"type":"object","properties":{"user_id":{"type":"integer","description":"User identifier","readOnly":true}}},{"$ref":"#/components/schemas/folder_user"}],"required":["user_id"]},"folder_user":{"type":"object","properties":{"can_view_dvr":{"type":"boolean","default":false,"description":"The flag showing if the user can view archive on the streams in the folder."},"dvr_depth_limit":{"type":"integer","format":"seconds","minimum":0,"description":"The dvr depth limit allows to:\\nSet the maximum recording depth, which determines how far back recorded materials can be viewed.\\nManage access to archived data, ensuring security and control over who can access records.\\nif set to 0, the user has unlimited access to the archive.\\n","example":3600,"x-format-description":"seconds"},"can_use_ptz":{"type":"boolean","default":false,"description":"The flag if the user can use PTZ controls."},"can_use_actions":{"type":"boolean","default":false,"description":"The flag showing if the user can manage and execute actions on the streams in the folder."}}},"preset":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"description":"Preset identifier","example":7},"title":{"type":"string","description":"Human-readable name of the preset.","example":"Example preset name"},"is_adjustable":{"type":"boolean","description":"Shows if the preset is adjustable.\\n```is_adjustable``` is needed for a situation where presets are managed by external billing. \\nIf ```is_adjustable: true``` user can change camera settings meanwhile using this preset. \\nIf ```is_adjustable: false``` user can not change camera settings meanwhile using this preset. \\n\\nIf the camera has a non-adjustable presets, the DVR and analytics parameters from PUT requests will not be applied. \\nIn this case, either make the preset adjustable, or change the preset itself to achieve the required configuration. \\n","default":true,"example":true},"dvr":{"description":"DVR configuration","allOf":[{"$ref":"#/components/schemas/stream_dvr_spec"}]},"vision":{"description":"Vision configuration","allOf":[{"$ref":"#/components/schemas/vision_spec"}]},"precise_thumbnails_days":{"format":"integer","minimum":0,"type":"integer","x-private":true,"description":"The number of days during which the precise screenshots of the analytics (face recognition or ANPR) events\\nshould be stored in the database.\\n","x-format-description":"integer"},"domain_id":{"format":"integer","type":"integer","readOnly":true,"x-private":true,"description":"The identifier of the Watcher domain where the preset will be available.\\n","x-format-description":"integer"}},"required":["id","title"]},"presets_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"presets":{"items":{"$ref":"#/components/schemas/preset"},"type":"array","description":"List of presets."}}}]},"language_tags":{"type":"object","description":"The collection of language tags.\\nThe key is the language tag which you can use in the UI with i18n.\\nThe value is the translation for the specific language.\\n","additionalProperties":{"type":"string"},"x-key-type":"string","example":{"cameras.camera_name":"Camera name","key2":"value2"}},"coordinates":{"type":"object","description":"The camera geographic coordinates: latitude and longitude.\\n","properties":{"latitude":{"type":"float","description":"Latitude."},"longitude":{"type":"float","description":"Longitude."}}},"device_token":{"type":"object","description":"Generated with firebase token","required":["token"],"properties":{"token":{"description":"Device token. You can read how to create it here: https://firebase.google.com/docs/cloud-messaging/android/client?hl=en#sample-register\\n","title":"token","type":"string","readOnly":true},"device":{"$ref":"#/components/schemas/device_info"}}},"subscription_request":{"properties":{"stream_name":{"description":"stream identificator","title":"stream_name","type":"string"},"event_types":{"description":"Choosing which type of events to subscribe to","type":"object","properties":{"episode_generic":{"description":"Generic episode","type":"boolean","example":true},"episode_vehicle":{"description":"Vehicle episode","type":"boolean","example":false},"episode_face":{"description":"Face episode","type":"boolean","example":true}}},"notification_type":{"description":"Type of notification","title":"notification_type","type":"string","enum":["push"]}},"required":["event_types","notification_type","stream_name"],"type":"object"},"subscription":{"allOf":[{"$ref":"#/components/schemas/subscription_request"},{"type":"object","properties":{"notification_frequency":{"description":"notification frequency in seconds","format":"seconds","title":"notification_frequency","type":"number","x-format-description":"seconds"}}}]},"device_info":{"type":"object","description":"Device info","required":["platform"],"properties":{"model":{"description":"Device model","type":"string"},"platform":{"description":"Device platform","enum":["ios","android"],"type":"string"},"version":{"description":"Device platform version","type":"string"}}},"notifications_request":{"type":"object","description":"Notification data","required":["title","body"],"properties":{"title":{"description":"Title of notification","type":"string"},"body":{"description":"Body of notification","type":"string"}}},"mosaic":{"type":"object","properties":{"id":{"description":"Mosaic identifier.","type":"integer","readOnly":true,"example":7},"title":{"description":"Human-readable mosaic name.","type":"string"},"type":{"description":"Use this parameter to specify mosaic display mode and size.","type":"string","oneOf":[{"const":"1x7","title":"1x7","description":"Size 1x7"},{"const":"2x2","title":"2x2","description":"Size 2x2"},{"const":"3x3","title":"3x3","description":"Size 3x3"},{"const":"4x4","title":"4x4","description":"Size 4x4"},{"const":"5x5","title":"5x5","description":"Size 5x5"},{"const":"6x6","title":"6x6","description":"Size 6x6"},{"const":"7x7","title":"7x7","description":"Size 7x7"},{"const":"8x8","title":"8x8","description":"Size 8x8"}],"example":"2x2"},"organization_id":{"description":"The identifier of organization that the mosaic is linked to.","type":"integer","example":9},"streams":{"items":{"$ref":"#/components/schemas/mosaic_stream"},"type":"array","description":"The list of streams from which the mosaic is formed.\\nThe array is contiguously filled in the order of the streams\' arrangement on the mosaic.\\nAn empty element corresponds to a cell without a stream.\\n","readOnly":true}}},"mosaics_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"mosaics":{"items":{"$ref":"#/components/schemas/mosaic"},"type":"array","description":"List of mosaics"}}}]},"mosaic_stream":{"type":"object","description":"The link to the stream.\\nThere may be an empty object. An empty object corresponds to a cell without a stream.\\n","properties":{"name":{"type":"string","description":"Globally unique stream name.","format":"media_name","example":"ag-12345","x-format-description":"media_name"},"title":{"type":"string","description":"Human-readable title of the stream. Provided for SDT MPEG-TS table or\\nSDP RTSP title parameter.\\n","example":"Hockey channel"},"playback_token":{"type":"string","description":"Temporary token for playback requests (Media Server Streaming API, Central Streaming API).","example":"onetime_token"},"streaming_endpoint":{"description":"HTTP(s) URL that can be used for streaming API of this stream","type":"string","example":"https://ms.example.com"},"alive":{"type":"boolean","description":"A flag indicating if the current stream of the camera is available (true) or not (false).\\n"}}},"ui_session":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Session id.","example":"05cec7ee-fbd0-11ed-be56-0242ac120002","x-format-description":"uuid"},"ui":{"description":"The using UI type.","type":"string","oneOf":[{"const":"mobile"},{"const":"tablet"},{"const":"desktop"}],"example":"mobile"},"opened_at":{"type":"integer","format":"utc","description":"The time when the admin session started.","example":1643789953,"x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000},"duration":{"type":"integer","format":"milliseconds","description":"The session duration.","x-format-description":"milliseconds"},"pages_sessions":{"type":"array","items":{"type":"object","properties":{"page":{"type":"string","description":"The path to the page from the address line.","example":"/streams"},"id":{"type":"string","format":"uuid","description":"Page session id.","example":"05cec7ee-fbd0-11ed-be56-0242ac120002","x-format-description":"uuid"},"visit_count":{"type":"integer","description":"The number of visits to the page.","example":5}}},"description":"The sessions of the pages."}}},"ptz_command":{"type":"object","discriminator":{"propertyName":"command","mapping":{"move_continuous":"#/components/schemas/ptz_move_continuous"}},"oneOf":[{"$ref":"#/components/schemas/ptz_move_continuous"}]},"ticket":{"type":"object","properties":{"id":{"type":"integer","description":"Ticket ID","readOnly":true,"example":181858},"category":{"type":"string","oneOf":[{"const":"camera_failed_to_activate","description":"The camera doesn\'t activate.\\n"},{"const":"camera_video_unavailable","description":"No video from the camera.\\n"},{"const":"camera_episodes_not_genering","description":"Camera episodes are not generated.\\n"},{"const":"other","description":"Other category.\\n"}]},"description":{"type":"string","description":"Description of the ticket\\n","example":"My problem description"},"updated_at":{"type":"integer","format":"utc_ms","readOnly":true,"description":"Last time of ticket modified. Last time created new commanet or ticket status updated.\\n","examples":{"default":{"value":1637094994000}},"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"created_at":{"type":"integer","format":"utc_ms","readOnly":true,"description":"Ticket creation time\\n","examples":{"default":{"value":1637094994000}},"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"closed_at":{"type":"integer","format":"utc_ms","readOnly":true,"description":"Ticket closing time\\n","examples":{"default":{"value":1637094994000}},"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"attachments":{"type":"array","readOnly":true,"description":"Attachment for the ticket","items":{"$ref":"#/components/schemas/attachment"}}},"required":["id","category"]},"tickets_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"tickets":{"items":{"$ref":"#/components/schemas/ticket"},"type":"array","description":"List of tickets"}}}]},"comment":{"type":"object","properties":{"id":{"type":"integer","description":"Comment ID\\n","readOnly":true,"example":1387612},"created_at":{"type":"integer","format":"utc_ms","description":"Comment creation time\\n","examples":{"default":{"value":1637094994000}},"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"body":{"type":"string","description":"Text of the comment\\n","example":"Some comment message"},"attachments":{"type":"array","readOnly":true,"description":"List of attachments for the comment","items":{"$ref":"#/components/schemas/attachment"}},"creator":{"type":"string","oneOf":[{"const":"user","description":"Users comment.\\n"},{"const":"support","description":"Supports comment.\\n"}]}}},"comments_list":{"allOf":[{"$ref":"#/components/schemas/collection_response"},{"type":"object","properties":{"comments":{"items":{"$ref":"#/components/schemas/comment"},"type":"array","description":"List of comments"}}}]},"attachment":{"type":"object","properties":{"id":{"type":"integer","description":"Attachment identifier","example":100817},"name":{"type":"string","description":"Attachment filename","example":"sample.jpg"}}},"error":{"type":"object","properties":{"id":{"type":"string","description":"a unique identifier for this particular occurrence of the problem\\n"},"status":{"type":"string","description":"the HTTP status code applicable to this problem, expressed as a string value\\n"},"code":{"type":"string","description":"an application-specific error code, expressed as a string value\\n"},"title":{"type":"string","description":"a short, human-readable summary of the problem that SHOULD NOT change from\\noccurrence to occurrence of the problem, except for purposes of localization\\n"},"source":{"description":"an object containing references to the source of the error\\n","type":"object","properties":{"pointer":{"type":"string","description":"a JSON Pointer [RFC6901] to the associated entity in the request document\\n[e.g. `\\"/data\\"` for a primary data object, or `\\"/data/attributes/title\\"` for a specific attribute].\\n"},"parameter":{"type":"string","description":"a string indicating which URI query parameter caused the error."}}},"meta":{"type":"object","description":"a meta object containing non-standard meta-information about the error.\\n","additionalProperties":{"type":"string"}}}},"locale":{"description":"The locale","type":"string","format":"ISO 639-1","example":"en"},"map":{"oneOf":[{"$ref":"#/components/schemas/map_base"},{"$ref":"#/components/schemas/map_custom"}],"discriminator":{"propertyName":"provider","mapping":{"yandex":"#/components/schemas/map_base","google":"#/components/schemas/map_base","osm":"#/components/schemas/map_base","custom":"#/components/schemas/map_custom"}}},"map_base":{"type":"object","description":"Properties of the map","required":["provider"],"properties":{"center":{"description":"Coordinates of map center.","allOf":[{"$ref":"#/components/schemas/map_spec"}]},"api_key":{"description":"Map server API Key if required.","type":"string"},"provider":{"type":"string","description":"Provider of the maps."}}},"map_custom":{"allOf":[{"$ref":"#/components/schemas/map_base"},{"type":"object","required":["url"],"properties":{"url":{"description":"Custom map server url.","type":"string","format":"url","x-format-description":"url"}}}]},"media_info":{"allOf":[{"$ref":"#/components/schemas/media_info_specific"},{"$ref":"#/components/schemas/media_info_common"}]},"media_info_specific":{"type":"object","properties":{"flow_type":{"description":"Whether it is a file with a finite start and end time or a live stream.","oneOf":[{"const":"file"},{"const":"stream"},{"const":"dvr_file"},{"const":"dvr_stream"}],"type":"string","example":"stream"},"tracks":{"description":"Information about available tracks (video, audio, or text).","items":{"allOf":[{"$ref":"#/components/schemas/track_info"}]},"type":"array","default":[],"x-api-allow":["smartcam"]},"duration":{"type":"number","format":"ticks","description":"Duration of the media, if applicable.","x-format-description":"ticks"}}},"track_info":{"oneOf":[{"$ref":"#/components/schemas/track_info_video"},{"$ref":"#/components/schemas/track_info_audio"},{"$ref":"#/components/schemas/track_info_text"},{"$ref":"#/components/schemas/track_info_metadata"},{"$ref":"#/components/schemas/track_info_application"}],"discriminator":{"propertyName":"content","mapping":{"video":"#/components/schemas/track_info_video","audio":"#/components/schemas/track_info_audio","text":"#/components/schemas/track_info_text","metadata":"#/components/schemas/track_info_metadata","application":"#/components/schemas/track_info_application"}},"x-record-definition":"#/components/schemas/track_info_full"},"track_info_video":{"allOf":[{"$ref":"#/components/schemas/track_info_base"},{"$ref":"#/components/schemas/track_info_base_configurable"},{"type":"object","properties":{"codec":{"description":"Codec of the track. Different codecs do **not** get the same track.","allOf":[{"$ref":"#/components/schemas/frame_codec"}],"example":"h264","x-api-allow":["smartcam","iris-hal"]}}},{"$ref":"#/components/schemas/track_info_video_specific"},{"$ref":"#/components/schemas/track_info_video_configurable"}]},"track_info_base":{"type":"object","properties":{"track_id":{"description":"Track identifier assigned by Flussonic.","anyOf":[{"type":"integer"},{"type":"string"}],"example":"v1"},"frame_duration":{"description":"For video track, it is the time between the beginning of a frame and the beginning of the next frame.\\n\\nThis parameter is important for some protocols. Normally, frame duration is a difference between timestamps of two neighbouring frames.\\nHowever, sometimes (when the connection is broken) video breakups are possible.\\nAs result, the delta between two consequent frame timestamps will not be equal to the frame duration.\\nThis situation is considered as a frame gap and is handled differently across different protocols.\\n","type":"number","format":"ticks","x-format-description":"ticks"},"avg_fps":{"description":"Actual average FPS - the number of frames diplayed per second (calculated for the last 200 frames).\\nThe higher FPS is, the smoother the video playback is. \\nUsually, standard values of FPS for films and video are used in different countries (for example, in Russia and Europe it is 25 FPS).\\n","type":"number","x-notice":"calculated fps for statistic"},"bandwidth":{"description":"Bandwidth necessary to transfer this track.\\nThis is slightly grater than bitrate because transport (e.g. MPEG TS) adds some overhead\\n","type":"integer","format":"speed","example":2600,"x-format-description":"speed"}}},"track_info_base_configurable":{"type":"object","required":["content"],"properties":{"content":{"description":"Content of the track (audio, video, or text).","allOf":[{"$ref":"#/components/schemas/frame_content"}],"x-api-allow":["smartcam","iris-hal"]},"title":{"description":"Human-readable localized title of the track.","type":"string","x-notice":"Human-readable localized title for HDS/HLS","example":"Video1"},"bitrate":{"description":"Bitrate of the track in kbit/s.\\nWhen using sdtv/hdtv/uhdtv transcoder target, for video tracks\\nthis field sets the desired transport bandwidth instead of raw video bitrate.\\n","type":"integer","format":"speed","example":2543,"x-api-allow":["smartcam","iris-hal"],"x-format-description":"speed"},"pid":{"description":"This parameter sets PIDs values for outgoing MPEG-TS streams.\\nPID identifies separate data stream inside the multiplexed MPEG-TS stream.\\nIt is possible to set PID values for PMT, SDT, video, and audio tracks.\\nTracks are numbered starting from one. The code a1=123 sets a PID value for the first audio track.\\n\\nIt is possible to set the base index for the tracks of a certain type using the 0 (zero) index.\\nFor example, t0=100 sets PID=101 for the first track, 102 for the second, and so on.\\nNumbers can be given in decimal form (by default) or hexadecimal with 16# prefix.\\n","allOf":[{"$ref":"#/components/schemas/ts_pid"}]}}},"frame_content":{"type":"string","oneOf":[{"title":"Audio","const":"audio"},{"title":"Video","const":"video"},{"title":"Text","const":"text"},{"title":"Metadata","const":"metadata"},{"title":"Application","const":"application"}]},"ts_pid":{"maximum":8191,"minimum":0,"type":"integer"},"frame_codec":{"anyOf":[{"$ref":"#/components/schemas/frame_video_codec"},{"$ref":"#/components/schemas/frame_audio_codec"},{"$ref":"#/components/schemas/frame_raw_codec"},{"$ref":"#/components/schemas/frame_text_codec"},{"$ref":"#/components/schemas/frame_app_codec"},{"type":"string","readOnly":true,"x-private":true,"description":"We will show recieved codec, but it could not be configured."}]},"frame_video_codec":{"type":"string","oneOf":[{"title":"H.264","const":"h264"},{"title":"HEVC (H.265)","const":"hevc"},{"title":"MP2V","const":"mp2v"},{"title":"VP9","const":"vp9","deprecated":true,"x-delete-at":23.09},{"title":"MJPEG","const":"mjpeg"},{"title":"Screen","const":"screen"},{"title":"JPEG","const":"jpeg"},{"title":"AV1","const":"av1"}]},"frame_audio_codec":{"type":"string","oneOf":[{"title":"AAC","const":"aac","x-api-allow":["watcher-client","watcher-admin"]}]},"frame_raw_codec":{"type":"string","oneOf":[{"title":"YUV","const":"yuv"},{"title":"UYVY422","const":"uyvy422"},{"title":"YUYV422","const":"yuyv422"},{"title":"YUV422p10","const":"yuv422p10"},{"title":"ARGB","const":"argb"},{"title":"RGB48","const":"rgb48"},{"title":"V210","const":"v210"},{"title":"PCM","const":"pcm"}]},"frame_text_codec":{"type":"string","oneOf":[{"title":"TTXT","const":"ttxt"},{"title":"Text","const":"text"},{"title":"WVTT","const":"wvtt"},{"title":"TTML","const":"ttml"},{"title":"Subtitle","const":"subtitle"},{"title":"ID3T","const":"id3t"},{"title":"ONVIF","const":"onvif"},{"title":"TX3G","const":"tx3g"}]},"frame_app_codec":{"oneOf":[{"title":"MPEG-TS","const":"mpegts"},{"title":"Object","const":"object"},{"title":"EIT","const":"eit"},{"title":"SCTE-27","const":"scte27"},{"title":"SCTE-35","const":"scte35"},{"title":"KLV","const":"klv"},{"title":"Empty","const":"empty"}],"type":"string"},"track_info_video_specific":{"type":"object","properties":{"last_gop":{"description":"Last GOP size (expressed in number of frames).\\nThis parameter is used to monitor the quality of encoding: normally, average GOP size should be equal to the last GOP size.\\nIf this value is floating, this means that your transcoder is working in a flexible GOP size mode and some players may have problems.\\nThis is not acceptable by most ABR usecases and it will not pass DVB validation protocol.\\n","type":"integer","example":28},"avg_gop":{"type":"integer","description":"Average GOP size (expressed in number of frames) of the last 1000-2000 frames.\\nThis parameter is used to monitor the quality of encoding: normally, average GOP size should be equal to the last GOP size.\\nIf this value is floating, this means that your transcoder is working in flexible GOP size mode and some players may have problems.\\nThis is not acceptable by most ABR usecases and it will not pass DVB validation protocol.\\n","example":25},"length_size":{"enum":[2,4],"default":4,"type":"integer","x-notice":"H264 private option","description":"The size of the length field for H264 bitstream without start codes."},"is_progressive":{"description":"Indicates if progressive scanning method is used for all frames of the track\\n","type":"boolean","default":true},"closed_captions":{"description":"Parameters of closed captions.","items":{"allOf":[{"$ref":"#/components/schemas/closed_captions"}]},"type":"array","default":[]}}},"closed_captions":{"type":"object","properties":{"language":{"description":"Language of closed captions.","type":"string","example":"eng"},"name":{"description":"Under what name the audio track will be displayed on the player.","type":"string","example":"English"},"type":{"x-private":true,"description":"The standard of the closed captions. \\nThe value is either 608 or 708 for CEA-608 and CEA-708 standards respectively.\\n\\nThis value is important for HLS and DASH players to display closed captions. \\nFor such players the presence should be explicit in the manifest files.\\n","type":"string","x-notice":"CC 608, 708","example":"608"},"id":{"x-private":true,"description":"The number of the channel that has closed captions. \\nIt\'s an integer between 1 and 4 for CEA-608 and between 1 and 63 for CEA-708.\\n","type":"string","x-notice":"CC 608 channel, CC 708 service num","example":"3"}}},"track_info_video_configurable":{"type":"object","properties":{"width":{"description":"The picture width in pixels on the display where it will be played by a player.\\nIf you need to insert a web-player into a web page, use this value for choosing the player size.\\n","type":"integer","format":"pixels","x-api-allow":["smartcam"],"x-format-description":"pixels"},"height":{"description":"The picture height in pixels on the display where it will be played by a player.\\nIf you need to insert a web-player into a web page, use this value for choosing the player size.\\n","type":"integer","format":"pixels","x-api-allow":["smartcam"],"x-format-description":"pixels"},"fps":{"description":"Frame rate (frames per second) - the speed at which a sequence of images is displayed on a screen.\\nHigher frame rates capture more images per second, which makes for smoother video.\\nThe standard frame rate for color television in the Phase Alternating Line (PAL) format is 25 fps.\\nThe standard frame rate for color television in the National Television System Committee (NTSC) format is 29,97 fps\\n(a little bit lower than the original frame rate of black and white NTSC television, equal to 30 fps.)\\nIf interlaced TV is used, two fields of each frame (with odd-numbered lines and with even-numbered lines) are displayed consequently,\\nbut the frame rate is actually not doubled (50 half-frames are still equal to 25 original frames). \\n","type":"number","x-api-allow":["smartcam"]},"pix_fmt":{"allOf":[{"$ref":"#/components/schemas/frame_video_pix_fmt"}],"default":"yuv420p","description":"The color model of the video."},"num_refs_frames":{"type":"integer","maximum":32,"minimum":0,"description":"The number of I-frames to be used for encoding."},"sar_width":{"description":"The first number in SAR. SAR is the ratio of the width of the display video representation to the width of the pixel representation.\\nSAR is used for creating non-anamorphic video from anamorphic video.\\n","default":1,"type":"integer","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/transcoder-internals/#transcoder-options_sar"}},"sar_height":{"description":"The second number in SAR. SAR is the ratio of the width of the display video representation to the width of the pixel representation.\\nSAR is used for creating non-anamorphic video from anamorphic video.\\n","default":1,"type":"integer","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/transcoder-internals/#transcoder-options_sar"}},"pixel_width":{"description":"The picture width in pixels of the original video before transcoding.","type":"integer","format":"pixels","x-format-description":"pixels"},"pixel_height":{"description":"The picture width in pixels of the original video before transcoding.","type":"integer","format":"pixels","x-format-description":"pixels"},"level":{"type":"string","description":"A set of constraints that indicate a degree of required decoder performance.\\nThis parameter is used for compatibility with old devices.\\n","x-api-allow":["smartcam"]},"profile":{"description":"A specific codec-dependent profile of the output video.\\nThe profile allows to assume if the track can be played on a particular device.\\n","type":"string","x-api-allow":["smartcam"]},"bframes":{"description":"Average number of B-frames in a GOP. B-frames contain links to keyframes and P-frames before and after themselves.\\nB-frames help to compress the video. However, some players impose limitations on this number: usually no more than 2 B-frames are used.\\nThis value also defines the GOP structure - the repeated pattern of frames after the keyframe: P, BP, BBP, BBBP, or BBBBP.\\n","type":"integer","x-notice":"calculated number of bframes for statistic","example":3},"gop_size":{"description":"The number of frames in a group of pictures (GOP). \\nThe encoder will create all GOPs of an exactly identical size - as specified in this option.\\nA bigger GOP can be good for video compression but it can result in big zap-time (the duration of time between changing a channel and displaying a new channel.)\\n","type":"integer","x-api-allow":["smartcam"]}}},"frame_video_pix_fmt":{"type":"string","oneOf":[{"title":"YUV420P","const":"yuv420p"},{"title":"YUVJ420P","const":"yuvj420p"},{"title":"YUV422P","const":"yuv422p"},{"title":"YUV444P","const":"yuv444p"},{"title":"YUV420P10","const":"yuv420p10"},{"title":"YUV422P10","const":"yuv422p10"},{"title":"YUV444P10","const":"yuv444p10"},{"title":"YUV420P12","const":"yuv420p12"},{"title":"YUV422P12","const":"yuv422p12"},{"title":"YUV444P12","const":"yuv444p12"},{"title":"Gray8","const":"gray8"},{"title":"Gray10","const":"gray10"},{"title":"Gray12","const":"gray12"},{"title":"NV12","const":"nv12"},{"title":"P016","const":"p016"},{"title":"V210","const":"v210"},{"title":"UYVY422","const":"uyvy422"},{"title":"YUYV422","const":"yuyv422"},{"title":"RGB48","const":"rgb48"},{"title":"ARGB","const":"argb"}]},"track_info_audio":{"allOf":[{"$ref":"#/components/schemas/track_info_base"},{"$ref":"#/components/schemas/track_info_base_configurable"},{"type":"object","properties":{"codec":{"description":"Codec of the track. Different codecs do **not** get the same track.","allOf":[{"$ref":"#/components/schemas/frame_codec"}],"example":"h264","x-api-allow":["smartcam","iris-hal"]}}},{"$ref":"#/components/schemas/track_info_audio_specific"}]},"track_info_audio_specific":{"type":"object","properties":{"channels":{"description":"The number of audio channels.","type":"integer","example":2,"x-api-allow":["smartcam"]},"sample_rate":{"description":"Sample rate, in hertz -\\nthe number of samples per second taken from a continuous signal to make a discrete or digital signal.\\n","type":"integer","example":8000,"x-api-allow":["smartcam"]},"language":{"description":"Language value of the track, if applicable.","type":"string","example":"eng"}}},"track_info_text":{"allOf":[{"$ref":"#/components/schemas/track_info_base"},{"$ref":"#/components/schemas/track_info_base_configurable"},{"type":"object","properties":{"codec":{"description":"Codec of the track. Different codecs do **not** get the same track.","allOf":[{"$ref":"#/components/schemas/frame_codec"}],"example":"h264","x-api-allow":["smartcam","iris-hal"]}}},{"$ref":"#/components/schemas/track_info_text_specific"}]},"track_info_text_specific":{"type":"object","properties":{"language":{"description":"Language value of the track, if applicable.","type":"string","example":"eng"}}},"track_info_metadata":{"allOf":[{"$ref":"#/components/schemas/track_info_base"},{"$ref":"#/components/schemas/track_info_base_configurable"},{"type":"object","properties":{"codec":{"description":"Codec of the track. Different codecs do **not** get the same track.","allOf":[{"$ref":"#/components/schemas/frame_codec"}],"example":"h264","x-api-allow":["smartcam","iris-hal"]}}}]},"track_info_application":{"allOf":[{"$ref":"#/components/schemas/track_info_base"},{"$ref":"#/components/schemas/track_info_base_configurable"},{"type":"object","properties":{"codec":{"description":"Codec of the track. Different codecs do **not** get the same track.","allOf":[{"$ref":"#/components/schemas/frame_codec"}],"example":"h264","x-api-allow":["smartcam","iris-hal"]}}},{"$ref":"#/components/schemas/track_info_application_specific"}]},"track_info_application_specific":{"type":"object","properties":{"language":{"description":"Language value of the track, if applicable.","type":"string","example":"eng"}}},"media_info_common":{"type":"object","properties":{"provider":{"description":"The media provider of this content.","type":"string","example":"Netflix"},"title":{"description":"Human-readable title of the media.","type":"string","example":"Bunny"},"stream_id":{"type":"integer","example":253,"description":"The identifier of the transport stream for MPEG TS streams."},"program_id":{"type":"integer","example":110,"description":"The program ID for MPEG TS streams."}}},"stream_status":{"type":"string","oneOf":[{"title":"Running","const":"running","description":"Input is OK, stream is ready to be served to your audience."},{"title":"Waiting","const":"waiting","description":"Flussonic awaits for input (publish) or it\'s an \'on demand\' stream waiting for client."},{"title":"Error","const":"error","description":"Something is wrong and Flussonic is not able to serve the stream to your audience."}]},"input_stats":{"allOf":[{"type":"object","properties":{"ip":{"type":"string","description":"IP address of the connected peer.","example":"172.16.25.73"},"proto":{"allOf":[{"$ref":"#/components/schemas/protocol"}],"description":"Protocol used for the data transmission in the session.","example":"dash"},"opened_at":{"type":"number","format":"utc_ms","description":"The time when this session was created.","example":1637094994000,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"media_info":{"allOf":[{"$ref":"#/components/schemas/media_info"}],"description":"Technical description of the input content.\\n"},"ts_delay":{"type":"number","format":"ticks","example":1284,"description":"The time period during which no frames were received from the stream\'s input.\\n","x-format-description":"ticks"},"ts_delay_per_tracks":{"type":"array","items":{"type":"number","format":"ticks","x-format-description":"ticks"},"example":[1284],"description":"The time period during which no frames were received per each track according to `media_info`\\n"},"url":{"type":"string","format":"url","description":"Final URL after redirects.\\n\\nDeprecated because was never actually used.\\n","example":"udp://239.0.0.1:1234","deprecated":true,"x-delete-at":25.03,"x-format-description":"url"},"user_agent":{"type":"string","description":"Client\'s user agent for selected protocol.","example":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML. like Gecko) Chrome/90.0.4430.72 Safari/537.36"},"active":{"description":"Whether this input is selected as active for the stream.","type":"boolean","example":true},"dvr_info":{"description":"Information about DVR that this input has\\n","allOf":[{"$ref":"#/components/schemas/dvr_info"}]}}},{"$ref":"#/components/schemas/input_counters"}]},"protocol":{"type":"string","oneOf":[{"title":"copy","const":"copy"},{"title":"fake","const":"fake"},{"title":"RTP","const":"rtp"},{"title":"RTMP","const":"rtmp"},{"title":"RTMPS","const":"rtmps"},{"title":"RTMPE","const":"rtmpe"},{"title":"RTSP","const":"rtsp"},{"title":"RTSP-UDP","const":"rtsp-udp"},{"title":"RTSP2","const":"rtsp2"},{"title":"RTSPS","const":"rtsps"},{"title":"EST","const":"est"},{"title":"SRT","const":"srt"},{"title":"MSE-LD","const":"mseld"},{"title":"SHOUTcast","const":"shoutcast"},{"title":"SHOUTcasts","const":"shoutcasts"},{"title":"WebRTC","const":"webrtc"},{"title":"HLS","const":"hls"},{"title":"HLSS","const":"hlss"},{"title":"HLS2","const":"hls2"},{"title":"HLSS2","const":"hlss2"},{"title":"LL-HLS","const":"llhls"},{"title":"CMAF","const":"cmaf"},{"title":"DASH","const":"dash"},{"title":"MSS","const":"mss"},{"title":"M4S","const":"m4s"},{"title":"M4SS","const":"m4ss"},{"title":"M4F","const":"m4f"},{"title":"M4FS","const":"m4fs"},{"title":"HTTP MPEG-TS","const":"tshttp"},{"title":"HTTPS MPEG-TS","const":"tshttps"},{"title":"TCP MPEG-TS","const":"tstcp"},{"title":"SSL MPEG-TS","const":"tsssl"},{"title":"FLV","const":"flv"},{"title":"annexB","const":"annexb"},{"title":"UDP","const":"udp"},{"title":"UDP1","const":"udp1"},{"title":"UDP2","const":"udp2"},{"title":"UDP3","const":"udp3"},{"title":"UDP MPTS","const":"mpts-udp"},{"title":"HTTP MPTS","const":"mpts-http"},{"title":"HTTPS MPTS","const":"mpts-https"},{"title":"DVB MPTS","const":"mpts-dvb"},{"title":"DVB","const":"dvb"},{"title":"Decklink","const":"decklink"},{"title":"DekTec","const":"dektec"},{"title":"DekTec ASI","const":"dektec-asi"},{"title":"v4l","const":"v4l"},{"title":"v4l2","const":"v4l2"},{"title":"Playlist","const":"playlist"},{"title":"Mixer","const":"mixer"},{"title":"Mosaic","const":"mosaic"},{"title":"Mosaic2","const":"mosaic2"},{"title":"Timeshift","const":"timeshift"},{"title":"File","const":"file"},{"title":"Download","const":"download"},{"title":"MBR","const":"mbr"},{"title":"MP4","const":"mp4"},{"title":"Logo","const":"logo"},{"title":"JPEG","const":"jpeg"},{"title":"MJPEG","const":"mjpeg"},{"title":"H.323","const":"h323"},{"title":"Ad injector","const":"ad_injector"},{"title":"ffmpeg","const":"ffmpeg"},{"title":"Transponder","const":"transponder"},{"title":"API","const":"api"},{"title":"JSON manifest","const":"json_manifest"},{"title":"Player","const":"player"},{"title":"NDI","const":"ndi"},{"title":"ST2110","const":"st2110"}]},"dvr_info":{"type":"object","properties":{"from":{"type":"integer","format":"utc","description":"The UTC timestamp of the first recording in this archive.","example":1641045644,"x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000},"depth":{"type":"integer","format":"seconds","description":"The time interval between the start of the *first* recording segment and the end of the *last* one.","example":259200,"x-format-description":"seconds"},"ranges":{"deprecated":true,"x-delete-at":24.09,"description":"The list of DVR ranges. The param is replaced with `ranges_list` method.","items":{"allOf":[{"$ref":"#/components/schemas/dvr_range"}]},"type":"array"},"bytes":{"description":"The size of the recorded archive.","type":"integer","format":"bytes","example":129600000000,"x-format-description":"bytes"},"disk_size":{"description":"The size of the recorded archive. Please, use bytes instead.","type":"integer","format":"bytes","example":1099511627776,"deprecated":true,"x-delete-at":25.07,"x-format-description":"bytes"},"duration":{"type":"integer","format":"seconds","description":"A total duration of the recorded segments, excluding recording gaps.\\nIt can be smaller than depth if you have gaps.\\n","example":172800,"x-format-description":"seconds"}},"required":["from","depth","ranges"]},"dvr_range":{"type":"object","properties":{"from":{"description":"The beginning of the recorded DVR range. Use opened_at instead.\\nMention that opened_at has milliseconds\\n","type":"integer","format":"utc","example":1525186456,"deprecated":true,"x-delete-at":24.11,"x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000},"duration":{"description":"The duration of the recorded DVR range.\\nUse closed_at instead of this field. \\n","type":"integer","format":"seconds","example":28800,"deprecated":true,"x-delete-at":24.11,"x-format-description":"seconds"},"opened_at":{"type":"integer","format":"utc_ms","description":"The time when this range was started. Naming is standard for whole flussonic ecosystem.\\n\\nIs a replacement for field `from`\\n","examples":{"default":{"value":1637094994000}},"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"closed_at":{"type":"integer","format":"utc_ms","description":"The the of the last recorded data.\\n\\nPlease notice that closed_at could be changed. There are two reasons.\\n- Cleaner process reduced data. Read [more](https://flussonic.com/doc/api/reference/#tag/stream/operation/stream_get/response%7Cdvr%7Cepisodes_url).\\n- Recording is still working. Near real-time value means that DVR is active at the moment.\\n\\nThis is a replacement for `duration` field\\n","examples":{"default":{"value":1637094994000}},"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000}}},"input_counters":{"type":"object","description":"Here are grouped different counters for sessions: generic and errors\\n","properties":{"bytes":{"type":"integer","format":"bytes","default":0,"description":"Number of bytes received by this stream from outside.\\nIt will be counted before transcoding and will sum all inputs working together.\\n","openmetrics_metric":"stream_input_bytes","x-format-description":"bytes"},"frames":{"type":"integer","default":0,"description":"Number of frames passed to this stream from the inputs.\\n"},"retries":{"type":"integer","description":"How many times has this stream retried to connect to source"},"media_info_changes":{"type":"integer","description":"Indicates, how often does media_info changes\\n"},"valid_secondary_inputs":{"description":"Number of secondary inputs that have no problems.","type":"integer","example":2},"invalid_secondary_inputs":{"description":"Number of secondary inputs that have some problems.","type":"integer","example":0},"resync_count_normal":{"type":"integer","description":"Stream timestamps are synchronized with real time. This counter tells, how many times\\nit was syncronized after source reconnect.\\n"},"resync_count_jump":{"type":"integer","description":"Source may change timestamps without any signalling. This counter indicates how bad is the source\\n"},"resync_count_drift":{"type":"integer","description":"Source may send frames timestamps faster or slower than realtime.\\nLive stream will catch it and resync. This counter indicates how many times did it happened.\\n"},"reorder_count":{"type":"integer","description":"Source may send frames not in the order they should be played. It will be catched and reordered.\\nThis counter indicates how many times did it happened.\\n"},"ad_splices_ingested":{"type":"integer","description":"How many Ad markers passed to this stream from the inputs.\\n"},"ad_splices_inserted":{"type":"integer","description":"How many Ad markers inserted to this stream by user.\\n"},"srt":{"type":"object","$ref":"#/components/schemas/input_srt_counters"},"errors":{"type":"integer","description":"Sum of all other specific errors. Can be used for triggering alert on any error\\n","example":0},"errors_lost_packets":{"type":"integer","description":"RTP, MPEG-TS or other protocols have enough information to tell how many packets were lost\\n"},"errors_decoder_reset":{"type":"integer","description":"Decoder reset count due to abnormal DTS change. Can happen in MPEG-TS, RTP.\\n"},"errors_broken_payload":{"type":"integer","description":"Demultiplexing was done right, but content is broken.\\n"},"errors_dropped_frames":{"type":"integer","description":"Dropped frames count due timestamp adjustment.\\n"},"errors_desync":{"type":"integer","description":"This can be used as a `TS_sync_loss` - how many times MPEG-TS sync was lost.\\n\\nAlso this counter refers to RTSP desync, when camera starts dropping TCP data and\\nwe have to find packet boundaries.\\n\\nHere we write count of such resynchronizations.\\n"},"errors_ts_pat":{"type":"integer","description":"how many times PAT was missing during 0,5 seconds or pid 0 misses PAT\\n\\n`PAT_error`\\n"},"pids":{"type":"array","items":{"$ref":"#/components/schemas/input_pid_counters"},"description":"Per pid statistics calculated for MPEG-TS input\\n"},"rtp_channels":{"type":"array","items":{"$ref":"#/components/schemas/input_rtp_counters"},"description":"Per channel statistics calculated for RTP input\\n"},"errors_ts_service_lost":{"type":"integer","description":"How many times have received PAT that was missing required service (program)\\n"},"errors_ts_stuck_restarts":{"type":"integer","description":"Number of connection restarts to fix ts_stuck issue. Can happen in RTSP.\\n"},"errors_404":{"type":"integer","description":"How many times we\'ve got 404 (enoent).\\n"},"errors_403":{"type":"integer","description":"How many times we\'ve got 403 (eaccess).\\n"},"errors_500":{"type":"integer","description":"How many times we\'ve got 500 (backend error).\\n"},"errors_crashed":{"type":"integer","description":"How many times input was restarted due to internal crash.\\n\\nThis may happen due to unhandled input.\\n"}}},"input_srt_counters":{"type":"object","description":"SRT specific counters\\n","properties":{"rtt":{"type":"integer","description":"Round-trip time\\n"},"latency":{"type":"integer","description":"Receiver buffering delay"},"packets":{"type":"integer","description":"Total incoming SRT packets counter\\n"},"retransmitted_packets":{"type":"integer","description":"How many packets were retransmitted\\n"},"error_lost_packets":{"type":"integer","description":"How many SRT packets were lost\\n"},"error_dropped_packets":{"type":"integer","description":"How many SRT packets were dropped by various reasons\\n"}}},"input_pid_counters":{"type":"object","required":["pid"],"properties":{"pid":{"description":"Related MPEG-TS pid with following problems\\n","type":"integer"},"pnr":{"description":"What program does have this pid\\n","type":"integer"},"packets":{"description":"How many MPEG-TS packets with 188 bytes on this pid received\\n","type":"integer"},"frames":{"description":"Frame count on this pid\\n","type":"integer"},"empty_packets":{"description":"Packets without payload and adaptation field\\n","type":"integer"},"errors_adaptation_broken":{"description":"Packets with adaptation field larger than packet size\\n","type":"integer"},"errors_ts_scrambled":{"type":"integer","description":"Amount of scrambled TS packets\\n"},"errors_ts_pmt":{"type":"integer","description":"how many times PMT was not received after 0,5 seconds\\n\\n`PMT_error`\\n"},"errors_ts_cc":{"type":"integer","description":"how many MPEG-TS packets were received with non-contigious contiuity counters.\\n\\n`Continuity_count_error`\\n","example":0},"errors_ts_tei":{"type":"integer","description":"How many MPEG-TS packets with Transport Error Indicator were received\\n\\n`Transport_error`, 2.1\\n"},"errors_ts_psi_checksum":{"type":"integer","description":"How many times have received PSI entry with broken checksum\\n\\n`CRC_error`\\n"},"broken_pes_count":{"type":"integer","description":"How many PES packets were started not from startcode\\n"},"broken_pes_sum":{"type":"integer","description":"How many bytes were discarded due to lack of PES startcode\\n"},"time_corrections":{"type":"integer","description":"Jumps of timestamps inside a MPEG-TS stream\\n"},"repeated_frames":{"type":"integer","description":"In case of CC error last frame can be repeated. This is a count of repeated frames\\n"},"corrected_backward_pts":{"type":"integer","description":"How many times PTS was less than PCR or previous PTS\\n"},"pcr_resync":{"type":"integer","description":"If PTS is drifting away from PCR, it can be resynchronized with PCR. This is a resync count\\n"},"discarded_buffer_count":{"type":"integer","description":"How many times was discarded too big ES buffer without making a frame of it\\n"},"discarded_buffer_sum":{"type":"integer","description":"How many bytes were lost due to discarding ES buffer\\n"},"fillers_count":{"type":"integer","description":"How many H264(5) NAL fillers were seen in the input\\n"},"fillers_sum":{"type":"integer","description":"How many bytes were seen in NAL fillers\\n"},"padding_pes_count":{"type":"integer","description":"How many PES packets were on the Padding streamId\\n"},"padding_pes_sum":{"type":"integer","description":"How many bytes were in PES packets on the Padding streamId\\n"},"crashed":{"type":"integer","description":"Unhandled crashes inside mpegts decoding process due\\n"},"dts_goes_backwards":{"type":"integer","description":"Time on this PID jumped back from reference PTS and it was not a roll over zero\\n"},"dts_jump_forward":{"type":"integer","description":"Time on this PID jumped forward too far away from reference PTS\\n"},"too_large_dts_jump":{"type":"integer","description":"Jump of the PTS was so big from previous, that had to flush all frames and restart parsing\\n"}}},"input_rtp_counters":{"allOf":[{"$ref":"#/components/schemas/rtp_counters_base"},{"$ref":"#/components/schemas/h26x_decoder_counters"}]},"rtp_counters_base":{"type":"object","required":["channel_id"],"properties":{"channel_id":{"description":"RTP channel number\\n","type":"integer","example":0},"content":{"description":"Content of the track transmitted in the channel\\n","type":"string","example":"video"},"rtp_packets":{"type":"integer","description":"How many RTP packets received for this channel\\n"},"rtcp_packets":{"type":"integer","description":"How many RTCP packets received for this channel\\n"},"bytes":{"type":"integer","description":"How many bytes received for this channel\\n"},"frames":{"type":"integer","description":"How many frames received for this channel\\n"},"pt_reject_count":{"type":"integer","description":"Number of rtp packets rejected due to wrong payload type\\n"},"pt_reject_sum":{"type":"integer","description":"Total size of rejected packets due to wrong payload type (pt_reject_count) rtp packets\\n"},"ts_goes_backwards":{"type":"integer","description":"Time on this channel is jumped back from reference wallclock.\\n"},"ts_jump_forward":{"type":"integer","description":"Time on this channel is jumped forward from reference wallclock.\\n"},"ts_stuck":{"type":"integer","description":"https://datatracker.ietf.org/doc/html/rfc6184#section-4.1\\n\\naccess unit: A set of NAL units always containing a primary coded picture.  In addition to the primary coded\\npicture, an access unit may also contain one or more redundant coded pictures or other NAL units not containing\\nslices or slice data partitions of a coded picture.  The decoding of an access unit always results in a\\ndecoded picture.\\n\\nThere is `marker bit` in RTP packet which is set for the very last packet of the access unit indicated by the RTP timestamp.\\n\\nIt is protocol violation if received RTP packet has the same timestamp as previous marker bit packet.\\n\\nThis counter is a number of RTP packets which `RTP timestamp` is equal to previous RTP marker bit packet.\\n"},"errors_dts_stuck":{"type":"integer","description":"Number of frames which dts is same as previous frame dts.\\n"},"sr_ts_stuck":{"type":"integer","description":"Number of rtcp SR packets which `RTP timestamp` is equal to the previous rtcp SR packet `RTP timestamp`. \\n"},"sender_clock_deviation":{"type":"integer","description":"Sender wallclock deviation from server time in ms. Positive value means that sender time is ahead of server time.\\n"},"marker_packets_count":{"type":"integer","description":"Number of RTP packets which marker bit is set to one.\\n"},"no_marker_mode_flag":{"type":"boolean","description":"If no marker bit packet is received after 400 RTP packets then decoder switches to `no_marker_mode` and\\nmakes frame on each timecode change. \\n\\nThis flag shows if decoder works in `no_marker_mode`.\\n"}}},"h26x_decoder_counters":{"type":"object","description":"Here are counters for h264/h265 decoder.\\n","properties":{"nal_count":{"type":"integer","description":"How many NAL units handled by this decoder.\\n"},"discarded_broken_nal_count":{"type":"integer","description":"Number of NAL units, which `forbidden_zero_bit` is set to one.\\n"},"discarded_not_allowed_nal_count":{"type":"integer","description":"Number of NAL units, which type is not allowed in `non-interleaved packetization mode`.\\n"},"nal_fu_count":{"type":"integer","description":"`Fragmentation Unit` used to fragment a single NAL unit over multiple RTP packets.\\n`H.264` uses `FU-A` NAL. `H.265` has its own fragmentation unit.\\n\\nThis counter shows how many `Fragmentation Units` handled by this decoder. \\n"},"nal_stap_a_count":{"type":"integer","description":"How many NAL `STAP_A` units handled by this decoder.\\n"},"nal_aggregation_count":{"type":"integer","description":"How many NAL `AGGREGATION` units handled by this decoder.\\n"},"fu_pattern_is_broken_count":{"type":"integer","description":"`Fragmentation Unit` used to fragment a single NAL unit over multiple RTP packets.\\n`H.264` uses `FU-A` NAL. `H.265` has its own fragmentation unit.\\n\\n`Fragmentation Units` pattern must have a `Start FU`, `End FU` and could have `FUs` between these ones. \\n\\nThis counter indicates how many times pattern was broken.\\n"},"fu_has_both_start_end_bits_count":{"type":"integer","description":"`Fragmentation Unit` used to fragment a single NAL unit over multiple RTP packets.\\n`H.264` uses `FU-A` NAL. `H.265` has its own fragmentation unit.\\n\\nThis counter shows number of `Fragmentation Units` which `Start bit` and `End bit` are set to one in the same `FU` header\\n"},"incomplete_nal_count":{"type":"integer","description":"NAL deframentation could be interrupted by unexpected NAL or broken/incomplete packet.\\nIf NAL deframentation is interrupted then incomplete fragment of NAL is not discarded and used in decoding process.\\n\\nThis counter indicates how many incomplete NALs were used.  \\n"},"discarded_fu_count":{"type":"integer","description":"`Fragmentation Unit` used to fragment a single NAL unit over multiple RTP packets.\\n`H.264` uses `FU-A` NAL. `H.265` has its own fragmentation unit.\\n\\nThis counter shows number of discarded `Fragmentation Units`\\n"},"fu_end_then_middle_workaround_count":{"type":"integer","description":"There is workaround to not interrupt `FU` sequence if `end-FU` followed by `middle-FU`. \\nThis counter shows how many time the workaround was applied.\\n"},"nal_sei_count":{"type":"integer","description":"How many NAL `SEI` units handled by this decoder.\\n"},"invalid_sei_type_count":{"type":"integer","description":"Number of `SEI` NAL units with invalid type\\n"},"invalid_sei_size_count":{"type":"integer","description":"Number of `SEI` NAL units with invalid size\\n"},"invalid_sei_payload_count":{"type":"integer","description":"Number of `SEI` NAL units with bad payload\\n"},"discarded_sei_count":{"type":"integer","description":"Number of discarded `SEI` NAL units\\n"},"nal_idr_count":{"type":"integer","description":"How many NAL `IDR` units handled by this decoder.\\n"},"nal_single_count":{"type":"integer","description":"How many NAL `SINGLE` units handled by this decoder. \\n"},"nal_sps_count":{"type":"integer","description":"How many NAL `SPS` units handled by this decoder.\\n"},"nal_pps_count":{"type":"integer","description":"How many NAL `PPS` units handled by this decoder.\\n"},"nal_aud_count":{"type":"integer","description":"How many NAL `AUD` units handled by this decoder.\\n"},"nal_filler_count":{"type":"integer","description":"How many NAL `FILLER` units handled by this decoder.\\n"},"nal_slice_count":{"type":"integer","description":"How many NAL `SLICE` units handled by this decoder.\\n"},"nal_vps_count":{"type":"integer","description":"How many NAL `VPS` units handled by this decoder.\\n"},"nal_other_count":{"type":"integer","description":"How many other NAL units handled by this decoder.\\n"},"discarded_nal_count":{"type":"integer","description":"Number of discarded NAL units.\\n"}}},"stream_config_input":{"type":"object","properties":{"inputs":{"description":"List of stream inputs. \\n***Important:*** A stream without any inputs can receive video frames **only** if backup file is specified.\\n","items":{"allOf":[{"$ref":"#/components/schemas/stream_input"}]},"type":"array","x-api-allow":["smartcam","watcher-core","vision-config-external","watcher-client","watcher-admin","central-layouter"]}}},"stream_input":{"oneOf":[{"$ref":"#/components/schemas/stream_input_fake"},{"$ref":"#/components/schemas/stream_input_file"},{"$ref":"#/components/schemas/stream_input_h323"},{"$ref":"#/components/schemas/stream_input_hls"},{"$ref":"#/components/schemas/stream_input_rtmp"},{"$ref":"#/components/schemas/stream_input_rtsp"},{"$ref":"#/components/schemas/stream_input_srt"},{"$ref":"#/components/schemas/stream_input_tshttp"},{"$ref":"#/components/schemas/stream_input_mixer"},{"$ref":"#/components/schemas/stream_input_mosaic"},{"$ref":"#/components/schemas/stream_input_m4f"},{"$ref":"#/components/schemas/stream_input_m4s"},{"$ref":"#/components/schemas/stream_input_rtp"},{"$ref":"#/components/schemas/stream_input_shoutcast"},{"$ref":"#/components/schemas/stream_input_timeshift"},{"$ref":"#/components/schemas/stream_input_playlist"},{"$ref":"#/components/schemas/stream_input_copy"},{"$ref":"#/components/schemas/stream_input_spts"},{"$ref":"#/components/schemas/stream_input_mpts"},{"$ref":"#/components/schemas/stream_input_publish"},{"$ref":"#/components/schemas/stream_input_v4l"},{"$ref":"#/components/schemas/stream_input_decklink"},{"$ref":"#/components/schemas/stream_input_dektec"},{"$ref":"#/components/schemas/stream_input_external"},{"$ref":"#/components/schemas/stream_input_ndi"},{"$ref":"#/components/schemas/stream_input_st2110"}],"x-pattern-discriminator":"url"},"stream_input_fake":{"allOf":[{"type":"object","title":"Demo source","properties":{"url":{"description":"URL to get a demo stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"fake://fake","pattern":"^fake://.*$","x-format-description":"input_url"},"width":{"type":"integer","description":"Width of an artificially created test video stream. \\nApplicable to the `fake://fake` URL.\\n"},"height":{"type":"integer","description":"Height of an artificially created test video stream. \\nApplicable to the `fake://fake` URL.\\n"},"bitrate":{"type":"integer","format":"speed","description":"Bitrate of an artificially created test video stream. \\nApplicable to the `fake://fake` URL.\\n","x-format-description":"speed"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_base":{"type":"object","properties":{"comment":{"description":"Human-readable description of the input.\\n","type":"string","example":"This is a test input"},"source_timeout":{"description":"The period of time, in seconds, for which Media Server will wait for new frames until it considers the source as lost.","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/add-secondary-source-for-redundancy/#source_timeout"},"anyOf":[{"type":"integer","format":"seconds","x-format-description":"seconds"},{"enum":[false],"type":"boolean"}],"example":20,"x-api-allow":["watcher-core"]},"audio_timeout":{"description":"The period of time, in seconds, for which Media Server will wait for new audio frames until it considers the source as lost.","externalDocs":{"description":"Find more information here"},"type":"integer","format":"seconds","example":20,"x-api-allow":["watcher-core"],"x-format-description":"seconds"},"video_timeout":{"description":"The period of time, in seconds, for which Media Server will wait for new video frames until it considers the source as lost.","type":"integer","format":"seconds","example":20,"x-api-allow":["watcher-core"],"x-format-description":"seconds"},"max_retry_timeout":{"description":"The maximum time that Media Server will set for attempts to reconnect to source when source problems occur.\\nThe time between attempts is not linear and may increase if source problems are not fixed. This parameter limits this value, but the time itself between attempts may be longer.\\n","type":"integer","format":"seconds","example":30,"minimum":1,"x-api-allow":["watcher-core"],"x-format-description":"seconds"},"timeout":{"description":"The time, in seconds, for Media Server to switch to the fallback source if the main source stops sending frames (video or audio). \\nThe important thing here is that the source remains active (connected), allowing for a client-publisher to stay on the socket.\\n","type":"integer","example":10,"x-api-allow":["watcher-core"]},"frames_timeout":{"description":"Specifies the period of time, in seconds, for which Media Server waits for new frames to come from the data source before it generates the `frames_timed_out` event that informs you that the source might soon be lost. \\nThis period of time must be smaller than `source_timeout`. \\nIf frames come again from this source, before `source_timeout` has passed, Media Server issues the `frames_restored` event.\\n","type":"integer","example":3,"x-api-allow":["watcher-core"]},"priority":{"description":"The priority that Media Server takes into account when switching to another source.\\nThe source with `priority=1` has the first priority, the source with `priority=2` has the second priority, and so on.\\n\\nBy default, the first source in the list has the highest priority and the last source in the list has the lowest priority. \\nIf priority is not specified for some sources, or if some sources have equal priorities, then the default order is applied. \\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/add-secondary-source-for-redundancy/#priority"},"type":"integer","example":1,"x-api-allow":["watcher-core"]},"stats":{"description":"Detailed runtime information about the input.","allOf":[{"$ref":"#/components/schemas/input_stats"}],"readOnly":true,"x-api-allow":["watcher-core"]},"user_agent":{"type":"string","description":"User agent. Can be modified if a protocol allows it.","x-api-allow":["watcher-core"]},"via":{"type":"string","format":"agent_url","description":"Agent ID. Used as a proxy to connect to the input server.","x-api-allow":["watcher-core","central-layouter"],"x-format-description":"agent://ID identification for `via` configuration option\\n"},"output_audio":{"description":"Enables transcoding of the published audio to another codec.\\nThe option is useful when you want to get an AAC audio track from WebRTC publish with OPUS or RTSP camera with PCMU.\\n","allOf":[{"$ref":"#/components/schemas/output_audio"}],"x-api-allow":["watcher-core"]},"headers":{"additionalProperties":{"type":"string"},"type":"object","description":"Request headers as key-value pairs.","example":{"User-Agent":"curl/7.85.0","Authorization":"Basic dXNlcjpwYXNzd29yZA=="},"x-api-allow":["watcher-core"]},"no_clients_reconnect_delay":{"type":"integer","description":"Skip input start if the stream has no clients."},"allow_if":{"type":"string","description":"Path to a file. The input will be allowed if you put `1` in the file, or denied if `0` (reverse logic to `deny_if`).\\nThis option allows you to manage inputs without API requests.\\n\\nFor example, your stream has two inputs and you set `allow_if = /path/to/file` for the first input.\\nThe `/path/to/file` file contains only the digit `1`. That means that the first input is used when you play the stream.\\nWhen you put `0` to the `/path/to/file` file, the first input is denied, so the second one is played.\\n\\nIf no such file, the input is allowed.\\n"},"deny_if":{"type":"string","description":"Path to a file. The input will be denied if you put `1` in the file, or allowed if `0` (reverse logic to `allow_if`).\\nThis option allows you to manage inputs without API requests.\\n\\nFor example, your stream has two inputs and you set `deny_if = /path/to/file` for the first input.\\nThe `/path/to/file` file contains only the digit `1`. \\nThat means that the first input will not be used when you play the stream, so the second one will.\\nWhen you put `0` to the `/path/to/file` file, the first input is allowed to be played.\\n\\nIf no such file, the input is allowed.\\n"},"bind_ip":{"type":"string","x-private":true,"description":"Interface ip address, to bind socket to."},"mbr":{"x-private":true,"type":"string","deprecated":true,"description":"Enables the multi-bitrate mode for transcoding the input.\\nNeed to remove it, but must offer some replacement to Watcher\\n","x-api-allow":["watcher-core"]}}},"output_audio":{"type":"string","oneOf":[{"title":"Keep","const":"keep","description":"Keep the original audio codec."},{"title":"AAC","const":"aac","description":"Keep AAC if available or transcode to AAC; delete other tracks if any."},{"title":"Add_AAC","const":"add_aac","description":"Add AAC if it was not available already while keeping the original track."}]},"stream_input_file":{"allOf":[{"type":"object","title":"File","properties":{"url":{"description":"URL to get a stream from file.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"file://vod/bunny.mp4","pattern":"^file://.*$","x-format-description":"input_url"},"raw":{"x-private":true,"description":"If this option is enabled, file source produce raw stream.","type":"boolean"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_mpegts_specific"},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_mpegts_specific":{"type":"object","properties":{"programs":{"description":"Choose a program to ingest from an MPEG-TS stream.","items":{"type":"integer"},"type":"array","example":[1]},"pids":{"description":"Choose a specific PID to ingest from an MPEG-TS stream. \\nPID identifies separate data stream inside the multiplexed MPEG-TS stream. \\nIt is possible to set PID values for PMT, SDT, video, and audio tracks.\\n","items":{"type":"integer"},"type":"array","example":[211]},"no_fix_subs_dts":{"x-private":true,"description":"If this option is enabled, Flussonic will not try to fix subtitles DTS.","type":"boolean"},"cc_check":{"x-private":true,"description":"This parameter defines the behavior when getting a CC (Continuity Counter) error.\\n","oneOf":[{"const":"no","description":"Do nothing."},{"const":"log","description":"Write to the log."},{"const":"repeat","description":"Try again."}]},"subtitles":{"description":"This configuration is deprecated. Use `dvbocr` configuration field in stream.\\n\\nThis parameter allows to manage subtitles in an output stream.\\n","oneOf":[{"const":"drop","description":"An output stream will have no subtitles track."},{"const":"accept","description":"An output stream will have a subtitles track in DVB, without conversion to text (default behavior)."},{"const":"ocr_replace","description":"An output stream will have a track containing subtitles converted to a text format (WebVTT)."},{"const":"ocr_add","description":"An output stream will have two tracks containing subtitles: \\nthe original track with subtitles in DVB and a new track with text subtitles.\\n"}],"example":"drop","deprecated":true,"x-delete-at":25.03},"closed_captions":{"additionalProperties":{"type":"string"},"type":"object","x-key-type":"string","description":"The rules for handling the closed captions.\\n"},"scte35":{"description":"This option disables processing of SCTE-35 markers from an MPEG-TS input stream.\\nDeprecated since 22.12.\\nAvailable ways to disable processing of SCTE-35 markers:\\n1. pids option to select tracks without SCTE-35 markers\\n2. hls_scte35 option from stream_config_media for hls output\\n3. performing appropriate tuning pids in the transponder\\n","type":"boolean","default":true,"example":true,"deprecated":true,"x-delete-at":23.09},"languages":{"additionalProperties":{"type":"string"},"type":"object","x-key-type":"mpegts_lang_track","description":"An array of MPEG-TS language descriptors in format `[{key: track, value: language}]`\\n"},"bypass_psis":{"x-private":true,"description":"The list of PIDs that will transmit PSI tables as video frames (content=metadata).","items":{"type":"integer"},"type":"array"},"try_adts":{"x-private":true,"description":"If this option is enabled, the decoder tries to decode LATM as ADTS.","type":"boolean"}}},"stream_input_h323":{"allOf":[{"type":"object","title":"H323","properties":{"url":{"description":"URL to connect to the H323 source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"h323://192.168.100.150","pattern":"^h323://.*$","x-format-description":"input_url"},"id":{"type":"string","description":"H323 input ID."},"video_bitrate":{"type":"integer","format":"speed","description":"H323 input bitrate.","x-format-description":"speed"},"audio_bitrate":{"type":"integer","format":"speed","description":"H323 audio bitrate.","x-format-description":"speed"},"connections":{"type":"integer","description":"H323 connections."}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_hls":{"allOf":[{"type":"object","title":"HLS","properties":{"url":{"description":"URL to get a stream from HLS source.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"hls://remote.host.com/example/video.m3u8"},"apple_standard":{"value":"hls://remote.host.com/example/index.m3u8"},"secure":{"value":"hlss://remote.host.com/example/video.m3u8"},"hls2":{"value":"hls2://remote.host.com/example/video.m3u8"},"hlss2":{"value":"hlss2://remote.host.com/example/video.m3u8"},"http":{"value":"http://remote.host.com/index.m3u8"},"https":{"value":"https://remote.host.com/index.m3u8"}},"pattern":"^(hls|hlss|hls2|hlss2)://.*$|^(http|https)://.*\\\\.m3u8((#|\\\\?).*)?$","x-format-description":"input_url"},"skip_stalled_check":{"description":"By default Flussonic will wait for at least 2-3 new segments before making stream available.\\n\\nThis parameter allows to disable this protection. Use it at your own risk - with it enabled, old content might be repeated over and over.\\n","type":"boolean"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_mpegts_specific"},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_rtmp":{"allOf":[{"type":"object","title":"RTMP","properties":{"url":{"description":"URL to connect to the RTMP source and get the stream.\\n\\nRTMP uses a special URL consisting of at least two segments. *Flussonic* parses the URL and splits it into parts, \\nusing the first segment as an RTMP application name.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"rtmp://remote.host.com/static/example"},"secure":{"value":"rtmps://remote.host.com/static/example"}},"pattern":"^(rtmp|rtmps)://.*$","x-format-description":"input_url"},"pageUrl":{"description":"URL of the web page from where the SWF file was loaded. \\nThis is an RTMP header (Referer) used for establishing connection.\\n","type":"string","format":"url","example":"http://somehost/sample.html","x-format-description":"url"},"swfUrl":{"description":"URL of the source SWF file making the connection by RTMP.","type":"string","example":"file://C:/FlvPlayer.swf"},"tcUrl":{"description":"URL of the remote Server for entering credentials. \\nIt has the following format: `protocol://servername:port/appName/appInstance`.\\n","type":"string","format":"url","example":"rtmp://localhost:1935/testapp/instance1","x-format-description":"url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_rtsp":{"allOf":[{"type":"object","title":"RTSP","properties":{"url":{"description":"URL to connect to the RTSP source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"rtsp://remote.host.com/example"},"secure":{"value":"rtsps://remote.host.com/example"},"rtsp-udp":{"value":"rtsp-udp://remote.host.com/example"},"rtsp2":{"value":"rtsp2://remote.host.com/example"}},"pattern":"^(rtsp|rtsps|rtsp-udp|rtsp2)://.*$","x-format-description":"input_url"},"rtp":{"enum":["udp"],"type":"string","description":"Whether to force UDP to capture a video from RTSP cameras.","x-api-allow":["watcher-core"]},"tracks":{"x-private":true,"type":"array","items":{"type":"integer"},"description":"List of track numbers to receive when capturing a stream from an RTSP camera.","example":[1],"x-api-allow":["watcher-core"]},"wait_rtcp":{"type":"boolean","description":"Whether to wait for the full RTP time synchronization before the processing of frames from the RTSP camera.\\n","x-api-allow":["watcher-core"]}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_srt":{"allOf":[{"type":"object","title":"SRT","required":["url"],"properties":{"url":{"description":"Artificial URL to connect to the SRT source and get the stream.\\n\\nSRT requires IP and port, so we create an artificial URL to specify the options to manage the data interchange.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"srt://remote.host.com:1234?bind_ip=10.77.0.100"},"srt1":{"value":"srt1://remote.host.com:1234?bind_ip=10.77.0.100"},"srt2":{"value":"srt2://remote.host.com:1234?bind_ip=10.77.0.100"}},"pattern":"^(srt|srt1|srt2)://.*$","x-format-description":"input_url"},"closed_captions":{"additionalProperties":{"type":"string"},"type":"object","x-key-type":"string","description":"The rules for handling the closed captions.\\n"}}},{"$ref":"#/components/schemas/stream_input_srt_publish_specific"},{"$ref":"#/components/schemas/stream_input_base"},{"$ref":"#/components/schemas/srt_config_base"}]},"stream_input_srt_publish_specific":{"type":"object","properties":{"subtitles":{"description":"This configuration is deprecated. Use `dvbocr` configuration field in stream.\\n\\nThis parameter allows to manage subtitles in an output stream.\\n","oneOf":[{"const":"drop","description":"An output stream will have no subtitles track."},{"const":"accept","description":"An output stream will have a subtitles track in DVB, without conversion to text (default behavior)."},{"const":"ocr_replace","description":"An output stream will have a track containing subtitles converted to a text format (WebVTT)."},{"const":"ocr_add","description":"An output stream will have two tracks containing subtitles: \\nthe original track with subtitles in DVB and a new track with text subtitles.\\n"}],"example":"drop","deprecated":true,"x-delete-at":25.03},"scte35":{"description":"This option disables processing of SCTE-35 markers from SRT input stream.\\n","type":"boolean","default":true,"example":true}}},"srt_config_base":{"type":"object","properties":{"minversion":{"description":"The minimum SRT version that is required from the peer for SRT publication.\\n","type":"string","pattern":"^[0-9]+\\\\.[0-9]+\\\\.[0-9]+$","example":"1.1.0"},"version":{"description":"Required SRT version.\\n","type":"string","pattern":"^[0-9]+\\\\.[0-9]+\\\\.[0-9]+$","example":"1.3.0"},"enforcedencryption":{"description":"Whether both connection parties must have the same password set (including empty, in other words, with no encryption). \\nIf the passwords do not match or only one side is unencrypted, the connection is rejected. \\nThe default value is `true`.\\n","type":"boolean","example":true},"passphrase":{"description":"The password for the encrypted transmission. \\nIts length should be not less than 10 and not more than 79 characters.\\n\\nUnlike [password](https://flussonic.com/doc/api/reference/#tag/stream/operation/stream_save%7Cbody%7Cpassword),\\nthe passphrase is not transmitted openly but is used to encrypt the key that is transmitted by the Caller\\nand decoded by Listener.\\n","type":"string","minLength":10,"maxLength":79,"example":"9876543210","x-notice":"SRTO_PASSPHRASE (\\"\\")"},"linger":{"description":"The time, in seconds, that the socket waits for the unsent data before closing. \\nThe default value is 180.\\n","type":"integer","format":"seconds","x-notice":"SRTO_LINGER on, (180s) (off - 0s)","example":15,"x-format-description":"seconds"},"latency":{"description":"The latency value for both directions of the socket.\\nBy default initial value latency is 0 when transmitting and 120ms when receiving video.\\nActual value established after connection handshake.\\nIncreased value helps tolerate network losses and delays.\\n","type":"integer","format":"milliseconds","x-notice":"SRTO_LATENCY","example":150,"x-format-description":"milliseconds"},"streamid":{"description":"A string of maximum 512 characters set on the socket before the connection. \\n\\nThis string is a part of a callback that is sent by the caller and regisered by the listener. \\nBased on this information the listener can accept or reject the connection, select the desired data stream, or set an appropriate passphrase for the connection.\\n\\nIts format is `#!::` optionally followed by the parameters:\\n* `r=` - stream name\\n* `m=` - mode expected for the connection: `publish` (if the caller wants to send the stream data) or `request` (if the caller wants to receive the stream).\\n* `password=` - a password for the authorization in a publish session (not recommended, better use `passphrase` option instead)\\n\\nDuring SRT sessions the following parameters are automaticly added to streamid:\\n* `s=` - the identifier of a session\\n* `a=` - Flussonic version\\n\\nNOTE: you can specify a string in the format you need; to disable this extension, you need specify empty string.\\n","type":"string","maxLength":512,"example":"#!::r=my-stream,m=publish"}}},"stream_input_tshttp":{"allOf":[{"type":"object","title":"TSHTTP","properties":{"url":{"description":"URL for ingest and pass a stream \\"as is\\" without repackaging.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"tshttp://ADMIN:PASSWORD@FLUSSONIC_IP/flussonic/api/dvbts/a0"},"secure":{"value":"tshttps://127.0.0.1:8080"},"mpegts":{"value":"http://remote.host.com/mpegts"},"mpegts_secure":{"value":"https://remote.host.com/mpegts"},"ts":{"value":"http://remote.host.com/example.ts"},"ts_secure":{"value":"https://remote.host.com/example.ts"}},"pattern":"^(tshttp|tshttps)://.*$|^(http|https)://.*(\\\\.ts|/mpegts)$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_mpegts_specific"},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_mixer":{"allOf":[{"type":"object","title":"Mixer","properties":{"url":{"description":"URL to make a mixer stream from other streams.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"mixer://stream1,stream2","pattern":"^mixer://.*$","x-format-description":"input_url"},"sync":{"description":"This parameter is used for a mixer stream that uses other streams as its video and audio sources.\\n\\nIf the parameter is set to `realtime`, audio frames will be played in sync with video frames: \\nif the difference between timestamps of an audio frame and a corresponding video frame is more than 2 seconds, \\nthe audio frame will be played at the timestamp of the video frame. \\n\\nIf this parameter is set to `dts`, no synchronization is performed.\\n","enum":["dts","realtime"],"type":"string","example":"dts","default":"dts","x-api-allow":["watcher-core"]},"audio_add":{"type":"integer","description":"Moves audio timestamp forwards or backwards on a specified number of milliseconds.","deprecated":true,"x-delete-at":23.09,"format":"milliseconds","x-alias":"audio_offset","x-api-allow":["watcher-core"],"x-format-description":"milliseconds"},"audio_offset":{"type":"integer","description":"Rename audio_add, worked only for dts sync method","x-private":true,"format":"milliseconds","x-format-description":"milliseconds"},"mixer_strategy":{"description":"The mixing mode for the `mixer://` input type.\\n","oneOf":[{"const":"all","description":"Mix all input tracks."},{"const":"first_video_audio","description":"Mix only a first video track of the first input with a first audio track of the second input."}],"default":"first_video_audio","type":"string"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_mosaic":{"allOf":[{"type":"object","title":"Mosaic","properties":{"url":{"description":"Special URL to make a mosaic stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"mosaic://cam1,cam2,cam3,cam4?fps=20&amp;preset=ultrafast&amp;bitrate=1024k&amp;size=340x240&amp;mosaic_size=16"},"mosaic2":{"value":"mosaic2://"}},"pattern":"^(mosaic|mosaic2)://.*$","x-format-description":"input_url"},"disable_video":{"x-private":true,"type":"boolean","description":"Whether to show video from streams included into the mosaic."},"samples":{"x-private":true,"type":"integer","description":"The input samples."},"sample_rate":{"x-private":true,"type":"integer","description":"The input sample rate."},"bitrate":{"type":"integer","format":"speed","description":"Bitrate of the audio. \\n","x-format-description":"speed"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_m4f":{"allOf":[{"type":"object","title":"M4F","properties":{"url":{"description":"URL to get a stream from m4f source.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"m4f://remote.host.com/example"},"secure":{"value":"m4fs://remote.host.com/example"}},"pattern":"^(m4f|m4fs)://.*$","x-format-description":"input_url"},"closed_captions":{"additionalProperties":{"type":"string"},"type":"object","x-key-type":"string","description":"The rules for handling the closed captions.\\n"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_m4s":{"allOf":[{"type":"object","title":"M4S","properties":{"url":{"description":"URL to get a stream from m4s source.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"m4s://remote.host.com/example"},"secure":{"value":"m4ss://remote.host.com/example"}},"pattern":"^(m4s|m4ss)://.*$","x-format-description":"input_url"},"closed_captions":{"additionalProperties":{"type":"string"},"type":"object","x-key-type":"string","description":"The rules for handling the closed captions.\\n"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_rtp":{"allOf":[{"type":"object","title":"RTP","properties":{"url":{"description":"URL to connect to RTP source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"rtp://remote.host.com","pattern":"^rtp://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_shoutcast":{"allOf":[{"type":"object","title":"SHOUTcast","properties":{"url":{"description":"URL to connect to the SHOUTcast source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"shoutcast://remote.host.com/example/shoutcast"},"secure":{"value":"shoutcasts://remote.host.com/example/shoutcast"}},"pattern":"^(shoutcast|shoutcasts)://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_timeshift":{"allOf":[{"type":"object","title":"Timeshift","properties":{"url":{"description":"Special URL to play the archive record of a stream with a fixed delay.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"timeshift://channel/7200"}},"pattern":"^timeshift://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_playlist":{"allOf":[{"type":"object","title":"Playlist","properties":{"url":{"description":"URL to get a stream from playlist.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"playlist://remote.host.com/example.m3u8","pattern":"^playlist://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_copy":{"allOf":[{"type":"object","title":"Copy source","properties":{"url":{"description":"URL to connect to the source and get a copy of the original stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"copy://stream1","pattern":"^copy://.*$","x-format-description":"input_url"},"closed_captions":{"additionalProperties":{"type":"string"},"type":"object","x-key-type":"string","description":"The rules for handling the closed captions.\\n"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_spts":{"allOf":[{"type":"object","title":"SPTS","properties":{"url":{"description":"URL to connect to the SPTS source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"udp://239.0.0.1:1234"},"udp1":{"value":"udp1://239.0.0.1:1234"},"udp2":{"value":"udp2://239.0.0.1:1234"},"udp3":{"value":"udp3://239.0.0.1:1234"}},"pattern":"^(udp|udp1|udp2|udp3)://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_mpegts_specific"},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_mpts":{"allOf":[{"type":"object","title":"MPTS","properties":{"url":{"description":"URL to get a stream from MPTS source.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"mpts-udp://239.0.0.1:1234"},"mpts-http":{"value":"mpts-http://239.0.0.1:1234"},"mpts-https":{"value":"mpts-https://239.0.0.1:1234"},"mpts-dvb":{"value":"mpts-dvb://asi_10?program=15"},"dvb":{"value":"dvb://asi_10?program=15"}},"pattern":"^(mpts-udp|mpts-http|mpts-https|mpts-dvb|dvb)://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_mpegts_specific"},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_publish":{"allOf":[{"type":"object","title":"Publish","properties":{"url":{"description":"The publish:// URL used to indicate where this stream started in publish mode.\\n\\nYou can publish videos to Flussonic using the following URLs:  \\n  __RTSP__: rtsp://FLUSSONIC-IP/stream_name  \\n  __HTTP MPEG-TS__: http://FLUSSONIC-IP/stream_name/mpegts  \\n  __RTMP__: rtmp://flussonic-ip/published or rtmp://flussonic-ip/static/published  \\n  __WebRTC__: http://FLUSSONIC-IP/stream_name/whip  \\n  __SRT__: srt://FLUSSONIC-IP:SRT_PORT?streamid=#!::r=STREAM_NAME,m=publish\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"publish://","pattern":"^publish://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_webrtc_publish_specific"},{"$ref":"#/components/schemas/stream_input_srt_publish_specific"},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_webrtc_publish_specific":{"type":"object","title":"WebRTC","properties":{"prefer_codec":{"description":"Choose one of the listed video codecs at the start of the publication via WebRTC.\\n","deprecated":true,"x-delete-at":24.11,"x-alias":"prefer_video_codec","allOf":[{"$ref":"#/components/schemas/webrtc_prefer_video_codec"}],"example":"av1"},"prefer_video_codec":{"description":"Prefer one of the listed video codecs at the start of the publication via WebRTC.\\n","allOf":[{"$ref":"#/components/schemas/webrtc_prefer_video_codec"}],"example":"av1"},"prefer_video_profile":{"description":"Prefer one of the listed video profiles at the start of the publication via WebRTC.\\nThis option should help if the client\'s equipment cannot encode correctly to the automatically selected profile. Use with option if the publication does not work.\\n","type":"string","example":"42e01f","x-private":true},"transport":{"description":"Choose the prefered transport of the publication via WebRTC: UDP or TCP.\\n","allOf":[{"$ref":"#/components/schemas/webrtc_transport"}],"example":"udp"},"min_bitrate":{"description":"The minimum bitrate threshold, in kbit/s. The default value is 100 kbit/s.","type":"integer","example":150},"webrtc_abr":{"description":"Whether the adaptive bitrate mechanism is used for WebRTC publications.","type":"boolean","example":true},"abr_stepup":{"description":"Increment step for raising the bitrate to the maximum, in percent. The default step is 30%. \\nIf the loss is less than `abr_loss_lower`, Flussonic makes the publisher to step up from the current bitrate to the maximum one with the rate of `abr_stepup percent`.\\n","type":"integer"},"abr_correction":{"description":"The correction between the target bitrate (Receiver Estimated Maximum Bitrate, calculated in Flussonic) and browser bitrate, in kbit/s.\\nFlussonic sends the target bitrate to the browser from which the publication is carried out so that the browser adjusts the bitrate of the publication by this value.\\nThe default value is 300 kbit/s.\\n","type":"integer","example":200},"abr_loss_lower":{"type":"number","description":"The lower limit of packet loss. When it is reached, Flussonic raises the bitrate. \\nThat is, if packet loss is less than `abr_loss_lower`, Flussonic makes the publisher to step up from the current bitrate to the maximum one with the rate of `abr_stepup` percent.\\n","example":2},"abr_loss_upper":{"description":"The upper limit of packet loss. When it is reached, Flussonic reduces the bitrate. \\nThat is, if packet loss is greater than `abr_loss_upper`, Flussonic makes the publisher to reduce the current bitrate in steps with the maximum rate of `abr_stepdown` percent.\\n","type":"number","example":10},"abr_stepdown":{"description":"A step of reducing the bitrate to the minimum. \\nIf packet losses are greater than `abr_loss_upper`, Flussonic makes the publisher to reduce the current bitrate in steps with the maximum rate of `abr_stepdown` percent.\\n","type":"number"},"abr_mode":{"description":"The algorithm for determining the need to change the bitrate of the published stream and for calculating the target bitrate. \\nTwo options are possible:\\n\\n* `abr_mode=0` - This mode takes into account the packet losses, target bitrate, browser bitrate and the number of auto-adjustment cycles.\\n* `abr_mode=1` - This mode considers only packet losses and target bitrate.\\n","type":"integer","example":1},"abr_debug":{"description":"Whether adaptive bitrate process is logged.","type":"integer","example":1},"abr_cycles":{"description":"The number of cycles of bitrate auto-adjustment.\\nAfter the specified number of auto-adjustment cycles passes, Flussonic considers the bitrate to be optimal, and it is no longer analyzed. \\nBy default, `abr_cycles`=5. \\nIf `abr_cycles`=0, the adjustment process takes place all the time while the publication lasts.\\n","type":"integer","example":3},"abr_max_bitrate":{"description":"Maximum bitrate for adjustment process, in kbit/s.\\nFlussonic will keep the publication bitrate equal or below of the specified value.\\n","type":"integer","default":2500,"example":1000}}},"webrtc_prefer_video_codec":{"type":"string","enum":["h264","av1"]},"webrtc_transport":{"type":"string","oneOf":[{"title":"UDP","const":"udp"},{"title":"TCP","const":"tcp"}]},"stream_input_v4l":{"allOf":[{"type":"object","title":"V4L","required":["url"],"properties":{"url":{"description":"URL to connect to the Video4Linux source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"examples":{"default":{"value":"v4l2://"},"v4l":{"value":"v4l://"}},"pattern":"^(v4l|v4l2)://.*$","x-format-description":"input_url"},"audio_device":{"description":"The audio device to capture audio from Stream Labs SDI cards.\\n\\nThis parameter is specified for ALSA devices in the following format `interface:card,device`.\\n","type":"string","example":"plughw:1,0"},"video_device":{"description":"The video device to capture video from Stream Labs SDI cards.\\nIt is actually a path to a device file created on the disk by Video4Linux.\\n","type":"string","example":"/dev/video0"},"vbi_device":{"description":"The VBI device to capture raw VBI data from Stream Labs SDI cards. VBI data can contain information about teletext or closed captions.\\nIt is actually a path to a VBI device file created on the disk by Video4Linux.\\n","type":"string","example":"/dev/vbi"},"ttxt_descriptors":{"description":"This information is necessary for adding into the PMT table to identify streams which carry teletext data in the resulting MPEG-TS stream.","items":{"allOf":[{"$ref":"#/components/schemas/ttxt_descriptors"}]},"type":"array"},"vbi_threshold":{"description":"This parameter is used for debugging when reading teletext from VBI.\\nThis is a threshold, in seconds, for turning on the decoder.\\n","type":"integer"},"vbi_debug":{"description":"This parameter allows logging the decoded data when reading teletext from VBI.","type":"boolean"},"vbi_decoder":{"description":"This parameter is used for debugging when reading teletext from VBI.\\nIt allows to specify which decoder is used.\\n","x-private":true,"oneOf":[{"const":"erl","description":"The decoder in Erlang is used."},{"const":"nif","description":"The decoder in C is used."}]},"sample_rate":{"x-private":true,"type":"integer","description":"The input sample rate."}}},{"$ref":"#/components/schemas/stream_input_base"}]},"ttxt_descriptors":{"properties":{"page":{"description":"Page number of the teletext received from an SDI card.\\nIt is defined according to ETS 300 706 teletext specification.\\n\\nThe information about the pages is received from the stream provider.\\n","type":"integer","x-primary-key":true,"example":100},"lang":{"description":"The language code of the teletext.","anyOf":[{"$ref":"#/components/schemas/language_value"}]},"type":{"description":"Teletext page type defined according to the Specification for Service Information (SI) in DVB systems, 6.2.32 Teletext descriptor in EN 300 468 Digital Video Broadcasting (DVB).","enum":["initial","subtitle","impaired"],"type":"string","example":"initial"}},"required":["page","lang","type"],"type":"object"},"language_value":{"type":"string","description":"The language of the teletext received from an SDI card. \\nSpecified according to the ISO 639-2 standard.\\n","pattern":"^[a-zA-Z]{2,3}","example":"ita"},"stream_input_decklink":{"allOf":[{"type":"object","title":"Decklink SDI","properties":{"url":{"description":"URL to connect to the Decklink SDI source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"decklink://0","pattern":"^decklink://.*$","x-format-description":"input_url"},"mode":{"description":"Mode of the input stream captured from the Decklink card. It is composed of the size and FPS of the captured video. \\n\\nUsually, it is autodetected, but for some Decklink models you\'ll need to specify it manually.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/ingest-sdi-with-blackmagic/#live-sdi-capture"},"anyOf":[{"$ref":"#/components/schemas/bm_display_mode"}],"example":"4d30"},"ainput":{"description":"Audio interface for capturing from the Decklink card.\\n\\nUsually, it is autodetected, but for some Decklink models you should specify it manually.\\n","anyOf":[{"type":"integer","enum":[1,2,3,4,5,6,7]},{"enum":["embedded","aes_ebu","analog","analog_xlr","analog_rca","microphone","headphones"],"type":"string"}],"example":"microphone"},"vinput":{"description":"Video interface for capturing from the Decklink card.\\n\\nUsually, it is autodetected, but for some Decklink models you should specify it manually.\\n","anyOf":[{"type":"integer","enum":[1,2,3,4,5,6]},{"enum":["sdi","hdmi","optical_sdi","component","composite","s_video"],"type":"string"}],"example":"hdmi"},"vpts":{"description":"Synchronization mode for video captured from the Decklink card.\\n","oneOf":[{"const":"audio","description":"Synchronization by audio."},{"const":"ref","description":"Synchronization according to the timing reference signal."},{"const":2,"description":"Equivalent of \'audio\'."},{"const":3,"description":"Equivalent of \'ref\'."}]},"apts":{"description":"Synchronization mode for audio captured from the Decklink card.\\n","oneOf":[{"const":"video","description":"Synchronization by video."},{"const":"ref","description":"Synchronization according to the timing reference signal."},{"const":1,"description":"Equivalent of \'video\'."},{"const":3,"description":"Equivalent of \'ref\'."}]},"pixel":{"description":"Preferred pixel format for captured video.","oneOf":[{"const":"rgb8","description":"rgb color model and 8 bits per pixel."},{"const":"rgb10","description":"rgb color model and 10 bits per pixel."},{"const":"rgb12","description":"rgb color model and 12 bits per pixel."},{"const":"yuv8","description":"YUV color model and 8 bits per pixel."},{"const":"yuv10","description":"YUV color model and 10 bits per pixel."},{"const":"8","description":"equivalent of `yuv8`."},{"const":"10","description":"equivalent of `yuv10`."}]},"sar":{"description":"The ratio of the width of the display representation to the width of the pixel representation of video.\\n\\nThis parameter is used for creating non-anamorphic video from anamorphic video.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/transcoder-internals/#transcoder-options_sar"},"type":"string","example":"16:9"},"ttxt_descriptors":{"description":"This information is necessary for adding into the PMT table to identify streams which carry teletext data in the resulting MPEG-TS stream.","items":{"allOf":[{"$ref":"#/components/schemas/ttxt_descriptors"}]},"type":"array"},"vbi_threshold":{"description":"This parameter is used for debugging when reading teletext from VBI.\\nThis is a threshold, in seconds, for turning on the decoder.\\n","type":"integer"},"vbi_debug":{"description":"This parameter allows logging the decoded data when reading teletext from VBI.","type":"boolean"},"audio_tracks":{"description":"The configuration of an audio track received from DekTec SDI.","items":{"allOf":[{"$ref":"#/components/schemas/audio_track"}]},"type":"array","x-private":true}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"bm_display_mode":{"enum":["ntsc","nt23","pal","ntsp","palp","23ps","24ps","Hp25","Hp29","Hp30","Hp47","Hp48","Hp50","Hp59","Hp60","Hp95","Hp96","Hp10","Hp11","Hp12","Hi50","Hi59","Hi60","hp50","hp59","hp60","2k23","2k24","2k25","2d23","2d24","2d25","2d29","2d30","2d47","2d48","2d50","2d59","2d60","2d95","2d96","2d10","2d11","2d12","4k23","4k24","4k29","4k30","4k47","4k48","4k50","4k59","4k60","4k95","4k96","4k10","4k11","4k12","4d23","4d24","4d25","4d29","4d30","4d47","4d48","4d50","4d59","4d60","4d95","4d96","4d10","4d11","4d12","8k23","8k24","8k25","8k29","8k30","8k47","8k48","8k50","8k59","8k60","8d23","8d24","8d25","8d29","8d30","8d47","8d48","8d50","8d59","8d60","vga6","svg6","wxg5","wxg6","sxg5","sxg6","uxg5","uxg6","wux5","wux6","1945","1946","wqh5","wqh6","wqx5","wqx6","rwci","rwcc"],"type":"string"},"audio_track":{"type":"object","required":["channels"],"properties":{"track":{"description":"The audio track name in Media Server.","type":"string","example":"a1","x-primary-key":true},"sample_type":{"description":"The audio track format.","type":"string","oneOf":[{"const":"pcm"},{"const":"smpte337"}],"default":"pcm"},"channels":{"description":"The list of SDI audio channels from which you want to assemble the audio track.","type":"array","items":{"type":"integer"}},"lang":{"description":"The audio track language.","anyOf":[{"$ref":"#/components/schemas/language_value"}]}}},"stream_input_dektec":{"allOf":[{"type":"object","title":"DekTec SDI","properties":{"url":{"description":"URL to connect to the DekTec SDI source and get the stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"dektec://2174220025:2","pattern":"^dektec://.*$","x-format-description":"input_url"},"pixel":{"description":"Preferred pixel format for captured video.","oneOf":[{"const":"rgb8","description":"rgb color model and 8 bits per pixel."},{"const":"rgb10","description":"rgb color model and 10 bits per pixel."},{"const":"rgb12","description":"rgb color model and 12 bits per pixel."},{"const":"yuv8","description":"YUV color model and 8 bits per pixel."},{"const":"yuv10","description":"YUV color model and 10 bits per pixel."},{"const":"8","description":"equivalent of `yuv8`."},{"const":"10","description":"equivalent of `yuv10`."}]},"sar":{"description":"The ratio of the width of the display representation to the width of the pixel representation of video.\\n\\nThis parameter is used for creating non-anamorphic video from anamorphic video.\\n","externalDocs":{"description":"Find more information here","url":"https://flussonic.com/doc/transcoder/#video-options"},"type":"string","example":"16:9"},"ttxt_descriptors":{"description":"This information is necessary for adding into the PMT table to identify streams which carry teletext data in the resulting MPEG-TS stream.","items":{"allOf":[{"$ref":"#/components/schemas/ttxt_descriptors"}]},"type":"array"},"vbi_debug":{"description":"This parameter allows logging the decoded data when reading teletext from VBI.","type":"boolean"},"audio_tracks":{"description":"The configuration of an audio track received from DekTec SDI.","items":{"allOf":[{"$ref":"#/components/schemas/audio_track"}]},"type":"array","x-private":true},"scte35":{"description":"This option disables processing of SCTE-35 markers from an MPEG-TS input stream.\\nDeprecated since 22.12.\\nAvailable ways to disable processing of SCTE-35 markers:\\n1. pids option to select tracks without SCTE-35 markers\\n2. hls_scte35 option from stream_config_media for hls output\\n3. performing appropriate tuning pids in the transponder\\n","type":"boolean","default":true,"example":true,"deprecated":true,"x-delete-at":23.09}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_external":{"allOf":[{"type":"object","title":"External","x-private":true,"properties":{"url":{"description":"URL to make an External stream.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"ffmpeg -i mmsh://wideo.umk.um","pattern":"^ffmpeg .*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_ndi":{"allOf":[{"type":"object","title":"NDI","properties":{"url":{"description":"URL to get a stream from NDI source. Usually NDI software display sources like `My PC (Camera1)`, convert it into `ndi://My PC/Camera1`.\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","smartcam","central-layouter"],"example":"ndi://hostname/Source1","pattern":"^ndi://.*$","x-format-description":"input_url"}},"required":["url"]},{"$ref":"#/components/schemas/stream_input_base"}]},"stream_input_st2110":{"allOf":[{"type":"object","title":"SMPTE 2110\\n","required":["url"],"properties":{"url":{"description":"SMPTE 2110 UDP multicast group\\n","type":"string","format":"input_url","x-api-allow":["watcher-core","vision-config-external","central-layouter"],"examples":{"default":{"value":"st2110://239.0.0.1:1234"},"interface":{"value":"st2110://eth0@239.0.0.1:1234"},"bind_ip":{"value":"st2110://239.0.0.1:1234/192.168.20.24"}},"pattern":"^st2110://.*$","x-format-description":"input_url"},"width":{"type":"integer","description":"Must specify received pixel width\\n"},"height":{"type":"integer","description":"Must specify received pixel height\\n"},"bind_to_core":{"type":"integer","description":"Optional bind core\\n"}}},{"$ref":"#/components/schemas/stream_input_base"}]},"web_logo_spec":{"type":"object","properties":{"height":{"description":"Set the specified height for the logo.","type":"integer","example":100},"width":{"description":"Set the specified width for the logo.","type":"integer","example":200},"left":{"description":"Change the position of the logo to the left.","type":"integer","example":15},"top":{"description":"Change the position of the logo to the top.","type":"integer","example":15},"right":{"description":"Change the position of the logo to the right.","type":"integer"},"bottom":{"description":"Change the position of the logo to the bottom.","type":"integer"}}},"stream_dvr_spec":{"allOf":[{"$ref":"#/components/schemas/stream_dvr_specific_spec"},{"$ref":"#/components/schemas/dvr_base_config"}]},"stream_dvr_specific_spec":{"type":"object","properties":{"redundancy_factor":{"description":"How many servers will contain a copy of the DVR archive.\\nYou can find more information [here](https://flussonic.com/doc/api/layouter/#tag/stream/operation/streams_list/response%7Cstreams%7Cdvr%7Credundancy_factor)\\n","x-api-description":{"central-layouter":"How many servers will contain a copy of the DVR archive.\\nLayouter will select nodes to copy the stream archive based on the load of the node and [labels](https://flussonic.com/doc/api/layouter/#tag/stream/operation/streams_list/response%7Cstreams%7Clabels).\\nThe hostname of the selected nodes will be contained in the [layout.dvr_backup](https://flussonic.com/doc/api/layouter/#tag/stream/operation/streams_list/response%7Cstreams%7Clayout%7Cdvr_backup) field\\n"},"type":"integer","example":1,"minimum":0,"x-api-allow":["central-layouter"]}}},"dvr_base_config":{"type":"object","properties":{"storage_limit":{"description":"Maximum disk consumption in bytes. When this limit is reached, \\nthe oldest segment of the recording will be overridden by later data.\\n\\nThis option affects both continuous recording and locked episodes (see `episodes_url`).\\n\\nIf `episodes_url` does not respond, the archive clean-up by `storage_limit` is not performed\\nto avoid deleting the recordings that should not be deleted.\\n","type":"integer","format":"bytes","example":400000000000,"x-format-description":"bytes"},"expiration":{"description":"Archive depth - a period (in seconds) back from the current moment during which the \\ncontigious part of archive is stored. \\nAs time goes, the parts of the recording which are older than the archive depth are deleted.\\n\\nIf you have option `episodes_expiration` enabled, then some parts of DVR that are \\nlocked by episode signalling mechanism may be kept more than this `expiration` depth.\\n\\nIf `episodes_url` does not respond, the archive clean-up by `expiration` is not performed;\\nonly the archive with expired episodes (`episodes_expiration`) is cleaned up until the `episodes_url` restores.\\n","type":"integer","format":"seconds","examples":{"default":{"value":604800}},"x-api-allow":["central-layouter"],"x-format-description":"seconds"},"episodes_expiration":{"description":"Additional archive depth in seconds for episodes. If set, episodes and their corresponding DVR record\\nwill be saved for `expiration + episodes_expiration` seconds.\\n\\nThe archive clean-up within `[expiration, expiration+episodes_expiration]` seconds of the\\nrecording performed depending on [external_episodes_list](https://flussonic.com/doc/api/config-external/#tag/dvr/operation/external_episodes_list)\\nresponse of `episodes_url`.\\n\\nAnything older than `expiration+episodes_expiration` seconds will\\nbe cleaned even if `episodes_url` does not respond.\\n","type":"integer","format":"seconds","examples":{"default":{"value":6048000}},"x-format-description":"seconds"}}},"vision_spec":{"type":"object","properties":{"alg":{"description":"The algorithm used for video analytics.\\n","type":"string","oneOf":[{"const":"faces","description":"The algorithm for face recognition is used."},{"const":"plates","description":"The algorithm for license plate recognition is used."}],"example":"faces","x-api-allow":["vision-config-external","vision"]},"areas":{"description":"This parameter allows you to select specific polygonal area(s) for detection.\\nBy default, it is empty, and the recognition system searches over the entire camera field of view.\\n\\nEach area is specified as a sequence of comma-separated coordinates of vertices of the polygon: `x0,y0,x1,y1,x2,y2,...`.\\nThe vertices are specified in a counter-clockwise direction. Multiple areas are separated by `:`.\\n","type":"string","x-api-allow":["vision-config-external","vision"]}}},"vision_confidence":{"description":"Confidence metric","type":"number","examples":{"default":{"value":0.34},"one":{"value":0.98}},"minimum":0,"maximum":1},"auth_token":{"type":"string","format":"auth_token","default":"token","example":"token","description":"Configure key name of query string key-value pair for token authentication\\n","x-format-description":"auth_token"},"public_stream_stats":{"type":"object","properties":{"status":{"description":"Indicates the status of the stream.\\n","allOf":[{"$ref":"#/components/schemas/stream_status"}]},"dvr_info":{"description":"The information about the recorded DVR archive.","allOf":[{"$ref":"#/components/schemas/dvr_info"}]},"last_dts_at":{"type":"number","format":"utc_ms","description":"The time when the last time frame was sent to the stream output (in UTC).","example":1636383841974,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"media_info":{"allOf":[{"$ref":"#/components/schemas/media_info"}],"description":"Technical information about the output media content."}}},"on_off":{"type":"object","properties":{"mode":{"oneOf":[{"const":"on","title":"On","description":"The system is turned on"},{"const":"off","title":"Off","description":"The system is turned off"}]}}},"on_off_auto":{"type":"object","properties":{"mode":{"oneOf":[{"const":"on","title":"On","description":"The system is turned on"},{"const":"off","title":"Off","description":"The system is turned off"},{"const":"auto","title":"Auto","description":"The system automatically adjusts based on conditions"}]}}},"episode_generic":{"allOf":[{"$ref":"#/components/schemas/episode_base"},{"type":"object","properties":{"episode_type":{"type":"string","description":"Generic stream episode","const":"generic"}}}]},"episode_base":{"type":"object","description":"# Definition\\n\\nEpisode is a record about continious part of one video stream.\\n\\nIt is used in video analytics, television systems, etc. for describing one continious and logically\\nconsolidated part of video stream.\\n\\nFor example, episode can describe one TV show or a part of video when the car with specific license plate\\npassed the camera view.\\n\\nDifferent systems in our ecosystem can emit and consume episodes of different `episode_type`.\\n\\n# Alternatives\\n\\nWhat episodes are not:\\n\\n  * they cannot combine multiple streams. If you have multicamera view on the scene, you will have to create many episodes and join then in another system\\n  * they cannot be multipart. Only one continious uninterrupted episode. However, it is ok for them to overlap.\\n\\n# Updates\\n\\nEpisodes are supposed to be streamable and updatable. \\n\\nIf you consume episodes, you must be ready to see old `episode_id`\\nwith new updated data. You MUST overwrite previous data.\\n\\nIf you emit episodes and you change any fields, you MUST accumulate previous data of episode and send full copy of\\nupdated episode.\\n\\n# Borders\\n\\nEpisode have two mandatory fields: `opened_at` and `updated_at`, they are default borders of the episode:\\nbeginning and the end.\\n\\nSometimes you need to look at another fields: `started_at` and `closed_at`.\\n\\n`started_at` appears when episode emitter decides that beginning of the episode should be different from `opened_at`,\\nfor example if video analytics has analysed previous frames and decided that this object appeared earlier.\\n\\n`closed_at` can appear if episode source have decided that episode will not continue anymore, for example\\ncar have run out of camera view. However, `updated_at` can be still changed, if any other system will add \\nmore data there, for example detected licence plates of some other auxiliary information.\\n","required":["episode_id","media","opened_at","updated_at"],"properties":{"episode_id":{"type":"integer","format":"snowflake_id","description":"Unique identifier of the episode. Must be created by the system that first creates this episode.\\n\\nPlease, mention that it is assumed to be 64 bit length including time of creation in it (refer to snowflake),\\nso you cannot handle it in javascript with simple `JSON.parse()`, you need to use parsed that will properly\\nhandle very long integers.\\n","examples":{"default":{"value":1722279170848854000}},"x-format-description":"snowflake_id"},"media":{"type":"string","format":"media_name","description":"Stream name on which this episode exists.\\n","x-format-description":"media_name"},"region_id":{"type":"string","x-private":true,"description":"Identifier of the detection area.\\nIt is used to distinguish episodes from various regions of interest within the frame.\\nFor instance, it can be used with a single camera facing two entrances to count visitors independently at each entrance.\\nCurrently, it contains string representation of the index of the region\\nspecified in the `areas` field of stream\'s videoanalytics configuration.\\nThis field is omitted if no `areas` is configured for the stream\\n"},"close_reason":{"description":"The reason for closing the episode.\\n","allOf":[{"$ref":"#/components/schemas/episode_close_reason"}]},"opened_at":{"type":"integer","format":"utc_ms","description":"The time when this episode was created. Naming is standard for whole flussonic ecosystem.\\nUsually this time will be the same as `started_at`, but can differ, refer to the description of that field.\\n\\nThe value of this field is copied into `episode_id`, so sorting by `episode_id` will give you the same\\nsort as by `opened_at`\\n","examples":{"default":{"value":1637094994000}},"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"started_at":{"type":"integer","format":"utc_ms","description":"This field can be used as indication of the fact that some system have checked and ensured that\\nthis episode has really started at some time, that may differ from `opened_at`.\\n\\nFor example video analytics will use this field for the time when this episode was confirmed as confident.\\n\\nMay be not relevant for television systems.\\n","examples":{"default":{"value":1637094994000}},"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"updated_at":{"type":"integer","format":"utc_ms","description":"The time of last change of the episode.\\n\\nSystem that processes episodes and can send them to other systems, MUST update this field\\non any changes in this episode.\\n\\nThis field MUST be updated strictly monotonical and increasing. The updater MUST guarantee that\\nthis `updated_at` can be used as a sort key for fetching fresh updates.\\n\\nConsumer of the episodes can use `updated_at` in the following scenario:\\n\\n  * fetch all exisiting episodes from the source\\n  * take biggest `updated_at` from this dataset, it will be T\\n  * ask source for all episodes with `updated_at &gt; T`\\n\\nThis algorithm can be used for fetching update stream from the source.\\n","examples":{"default":{"value":1637098611000}},"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"closed_at":{"type":"integer","format":"utc_ms","description":"Episode emitter can decide that episode considered closed and will not grow further.\\n`closed_at` MUST NOT change, it must be emitted only once.\\n\\nEpisode can live without `closed_at`, in this case you should use `updated_at` as the last time\\nof the episode.\\n","examples":{"default":{"value":1637094994000}},"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"preview_timestamp":{"type":"integer","format":"utc_ms","description":"The time when the preview of this episode is available.\\nUse it to request preview image via Mediaserver\'s DVR API (`jpeg_preview_dvr`).\\n\\nVisit the [Getting JPEGs from DVR by specific time](https://flussonic.com/doc/thumbnails/#thumbnails-dvr-time) article\\nand [JPEG thumbnail from DVR](https://flussonic.com/doc/api/streaming/#tag/image/operation/jpeg_preview_dvr) section of the Mediaserver\'s API Reference\\nfor details.\\n\\nThis field may not be present. If so, you may use the timestamp from the `started_at` field to request the preview image\\n","examples":{"default":{"value":1637094994000}},"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"preview":{"type":"string","contentEncoding":"base64","format":"base64","description":"Small inline image for previewing in UI\\n","x-format-description":"base64"},"episode_appearance_timestamps":{"description":"The time when the episode appeared in the service relative to the server time.\\n","allOf":[{"$ref":"#/components/schemas/episode_appearance_timestamps"}]}}},"episode_close_reason":{"type":"string","oneOf":[{"title":"Timeout","description":"Episode was closed because of no activity was detected in it.","const":"timeout"}]},"episode_appearance_timestamps":{"type":"object","properties":{"inference_timestamp":{"type":"integer","format":"utc_ms","description":"The time when this episode was created in inference service.","example":1637094994000,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"central_timestamp":{"type":"integer","format":"utc_ms","description":"The time when this episode was fetched by Central.","example":1637098611000,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"watcher_timestamp":{"type":"integer","format":"utc_ms","description":"The time when this episode was fetched by Watcher.","example":1637094994000,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000}}},"vision_episode_context_search":{"allOf":[{"$ref":"#/components/schemas/episode_base"},{"type":"object","properties":{"episode_type":{"type":"string","description":"Episode matches context search text query","const":"context_search"},"matches":{"type":"array","description":"List of matches that the context search episode contains.\\nActing as a metric of similarity between a text query and an episode.\\n","items":{"$ref":"#/components/schemas/vision_detected_face"},"x-private":true},"match_score":{"type":"number","description":"Maximum matching score between the text query and episode.","examples":{"default":{"value":0.2345}}}}}]},"vision_detected_face":{"allOf":[{"$ref":"#/components/schemas/vision_detected_object_base"},{"$ref":"#/components/schemas/vision_face_attributes"},{"type":"object","description":"Detected face"}]},"vision_detected_object_base":{"type":"object","required":["detected_at","object_class"],"properties":{"detected_at":{"description":"Timestamp when the object was detected","type":"integer","format":"utc_ms","x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"object_class":{"description":"Class of the detected object","allOf":[{"$ref":"#/components/schemas/vision_object_class"}]},"appearance":{"description":"Appearance attributes of the detected object","allOf":[{"$ref":"#/components/schemas/vision_appearance"}]},"confidence":{"description":"Confidence level of object detection","allOf":[{"$ref":"#/components/schemas/vision_confidence"}]},"thumbnail_quality":{"description":"Quality of the thumbnail","allOf":[{"$ref":"#/components/schemas/vision_confidence"}]},"thumbnail":{"description":"Preview of the detected object","allOf":[{"$ref":"#/components/schemas/vision_image_attributes"}]}}},"vision_object_class":{"type":"string","description":"Object class","oneOf":[{"title":"Face","const":"face"},{"title":"License plate","const":"license_plate"},{"title":"Vehicle","const":"vehicle"}]},"vision_appearance":{"type":"object","properties":{"box":{"description":"Position of the objects at the frame","allOf":[{"$ref":"#/components/schemas/vision_box"}]}}},"vision_box":{"type":"object","description":"Rectangle","required":["top","left","bottom","right"],"properties":{"top":{"description":"Top border of the bounding box. Fraction of full frame height","type":"number","minimum":0,"maximum":1},"left":{"description":"Left border of the bounding box. Fraction of full frame width","type":"number","minimum":0,"maximum":1},"bottom":{"description":"Bottom border of the bounding box. Fraction of full frame height","type":"number","minimum":0,"maximum":1},"right":{"description":"Right border of the bounding box. Fraction of full frame width","type":"number","minimum":0,"maximum":1}}},"vision_face_attributes":{"type":"object","properties":{"fingerprint":{"description":"The fingerprint of the detected face","allOf":[{"$ref":"#/components/schemas/vision_face_fingerprint"}]}}},"vision_face_fingerprint":{"type":"object","description":"Digital fingerprint of the face","required":["data","version"],"properties":{"data":{"description":"Base64 encoded representation of the fingerprint","type":"string","format":"base64","x-format-description":"base64"},"version":{"description":"Version identifier of the fingerprint\'s data. The version is assigned automatically.\\nFingerprints of different versions cannot be compared to each other.\\n","type":"string","examples":{"default":{"value":"aabbccdd"},"one":{"value":"c6ba4246"}}}}},"vision_episode_qr_code":{"allOf":[{"$ref":"#/components/schemas/episode_base"},{"type":"object","properties":{"episode_type":{"type":"string","description":"QR-code is detected","const":"qr_code"},"payload":{"type":"string","description":"Raw data extracted from QR-code","example":"WIFI:T:WPA;S:MyOfficeWiFi;P:Mypassword;H:;"}}}]},"episode_custom":{"allOf":[{"$ref":"#/components/schemas/episode_base"},{"type":"object","properties":{"episode_type":{"type":"string","description":"Custom episode type.\\nUse this field to define your own episode types when integrating custom analytics. \\nIf episode type is not specified, episode will be saved with `generic` type.\\n","maxLength":20,"minLength":1},"payload":{"type":"object","description":"Custom episode payload. Use this field to provide additional information about the episode."}}}]},"vision_person_match":{"type":"object","description":"Person matching information","required":["person","match_score"],"properties":{"person":{"description":"Matched person","allOf":[{"$ref":"#/components/schemas/vision_person"}]},"match_score":{"description":"Score of the match with person. 1.0 means absolute match","allOf":[{"$ref":"#/components/schemas/vision_confidence"}]}}},"vision_person":{"type":"object","description":"Person","required":["person_id","updated_at","originator"],"properties":{"person_id":{"description":"Identifier of the person","readOnly":true,"format":"snowflake_id","type":"integer","examples":{"default":{"value":7036001172460667000}},"x-format-description":"snowflake_id"},"name":{"type":"string","description":"The name of the person filled in manually or automatically if not recognized\\n","examples":{"default":{"value":"John Doe"},"unknown":{"value":"Unknown ABC"}}},"is_unknown":{"type":"boolean","readOnly":true,"x-private":true,"description":"The flag shows that person name is unset. rm-38808, rm-36612.\\n","default":true},"visits_today":{"type":"integer","readOnly":true,"x-private":true,"default":0,"description":"The counter increases when an episode with this person is created.\\n"},"external_id":{"description":"Identifier of the person in the external system. \\nUse it when supplying the recognition results further into the external system\\n(e.g. for access level check) if the person identifiers in the external system \\nare different from the ones in Flussonic Identification database.\\n\\nThis field may contain `null` when video analytics detects a new person\\nwhich explicitly has no association in the external system (i.e. if `originator=identification_service`). \\n","type":"string","examples":{"default":{"value":"dedcc8e8"}}},"originator":{"description":"Indicates the way this person was created: \\nmanually via an api or automatically in the identification service.\\n","allOf":[{"$ref":"#/components/schemas/vision_person_originator"}]},"updated_at":{"description":"When this person was last updated","type":"integer","format":"utc_ms","example":1637034282845,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"deleted_at":{"description":"When this person was marked as deleted","type":"integer","format":"utc_ms","example":1637095014573,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"photos":{"description":"Person\'s photos. External system uploads images\\nwhich are being processed by videoanalytics\\nto get digital fingerprint of the person\\n","type":"array","items":{"$ref":"#/components/schemas/vision_image_attributes"}}}},"vision_detected_vehicle":{"allOf":[{"$ref":"#/components/schemas/vision_detected_object_base"},{"$ref":"#/components/schemas/vision_vehicle_attributes"},{"type":"object","description":"Detected vehicle"}]},"vision_vehicle_attributes":{"type":"object","properties":{"purpose":{"description":"The purpose of the vehicle, e.g. emergency or regular.","allOf":[{"$ref":"#/components/schemas/vision_vehicle_purpose"}]},"license_plate_missing":{"type":"boolean","description":"Indicates if no license plate is detected on this vehicle"}}},"vision_vehicle_purpose":{"description":"The purpose of the vehicle, e.g. emergency or regular.\\nPolice, ambulance cars and firetrucks are being detected by the videoanalytics as `emergency`.\\nAny other type of vehicle is marked as `regular`.\\n","type":"string","oneOf":[{"title":"Regular","const":"regular","description":"Regular car"},{"title":"Emergency","const":"emergency","description":"Emergency vehicle (police, ambulance or firetruck)"}]},"vision_detected_license_plate":{"allOf":[{"$ref":"#/components/schemas/vision_detected_object_base"},{"$ref":"#/components/schemas/vision_license_plate_attributes"},{"type":"object","description":"Detected license plate"}]},"vision_license_plate_attributes":{"type":"object","description":"Attributes of the detected vehicle","properties":{"plate_text":{"description":"Recognized vehicle\'s license plate number","allOf":[{"$ref":"#/components/schemas/vision_license_plate_text"}]},"facing_side":{"description":"Shows from which side the vehicle was detected.","allOf":[{"$ref":"#/components/schemas/vision_vehicle_facing_side"}]}}},"vision_license_plate_text":{"description":"Recognized vehicle\'s license plate number","type":"string","examples":{"default":{"value":"A123BC45"},"one":{"value":"B98365H"},"two":{"value":"7BTK345"}}},"vision_vehicle_facing_side":{"description":"Shows from which side the vehicle was detected.","type":"string","oneOf":[{"title":"Front","const":"front","description":"The vehicle was detected from the front."},{"title":"Rear","const":"rear","description":"The vehicle was detected from the rear."}]},"vision_vehicle_emergency_subtype":{"description":"Emergency type of the vehicle, e.g. ambulance, police, firetruck.\\n","type":"string","oneOf":[{"title":"Ambulance","const":"ambulance","description":"ambulance car"},{"title":"Police","const":"police","description":"police car"},{"title":"Firetruck","const":"firetruck","description":"firetruck car"}]},"vision_image_mimetype":{"type":"string","oneOf":[{"const":"image/jpeg","title":"jpeg","description":"jpeg"}]},"watcher_agent_control_connection":{"type":"object","properties":{"opened_at":{"type":"number","format":"utc_ms","description":"Timestamp of the current Agent control connection opening.","example":1637094994000,"x-format-description":"Unix timestamp in milliseconds","minimum":1000000000000,"maximum":10000000000000},"hostname":{"type":"string","description":"Hostname of the server","example":"agents-001.vsaas.io"},"alive":{"type":"boolean","description":"A flag showing if Agent is connected at the moment of the request."},"status_changed_at":{"description":"UTC timestamp of the last Agent status change to offline or online.\\nSame as `opened_at` if Agent is now connected.\\n","type":"integer","format":"utc","example":1634560921,"x-format-description":"Unix timestamp in seconds","minimum":1000000000,"maximum":10000000000},"bytes_from_server":{"type":"integer","format":"bytes","description":"A number of bytes received from the server by Agent since `opened_at`.","example":40000,"x-format-description":"bytes"},"bytes_to_server":{"type":"integer","format":"bytes","description":"A number of bytes sent to the server by Agent since `opened_at`.","example":400000000000,"x-format-description":"bytes"}}},"watcher_agent_data_connections":{"type":"object","properties":{"connections_attempted":{"type":"integer","description":"A number of times the streamer tried to open a data connection via this Agent.","example":400},"connections_opened":{"type":"integer","description":"A number of successfully opened data connections via this Agent.","example":300},"connections_current":{"type":"integer","description":"A number of currently active data connections opened via this Agent.","example":2}}},"ptz_move_continuous":{"type":"object","properties":{"command":{"type":"string","example":"move_continuous","description":"start PTZ continuous move"},"up":{"type":"integer","description":"Speed to move the camera up. Percentage of the maximum pan speed.\\n","maximum":100,"minimum":0,"example":0},"down":{"type":"integer","description":"Speed to move the camera down. Percentage of the maximum pan speed.\\n","maximum":100,"minimum":0,"example":50},"left":{"type":"integer","description":"Speed to move the camera left. Percentage of the maximum tilt speed.\\n","maximum":100,"minimum":0,"example":50},"right":{"type":"integer","description":"Speed to move the camera right. Percentage of the maximum tilt speed.\\n","maximum":100,"minimum":0,"example":0},"in":{"type":"integer","description":"Speed to zoom in the camera. Percentage of the maximum zoom speed.\\n","maximum":100,"minimum":0,"example":20},"out":{"type":"integer","description":"Speed to zoom out the camera. Percentage of the maximum zoom speed.\\n","maximum":100,"minimum":0,"example":0}}}},"parameters":{"select":{"name":"select","description":"Comma-separated list of fields (including nested) that will be returned.","explode":false,"in":"query","required":false,"schema":{"example":"episode_id,media,close_reason","type":"string"},"style":"form"},"limit":{"name":"limit","description":"Limit select count in collection to N elements.","explode":false,"in":"query","required":false,"schema":{"type":"integer","example":100},"style":"form"},"cursor":{"name":"cursor","description":"Properly encoded analog of offset, allowing to read next bunch of items.\\nWe do not offer common `offset` fields, use please cursor for predictable\\nfetching of quickly changing list of items. Learn more in [Flussonic API design principles](https://flussonic.com/doc/rest-api-guidelines/#api-http-collections-cursor).\\n","in":"query","required":false,"schema":{"type":"string","example":"JTI0cG9zaXRpb25fZ3Q9MQ=="}},"sort":{"name":"sort","description":"Composite sort direction.\\nDefault sort order is `named_by (config,user,remote)`, `position`, `name`.\\n","explode":false,"in":"query","required":false,"schema":{"example":"-stats.bitrate,name,position","type":"string"},"style":"form"},"q":{"name":"q","description":"Search pattern for different fields like name, title, urls, etc.","in":"query","required":false,"schema":{"type":"string","example":"somepattern"}}},"securitySchemes":{"basicAuth":{"scheme":"basic","type":"http","description":"To use Basic Auth to authorize API calls, you need a token. \\nToken is base64 encoded \'user:password\' string.\\n"},"bearerAuth":{"bearerFormat":"JWT","scheme":"bearer","type":"http","description":"To use Bearer Auth to authorize API calls, you need a token. \\nToken is returned in `/login` (login_create) request as `access_token` parameter.\\n"},"tokenAuth":{"type":"apiKey","description":"The token in the query string is taken from shared_token\\n","in":"query","name":"token"}}}}')},57:function(e,t,r){"use strict";r.d(t,"l",(function(){return l})),r.d(t,"e",(function(){return p})),r.d(t,"b",(function(){return u})),r.d(t,"d",(function(){return d})),r.d(t,"j",(function(){return m})),r.d(t,"a",(function(){return f})),r.d(t,"c",(function(){return h})),r.d(t,"i",(function(){return y})),r.d(t,"k",(function(){return g})),r.d(t,"h",(function(){return v})),r.d(t,"g",(function(){return _})),r.d(t,"f",(function(){return O}));var n=r(22),o=r(135);function i(e){return(i="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){c(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==i(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===i(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var l=/^[A-Za-z0-9./_-]*$/,p=function(e){var t,r,o,i,a,s,c,l=e.media,p=n.b.isPublished(l,l.stats),u=(null===(t=l.inputs)||void 0===t?void 0:t.find((function(e){var t;return null===(t=e.stats)||void 0===t?void 0:t.active})))||[],d=p&amp;&amp;l.stats&amp;&amp;"".concat(l.stats.published_from," via ").concat(l.stats.published_via)||l.inputs&amp;&amp;"publish://"===(null===(r=l.inputs[0])||void 0===r?void 0:r.url)&amp;&amp;(null===(o=l.inputs[0])||void 0===o?void 0:null===(i=o.stats)||void 0===i?void 0:i.ip)&amp;&amp;(null===(a=l.inputs[0])||void 0===a?void 0:null===(s=a.stats)||void 0===s?void 0:s.proto)&amp;&amp;"".concat(l.inputs[0].stats.ip," via ").concat(l.inputs[0].stats.proto)||u.url||(l.inputs?null===(c=l.inputs[0])||void 0===c?void 0:c.url:null);return d||""},u=function(e){var t=e.bitrate;return t?"".concat(t,"kbit/s"):"n/a"},d=function(e,t){var r={};return(e?e.split(","):[]).forEach((function(e){r=s(s({},r),t[e]||{})})),r},m=c(c(c(c({},n.e.online,{"stats.status":"running"}),n.e.waiting,{"stats.status":"waiting"}),n.e.disabled,{disabled:"true"}),n.e.error,{"stats.status":"error"}),f=c(c(c({},n.c.dvr,{dvr_is_not:"null"}),n.c.transcoder,{transcoder_is_not:"null"}),n.c.vision,{vision_is_not:"null"}),b=c(c(c({},n.d.config,{named_by:n.d.config}),n.d.user,{named_by:n.d.user}),n.d.remote,{named_by:n.d.remote}),h=function(e){var t=e.query,r=e.named_by,n=e.status,o=e.feature,i={q:t||void 0},a=d(o,f),c=s(s({named_by:r||void 0},a),i),l=s(s({named_by:r||void 0},m[n]||{}),i),p=s(s(s({},m[n]||{}),a),i),u={};Object.keys(m).forEach((function(e){u[e]=s(s({},m[e]),c)}));var h={};Object.keys(f).forEach((function(e){h[e]=s(s({},f[e]),l)}));var y={};return Object.keys(b).forEach((function(e){y[e]=s(s({},b[e]),p)})),s(s(s({},u),h),y)},y=function(e){var t=e.named_by,r=e.media;return!(t===n.d.remote||r.disabled||r.status===o.b||r.status===o.a)},g={success:"success",error:"error",disabled:"disabled"},v=function(e,t){var r,o,i=g.disabled;return null!==(r=e.stats)&amp;&amp;void 0!==r&amp;&amp;r.source_error||n.b.isUnavailable(e.stats)?i=g.error:null!=t&amp;&amp;null!==(o=t.stats)&amp;&amp;void 0!==o&amp;&amp;o.active&amp;&amp;(i=g.success),i},_=function(e,t){switch(e.named_by){case n.d.config:return"/streams/".concat(e.name,"/auth");case n.d.user:return"config_remote"===e.plugin?"/streams/".concat(e.name,"/auth"):"";case n.d.remote:return"/sources/".concat(t||"","/auth");default:return""}},O=function(e,t){switch(e.named_by){case n.d.config:return{name:e.name};case n.d.user:return{name:(null==e?void 0:e.prefix)||""};case n.d.remote:return{name:t||""};default:return{name:e.name}}}},61:function(e,t,r){"use strict";var n=r(322);r.d(t,"a",(function(){return n.a}))},622:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return n}));var n={upload:function(t,r,n,o){var i=new FileReader;i.onload=function(n){var i=e.from(n.target.result,"utf8").toString("base64");t({params:{name:r},body:{name:r,content:i},onSuccess:function(){var e="data:image/jpg;base64, ".concat(i);o(null,e)},onError:function(e){o(e)}})},i.readAsArrayBuffer(n)},delete:function(e,t,r){e({params:{name:t},onSuccess:function(){return r(null)},onError:function(e){return r(e)}})}}}).call(this,r(326).Buffer)},66:function(e,t,r){"use strict";var n=r(145),o=r(683),i=r(684),a=r(2),s=r.n(a),c=r(239),l=r(222),p=c.a((function(e,t){var r=l.a(t);return e.reduce((function(t,r,n){return t&amp;&amp;n===e.length-1?(delete t[r],!0):t?t[r]:t}),r),r})),u=r(0);function d(e){return(d="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function m(){return(m=Object.assign?Object.assign.bind():function(e){for(var t=1;t&lt;arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&amp;&amp;(e[n]=r[n])}return e}).apply(this,arguments)}function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function b(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?f(Object(r),!0).forEach((function(t){h(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function h(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==d(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==d(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===d(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return g(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return g(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}r.d(t,"c",(function(){return v})),r.d(t,"a",(function(){return _}));var v=n.a(o.a("_"),i.a),_=s.a.createContext({});t.b=function(e){var t=function(t){var r=y(Object(a.useState)({}),2),n=r[0],o=r[1],i=Object(a.useCallback)((function(){for(var e=arguments.length,t=new Array(e),r=0;r&lt;e;r++)t[r]=arguments[r];return function(){var e=!(arguments.length&gt;0&amp;&amp;void 0!==arguments[0])||arguments[0];o((function(r){return b(b({},r),{},h({},v(t),e))}))}}),[]),s=Object(a.useCallback)((function(){for(var e=arguments.length,t=new Array(e),r=0;r&lt;e;r++)t[r]=arguments[r];return function(){o((function(e){return p([v(t)],e)}))}}),[]),c=Object(a.useCallback)((function(){o({})}),[]),l=Object.keys(n).length&gt;0,d=Object(a.useMemo)((function(){return{onError:i,onErrorResolve:s,onAllErrorsResolve:c,areErrorsExists:l,errors:n}}),[l,n,c,i,s]);return Object(u.c)(_.Provider,{value:d},Object(u.c)(e,m({onError:i,onErrorResolve:s,onAllErrorsResolve:c,areErrorsExists:l,errors:n},t)))};return t.displayName="withErrorHandler(".concat(e.name||e.displayName,")"),t}},682:function(e,t,r){},72:function(e,t,r){"use strict";var n=r(2),o=r.n(n),i=r(332),a=r.n(i),s=r(1643),c=r(4),l=r(11),p=r(41),u=Object(p.a)()((function(e){return{typography:{margin:e.spacing(2)}}})),d=r(51),m=r(61),f=r(131),b=r(466),h=r(35),y=r(0);function g(e){return(g="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function v(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?v(Object(r),!0).forEach((function(t){O(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):v(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function O(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==g(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==g(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===g(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function j(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return x(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return x(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function x(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}r.d(t,"a",(function(){return w}));var w=function(e){var t=e.docDescription,r=void 0===t?"":t,i=e.diskValue,p=e.templateValue,g=e.style,v=void 0===g?{}:g,O=e.showFullHelperInf,x=u().classes,w=Object(n.useContext)(h.c),k=j(o.a.useState(null),2),S=k[0],P=k[1],T=o.a.useCallback((function(e){e.stopPropagation(),P(e.currentTarget)}),[P]),C=o.a.useCallback((function(e){e.stopPropagation(),P(null)}),[P]),I=Boolean(S),A=function(e,t){var r=arguments.length&gt;2&amp;&amp;void 0!==arguments[2]?arguments[2]:"rgba(0, 0, 0, 0.87)";return Object(y.c)(d.a,{display:"flex",style:{color:r}},Object(y.c)(m.a,{variant:"subtitle2",style:{width:"75px"}},e,":"," "),Object(y.c)(m.a,{variant:"subtitle2"},Object(c.e)(t)?t:"â€”"))};return(O||r)&amp;&amp;w!==l.b||w===l.b&amp;&amp;r?Object(y.c)(o.a.Fragment,null,Object(y.c)(f.b,{size:"small",onClick:T,tabIndex:-1,style:_(_({},v),{},{color:function(){if(O)switch(!0){case Object(c.e)(i):return"rgba(0, 0, 0, 0.87)";case Object(c.e)(p):default:return"#b0afaf"}return"#2962FF"}()})},Object(y.c)(a.a,{fontSize:"inherit"})),Object(y.c)(b.a,{open:I,anchorEl:S,onClose:C,anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"}},Object(y.c)(m.a,{variant:"subtitle1",className:x.typography},Object(y.c)(s.a,null,r)),O&amp;&amp;Object(y.c)(d.a,{p:2},A("Disk",i),A("Template",p,"#b0afaf")))):null}},77:function(e,t,r){"use strict";r.d(t,"b",(function(){return n})),r.d(t,"c",(function(){return o})),r.d(t,"a",(function(){return i}));var n=function(e,t){var r="";if(e){var n=e.split(" ");r=(n=n.map((function(e){return t(e)}))).join(" ")}return r},o=function(e){var t=e.errors,r=e.name,n=e.onErrorResolve;Object.keys(t).forEach((function(e){var t=e.split("_");e.includes(r)&amp;&amp;n(t)()}))},i=function(e){var t=e.errors,r=e.name;return Object.keys(t).some((function(e){return e.includes(r)}))}},775:function(e,t,r){},776:function(e,t,r){},777:function(e,t,r){},78:function(e,t,r){"use strict";r.d(t,"a",(function(){return c})),r.d(t,"d",(function(){return l})),r.d(t,"c",(function(){return p})),r.d(t,"b",(function(){return u}));var n=r(1550),o=r(11),i=new URLSearchParams(window.location.search),a=i.get("host"),s="".concat(window.location.protocol,"//").concat(window.location.host),c=function(e){var t=e.login,r=e.password;return btoa("".concat(t,":").concat(r))},l=function(e){return"Bearer ".concat(c({login:e.login,password:e.password}))},p={"X-Originator":o.l?"Watcher":"Admin3",Session:Object(n.a)()},u=function(e){return o.h&amp;&amp;(i.get(e||"streamer_host")||a)||s}},8:function(e,t,r){"use strict";r.d(t,"a",(function(){return b})),r.d(t,"b",(function(){return h}));var n,o=r(14),i=r(132),a=r(150),s=r(4),c=r(505),l=r(2);function p(e){return(p="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach((function(t){m(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function m(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==p(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==p(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===p(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var f=function(){var e=Object(c.a)(),t=e.doRefreshToken,r=e.checkIfRefreshNeeded,o=e.logout;return{updateAuthIfNeeded:Object(l.useCallback)((function(){return new Promise((function(e){if(r())return n||(n=t().then((function(){return n=void 0,!0}))),n.then(e);e()}))}),[]),catchAuthError:Object(l.useCallback)((function(e){var t;throw 401===(null==e?void 0:null===(t=e.response)||void 0===t?void 0:t.status)&amp;&amp;o(),e}),[])}},b=function(e){var t=e.queryKey,r=e.queryFn,n=e.options,i=void 0===n?{}:n,a=f(),s=a.updateAuthIfNeeded,c=a.catchAuthError;return Object(o.useQuery)(t,(function(){return s().then(r).then((function(e){return e.data})).catch(c)}),d({refetchInterval:!1,refetchOnWindowFocus:!1,retry:!1},i))},h=function(e,t,r,n){var c=Object(i.c)().enqueueSnackbar,l=f(),p=l.updateAuthIfNeeded,u=l.catchAuthError;return Object(o.useMutation)((function(){for(var t=arguments.length,r=new Array(t),n=0;n&lt;t;n++)r[n]=arguments[n];return p().then((function(){return e.apply(void 0,r)})).catch(u)}),d({onSuccess:function(e,r){var n=t(r);n&amp;&amp;c(n,Object(a.a)({severity:"success"})),null!=r&amp;&amp;r.onSuccess&amp;&amp;Object(s.a)(r.onSuccess)&amp;&amp;r.onSuccess(e,r)},onError:function(e,t){if(null!=t&amp;&amp;t.onError&amp;&amp;Object(s.a)(t.onError)&amp;&amp;t.onError(e,t),n){var r=e.response.data,o=r.error,i=r.errors;o&amp;&amp;c(o,Object(a.a)({severity:"error",details:o.meta})),i&amp;&amp;Array.isArray(i)&amp;&amp;i.forEach((function(e){var t;c(Object(s.g)(e)?null!==(t=e.title)&amp;&amp;void 0!==t?t:e.code:e,Object(a.a)({severity:"error",details:e.meta}))}))}}},r))}},83:function(e,t,r){"use strict";r.d(t,"h",(function(){return u})),r.d(t,"o",(function(){return d})),r.d(t,"p",(function(){return m})),r.d(t,"c",(function(){return f})),r.d(t,"e",(function(){return b})),r.d(t,"f",(function(){return h})),r.d(t,"i",(function(){return y})),r.d(t,"l",(function(){return g})),r.d(t,"k",(function(){return v})),r.d(t,"n",(function(){return _})),r.d(t,"m",(function(){return O})),r.d(t,"g",(function(){return j})),r.d(t,"d",(function(){return x})),r.d(t,"a",(function(){return w})),r.d(t,"b",(function(){return k})),r.d(t,"j",(function(){return S}));var n=r(145),o=r(282),i=r(290),a=r(107),s=r(4),c=r(22);function l(e){return function(e){if(Array.isArray(e))return p(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return p(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return p(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var u=["buffer"],d=["rtp","tracks"],m=["allow_subtitles","subtitles","programs","pids","languages"],f=function(e){var t=e.array,r=e.oldIndex,n=e.newIndex,o=t[r];return[].concat(l(t.slice(0,r)),l(t.slice(r+1)),[void 0]).reduce((function(e,t,r){return[].concat(l(e),r!==n?[t]:[o,t])}),[]).slice(0,t.length)},b=function(e){return n.a((function(e){return e.join(",")}),o.a,(function(e){return e.filter((function(e){return e&gt;0&amp;&amp;e&lt;8192}))}),(function(e){return e.map((function(e){var t=parseInt(e,10),r=parseInt(e,16);return t||("0x".concat(r.toString(16))===e?r:"")}))}),(function(e){return e.split(",")}))(e)},h=function(e){return n.a((function(e){return e.join(",")}),o.a,(function(e){return e.filter((function(e){return Object(s.e)(e)}))}),(function(e){return e.map((function(e){var t;return t=e.includes("0x")?null:parseInt(e,10),Object(s.e)(t)&amp;&amp;!Number.isNaN(t)?t:""}))}),(function(e){return e.split(",")}))(e)},y=function(e){return"hls"===e||"hlss"===e},g=function(e){return"rtsp"===e||"rtsp2"===e},v=function(e,t){return g(e)||t.rtp||t.tracks},_=function(e,t){var r=i.a("","url")(t);return["tshttp","tstcp","udp","udp1","udp2"].some((function(t){return e.includes(t)}))||r.includes("file")&amp;&amp;r.includes(".ts")||r.includes("file")&amp;&amp;r.includes(".mp4")},O=function(e,t){return _(e,t)||t.program||t.pids||t.languages},j=function(e){var t=/([^:]+)/.exec(e.url);return t&amp;&amp;t[1]},x=function(e){var t={};return e.forEach((function(e){t[e.key]=e.value})),t},w=function(e){return e.includes("ffmpeg")},k=function(e){return e.startsWith("ndi")},S=function(e,t){return Object(s.e)(a.a("inputs")(e))&amp;&amp;c.b.publishEnabled(e)||Object(s.b)(e.inputs)&amp;&amp;Object(s.e)(a.a("inputs")(t))&amp;&amp;c.b.publishEnabled(t)}},850:function(e,t,r){e.exports=r.p+"36250e20c44c2993dac4c5948d57e0ae.png"},851:function(e,t,r){e.exports=r.p+"f4fefa6ddda77de324d3c989f781e8c7.png"},852:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return P}));var n=r(2),o=r.n(n),i=r(36),a=r(1),s=r(351),c=r(241),l=r(354),p=r(57),u=r(352),d=r(359),m=r(11),f=r(281),b=r(243),h=r(318),y=r(0);function g(e){return(g="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function v(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==g(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==g(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===g(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return O(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return O(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function O(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var j=a.uc.IconClients,x=a.uc.IconVideo,w=a.uc.IconSound,k=a.uc.IconBitrateCardsTwo,S=a.uc.IconMoreTwo,P=function(t){var r,g,O,P,T,C,I=t.token,A=t.stream,D=t.config,E=t.isTemplate,$=t.product,N=t.toggleStreamDisabled,L=t.onIgnoreStream,R=t.named_by,q=t.canPlayVideo,M=void 0===q||q,F=t.isActions,U=void 0===F||F,z=Object(s.c)().classes,B=_(Object(n.useState)(200),2),H=B[0],V=B[1],W=_(o.a.useState(null),2),G=W[0],K=W[1],Y=_(o.a.useState(null),2),J=Y[0],Q=Y[1],X=_(o.a.useState(""),2),Z=X[0],ee=X[1],te=(null==D?void 0:D.auth_token)||"token",re=!(null===(r=A.stats)||void 0===r||!r.dvr_info),ne=null===(g=A.stats)||void 0===g?void 0:g.online_clients,oe=A.title||A.meta&amp;&amp;A.meta.comment||"",ie=A.egress_hostnames,ae="".concat($===m.b&amp;&amp;ie?"".concat(window.location.protocol,"//").concat(ie[0]):b.a.getUri()).concat($===m.a?"/lb/-":""),se="".concat($===m.a?encodeURIComponent(A.name):A.name),ce=Object(n.useMemo)((function(){var e;return Object(p.b)({bitrate:null===(e=A.stats)||void 0===e?void 0:e.bitrate})}),[null===(O=A.stats)||void 0===O?void 0:O.bitrate]),le=Object(n.useMemo)((function(){var e=0,t=0;if(!E){var r,n,o=null===(r=A.stats)||void 0===r?void 0:null===(n=r.media_info)||void 0===n?void 0:n.tracks;Array.isArray(o)&amp;&amp;o.forEach((function(r){"video"===r.content&amp;&amp;(e+=1),"audio"===r.content&amp;&amp;(t+=1)}))}return{vTracksCount:e,aTracksCount:t}}),[E,null===(P=A.stats)||void 0===P?void 0:null===(T=P.media_info)||void 0===T?void 0:T.tracks]),pe=le.vTracksCount,ue=le.aTracksCount;Object(n.useEffect)((function(){var e="".concat(ae,"/").concat(se,"/preview.mp4?").concat(te||"","=").concat(I||"","&amp;i=").concat(Date.now());return I&amp;&amp;ee(e),Object(h.a)()&amp;&amp;setInterval((function(){I&amp;&amp;ee(e)}),1e4),function(){void 0}}),[I]);var de=function(){var e=document.getElementById("dvrLine");e&amp;&amp;V(e.offsetWidth)};Object(b.e)({params:{name:se},options:{refetchInterval:1e4,keepPreviousData:!0,enabled:!!I&amp;&amp;!Object(h.a)(),onSuccess:function(t){var r=e.from(t,"binary").toString("base64");Q(r)}},config:{baseURL:ae,params:I?v({},te,I):{},responseType:"arraybuffer"}}),Object(n.useEffect)((function(){return window.addEventListener("resize",de),function(){window.removeEventListener("resize",de)}}),[]);var me=function(){K(null)};return Object(y.c)(a.l,{className:z.cardWrapper},Object(y.c)(a.nc,{videoSrc:J,previewUrl:Z}),M&amp;&amp;Object(y.c)(a.l,{className:z.playButtonWrapper},Object(y.c)(f.a,null,(function(e){return Object(y.c)(c.a,{media:A,named_by:R,stats:A.stats,"data-testid":"stream-link-".concat(A.name),isPlayButton:!0,handlePlay:function(){e.setModal(A.name),e.setProduct($),e.setConfigEffective(A)}})}))),Object(y.c)(a.l,{className:z.statusWrapper},Object(y.c)(c.a,{media:A,stats:A.stats,"data-testid":"stream-link-".concat(A.name),isCardView:!0})),Object(y.c)(a.l,{className:z.middleBlock},Object(y.c)(a.l,{className:z.leftBlock},Object(y.c)(u.a,{media:A,isSources:!0})),Object(y.c)(a.l,{className:z.rightBlock},Object(y.c)(a.mc,{className:z.outputInf},ne,Object(y.c)(j,null)),Object(y.c)(a.mc,{className:z.outputInf},pe,Object(y.c)(x,null),ue,Object(y.c)(w,null)),Object(y.c)(a.mc,{className:z.outputInf},ce||"n/a",Object(y.c)(k,null)))),Object(y.c)(a.l,{className:z.bottomBlockWrapper},Object(y.c)(a.l,{className:z.dvrInfo,id:"dvrLine"},re&amp;&amp;Object(y.c)(l.a,{info:null===(C=A.stats)||void 0===C?void 0:C.dvr_info,maxWidth:H,secondsPerCell:420,pxPerCell:3,"data-testid":"stream-dvr-line-".concat(A.name)})),Object(y.c)(a.l,{className:z.streamNameWrapper},Object(y.c)(a.yb,{to:"/streams/".concat(encodeURIComponent(A.name)),component:i.a,color:"primary","data-testid":"".concat(E?"template":"stream","-link-").concat(A.name)},Object(y.c)(a.mc,{variant:"caption",fontWeight:500,color:"common.white",lineHeight:2,className:z.streamName,pr:.5},$===m.b?oe:A.name)),U&amp;&amp;Object(y.c)(o.a.Fragment,null,Object(y.c)(a.mb,{size:"small",className:z.moreButton,onClick:function(e){K(e.currentTarget)}},Object(y.c)("span",{className:z.moreButtonIcon},Object(y.c)(S,null))),Object(y.c)(a.Fb,{anchorEl:G,open:Boolean(G),onClose:me},Object(y.c)(a.Gb,{onClick:me},Object(y.c)(d.a,{media:A,toggleStreamDisabled:N,named_by:A.named_by,onIgnoreStream:L,product:$})))))))}}).call(this,r(326).Buffer)},858:function(e){e.exports=JSON.parse('[[128,96,30.9,"1"],[176,144,15,"1"],[128,96,30.9,"1b"],[176,144,15,"1b"],[176,144,30.3,"1.1"],[320,240,10,"1.1"],[352,288,7.5,"1.1"],[320,240,20,"1.2"],[352,288,15.2,"1.2"],[320,240,36,"1.3"],[352,288,30,"1.3"],[320,240,36,"2"],[352,288,30,"2"],[352,480,30,"2.1"],[352,576,25,"2.1"],[352,480,30.7,"2.2"],[352,576,25.6,"2.2"],[720,480,15,"2.2"],[720,576,12.5,"2.2"],[352,480,61.4,"3"],[352,576,51.1,"3"],[720,480,30,"3"],[720,576,25,"3"],[720,480,80,"3.1"],[720,576,66.7,"3.1"],[1280,720,30,"3.1"],[1280,720,60,"3.2"],[1280,1024,42.2,"3.2"],[1280,720,68.3,"4"],[1920,1080,30.1,"4"],[2048,1024,30,"4"],[1280,720,68.3,"4.1"],[1280,720,68.3,"4.1"],[2048,1024,30,"4.1"],[1920,1080,64,"4.2"],[2048,1080,60,"4.2"],[1920,1080,72.3,"5"],[2048,1024,72,"5"],[2048,1080,67.8,"5"],[2560,1920,30.7,"5"],[3680,1536,26.7,"5"],[1920,1080,120.5,"5.1"],[4096,2048,30,"5.1"],[4096,2304,26.7,"5.1"],[1920,1080,172,"5.2"],[2048,1536,160,"5.2"],[4096,2160,60,"5.2"],[2048,1536,300,"6"],[4096,2160,120,"6"],[8192,4320,30,"6"],[2048,1536,300,"6.1"],[4096,2160,240,"6.1"],[8192,4320,60,"6.1"],[4096,2304,300,"6.2"],[8192,4320,120,"6.2"]]')},859:function(e){e.exports=JSON.parse('[[128,96,33.7,"1"],[176,144,15,"1"],[176,144,100,"2"],[352,288,30,"2"],[352,288,60,"2.1"],[640,360,30,"2.1"],[640,360,67.5,"3"],[720,480,42.1,"3"],[720,576,37.5,"3"],[960,544,30,"3"],[720,480,84.3,"3.1"],[720,576,75,"3.1"],[960,544,60,"3.1"],[1280,720,33.7,"3.1"],[1280,720,68,"4"],[1920,1080,32,"4"],[2048,1080,30,"4"],[1280,720,136,"4.1"],[1920,1080,64,"4.1"],[2048,1080,60,"4.1"],[1920,1080,128,"5"],[3840,2160,32,"5"],[4096,2160,30,"5"],[1920,1080,256,"5.1"],[3840,2160,64,"5.1"],[4096,2160,60,"5.1"],[1920,1080,300,"5.2"],[3840,2160,128,"5.2"],[4096,2160,120,"5.2"],[3840,2160,128,"6"],[4096,2160,120,"6"],[4096,2304,113.3,"6"],[7680,4320,32,"6"],[8192,4320,30,"6"],[3840,2160,256,"6.1"],[4096,2160,240,"6.1"],[4096,2304,226.6,"6.1"],[7680,4320,64,"6.1"],[8192,4320,60,"6.1"],[3840,2160,300,"6.2"],[4096,2160,300,"6.2"],[4096,2304,300,"6.2"],[7680,4320,128,"6.2"],[8192,4320,120,"6.2"]]')},86:function(e,t,r){"use strict";r.d(t,"g",(function(){return _})),r.d(t,"d",(function(){return O})),r.d(t,"c",(function(){return j})),r.d(t,"e",(function(){return x})),r.d(t,"b",(function(){return w})),r.d(t,"f",(function(){return S})),r.d(t,"a",(function(){return T}));var n=r(107),o=r(222),i=r(404),a=r(146),s=r(89),c=r(31),l=r(4),p=r(48),u=r(83);function d(e){return(d="function"==typeof Symbol&amp;&amp;"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&amp;&amp;"function"==typeof Symbol&amp;&amp;e.constructor===Symbol&amp;&amp;e!==Symbol.prototype?"symbol":typeof e})(e)}function m(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||g(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&amp;&amp;(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function b(e){for(var t=1;t&lt;arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?f(Object(r),!0).forEach((function(t){h(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function h(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==d(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==d(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===d(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if("undefined"!=typeof Symbol&amp;&amp;null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||g(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e,t){if(e){if("string"==typeof e)return v(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?v(e,t):void 0}}function v(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}var _={pending:"pending",starting:"starting",running:"running",disabled:"disabled",retry:"retry",error:"error"},O=function(e){return e.includes("output")&amp;&amp;e.includes("options")},j=function(e){var t=e,r=-1;do{t/=1024,r+=1}while(t&gt;1024);return Math.max(t,.1).toFixed(1)+[" kB"," MB"," GB"," TB","PB","EB","ZB","YB"][r]},x=function(e,t){var r=[];return e.forEach((function(e){var n=e.transcoder;!t.find((function(t){return t===e.name}))&amp;&amp;n&amp;&amp;Object(c.E)(n)&amp;&amp;r.push(!Object(l.d)(n.global.external)||n.global.external)})),r},w=function(e){var t=e.pushStats,r=n.a("status")(t)||"",o=function(e){var t="#98A2B2";switch(e){case _.starting:case _.pending:case _.retry:t="#F79E1B";break;case _.running:t="#4caf50";break;case _.error:t="#C11030";break;case _.disabled:t="#98A2B2"}return t}(r),i=n.a("since")(t)?1e3*t.since:null,a=(new Date).getTime(),s=i?" ".concat(p.a.getFormattedTime(a-i)):"",c=n.a("error")(t)?" ".concat(t.error.reason," ").concat(t.error.while?"while ".concat(t.error.while):""):"",l=n.a("retries")(t)||"",u=n.a("last_error")(t)?" ".concat(t.last_error):"",d=n.a("bytes")(t)?" ".concat(j(t.bytes)):"",m="".concat(c).concat(u).concat(d);return r&amp;&amp;r===_.retry&amp;&amp;(r="".concat(r).concat(l?" (".concat(l,")"):"")),{status:r,statusColor:o,duration:s,resultStatusParams:m}},k=function(e){return y(e).filter((function(e){return parseInt(e,10)||"0"===e})).map((function(e){return parseInt(e,10)}))},S=function(e){var t=e.saveFn,r=e.name,a=e.deleteFn,s=e.history,c=e.route,p=e.field,d=void 0===p?"name":p,m=e.isNew,f=e.cbSuccess,g=e.setIsSaving,v=e.delta,_=e.currentData;return function(e,p){var O=Object(l.d)(p)?p:v,j=function(e){var t=o.a(e);return Object(l.e)(t.inputs)&amp;&amp;(t.inputs=t.inputs.map((function(e){var t=o.a(e);return t.programs&amp;&amp;(t.programs=y(k(t.programs))),t.pids&amp;&amp;(t.pids=y(k(t.pids))),Object(u.b)(t.url)&amp;&amp;(t.url=t.url.replace(" (","/").replace(")","").replaceAll(" ","%20")),i.a(["stats"])(t)}))),Object(l.e)(t.pushes)&amp;&amp;(t.pushes=t.pushes.map((function(e){var t=o.a(e);return i.a(["stats"])(t)}))),t};if(g(!0),!m&amp;&amp;n.a(d)(O)){var x=j(o.a(_));delete x.stats,delete x.named_by,a({params:h({},d,r),onSuccess:function(){t({params:h({},d,O[d]),body:x,onSuccess:function(){s.push("/".concat(c,"/").concat(encodeURIComponent(O[d]))),g(!1)}})}})}else{var w=j(o.a(O));t({params:h({},d,m?w[d]:r),body:w,onSuccess:function(){g(!1),m&amp;&amp;(s.replace(b(b({},s.location),{},{state:{isNew:!1}})),s.push("/".concat(c,"/").concat(encodeURIComponent(m?w[d]:r)))),Object(l.a)(e)&amp;&amp;e(),Object(l.a)(f)&amp;&amp;f(),m&amp;&amp;r===w[d]&amp;&amp;window.location.reload()},onError:function(){g(!1)}})}}},P=function(){var e=arguments.length&gt;0&amp;&amp;void 0!==arguments[0]?arguments[0]:{};return function(t,r){return Object.entries(t).reduce((function(t,n){var o=m(n,2),i=o[0],c=o[1],p=Object(l.g)(c),u=Object(l.g)(r[i]),d=a.a(c),f=a.a(r[i]);return b(b({},t),{},h({},i,p||u?d||f?void 0:P(e[i])(c||{},r[i]||{}):s.a(c,r[i])?c:e[i]))}),t)}},T=function(e){return Object(l.b)(e)?null:1===e.length?e[0]:e.reduce(P({inputs:[]}),e[0])}},862:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return o}));var n=r(2),o=function(t){return Object(n.useMemo)((function(){if(t)return e.from(t,"binary").toString("base64")}),[t])}}).call(this,r(326).Buffer)},9:function(e,t,r){"use strict";function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&amp;&amp;e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&amp;&amp;(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&amp;&amp;null!=r.return&amp;&amp;(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&amp;&amp;e.constructor&amp;&amp;(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return o(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t&gt;e.length)&amp;&amp;(t=e.length);for(var r=0,n=new Array(t);r&lt;t;r++)n[r]=e[r];return n}r.d(t,"a",(function(){return i}));var i=function(e){var t=e.path,r=e.queryAndPathParams,o=e.encodeParams,i=void 0===o||o,a={},s=t;return r&amp;&amp;Object.entries(r).forEach((function(e){var t=n(e,2),r=t[0],o=t[1];if(s.includes("{".concat(r,"}"))){var c=i?encodeURIComponent(o):o;s=s.replace("{".concat(r,"}"),c)}else a[r]=o})),{pathWithParams:s,queryParams:a}}}},[[1533,6,7]]])}));</pre></body></html>