@nlxai/touchpoint-ui 1.1.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/FullscreenVoice.d.ts +1 -0
- package/lib/index.js +184 -194
- package/lib/index.umd.js +9 -9
- package/package.json +2 -2
package/lib/index.umd.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(Z,oe){typeof exports=="object"&&typeof module<"u"?oe(exports):typeof define=="function"&&define.amd?define(["exports"],oe):(Z=typeof globalThis<"u"?globalThis:Z||self,oe((Z.nlxai=Z.nlxai||{},Z.nlxai.touchpointUi={})))})(this,function(Z){"use strict";var
|
|
1
|
+
(function(Z,oe){typeof exports=="object"&&typeof module<"u"?oe(exports):typeof define=="function"&&define.amd?define(["exports"],oe):(Z=typeof globalThis<"u"?globalThis:Z||self,oe((Z.nlxai=Z.nlxai||{},Z.nlxai.touchpointUi={})))})(this,function(Z){"use strict";var O_=Object.defineProperty;var lb=Z=>{throw TypeError(Z)};var L_=(Z,oe,Oe)=>oe in Z?O_(Z,oe,{enumerable:!0,configurable:!0,writable:!0,value:Oe}):Z[oe]=Oe;var se=(Z,oe,Oe)=>L_(Z,typeof oe!="symbol"?oe+"":oe,Oe),Af=(Z,oe,Oe)=>oe.has(Z)||lb("Cannot "+Oe);var wt=(Z,oe,Oe)=>(Af(Z,oe,"read from private field"),Oe?Oe.call(Z):oe.get(Z)),zi=(Z,oe,Oe)=>oe.has(Z)?lb("Cannot add the same private member more than once"):oe instanceof WeakSet?oe.add(Z):oe.set(Z,Oe),uo=(Z,oe,Oe,ur)=>(Af(Z,oe,"write to private field"),ur?ur.call(Z,Oe):oe.set(Z,Oe),Oe),jf=(Z,oe,Oe)=>(Af(Z,oe,"access private method"),Oe);var Fi,lo,Pn,Bi,co,Uf;function oe(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Oe={exports:{}},ur={},Ff={exports:{}},Y={};/**
|
|
2
2
|
* @license React
|
|
3
3
|
* react.production.min.js
|
|
4
4
|
*
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
`).replace(Kk,"")}function Fo(t,e,n){if(e=Sp(e),Sp(t)!==e&&n)throw Error(N(425))}function Bo(){}var Lc=null,Mc=null;function Nc(t,e){return t==="textarea"||t==="noscript"||typeof e.children=="string"||typeof e.children=="number"||typeof e.dangerouslySetInnerHTML=="object"&&e.dangerouslySetInnerHTML!==null&&e.dangerouslySetInnerHTML.__html!=null}var Dc=typeof setTimeout=="function"?setTimeout:void 0,Zk=typeof clearTimeout=="function"?clearTimeout:void 0,wp=typeof Promise=="function"?Promise:void 0,Qk=typeof queueMicrotask=="function"?queueMicrotask:typeof wp<"u"?function(t){return wp.resolve(null).then(t).catch(Jk)}:Dc;function Jk(t){setTimeout(function(){throw t})}function Ac(t,e){var n=e,r=0;do{var i=n.nextSibling;if(t.removeChild(n),i&&i.nodeType===8)if(n=i.data,n==="/$"){if(r===0){t.removeChild(i),ss(e);return}r--}else n!=="$"&&n!=="$?"&&n!=="$!"||r++;n=i}while(n);ss(e)}function Fn(t){for(;t!=null;t=t.nextSibling){var e=t.nodeType;if(e===1||e===3)break;if(e===8){if(e=t.data,e==="$"||e==="$!"||e==="$?")break;if(e==="/$")return null}}return t}function Tp(t){t=t.previousSibling;for(var e=0;t;){if(t.nodeType===8){var n=t.data;if(n==="$"||n==="$!"||n==="$?"){if(e===0)return t;e--}else n==="/$"&&e++}t=t.previousSibling}return null}var Xr=Math.random().toString(36).slice(2),Jt="__reactFiber$"+Xr,gs="__reactProps$"+Xr,fn="__reactContainer$"+Xr,jc="__reactEvents$"+Xr,Yk="__reactListeners$"+Xr,Xk="__reactHandles$"+Xr;function hr(t){var e=t[Jt];if(e)return e;for(var n=t.parentNode;n;){if(e=n[fn]||n[Jt]){if(n=e.alternate,e.child!==null||n!==null&&n.child!==null)for(t=Tp(t);t!==null;){if(n=t[Jt])return n;t=Tp(t)}return e}t=n,n=t.parentNode}return null}function vs(t){return t=t[Jt]||t[fn],!t||t.tag!==5&&t.tag!==6&&t.tag!==13&&t.tag!==3?null:t}function ei(t){if(t.tag===5||t.tag===6)return t.stateNode;throw Error(N(33))}function Vo(t){return t[gs]||null}var Uc=[],ti=-1;function Bn(t){return{current:t}}function ge(t){0>ti||(t.current=Uc[ti],Uc[ti]=null,ti--)}function pe(t,e){ti++,Uc[ti]=t.current,t.current=e}var Vn={},Ke=Bn(Vn),ot=Bn(!1),pr=Vn;function ni(t,e){var n=t.type.contextTypes;if(!n)return Vn;var r=t.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===e)return r.__reactInternalMemoizedMaskedChildContext;var i={},s;for(s in n)i[s]=e[s];return r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=i),i}function at(t){return t=t.childContextTypes,t!=null}function zo(){ge(ot),ge(Ke)}function xp(t,e,n){if(Ke.current!==Vn)throw Error(N(168));pe(Ke,e),pe(ot,n)}function Ep(t,e,n){var r=t.stateNode;if(e=e.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in e))throw Error(N(108,jb(t)||"Unknown",i));return Ce({},n,r)}function Ho(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Vn,pr=Ke.current,pe(Ke,t),pe(ot,ot.current),!0}function Pp(t,e,n){var r=t.stateNode;if(!r)throw Error(N(169));n?(t=Ep(t,e,pr),r.__reactInternalMemoizedMergedChildContext=t,ge(ot),ge(Ke),pe(Ke,t)):ge(ot),pe(ot,n)}var hn=null,$o=!1,Fc=!1;function _p(t){hn===null?hn=[t]:hn.push(t)}function eC(t){$o=!0,_p(t)}function zn(){if(!Fc&&hn!==null){Fc=!0;var t=0,e=ae;try{var n=hn;for(ae=1;t<n.length;t++){var r=n[t];do r=r(!0);while(r!==null)}hn=null,$o=!1}catch(i){throw hn!==null&&(hn=hn.slice(t+1)),Ih(ac,zn),i}finally{ae=e,Fc=!1}}return null}var ri=[],ii=0,qo=null,Wo=0,Tt=[],xt=0,mr=null,pn=1,mn="";function gr(t,e){ri[ii++]=Wo,ri[ii++]=qo,qo=t,Wo=e}function Rp(t,e,n){Tt[xt++]=pn,Tt[xt++]=mn,Tt[xt++]=mr,mr=t;var r=pn;t=mn;var i=32-Mt(r)-1;r&=~(1<<i),n+=1;var s=32-Mt(e)+i;if(30<s){var o=i-i%5;s=(r&(1<<o)-1).toString(32),r>>=o,i-=o,pn=1<<32-Mt(e)+i|n<<i|r,mn=s+t}else pn=1<<s|n<<i|r,mn=t}function Bc(t){t.return!==null&&(gr(t,1),Rp(t,1,0))}function Vc(t){for(;t===qo;)qo=ri[--ii],ri[ii]=null,Wo=ri[--ii],ri[ii]=null;for(;t===mr;)mr=Tt[--xt],Tt[xt]=null,mn=Tt[--xt],Tt[xt]=null,pn=Tt[--xt],Tt[xt]=null}var yt=null,bt=null,ve=!1,Dt=null;function Ip(t,e){var n=Rt(5,null,null,0);n.elementType="DELETED",n.stateNode=e,n.return=t,e=t.deletions,e===null?(t.deletions=[n],t.flags|=16):e.push(n)}function Op(t,e){switch(t.tag){case 5:var n=t.type;return e=e.nodeType!==1||n.toLowerCase()!==e.nodeName.toLowerCase()?null:e,e!==null?(t.stateNode=e,yt=t,bt=Fn(e.firstChild),!0):!1;case 6:return e=t.pendingProps===""||e.nodeType!==3?null:e,e!==null?(t.stateNode=e,yt=t,bt=null,!0):!1;case 13:return e=e.nodeType!==8?null:e,e!==null?(n=mr!==null?{id:pn,overflow:mn}:null,t.memoizedState={dehydrated:e,treeContext:n,retryLane:1073741824},n=Rt(18,null,null,0),n.stateNode=e,n.return=t,t.child=n,yt=t,bt=null,!0):!1;default:return!1}}function zc(t){return(t.mode&1)!==0&&(t.flags&128)===0}function Hc(t){if(ve){var e=bt;if(e){var n=e;if(!Op(t,e)){if(zc(t))throw Error(N(418));e=Fn(n.nextSibling);var r=yt;e&&Op(t,e)?Ip(r,n):(t.flags=t.flags&-4097|2,ve=!1,yt=t)}}else{if(zc(t))throw Error(N(418));t.flags=t.flags&-4097|2,ve=!1,yt=t}}}function Lp(t){for(t=t.return;t!==null&&t.tag!==5&&t.tag!==3&&t.tag!==13;)t=t.return;yt=t}function Go(t){if(t!==yt)return!1;if(!ve)return Lp(t),ve=!0,!1;var e;if((e=t.tag!==3)&&!(e=t.tag!==5)&&(e=t.type,e=e!=="head"&&e!=="body"&&!Nc(t.type,t.memoizedProps)),e&&(e=bt)){if(zc(t))throw Mp(),Error(N(418));for(;e;)Ip(t,e),e=Fn(e.nextSibling)}if(Lp(t),t.tag===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(N(317));e:{for(t=t.nextSibling,e=0;t;){if(t.nodeType===8){var n=t.data;if(n==="/$"){if(e===0){bt=Fn(t.nextSibling);break e}e--}else n!=="$"&&n!=="$!"&&n!=="$?"||e++}t=t.nextSibling}bt=null}}else bt=yt?Fn(t.stateNode.nextSibling):null;return!0}function Mp(){for(var t=bt;t;)t=Fn(t.nextSibling)}function si(){bt=yt=null,ve=!1}function $c(t){Dt===null?Dt=[t]:Dt.push(t)}var tC=dn.ReactCurrentBatchConfig;function ys(t,e,n){if(t=n.ref,t!==null&&typeof t!="function"&&typeof t!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(N(309));var r=n.stateNode}if(!r)throw Error(N(147,t));var i=r,s=""+t;return e!==null&&e.ref!==null&&typeof e.ref=="function"&&e.ref._stringRef===s?e.ref:(e=function(o){var a=i.refs;o===null?delete a[s]:a[s]=o},e._stringRef=s,e)}if(typeof t!="string")throw Error(N(284));if(!n._owner)throw Error(N(290,t))}return t}function Ko(t,e){throw t=Object.prototype.toString.call(e),Error(N(31,t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t))}function Np(t){var e=t._init;return e(t._payload)}function Dp(t){function e(m,b){if(t){var p=m.deletions;p===null?(m.deletions=[b],m.flags|=16):p.push(b)}}function n(m,b){if(!t)return null;for(;b!==null;)e(m,b),b=b.sibling;return null}function r(m,b){for(m=new Map;b!==null;)b.key!==null?m.set(b.key,b):m.set(b.index,b),b=b.sibling;return m}function i(m,b){return m=Qn(m,b),m.index=0,m.sibling=null,m}function s(m,b,p){return m.index=p,t?(p=m.alternate,p!==null?(p=p.index,p<b?(m.flags|=2,b):p):(m.flags|=2,b)):(m.flags|=1048576,b)}function o(m){return t&&m.alternate===null&&(m.flags|=2),m}function a(m,b,p,k){return b===null||b.tag!==6?(b=Du(p,m.mode,k),b.return=m,b):(b=i(b,p),b.return=m,b)}function l(m,b,p,k){var C=p.type;return C===Hr?u(m,b,p.props.children,k,p.key):b!==null&&(b.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===On&&Np(C)===b.type)?(k=i(b,p.props),k.ref=ys(m,b,p),k.return=m,k):(k=ya(p.type,p.key,p.props,null,m.mode,k),k.ref=ys(m,b,p),k.return=m,k)}function c(m,b,p,k){return b===null||b.tag!==4||b.stateNode.containerInfo!==p.containerInfo||b.stateNode.implementation!==p.implementation?(b=Au(p,m.mode,k),b.return=m,b):(b=i(b,p.children||[]),b.return=m,b)}function u(m,b,p,k,C){return b===null||b.tag!==7?(b=Tr(p,m.mode,k,C),b.return=m,b):(b=i(b,p),b.return=m,b)}function d(m,b,p){if(typeof b=="string"&&b!==""||typeof b=="number")return b=Du(""+b,m.mode,p),b.return=m,b;if(typeof b=="object"&&b!==null){switch(b.$$typeof){case mo:return p=ya(b.type,b.key,b.props,null,m.mode,p),p.ref=ys(m,null,b),p.return=m,p;case zr:return b=Au(b,m.mode,p),b.return=m,b;case On:var k=b._init;return d(m,k(b._payload),p)}if(Gi(b)||qi(b))return b=Tr(b,m.mode,p,null),b.return=m,b;Ko(m,b)}return null}function f(m,b,p,k){var C=b!==null?b.key:null;if(typeof p=="string"&&p!==""||typeof p=="number")return C!==null?null:a(m,b,""+p,k);if(typeof p=="object"&&p!==null){switch(p.$$typeof){case mo:return p.key===C?l(m,b,p,k):null;case zr:return p.key===C?c(m,b,p,k):null;case On:return C=p._init,f(m,b,C(p._payload),k)}if(Gi(p)||qi(p))return C!==null?null:u(m,b,p,k,null);Ko(m,p)}return null}function h(m,b,p,k,C){if(typeof k=="string"&&k!==""||typeof k=="number")return m=m.get(p)||null,a(b,m,""+k,C);if(typeof k=="object"&&k!==null){switch(k.$$typeof){case mo:return m=m.get(k.key===null?p:k.key)||null,l(b,m,k,C);case zr:return m=m.get(k.key===null?p:k.key)||null,c(b,m,k,C);case On:var w=k._init;return h(m,b,p,w(k._payload),C)}if(Gi(k)||qi(k))return m=m.get(p)||null,u(b,m,k,C,null);Ko(b,k)}return null}function v(m,b,p,k){for(var C=null,w=null,x=b,E=b=0,I=null;x!==null&&E<p.length;E++){x.index>E?(I=x,x=null):I=x.sibling;var _=f(m,x,p[E],k);if(_===null){x===null&&(x=I);break}t&&x&&_.alternate===null&&e(m,x),b=s(_,b,E),w===null?C=_:w.sibling=_,w=_,x=I}if(E===p.length)return n(m,x),ve&&gr(m,E),C;if(x===null){for(;E<p.length;E++)x=d(m,p[E],k),x!==null&&(b=s(x,b,E),w===null?C=x:w.sibling=x,w=x);return ve&&gr(m,E),C}for(x=r(m,x);E<p.length;E++)I=h(x,m,E,p[E],k),I!==null&&(t&&I.alternate!==null&&x.delete(I.key===null?E:I.key),b=s(I,b,E),w===null?C=I:w.sibling=I,w=I);return t&&x.forEach(function(U){return e(m,U)}),ve&&gr(m,E),C}function y(m,b,p,k){var C=qi(p);if(typeof C!="function")throw Error(N(150));if(p=C.call(p),p==null)throw Error(N(151));for(var w=C=null,x=b,E=b=0,I=null,_=p.next();x!==null&&!_.done;E++,_=p.next()){x.index>E?(I=x,x=null):I=x.sibling;var U=f(m,x,_.value,k);if(U===null){x===null&&(x=I);break}t&&x&&U.alternate===null&&e(m,x),b=s(U,b,E),w===null?C=U:w.sibling=U,w=U,x=I}if(_.done)return n(m,x),ve&&gr(m,E),C;if(x===null){for(;!_.done;E++,_=p.next())_=d(m,_.value,k),_!==null&&(b=s(_,b,E),w===null?C=_:w.sibling=_,w=_);return ve&&gr(m,E),C}for(x=r(m,x);!_.done;E++,_=p.next())_=h(x,m,E,_.value,k),_!==null&&(t&&_.alternate!==null&&x.delete(_.key===null?E:_.key),b=s(_,b,E),w===null?C=_:w.sibling=_,w=_);return t&&x.forEach(function($){return e(m,$)}),ve&&gr(m,E),C}function T(m,b,p,k){if(typeof p=="object"&&p!==null&&p.type===Hr&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case mo:e:{for(var C=p.key,w=b;w!==null;){if(w.key===C){if(C=p.type,C===Hr){if(w.tag===7){n(m,w.sibling),b=i(w,p.props.children),b.return=m,m=b;break e}}else if(w.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===On&&Np(C)===w.type){n(m,w.sibling),b=i(w,p.props),b.ref=ys(m,w,p),b.return=m,m=b;break e}n(m,w);break}else e(m,w);w=w.sibling}p.type===Hr?(b=Tr(p.props.children,m.mode,k,p.key),b.return=m,m=b):(k=ya(p.type,p.key,p.props,null,m.mode,k),k.ref=ys(m,b,p),k.return=m,m=k)}return o(m);case zr:e:{for(w=p.key;b!==null;){if(b.key===w)if(b.tag===4&&b.stateNode.containerInfo===p.containerInfo&&b.stateNode.implementation===p.implementation){n(m,b.sibling),b=i(b,p.children||[]),b.return=m,m=b;break e}else{n(m,b);break}else e(m,b);b=b.sibling}b=Au(p,m.mode,k),b.return=m,m=b}return o(m);case On:return w=p._init,T(m,b,w(p._payload),k)}if(Gi(p))return v(m,b,p,k);if(qi(p))return y(m,b,p,k);Ko(m,p)}return typeof p=="string"&&p!==""||typeof p=="number"?(p=""+p,b!==null&&b.tag===6?(n(m,b.sibling),b=i(b,p),b.return=m,m=b):(n(m,b),b=Du(p,m.mode,k),b.return=m,m=b),o(m)):n(m,b)}return T}var oi=Dp(!0),Ap=Dp(!1),Zo=Bn(null),Qo=null,ai=null,qc=null;function Wc(){qc=ai=Qo=null}function Gc(t){var e=Zo.current;ge(Zo),t._currentValue=e}function Kc(t,e,n){for(;t!==null;){var r=t.alternate;if((t.childLanes&e)!==e?(t.childLanes|=e,r!==null&&(r.childLanes|=e)):r!==null&&(r.childLanes&e)!==e&&(r.childLanes|=e),t===n)break;t=t.return}}function li(t,e){Qo=t,qc=ai=null,t=t.dependencies,t!==null&&t.firstContext!==null&&(t.lanes&e&&(lt=!0),t.firstContext=null)}function Et(t){var e=t._currentValue;if(qc!==t)if(t={context:t,memoizedValue:e,next:null},ai===null){if(Qo===null)throw Error(N(308));ai=t,Qo.dependencies={lanes:0,firstContext:t}}else ai=ai.next=t;return e}var vr=null;function Zc(t){vr===null?vr=[t]:vr.push(t)}function jp(t,e,n,r){var i=e.interleaved;return i===null?(n.next=n,Zc(e)):(n.next=i.next,i.next=n),e.interleaved=n,gn(t,r)}function gn(t,e){t.lanes|=e;var n=t.alternate;for(n!==null&&(n.lanes|=e),n=t,t=t.return;t!==null;)t.childLanes|=e,n=t.alternate,n!==null&&(n.childLanes|=e),n=t,t=t.return;return n.tag===3?n.stateNode:null}var Hn=!1;function Qc(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Up(t,e){t=t.updateQueue,e.updateQueue===t&&(e.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function vn(t,e){return{eventTime:t,lane:e,tag:0,payload:null,callback:null,next:null}}function $n(t,e,n){var r=t.updateQueue;if(r===null)return null;if(r=r.shared,ne&2){var i=r.pending;return i===null?e.next=e:(e.next=i.next,i.next=e),r.pending=e,gn(t,n)}return i=r.interleaved,i===null?(e.next=e,Zc(r)):(e.next=i.next,i.next=e),r.interleaved=e,gn(t,n)}function Jo(t,e,n){if(e=e.updateQueue,e!==null&&(e=e.shared,(n&4194240)!==0)){var r=e.lanes;r&=t.pendingLanes,n|=r,e.lanes=n,uc(t,n)}}function Fp(t,e){var n=t.updateQueue,r=t.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,s=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};s===null?i=s=o:s=s.next=o,n=n.next}while(n!==null);s===null?i=s=e:s=s.next=e}else i=s=e;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:s,shared:r.shared,effects:r.effects},t.updateQueue=n;return}t=n.lastBaseUpdate,t===null?n.firstBaseUpdate=e:t.next=e,n.lastBaseUpdate=e}function Yo(t,e,n,r){var i=t.updateQueue;Hn=!1;var s=i.firstBaseUpdate,o=i.lastBaseUpdate,a=i.shared.pending;if(a!==null){i.shared.pending=null;var l=a,c=l.next;l.next=null,o===null?s=c:o.next=c,o=l;var u=t.alternate;u!==null&&(u=u.updateQueue,a=u.lastBaseUpdate,a!==o&&(a===null?u.firstBaseUpdate=c:a.next=c,u.lastBaseUpdate=l))}if(s!==null){var d=i.baseState;o=0,u=c=l=null,a=s;do{var f=a.lane,h=a.eventTime;if((r&f)===f){u!==null&&(u=u.next={eventTime:h,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var v=t,y=a;switch(f=e,h=n,y.tag){case 1:if(v=y.payload,typeof v=="function"){d=v.call(h,d,f);break e}d=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=y.payload,f=typeof v=="function"?v.call(h,d,f):v,f==null)break e;d=Ce({},d,f);break e;case 2:Hn=!0}}a.callback!==null&&a.lane!==0&&(t.flags|=64,f=i.effects,f===null?i.effects=[a]:f.push(a))}else h={eventTime:h,lane:f,tag:a.tag,payload:a.payload,callback:a.callback,next:null},u===null?(c=u=h,l=d):u=u.next=h,o|=f;if(a=a.next,a===null){if(a=i.shared.pending,a===null)break;f=a,a=f.next,f.next=null,i.lastBaseUpdate=f,i.shared.pending=null}}while(!0);if(u===null&&(l=d),i.baseState=l,i.firstBaseUpdate=c,i.lastBaseUpdate=u,e=i.shared.interleaved,e!==null){i=e;do o|=i.lane,i=i.next;while(i!==e)}else s===null&&(i.shared.lanes=0);kr|=o,t.lanes=o,t.memoizedState=d}}function Bp(t,e,n){if(t=e.effects,e.effects=null,t!==null)for(e=0;e<t.length;e++){var r=t[e],i=r.callback;if(i!==null){if(r.callback=null,r=n,typeof i!="function")throw Error(N(191,i));i.call(r)}}}var bs={},Yt=Bn(bs),ks=Bn(bs),Cs=Bn(bs);function yr(t){if(t===bs)throw Error(N(174));return t}function Jc(t,e){switch(pe(Cs,e),pe(ks,t),pe(Yt,bs),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:Yl(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=Yl(e,t)}ge(Yt),pe(Yt,e)}function ci(){ge(Yt),ge(ks),ge(Cs)}function Vp(t){yr(Cs.current);var e=yr(Yt.current),n=Yl(e,t.type);e!==n&&(pe(ks,t),pe(Yt,n))}function Yc(t){ks.current===t&&(ge(Yt),ge(ks))}var Se=Bn(0);function Xo(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var Xc=[];function eu(){for(var t=0;t<Xc.length;t++)Xc[t]._workInProgressVersionPrimary=null;Xc.length=0}var ea=dn.ReactCurrentDispatcher,tu=dn.ReactCurrentBatchConfig,br=0,we=null,Ne=null,Ue=null,ta=!1,Ss=!1,ws=0,nC=0;function Ze(){throw Error(N(321))}function nu(t,e){if(e===null)return!1;for(var n=0;n<e.length&&n<t.length;n++)if(!Nt(t[n],e[n]))return!1;return!0}function ru(t,e,n,r,i,s){if(br=s,we=e,e.memoizedState=null,e.updateQueue=null,e.lanes=0,ea.current=t===null||t.memoizedState===null?oC:aC,t=n(r,i),Ss){s=0;do{if(Ss=!1,ws=0,25<=s)throw Error(N(301));s+=1,Ue=Ne=null,e.updateQueue=null,ea.current=lC,t=n(r,i)}while(Ss)}if(ea.current=ia,e=Ne!==null&&Ne.next!==null,br=0,Ue=Ne=we=null,ta=!1,e)throw Error(N(300));return t}function iu(){var t=ws!==0;return ws=0,t}function Xt(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ue===null?we.memoizedState=Ue=t:Ue=Ue.next=t,Ue}function Pt(){if(Ne===null){var t=we.alternate;t=t!==null?t.memoizedState:null}else t=Ne.next;var e=Ue===null?we.memoizedState:Ue.next;if(e!==null)Ue=e,Ne=t;else{if(t===null)throw Error(N(310));Ne=t,t={memoizedState:Ne.memoizedState,baseState:Ne.baseState,baseQueue:Ne.baseQueue,queue:Ne.queue,next:null},Ue===null?we.memoizedState=Ue=t:Ue=Ue.next=t}return Ue}function Ts(t,e){return typeof e=="function"?e(t):e}function su(t){var e=Pt(),n=e.queue;if(n===null)throw Error(N(311));n.lastRenderedReducer=t;var r=Ne,i=r.baseQueue,s=n.pending;if(s!==null){if(i!==null){var o=i.next;i.next=s.next,s.next=o}r.baseQueue=i=s,n.pending=null}if(i!==null){s=i.next,r=r.baseState;var a=o=null,l=null,c=s;do{var u=c.lane;if((br&u)===u)l!==null&&(l=l.next={lane:0,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),r=c.hasEagerState?c.eagerState:t(r,c.action);else{var d={lane:u,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null};l===null?(a=l=d,o=r):l=l.next=d,we.lanes|=u,kr|=u}c=c.next}while(c!==null&&c!==s);l===null?o=r:l.next=a,Nt(r,e.memoizedState)||(lt=!0),e.memoizedState=r,e.baseState=o,e.baseQueue=l,n.lastRenderedState=r}if(t=n.interleaved,t!==null){i=t;do s=i.lane,we.lanes|=s,kr|=s,i=i.next;while(i!==t)}else i===null&&(n.lanes=0);return[e.memoizedState,n.dispatch]}function ou(t){var e=Pt(),n=e.queue;if(n===null)throw Error(N(311));n.lastRenderedReducer=t;var r=n.dispatch,i=n.pending,s=e.memoizedState;if(i!==null){n.pending=null;var o=i=i.next;do s=t(s,o.action),o=o.next;while(o!==i);Nt(s,e.memoizedState)||(lt=!0),e.memoizedState=s,e.baseQueue===null&&(e.baseState=s),n.lastRenderedState=s}return[s,r]}function zp(){}function Hp(t,e){var n=we,r=Pt(),i=e(),s=!Nt(r.memoizedState,i);if(s&&(r.memoizedState=i,lt=!0),r=r.queue,au(Wp.bind(null,n,r,t),[t]),r.getSnapshot!==e||s||Ue!==null&&Ue.memoizedState.tag&1){if(n.flags|=2048,xs(9,qp.bind(null,n,r,i,e),void 0,null),Fe===null)throw Error(N(349));br&30||$p(n,e,i)}return i}function $p(t,e,n){t.flags|=16384,t={getSnapshot:e,value:n},e=we.updateQueue,e===null?(e={lastEffect:null,stores:null},we.updateQueue=e,e.stores=[t]):(n=e.stores,n===null?e.stores=[t]:n.push(t))}function qp(t,e,n,r){e.value=n,e.getSnapshot=r,Gp(e)&&Kp(t)}function Wp(t,e,n){return n(function(){Gp(e)&&Kp(t)})}function Gp(t){var e=t.getSnapshot;t=t.value;try{var n=e();return!Nt(t,n)}catch{return!0}}function Kp(t){var e=gn(t,1);e!==null&&Ft(e,t,1,-1)}function Zp(t){var e=Xt();return typeof t=="function"&&(t=t()),e.memoizedState=e.baseState=t,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Ts,lastRenderedState:t},e.queue=t,t=t.dispatch=sC.bind(null,we,t),[e.memoizedState,t]}function xs(t,e,n,r){return t={tag:t,create:e,destroy:n,deps:r,next:null},e=we.updateQueue,e===null?(e={lastEffect:null,stores:null},we.updateQueue=e,e.lastEffect=t.next=t):(n=e.lastEffect,n===null?e.lastEffect=t.next=t:(r=n.next,n.next=t,t.next=r,e.lastEffect=t)),t}function Qp(){return Pt().memoizedState}function na(t,e,n,r){var i=Xt();we.flags|=t,i.memoizedState=xs(1|e,n,void 0,r===void 0?null:r)}function ra(t,e,n,r){var i=Pt();r=r===void 0?null:r;var s=void 0;if(Ne!==null){var o=Ne.memoizedState;if(s=o.destroy,r!==null&&nu(r,o.deps)){i.memoizedState=xs(e,n,s,r);return}}we.flags|=t,i.memoizedState=xs(1|e,n,s,r)}function Jp(t,e){return na(8390656,8,t,e)}function au(t,e){return ra(2048,8,t,e)}function Yp(t,e){return ra(4,2,t,e)}function Xp(t,e){return ra(4,4,t,e)}function em(t,e){if(typeof e=="function")return t=t(),e(t),function(){e(null)};if(e!=null)return t=t(),e.current=t,function(){e.current=null}}function tm(t,e,n){return n=n!=null?n.concat([t]):null,ra(4,4,em.bind(null,e,t),n)}function lu(){}function nm(t,e){var n=Pt();e=e===void 0?null:e;var r=n.memoizedState;return r!==null&&e!==null&&nu(e,r[1])?r[0]:(n.memoizedState=[t,e],t)}function rm(t,e){var n=Pt();e=e===void 0?null:e;var r=n.memoizedState;return r!==null&&e!==null&&nu(e,r[1])?r[0]:(t=t(),n.memoizedState=[t,e],t)}function im(t,e,n){return br&21?(Nt(n,e)||(n=Nh(),we.lanes|=n,kr|=n,t.baseState=!0),e):(t.baseState&&(t.baseState=!1,lt=!0),t.memoizedState=n)}function rC(t,e){var n=ae;ae=n!==0&&4>n?n:4,t(!0);var r=tu.transition;tu.transition={};try{t(!1),e()}finally{ae=n,tu.transition=r}}function sm(){return Pt().memoizedState}function iC(t,e,n){var r=Kn(t);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},om(t))am(e,n);else if(n=jp(t,e,n,r),n!==null){var i=nt();Ft(n,t,r,i),lm(n,e,r)}}function sC(t,e,n){var r=Kn(t),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(om(t))am(e,i);else{var s=t.alternate;if(t.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var o=e.lastRenderedState,a=s(o,n);if(i.hasEagerState=!0,i.eagerState=a,Nt(a,o)){var l=e.interleaved;l===null?(i.next=i,Zc(e)):(i.next=l.next,l.next=i),e.interleaved=i;return}}catch{}finally{}n=jp(t,e,i,r),n!==null&&(i=nt(),Ft(n,t,r,i),lm(n,e,r))}}function om(t){var e=t.alternate;return t===we||e!==null&&e===we}function am(t,e){Ss=ta=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function lm(t,e,n){if(n&4194240){var r=e.lanes;r&=t.pendingLanes,n|=r,e.lanes=n,uc(t,n)}}var ia={readContext:Et,useCallback:Ze,useContext:Ze,useEffect:Ze,useImperativeHandle:Ze,useInsertionEffect:Ze,useLayoutEffect:Ze,useMemo:Ze,useReducer:Ze,useRef:Ze,useState:Ze,useDebugValue:Ze,useDeferredValue:Ze,useTransition:Ze,useMutableSource:Ze,useSyncExternalStore:Ze,useId:Ze,unstable_isNewReconciler:!1},oC={readContext:Et,useCallback:function(t,e){return Xt().memoizedState=[t,e===void 0?null:e],t},useContext:Et,useEffect:Jp,useImperativeHandle:function(t,e,n){return n=n!=null?n.concat([t]):null,na(4194308,4,em.bind(null,e,t),n)},useLayoutEffect:function(t,e){return na(4194308,4,t,e)},useInsertionEffect:function(t,e){return na(4,2,t,e)},useMemo:function(t,e){var n=Xt();return e=e===void 0?null:e,t=t(),n.memoizedState=[t,e],t},useReducer:function(t,e,n){var r=Xt();return e=n!==void 0?n(e):e,r.memoizedState=r.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},r.queue=t,t=t.dispatch=iC.bind(null,we,t),[r.memoizedState,t]},useRef:function(t){var e=Xt();return t={current:t},e.memoizedState=t},useState:Zp,useDebugValue:lu,useDeferredValue:function(t){return Xt().memoizedState=t},useTransition:function(){var t=Zp(!1),e=t[0];return t=rC.bind(null,t[1]),Xt().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,n){var r=we,i=Xt();if(ve){if(n===void 0)throw Error(N(407));n=n()}else{if(n=e(),Fe===null)throw Error(N(349));br&30||$p(r,e,n)}i.memoizedState=n;var s={value:n,getSnapshot:e};return i.queue=s,Jp(Wp.bind(null,r,s,t),[t]),r.flags|=2048,xs(9,qp.bind(null,r,s,n,e),void 0,null),n},useId:function(){var t=Xt(),e=Fe.identifierPrefix;if(ve){var n=mn,r=pn;n=(r&~(1<<32-Mt(r)-1)).toString(32)+n,e=":"+e+"R"+n,n=ws++,0<n&&(e+="H"+n.toString(32)),e+=":"}else n=nC++,e=":"+e+"r"+n.toString(32)+":";return t.memoizedState=e},unstable_isNewReconciler:!1},aC={readContext:Et,useCallback:nm,useContext:Et,useEffect:au,useImperativeHandle:tm,useInsertionEffect:Yp,useLayoutEffect:Xp,useMemo:rm,useReducer:su,useRef:Qp,useState:function(){return su(Ts)},useDebugValue:lu,useDeferredValue:function(t){var e=Pt();return im(e,Ne.memoizedState,t)},useTransition:function(){var t=su(Ts)[0],e=Pt().memoizedState;return[t,e]},useMutableSource:zp,useSyncExternalStore:Hp,useId:sm,unstable_isNewReconciler:!1},lC={readContext:Et,useCallback:nm,useContext:Et,useEffect:au,useImperativeHandle:tm,useInsertionEffect:Yp,useLayoutEffect:Xp,useMemo:rm,useReducer:ou,useRef:Qp,useState:function(){return ou(Ts)},useDebugValue:lu,useDeferredValue:function(t){var e=Pt();return Ne===null?e.memoizedState=t:im(e,Ne.memoizedState,t)},useTransition:function(){var t=ou(Ts)[0],e=Pt().memoizedState;return[t,e]},useMutableSource:zp,useSyncExternalStore:Hp,useId:sm,unstable_isNewReconciler:!1};function At(t,e){if(t&&t.defaultProps){e=Ce({},e),t=t.defaultProps;for(var n in t)e[n]===void 0&&(e[n]=t[n]);return e}return e}function cu(t,e,n,r){e=t.memoizedState,n=n(r,e),n=n==null?e:Ce({},e,n),t.memoizedState=n,t.lanes===0&&(t.updateQueue.baseState=n)}var sa={isMounted:function(t){return(t=t._reactInternals)?fr(t)===t:!1},enqueueSetState:function(t,e,n){t=t._reactInternals;var r=nt(),i=Kn(t),s=vn(r,i);s.payload=e,n!=null&&(s.callback=n),e=$n(t,s,i),e!==null&&(Ft(e,t,i,r),Jo(e,t,i))},enqueueReplaceState:function(t,e,n){t=t._reactInternals;var r=nt(),i=Kn(t),s=vn(r,i);s.tag=1,s.payload=e,n!=null&&(s.callback=n),e=$n(t,s,i),e!==null&&(Ft(e,t,i,r),Jo(e,t,i))},enqueueForceUpdate:function(t,e){t=t._reactInternals;var n=nt(),r=Kn(t),i=vn(n,r);i.tag=2,e!=null&&(i.callback=e),e=$n(t,i,r),e!==null&&(Ft(e,t,r,n),Jo(e,t,r))}};function cm(t,e,n,r,i,s,o){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(r,s,o):e.prototype&&e.prototype.isPureReactComponent?!ds(n,r)||!ds(i,s):!0}function um(t,e,n){var r=!1,i=Vn,s=e.contextType;return typeof s=="object"&&s!==null?s=Et(s):(i=at(e)?pr:Ke.current,r=e.contextTypes,s=(r=r!=null)?ni(t,i):Vn),e=new e(n,s),t.memoizedState=e.state!==null&&e.state!==void 0?e.state:null,e.updater=sa,t.stateNode=e,e._reactInternals=t,r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=i,t.__reactInternalMemoizedMaskedChildContext=s),e}function dm(t,e,n,r){t=e.state,typeof e.componentWillReceiveProps=="function"&&e.componentWillReceiveProps(n,r),typeof e.UNSAFE_componentWillReceiveProps=="function"&&e.UNSAFE_componentWillReceiveProps(n,r),e.state!==t&&sa.enqueueReplaceState(e,e.state,null)}function uu(t,e,n,r){var i=t.stateNode;i.props=n,i.state=t.memoizedState,i.refs={},Qc(t);var s=e.contextType;typeof s=="object"&&s!==null?i.context=Et(s):(s=at(e)?pr:Ke.current,i.context=ni(t,s)),i.state=t.memoizedState,s=e.getDerivedStateFromProps,typeof s=="function"&&(cu(t,e,s,n),i.state=t.memoizedState),typeof e.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(e=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),e!==i.state&&sa.enqueueReplaceState(i,i.state,null),Yo(t,n,i,r),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308)}function ui(t,e){try{var n="",r=e;do n+=Ab(r),r=r.return;while(r);var i=n}catch(s){i=`
|
|
39
39
|
Error generating stack: `+s.message+`
|
|
40
40
|
`+s.stack}return{value:t,source:e,stack:i,digest:null}}function du(t,e,n){return{value:t,source:null,stack:n??null,digest:e??null}}function fu(t,e){try{console.error(e.value)}catch(n){setTimeout(function(){throw n})}}var cC=typeof WeakMap=="function"?WeakMap:Map;function fm(t,e,n){n=vn(-1,n),n.tag=3,n.payload={element:null};var r=e.value;return n.callback=function(){fa||(fa=!0,Pu=r),fu(t,e)},n}function hm(t,e,n){n=vn(-1,n),n.tag=3;var r=t.type.getDerivedStateFromError;if(typeof r=="function"){var i=e.value;n.payload=function(){return r(i)},n.callback=function(){fu(t,e)}}var s=t.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(n.callback=function(){fu(t,e),typeof r!="function"&&(Wn===null?Wn=new Set([this]):Wn.add(this));var o=e.stack;this.componentDidCatch(e.value,{componentStack:o!==null?o:""})}),n}function pm(t,e,n){var r=t.pingCache;if(r===null){r=t.pingCache=new cC;var i=new Set;r.set(e,i)}else i=r.get(e),i===void 0&&(i=new Set,r.set(e,i));i.has(n)||(i.add(n),t=wC.bind(null,t,e,n),e.then(t,t))}function mm(t){do{var e;if((e=t.tag===13)&&(e=t.memoizedState,e=e!==null?e.dehydrated!==null:!0),e)return t;t=t.return}while(t!==null);return null}function gm(t,e,n,r,i){return t.mode&1?(t.flags|=65536,t.lanes=i,t):(t===e?t.flags|=65536:(t.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(e=vn(-1,1),e.tag=2,$n(n,e,1))),n.lanes|=1),t)}var uC=dn.ReactCurrentOwner,lt=!1;function tt(t,e,n,r){e.child=t===null?Ap(e,null,n,r):oi(e,t.child,n,r)}function vm(t,e,n,r,i){n=n.render;var s=e.ref;return li(e,i),r=ru(t,e,n,r,s,i),n=iu(),t!==null&&!lt?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~i,yn(t,e,i)):(ve&&n&&Bc(e),e.flags|=1,tt(t,e,r,i),e.child)}function ym(t,e,n,r,i){if(t===null){var s=n.type;return typeof s=="function"&&!Nu(s)&&s.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(e.tag=15,e.type=s,bm(t,e,s,r,i)):(t=ya(n.type,null,r,e,e.mode,i),t.ref=e.ref,t.return=e,e.child=t)}if(s=t.child,!(t.lanes&i)){var o=s.memoizedProps;if(n=n.compare,n=n!==null?n:ds,n(o,r)&&t.ref===e.ref)return yn(t,e,i)}return e.flags|=1,t=Qn(s,r),t.ref=e.ref,t.return=e,e.child=t}function bm(t,e,n,r,i){if(t!==null){var s=t.memoizedProps;if(ds(s,r)&&t.ref===e.ref)if(lt=!1,e.pendingProps=r=s,(t.lanes&i)!==0)t.flags&131072&&(lt=!0);else return e.lanes=t.lanes,yn(t,e,i)}return hu(t,e,n,r,i)}function km(t,e,n){var r=e.pendingProps,i=r.children,s=t!==null?t.memoizedState:null;if(r.mode==="hidden")if(!(e.mode&1))e.memoizedState={baseLanes:0,cachePool:null,transitions:null},pe(fi,kt),kt|=n;else{if(!(n&1073741824))return t=s!==null?s.baseLanes|n:n,e.lanes=e.childLanes=1073741824,e.memoizedState={baseLanes:t,cachePool:null,transitions:null},e.updateQueue=null,pe(fi,kt),kt|=t,null;e.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=s!==null?s.baseLanes:n,pe(fi,kt),kt|=r}else s!==null?(r=s.baseLanes|n,e.memoizedState=null):r=n,pe(fi,kt),kt|=r;return tt(t,e,i,n),e.child}function Cm(t,e){var n=e.ref;(t===null&&n!==null||t!==null&&t.ref!==n)&&(e.flags|=512,e.flags|=2097152)}function hu(t,e,n,r,i){var s=at(n)?pr:Ke.current;return s=ni(e,s),li(e,i),n=ru(t,e,n,r,s,i),r=iu(),t!==null&&!lt?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~i,yn(t,e,i)):(ve&&r&&Bc(e),e.flags|=1,tt(t,e,n,i),e.child)}function Sm(t,e,n,r,i){if(at(n)){var s=!0;Ho(e)}else s=!1;if(li(e,i),e.stateNode===null)aa(t,e),um(e,n,r),uu(e,n,r,i),r=!0;else if(t===null){var o=e.stateNode,a=e.memoizedProps;o.props=a;var l=o.context,c=n.contextType;typeof c=="object"&&c!==null?c=Et(c):(c=at(n)?pr:Ke.current,c=ni(e,c));var u=n.getDerivedStateFromProps,d=typeof u=="function"||typeof o.getSnapshotBeforeUpdate=="function";d||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==r||l!==c)&&dm(e,o,r,c),Hn=!1;var f=e.memoizedState;o.state=f,Yo(e,r,o,i),l=e.memoizedState,a!==r||f!==l||ot.current||Hn?(typeof u=="function"&&(cu(e,n,u,r),l=e.memoizedState),(a=Hn||cm(e,n,a,r,f,l,c))?(d||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(e.flags|=4194308)):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=r,e.memoizedState=l),o.props=r,o.state=l,o.context=c,r=a):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),r=!1)}else{o=e.stateNode,Up(t,e),a=e.memoizedProps,c=e.type===e.elementType?a:At(e.type,a),o.props=c,d=e.pendingProps,f=o.context,l=n.contextType,typeof l=="object"&&l!==null?l=Et(l):(l=at(n)?pr:Ke.current,l=ni(e,l));var h=n.getDerivedStateFromProps;(u=typeof h=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==d||f!==l)&&dm(e,o,r,l),Hn=!1,f=e.memoizedState,o.state=f,Yo(e,r,o,i);var v=e.memoizedState;a!==d||f!==v||ot.current||Hn?(typeof h=="function"&&(cu(e,n,h,r),v=e.memoizedState),(c=Hn||cm(e,n,c,r,f,v,l)||!1)?(u||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,v,l),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,v,l)),typeof o.componentDidUpdate=="function"&&(e.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof o.componentDidUpdate!="function"||a===t.memoizedProps&&f===t.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===t.memoizedProps&&f===t.memoizedState||(e.flags|=1024),e.memoizedProps=r,e.memoizedState=v),o.props=r,o.state=v,o.context=l,r=c):(typeof o.componentDidUpdate!="function"||a===t.memoizedProps&&f===t.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===t.memoizedProps&&f===t.memoizedState||(e.flags|=1024),r=!1)}return pu(t,e,n,r,s,i)}function pu(t,e,n,r,i,s){Cm(t,e);var o=(e.flags&128)!==0;if(!r&&!o)return i&&Pp(e,n,!1),yn(t,e,s);r=e.stateNode,uC.current=e;var a=o&&typeof n.getDerivedStateFromError!="function"?null:r.render();return e.flags|=1,t!==null&&o?(e.child=oi(e,t.child,null,s),e.child=oi(e,null,a,s)):tt(t,e,a,s),e.memoizedState=r.state,i&&Pp(e,n,!0),e.child}function wm(t){var e=t.stateNode;e.pendingContext?xp(t,e.pendingContext,e.pendingContext!==e.context):e.context&&xp(t,e.context,!1),Jc(t,e.containerInfo)}function Tm(t,e,n,r,i){return si(),$c(i),e.flags|=256,tt(t,e,n,r),e.child}var mu={dehydrated:null,treeContext:null,retryLane:0};function gu(t){return{baseLanes:t,cachePool:null,transitions:null}}function xm(t,e,n){var r=e.pendingProps,i=Se.current,s=!1,o=(e.flags&128)!==0,a;if((a=o)||(a=t!==null&&t.memoizedState===null?!1:(i&2)!==0),a?(s=!0,e.flags&=-129):(t===null||t.memoizedState!==null)&&(i|=1),pe(Se,i&1),t===null)return Hc(e),t=e.memoizedState,t!==null&&(t=t.dehydrated,t!==null)?(e.mode&1?t.data==="$!"?e.lanes=8:e.lanes=1073741824:e.lanes=1,null):(o=r.children,t=r.fallback,s?(r=e.mode,s=e.child,o={mode:"hidden",children:o},!(r&1)&&s!==null?(s.childLanes=0,s.pendingProps=o):s=ba(o,r,0,null),t=Tr(t,r,n,null),s.return=e,t.return=e,s.sibling=t,e.child=s,e.child.memoizedState=gu(n),e.memoizedState=mu,t):vu(e,o));if(i=t.memoizedState,i!==null&&(a=i.dehydrated,a!==null))return dC(t,e,o,r,a,i,n);if(s){s=r.fallback,o=e.mode,i=t.child,a=i.sibling;var l={mode:"hidden",children:r.children};return!(o&1)&&e.child!==i?(r=e.child,r.childLanes=0,r.pendingProps=l,e.deletions=null):(r=Qn(i,l),r.subtreeFlags=i.subtreeFlags&14680064),a!==null?s=Qn(a,s):(s=Tr(s,o,n,null),s.flags|=2),s.return=e,r.return=e,r.sibling=s,e.child=r,r=s,s=e.child,o=t.child.memoizedState,o=o===null?gu(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=t.childLanes&~n,e.memoizedState=mu,r}return s=t.child,t=s.sibling,r=Qn(s,{mode:"visible",children:r.children}),!(e.mode&1)&&(r.lanes=n),r.return=e,r.sibling=null,t!==null&&(n=e.deletions,n===null?(e.deletions=[t],e.flags|=16):n.push(t)),e.child=r,e.memoizedState=null,r}function vu(t,e){return e=ba({mode:"visible",children:e},t.mode,0,null),e.return=t,t.child=e}function oa(t,e,n,r){return r!==null&&$c(r),oi(e,t.child,null,n),t=vu(e,e.pendingProps.children),t.flags|=2,e.memoizedState=null,t}function dC(t,e,n,r,i,s,o){if(n)return e.flags&256?(e.flags&=-257,r=du(Error(N(422))),oa(t,e,o,r)):e.memoizedState!==null?(e.child=t.child,e.flags|=128,null):(s=r.fallback,i=e.mode,r=ba({mode:"visible",children:r.children},i,0,null),s=Tr(s,i,o,null),s.flags|=2,r.return=e,s.return=e,r.sibling=s,e.child=r,e.mode&1&&oi(e,t.child,null,o),e.child.memoizedState=gu(o),e.memoizedState=mu,s);if(!(e.mode&1))return oa(t,e,o,null);if(i.data==="$!"){if(r=i.nextSibling&&i.nextSibling.dataset,r)var a=r.dgst;return r=a,s=Error(N(419)),r=du(s,r,void 0),oa(t,e,o,r)}if(a=(o&t.childLanes)!==0,lt||a){if(r=Fe,r!==null){switch(o&-o){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}i=i&(r.suspendedLanes|o)?0:i,i!==0&&i!==s.retryLane&&(s.retryLane=i,gn(t,i),Ft(r,t,i,-1))}return Mu(),r=du(Error(N(421))),oa(t,e,o,r)}return i.data==="$?"?(e.flags|=128,e.child=t.child,e=TC.bind(null,t),i._reactRetry=e,null):(t=s.treeContext,bt=Fn(i.nextSibling),yt=e,ve=!0,Dt=null,t!==null&&(Tt[xt++]=pn,Tt[xt++]=mn,Tt[xt++]=mr,pn=t.id,mn=t.overflow,mr=e),e=vu(e,r.children),e.flags|=4096,e)}function Em(t,e,n){t.lanes|=e;var r=t.alternate;r!==null&&(r.lanes|=e),Kc(t.return,e,n)}function yu(t,e,n,r,i){var s=t.memoizedState;s===null?t.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(s.isBackwards=e,s.rendering=null,s.renderingStartTime=0,s.last=r,s.tail=n,s.tailMode=i)}function Pm(t,e,n){var r=e.pendingProps,i=r.revealOrder,s=r.tail;if(tt(t,e,r.children,n),r=Se.current,r&2)r=r&1|2,e.flags|=128;else{if(t!==null&&t.flags&128)e:for(t=e.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&Em(t,n,e);else if(t.tag===19)Em(t,n,e);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}r&=1}if(pe(Se,r),!(e.mode&1))e.memoizedState=null;else switch(i){case"forwards":for(n=e.child,i=null;n!==null;)t=n.alternate,t!==null&&Xo(t)===null&&(i=n),n=n.sibling;n=i,n===null?(i=e.child,e.child=null):(i=n.sibling,n.sibling=null),yu(e,!1,i,n,s);break;case"backwards":for(n=null,i=e.child,e.child=null;i!==null;){if(t=i.alternate,t!==null&&Xo(t)===null){e.child=i;break}t=i.sibling,i.sibling=n,n=i,i=t}yu(e,!0,n,null,s);break;case"together":yu(e,!1,null,null,void 0);break;default:e.memoizedState=null}return e.child}function aa(t,e){!(e.mode&1)&&t!==null&&(t.alternate=null,e.alternate=null,e.flags|=2)}function yn(t,e,n){if(t!==null&&(e.dependencies=t.dependencies),kr|=e.lanes,!(n&e.childLanes))return null;if(t!==null&&e.child!==t.child)throw Error(N(153));if(e.child!==null){for(t=e.child,n=Qn(t,t.pendingProps),e.child=n,n.return=e;t.sibling!==null;)t=t.sibling,n=n.sibling=Qn(t,t.pendingProps),n.return=e;n.sibling=null}return e.child}function fC(t,e,n){switch(e.tag){case 3:wm(e),si();break;case 5:Vp(e);break;case 1:at(e.type)&&Ho(e);break;case 4:Jc(e,e.stateNode.containerInfo);break;case 10:var r=e.type._context,i=e.memoizedProps.value;pe(Zo,r._currentValue),r._currentValue=i;break;case 13:if(r=e.memoizedState,r!==null)return r.dehydrated!==null?(pe(Se,Se.current&1),e.flags|=128,null):n&e.child.childLanes?xm(t,e,n):(pe(Se,Se.current&1),t=yn(t,e,n),t!==null?t.sibling:null);pe(Se,Se.current&1);break;case 19:if(r=(n&e.childLanes)!==0,t.flags&128){if(r)return Pm(t,e,n);e.flags|=128}if(i=e.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),pe(Se,Se.current),r)break;return null;case 22:case 23:return e.lanes=0,km(t,e,n)}return yn(t,e,n)}var _m,bu,Rm,Im;_m=function(t,e){for(var n=e.child;n!==null;){if(n.tag===5||n.tag===6)t.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},bu=function(){},Rm=function(t,e,n,r){var i=t.memoizedProps;if(i!==r){t=e.stateNode,yr(Yt.current);var s=null;switch(n){case"input":i=Kl(t,i),r=Kl(t,r),s=[];break;case"select":i=Ce({},i,{value:void 0}),r=Ce({},r,{value:void 0}),s=[];break;case"textarea":i=Jl(t,i),r=Jl(t,r),s=[];break;default:typeof i.onClick!="function"&&typeof r.onClick=="function"&&(t.onclick=Bo)}Xl(n,r);var o;n=null;for(c in i)if(!r.hasOwnProperty(c)&&i.hasOwnProperty(c)&&i[c]!=null)if(c==="style"){var a=i[c];for(o in a)a.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&($i.hasOwnProperty(c)?s||(s=[]):(s=s||[]).push(c,null));for(c in r){var l=r[c];if(a=i!=null?i[c]:void 0,r.hasOwnProperty(c)&&l!==a&&(l!=null||a!=null))if(c==="style")if(a){for(o in a)!a.hasOwnProperty(o)||l&&l.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in l)l.hasOwnProperty(o)&&a[o]!==l[o]&&(n||(n={}),n[o]=l[o])}else n||(s||(s=[]),s.push(c,n)),n=l;else c==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,a=a?a.__html:void 0,l!=null&&a!==l&&(s=s||[]).push(c,l)):c==="children"?typeof l!="string"&&typeof l!="number"||(s=s||[]).push(c,""+l):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&($i.hasOwnProperty(c)?(l!=null&&c==="onScroll"&&me("scroll",t),s||a===l||(s=[])):(s=s||[]).push(c,l))}n&&(s=s||[]).push("style",n);var c=s;(e.updateQueue=c)&&(e.flags|=4)}},Im=function(t,e,n,r){n!==r&&(e.flags|=4)};function Es(t,e){if(!ve)switch(t.tailMode){case"hidden":e=t.tail;for(var n=null;e!==null;)e.alternate!==null&&(n=e),e=e.sibling;n===null?t.tail=null:n.sibling=null;break;case"collapsed":n=t.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?e||t.tail===null?t.tail=null:t.tail.sibling=null:r.sibling=null}}function Qe(t){var e=t.alternate!==null&&t.alternate.child===t.child,n=0,r=0;if(e)for(var i=t.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=t,i=i.sibling;else for(i=t.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=t,i=i.sibling;return t.subtreeFlags|=r,t.childLanes=n,e}function hC(t,e,n){var r=e.pendingProps;switch(Vc(e),e.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Qe(e),null;case 1:return at(e.type)&&zo(),Qe(e),null;case 3:return r=e.stateNode,ci(),ge(ot),ge(Ke),eu(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(t===null||t.child===null)&&(Go(e)?e.flags|=4:t===null||t.memoizedState.isDehydrated&&!(e.flags&256)||(e.flags|=1024,Dt!==null&&(Iu(Dt),Dt=null))),bu(t,e),Qe(e),null;case 5:Yc(e);var i=yr(Cs.current);if(n=e.type,t!==null&&e.stateNode!=null)Rm(t,e,n,r,i),t.ref!==e.ref&&(e.flags|=512,e.flags|=2097152);else{if(!r){if(e.stateNode===null)throw Error(N(166));return Qe(e),null}if(t=yr(Yt.current),Go(e)){r=e.stateNode,n=e.type;var s=e.memoizedProps;switch(r[Jt]=e,r[gs]=s,t=(e.mode&1)!==0,n){case"dialog":me("cancel",r),me("close",r);break;case"iframe":case"object":case"embed":me("load",r);break;case"video":case"audio":for(i=0;i<hs.length;i++)me(hs[i],r);break;case"source":me("error",r);break;case"img":case"image":case"link":me("error",r),me("load",r);break;case"details":me("toggle",r);break;case"input":uh(r,s),me("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!s.multiple},me("invalid",r);break;case"textarea":hh(r,s),me("invalid",r)}Xl(n,s),i=null;for(var o in s)if(s.hasOwnProperty(o)){var a=s[o];o==="children"?typeof a=="string"?r.textContent!==a&&(s.suppressHydrationWarning!==!0&&Fo(r.textContent,a,t),i=["children",a]):typeof a=="number"&&r.textContent!==""+a&&(s.suppressHydrationWarning!==!0&&Fo(r.textContent,a,t),i=["children",""+a]):$i.hasOwnProperty(o)&&a!=null&&o==="onScroll"&&me("scroll",r)}switch(n){case"input":go(r),fh(r,s,!0);break;case"textarea":go(r),mh(r);break;case"select":case"option":break;default:typeof s.onClick=="function"&&(r.onclick=Bo)}r=i,e.updateQueue=r,r!==null&&(e.flags|=4)}else{o=i.nodeType===9?i:i.ownerDocument,t==="http://www.w3.org/1999/xhtml"&&(t=gh(n)),t==="http://www.w3.org/1999/xhtml"?n==="script"?(t=o.createElement("div"),t.innerHTML="<script><\/script>",t=t.removeChild(t.firstChild)):typeof r.is=="string"?t=o.createElement(n,{is:r.is}):(t=o.createElement(n),n==="select"&&(o=t,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):t=o.createElementNS(t,n),t[Jt]=e,t[gs]=r,_m(t,e,!1,!1),e.stateNode=t;e:{switch(o=ec(n,r),n){case"dialog":me("cancel",t),me("close",t),i=r;break;case"iframe":case"object":case"embed":me("load",t),i=r;break;case"video":case"audio":for(i=0;i<hs.length;i++)me(hs[i],t);i=r;break;case"source":me("error",t),i=r;break;case"img":case"image":case"link":me("error",t),me("load",t),i=r;break;case"details":me("toggle",t),i=r;break;case"input":uh(t,r),i=Kl(t,r),me("invalid",t);break;case"option":i=r;break;case"select":t._wrapperState={wasMultiple:!!r.multiple},i=Ce({},r,{value:void 0}),me("invalid",t);break;case"textarea":hh(t,r),i=Jl(t,r),me("invalid",t);break;default:i=r}Xl(n,i),a=i;for(s in a)if(a.hasOwnProperty(s)){var l=a[s];s==="style"?bh(t,l):s==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,l!=null&&vh(t,l)):s==="children"?typeof l=="string"?(n!=="textarea"||l!=="")&&Ki(t,l):typeof l=="number"&&Ki(t,""+l):s!=="suppressContentEditableWarning"&&s!=="suppressHydrationWarning"&&s!=="autoFocus"&&($i.hasOwnProperty(s)?l!=null&&s==="onScroll"&&me("scroll",t):l!=null&&jl(t,s,l,o))}switch(n){case"input":go(t),fh(t,r,!1);break;case"textarea":go(t),mh(t);break;case"option":r.value!=null&&t.setAttribute("value",""+Ln(r.value));break;case"select":t.multiple=!!r.multiple,s=r.value,s!=null?$r(t,!!r.multiple,s,!1):r.defaultValue!=null&&$r(t,!!r.multiple,r.defaultValue,!0);break;default:typeof i.onClick=="function"&&(t.onclick=Bo)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(e.flags|=4)}e.ref!==null&&(e.flags|=512,e.flags|=2097152)}return Qe(e),null;case 6:if(t&&e.stateNode!=null)Im(t,e,t.memoizedProps,r);else{if(typeof r!="string"&&e.stateNode===null)throw Error(N(166));if(n=yr(Cs.current),yr(Yt.current),Go(e)){if(r=e.stateNode,n=e.memoizedProps,r[Jt]=e,(s=r.nodeValue!==n)&&(t=yt,t!==null))switch(t.tag){case 3:Fo(r.nodeValue,n,(t.mode&1)!==0);break;case 5:t.memoizedProps.suppressHydrationWarning!==!0&&Fo(r.nodeValue,n,(t.mode&1)!==0)}s&&(e.flags|=4)}else r=(n.nodeType===9?n:n.ownerDocument).createTextNode(r),r[Jt]=e,e.stateNode=r}return Qe(e),null;case 13:if(ge(Se),r=e.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(ve&&bt!==null&&e.mode&1&&!(e.flags&128))Mp(),si(),e.flags|=98560,s=!1;else if(s=Go(e),r!==null&&r.dehydrated!==null){if(t===null){if(!s)throw Error(N(318));if(s=e.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(N(317));s[Jt]=e}else si(),!(e.flags&128)&&(e.memoizedState=null),e.flags|=4;Qe(e),s=!1}else Dt!==null&&(Iu(Dt),Dt=null),s=!0;if(!s)return e.flags&65536?e:null}return e.flags&128?(e.lanes=n,e):(r=r!==null,r!==(t!==null&&t.memoizedState!==null)&&r&&(e.child.flags|=8192,e.mode&1&&(t===null||Se.current&1?De===0&&(De=3):Mu())),e.updateQueue!==null&&(e.flags|=4),Qe(e),null);case 4:return ci(),bu(t,e),t===null&&ps(e.stateNode.containerInfo),Qe(e),null;case 10:return Gc(e.type._context),Qe(e),null;case 17:return at(e.type)&&zo(),Qe(e),null;case 19:if(ge(Se),s=e.memoizedState,s===null)return Qe(e),null;if(r=(e.flags&128)!==0,o=s.rendering,o===null)if(r)Es(s,!1);else{if(De!==0||t!==null&&t.flags&128)for(t=e.child;t!==null;){if(o=Xo(t),o!==null){for(e.flags|=128,Es(s,!1),r=o.updateQueue,r!==null&&(e.updateQueue=r,e.flags|=4),e.subtreeFlags=0,r=n,n=e.child;n!==null;)s=n,t=r,s.flags&=14680066,o=s.alternate,o===null?(s.childLanes=0,s.lanes=t,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=o.childLanes,s.lanes=o.lanes,s.child=o.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=o.memoizedProps,s.memoizedState=o.memoizedState,s.updateQueue=o.updateQueue,s.type=o.type,t=o.dependencies,s.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),n=n.sibling;return pe(Se,Se.current&1|2),e.child}t=t.sibling}s.tail!==null&&Re()>hi&&(e.flags|=128,r=!0,Es(s,!1),e.lanes=4194304)}else{if(!r)if(t=Xo(o),t!==null){if(e.flags|=128,r=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),Es(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!ve)return Qe(e),null}else 2*Re()-s.renderingStartTime>hi&&n!==1073741824&&(e.flags|=128,r=!0,Es(s,!1),e.lanes=4194304);s.isBackwards?(o.sibling=e.child,e.child=o):(n=s.last,n!==null?n.sibling=o:e.child=o,s.last=o)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=Re(),e.sibling=null,n=Se.current,pe(Se,r?n&1|2:n&1),e):(Qe(e),null);case 22:case 23:return Lu(),r=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==r&&(e.flags|=8192),r&&e.mode&1?kt&1073741824&&(Qe(e),e.subtreeFlags&6&&(e.flags|=8192)):Qe(e),null;case 24:return null;case 25:return null}throw Error(N(156,e.tag))}function pC(t,e){switch(Vc(e),e.tag){case 1:return at(e.type)&&zo(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return ci(),ge(ot),ge(Ke),eu(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return Yc(e),null;case 13:if(ge(Se),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(N(340));si()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return ge(Se),null;case 4:return ci(),null;case 10:return Gc(e.type._context),null;case 22:case 23:return Lu(),null;case 24:return null;default:return null}}var la=!1,Je=!1,mC=typeof WeakSet=="function"?WeakSet:Set,z=null;function di(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){xe(t,e,r)}else n.current=null}function ku(t,e,n){try{n()}catch(r){xe(t,e,r)}}var Om=!1;function gC(t,e){if(Lc=_o,t=cp(),Tc(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,s=r.focusNode;r=r.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var o=0,a=-1,l=-1,c=0,u=0,d=t,f=null;t:for(;;){for(var h;d!==n||i!==0&&d.nodeType!==3||(a=o+i),d!==s||r!==0&&d.nodeType!==3||(l=o+r),d.nodeType===3&&(o+=d.nodeValue.length),(h=d.firstChild)!==null;)f=d,d=h;for(;;){if(d===t)break t;if(f===n&&++c===i&&(a=o),f===s&&++u===r&&(l=o),(h=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=h}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Mc={focusedElem:t,selectionRange:n},_o=!1,z=e;z!==null;)if(e=z,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,z=t;else for(;z!==null;){e=z;try{var v=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(v!==null){var y=v.memoizedProps,T=v.memoizedState,m=e.stateNode,b=m.getSnapshotBeforeUpdate(e.elementType===e.type?y:At(e.type,y),T);m.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var p=e.stateNode.containerInfo;p.nodeType===1?p.textContent="":p.nodeType===9&&p.documentElement&&p.removeChild(p.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(N(163))}}catch(k){xe(e,e.return,k)}if(t=e.sibling,t!==null){t.return=e.return,z=t;break}z=e.return}return v=Om,Om=!1,v}function Ps(t,e,n){var r=e.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&t)===t){var s=i.destroy;i.destroy=void 0,s!==void 0&&ku(e,n,s)}i=i.next}while(i!==r)}}function ca(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var r=n.create;n.destroy=r()}n=n.next}while(n!==e)}}function Cu(t){var e=t.ref;if(e!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof e=="function"?e(t):e.current=t}}function Lm(t){var e=t.alternate;e!==null&&(t.alternate=null,Lm(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[Jt],delete e[gs],delete e[jc],delete e[Yk],delete e[Xk])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function Mm(t){return t.tag===5||t.tag===3||t.tag===4}function Nm(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Mm(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Su(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=Bo));else if(r!==4&&(t=t.child,t!==null))for(Su(t,e,n),t=t.sibling;t!==null;)Su(t,e,n),t=t.sibling}function wu(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(r!==4&&(t=t.child,t!==null))for(wu(t,e,n),t=t.sibling;t!==null;)wu(t,e,n),t=t.sibling}var He=null,jt=!1;function qn(t,e,n){for(n=n.child;n!==null;)Dm(t,e,n),n=n.sibling}function Dm(t,e,n){if(Qt&&typeof Qt.onCommitFiberUnmount=="function")try{Qt.onCommitFiberUnmount(So,n)}catch{}switch(n.tag){case 5:Je||di(n,e);case 6:var r=He,i=jt;He=null,qn(t,e,n),He=r,jt=i,He!==null&&(jt?(t=He,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):He.removeChild(n.stateNode));break;case 18:He!==null&&(jt?(t=He,n=n.stateNode,t.nodeType===8?Ac(t.parentNode,n):t.nodeType===1&&Ac(t,n),ss(t)):Ac(He,n.stateNode));break;case 4:r=He,i=jt,He=n.stateNode.containerInfo,jt=!0,qn(t,e,n),He=r,jt=i;break;case 0:case 11:case 14:case 15:if(!Je&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var s=i,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&ku(n,e,o),i=i.next}while(i!==r)}qn(t,e,n);break;case 1:if(!Je&&(di(n,e),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){xe(n,e,a)}qn(t,e,n);break;case 21:qn(t,e,n);break;case 22:n.mode&1?(Je=(r=Je)||n.memoizedState!==null,qn(t,e,n),Je=r):qn(t,e,n);break;default:qn(t,e,n)}}function Am(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new mC),e.forEach(function(r){var i=xC.bind(null,t,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Ut(t,e){var n=e.deletions;if(n!==null)for(var r=0;r<n.length;r++){var i=n[r];try{var s=t,o=e,a=o;e:for(;a!==null;){switch(a.tag){case 5:He=a.stateNode,jt=!1;break e;case 3:He=a.stateNode.containerInfo,jt=!0;break e;case 4:He=a.stateNode.containerInfo,jt=!0;break e}a=a.return}if(He===null)throw Error(N(160));Dm(s,o,i),He=null,jt=!1;var l=i.alternate;l!==null&&(l.return=null),i.return=null}catch(c){xe(i,e,c)}}if(e.subtreeFlags&12854)for(e=e.child;e!==null;)jm(e,t),e=e.sibling}function jm(t,e){var n=t.alternate,r=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:if(Ut(e,t),en(t),r&4){try{Ps(3,t,t.return),ca(3,t)}catch(y){xe(t,t.return,y)}try{Ps(5,t,t.return)}catch(y){xe(t,t.return,y)}}break;case 1:Ut(e,t),en(t),r&512&&n!==null&&di(n,n.return);break;case 5:if(Ut(e,t),en(t),r&512&&n!==null&&di(n,n.return),t.flags&32){var i=t.stateNode;try{Ki(i,"")}catch(y){xe(t,t.return,y)}}if(r&4&&(i=t.stateNode,i!=null)){var s=t.memoizedProps,o=n!==null?n.memoizedProps:s,a=t.type,l=t.updateQueue;if(t.updateQueue=null,l!==null)try{a==="input"&&s.type==="radio"&&s.name!=null&&dh(i,s),ec(a,o);var c=ec(a,s);for(o=0;o<l.length;o+=2){var u=l[o],d=l[o+1];u==="style"?bh(i,d):u==="dangerouslySetInnerHTML"?vh(i,d):u==="children"?Ki(i,d):jl(i,u,d,c)}switch(a){case"input":Zl(i,s);break;case"textarea":ph(i,s);break;case"select":var f=i._wrapperState.wasMultiple;i._wrapperState.wasMultiple=!!s.multiple;var h=s.value;h!=null?$r(i,!!s.multiple,h,!1):f!==!!s.multiple&&(s.defaultValue!=null?$r(i,!!s.multiple,s.defaultValue,!0):$r(i,!!s.multiple,s.multiple?[]:"",!1))}i[gs]=s}catch(y){xe(t,t.return,y)}}break;case 6:if(Ut(e,t),en(t),r&4){if(t.stateNode===null)throw Error(N(162));i=t.stateNode,s=t.memoizedProps;try{i.nodeValue=s}catch(y){xe(t,t.return,y)}}break;case 3:if(Ut(e,t),en(t),r&4&&n!==null&&n.memoizedState.isDehydrated)try{ss(e.containerInfo)}catch(y){xe(t,t.return,y)}break;case 4:Ut(e,t),en(t);break;case 13:Ut(e,t),en(t),i=t.child,i.flags&8192&&(s=i.memoizedState!==null,i.stateNode.isHidden=s,!s||i.alternate!==null&&i.alternate.memoizedState!==null||(Eu=Re())),r&4&&Am(t);break;case 22:if(u=n!==null&&n.memoizedState!==null,t.mode&1?(Je=(c=Je)||u,Ut(e,t),Je=c):Ut(e,t),en(t),r&8192){if(c=t.memoizedState!==null,(t.stateNode.isHidden=c)&&!u&&t.mode&1)for(z=t,u=t.child;u!==null;){for(d=z=u;z!==null;){switch(f=z,h=f.child,f.tag){case 0:case 11:case 14:case 15:Ps(4,f,f.return);break;case 1:di(f,f.return);var v=f.stateNode;if(typeof v.componentWillUnmount=="function"){r=f,n=f.return;try{e=r,v.props=e.memoizedProps,v.state=e.memoizedState,v.componentWillUnmount()}catch(y){xe(r,n,y)}}break;case 5:di(f,f.return);break;case 22:if(f.memoizedState!==null){Bm(d);continue}}h!==null?(h.return=f,z=h):Bm(d)}u=u.sibling}e:for(u=null,d=t;;){if(d.tag===5){if(u===null){u=d;try{i=d.stateNode,c?(s=i.style,typeof s.setProperty=="function"?s.setProperty("display","none","important"):s.display="none"):(a=d.stateNode,l=d.memoizedProps.style,o=l!=null&&l.hasOwnProperty("display")?l.display:null,a.style.display=yh("display",o))}catch(y){xe(t,t.return,y)}}}else if(d.tag===6){if(u===null)try{d.stateNode.nodeValue=c?"":d.memoizedProps}catch(y){xe(t,t.return,y)}}else if((d.tag!==22&&d.tag!==23||d.memoizedState===null||d===t)&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===t)break e;for(;d.sibling===null;){if(d.return===null||d.return===t)break e;u===d&&(u=null),d=d.return}u===d&&(u=null),d.sibling.return=d.return,d=d.sibling}}break;case 19:Ut(e,t),en(t),r&4&&Am(t);break;case 21:break;default:Ut(e,t),en(t)}}function en(t){var e=t.flags;if(e&2){try{e:{for(var n=t.return;n!==null;){if(Mm(n)){var r=n;break e}n=n.return}throw Error(N(160))}switch(r.tag){case 5:var i=r.stateNode;r.flags&32&&(Ki(i,""),r.flags&=-33);var s=Nm(t);wu(t,s,i);break;case 3:case 4:var o=r.stateNode.containerInfo,a=Nm(t);Su(t,a,o);break;default:throw Error(N(161))}}catch(l){xe(t,t.return,l)}t.flags&=-3}e&4096&&(t.flags&=-4097)}function vC(t,e,n){z=t,Um(t)}function Um(t,e,n){for(var r=(t.mode&1)!==0;z!==null;){var i=z,s=i.child;if(i.tag===22&&r){var o=i.memoizedState!==null||la;if(!o){var a=i.alternate,l=a!==null&&a.memoizedState!==null||Je;a=la;var c=Je;if(la=o,(Je=l)&&!c)for(z=i;z!==null;)o=z,l=o.child,o.tag===22&&o.memoizedState!==null?Vm(i):l!==null?(l.return=o,z=l):Vm(i);for(;s!==null;)z=s,Um(s),s=s.sibling;z=i,la=a,Je=c}Fm(t)}else i.subtreeFlags&8772&&s!==null?(s.return=i,z=s):Fm(t)}}function Fm(t){for(;z!==null;){var e=z;if(e.flags&8772){var n=e.alternate;try{if(e.flags&8772)switch(e.tag){case 0:case 11:case 15:Je||ca(5,e);break;case 1:var r=e.stateNode;if(e.flags&4&&!Je)if(n===null)r.componentDidMount();else{var i=e.elementType===e.type?n.memoizedProps:At(e.type,n.memoizedProps);r.componentDidUpdate(i,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var s=e.updateQueue;s!==null&&Bp(e,s,r);break;case 3:var o=e.updateQueue;if(o!==null){if(n=null,e.child!==null)switch(e.child.tag){case 5:n=e.child.stateNode;break;case 1:n=e.child.stateNode}Bp(e,o,n)}break;case 5:var a=e.stateNode;if(n===null&&e.flags&4){n=a;var l=e.memoizedProps;switch(e.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&n.focus();break;case"img":l.src&&(n.src=l.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(e.memoizedState===null){var c=e.alternate;if(c!==null){var u=c.memoizedState;if(u!==null){var d=u.dehydrated;d!==null&&ss(d)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(N(163))}Je||e.flags&512&&Cu(e)}catch(f){xe(e,e.return,f)}}if(e===t){z=null;break}if(n=e.sibling,n!==null){n.return=e.return,z=n;break}z=e.return}}function Bm(t){for(;z!==null;){var e=z;if(e===t){z=null;break}var n=e.sibling;if(n!==null){n.return=e.return,z=n;break}z=e.return}}function Vm(t){for(;z!==null;){var e=z;try{switch(e.tag){case 0:case 11:case 15:var n=e.return;try{ca(4,e)}catch(l){xe(e,n,l)}break;case 1:var r=e.stateNode;if(typeof r.componentDidMount=="function"){var i=e.return;try{r.componentDidMount()}catch(l){xe(e,i,l)}}var s=e.return;try{Cu(e)}catch(l){xe(e,s,l)}break;case 5:var o=e.return;try{Cu(e)}catch(l){xe(e,o,l)}}}catch(l){xe(e,e.return,l)}if(e===t){z=null;break}var a=e.sibling;if(a!==null){a.return=e.return,z=a;break}z=e.return}}var yC=Math.ceil,ua=dn.ReactCurrentDispatcher,Tu=dn.ReactCurrentOwner,_t=dn.ReactCurrentBatchConfig,ne=0,Fe=null,Le=null,$e=0,kt=0,fi=Bn(0),De=0,_s=null,kr=0,da=0,xu=0,Rs=null,ct=null,Eu=0,hi=1/0,bn=null,fa=!1,Pu=null,Wn=null,ha=!1,Gn=null,pa=0,Is=0,_u=null,ma=-1,ga=0;function nt(){return ne&6?Re():ma!==-1?ma:ma=Re()}function Kn(t){return t.mode&1?ne&2&&$e!==0?$e&-$e:tC.transition!==null?(ga===0&&(ga=Nh()),ga):(t=ae,t!==0||(t=window.event,t=t===void 0?16:Hh(t.type)),t):1}function Ft(t,e,n,r){if(50<Is)throw Is=0,_u=null,Error(N(185));es(t,n,r),(!(ne&2)||t!==Fe)&&(t===Fe&&(!(ne&2)&&(da|=n),De===4&&Zn(t,$e)),ut(t,r),n===1&&ne===0&&!(e.mode&1)&&(hi=Re()+500,$o&&zn()))}function ut(t,e){var n=t.callbackNode;tk(t,e);var r=xo(t,t===Fe?$e:0);if(r===0)n!==null&&Oh(n),t.callbackNode=null,t.callbackPriority=0;else if(e=r&-r,t.callbackPriority!==e){if(n!=null&&Oh(n),e===1)t.tag===0?eC(Hm.bind(null,t)):_p(Hm.bind(null,t)),Qk(function(){!(ne&6)&&zn()}),n=null;else{switch(Dh(r)){case 1:n=ac;break;case 4:n=Lh;break;case 16:n=Co;break;case 536870912:n=Mh;break;default:n=Co}n=Jm(n,zm.bind(null,t))}t.callbackPriority=e,t.callbackNode=n}}function zm(t,e){if(ma=-1,ga=0,ne&6)throw Error(N(327));var n=t.callbackNode;if(pi()&&t.callbackNode!==n)return null;var r=xo(t,t===Fe?$e:0);if(r===0)return null;if(r&30||r&t.expiredLanes||e)e=va(t,r);else{e=r;var i=ne;ne|=2;var s=qm();(Fe!==t||$e!==e)&&(bn=null,hi=Re()+500,Sr(t,e));do try{CC();break}catch(a){$m(t,a)}while(!0);Wc(),ua.current=s,ne=i,Le!==null?e=0:(Fe=null,$e=0,e=De)}if(e!==0){if(e===2&&(i=lc(t),i!==0&&(r=i,e=Ru(t,i))),e===1)throw n=_s,Sr(t,0),Zn(t,r),ut(t,Re()),n;if(e===6)Zn(t,r);else{if(i=t.current.alternate,!(r&30)&&!bC(i)&&(e=va(t,r),e===2&&(s=lc(t),s!==0&&(r=s,e=Ru(t,s))),e===1))throw n=_s,Sr(t,0),Zn(t,r),ut(t,Re()),n;switch(t.finishedWork=i,t.finishedLanes=r,e){case 0:case 1:throw Error(N(345));case 2:wr(t,ct,bn);break;case 3:if(Zn(t,r),(r&130023424)===r&&(e=Eu+500-Re(),10<e)){if(xo(t,0)!==0)break;if(i=t.suspendedLanes,(i&r)!==r){nt(),t.pingedLanes|=t.suspendedLanes&i;break}t.timeoutHandle=Dc(wr.bind(null,t,ct,bn),e);break}wr(t,ct,bn);break;case 4:if(Zn(t,r),(r&4194240)===r)break;for(e=t.eventTimes,i=-1;0<r;){var o=31-Mt(r);s=1<<o,o=e[o],o>i&&(i=o),r&=~s}if(r=i,r=Re()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*yC(r/1960))-r,10<r){t.timeoutHandle=Dc(wr.bind(null,t,ct,bn),r);break}wr(t,ct,bn);break;case 5:wr(t,ct,bn);break;default:throw Error(N(329))}}}return ut(t,Re()),t.callbackNode===n?zm.bind(null,t):null}function Ru(t,e){var n=Rs;return t.current.memoizedState.isDehydrated&&(Sr(t,e).flags|=256),t=va(t,e),t!==2&&(e=ct,ct=n,e!==null&&Iu(e)),t}function Iu(t){ct===null?ct=t:ct.push.apply(ct,t)}function bC(t){for(var e=t;;){if(e.flags&16384){var n=e.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var i=n[r],s=i.getSnapshot;i=i.value;try{if(!Nt(s(),i))return!1}catch{return!1}}}if(n=e.child,e.subtreeFlags&16384&&n!==null)n.return=e,e=n;else{if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return!0;e=e.return}e.sibling.return=e.return,e=e.sibling}}return!0}function Zn(t,e){for(e&=~xu,e&=~da,t.suspendedLanes|=e,t.pingedLanes&=~e,t=t.expirationTimes;0<e;){var n=31-Mt(e),r=1<<n;t[n]=-1,e&=~r}}function Hm(t){if(ne&6)throw Error(N(327));pi();var e=xo(t,0);if(!(e&1))return ut(t,Re()),null;var n=va(t,e);if(t.tag!==0&&n===2){var r=lc(t);r!==0&&(e=r,n=Ru(t,r))}if(n===1)throw n=_s,Sr(t,0),Zn(t,e),ut(t,Re()),n;if(n===6)throw Error(N(345));return t.finishedWork=t.current.alternate,t.finishedLanes=e,wr(t,ct,bn),ut(t,Re()),null}function Ou(t,e){var n=ne;ne|=1;try{return t(e)}finally{ne=n,ne===0&&(hi=Re()+500,$o&&zn())}}function Cr(t){Gn!==null&&Gn.tag===0&&!(ne&6)&&pi();var e=ne;ne|=1;var n=_t.transition,r=ae;try{if(_t.transition=null,ae=1,t)return t()}finally{ae=r,_t.transition=n,ne=e,!(ne&6)&&zn()}}function Lu(){kt=fi.current,ge(fi)}function Sr(t,e){t.finishedWork=null,t.finishedLanes=0;var n=t.timeoutHandle;if(n!==-1&&(t.timeoutHandle=-1,Zk(n)),Le!==null)for(n=Le.return;n!==null;){var r=n;switch(Vc(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&zo();break;case 3:ci(),ge(ot),ge(Ke),eu();break;case 5:Yc(r);break;case 4:ci();break;case 13:ge(Se);break;case 19:ge(Se);break;case 10:Gc(r.type._context);break;case 22:case 23:Lu()}n=n.return}if(Fe=t,Le=t=Qn(t.current,null),$e=kt=e,De=0,_s=null,xu=da=kr=0,ct=Rs=null,vr!==null){for(e=0;e<vr.length;e++)if(n=vr[e],r=n.interleaved,r!==null){n.interleaved=null;var i=r.next,s=n.pending;if(s!==null){var o=s.next;s.next=i,r.next=o}n.pending=r}vr=null}return t}function $m(t,e){do{var n=Le;try{if(Wc(),ea.current=ia,ta){for(var r=we.memoizedState;r!==null;){var i=r.queue;i!==null&&(i.pending=null),r=r.next}ta=!1}if(br=0,Ue=Ne=we=null,Ss=!1,ws=0,Tu.current=null,n===null||n.return===null){De=1,_s=e,Le=null;break}e:{var s=t,o=n.return,a=n,l=e;if(e=$e,a.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){var c=l,u=a,d=u.tag;if(!(u.mode&1)&&(d===0||d===11||d===15)){var f=u.alternate;f?(u.updateQueue=f.updateQueue,u.memoizedState=f.memoizedState,u.lanes=f.lanes):(u.updateQueue=null,u.memoizedState=null)}var h=mm(o);if(h!==null){h.flags&=-257,gm(h,o,a,s,e),h.mode&1&&pm(s,c,e),e=h,l=c;var v=e.updateQueue;if(v===null){var y=new Set;y.add(l),e.updateQueue=y}else v.add(l);break e}else{if(!(e&1)){pm(s,c,e),Mu();break e}l=Error(N(426))}}else if(ve&&a.mode&1){var T=mm(o);if(T!==null){!(T.flags&65536)&&(T.flags|=256),gm(T,o,a,s,e),$c(ui(l,a));break e}}s=l=ui(l,a),De!==4&&(De=2),Rs===null?Rs=[s]:Rs.push(s),s=o;do{switch(s.tag){case 3:s.flags|=65536,e&=-e,s.lanes|=e;var m=fm(s,l,e);Fp(s,m);break e;case 1:a=l;var b=s.type,p=s.stateNode;if(!(s.flags&128)&&(typeof b.getDerivedStateFromError=="function"||p!==null&&typeof p.componentDidCatch=="function"&&(Wn===null||!Wn.has(p)))){s.flags|=65536,e&=-e,s.lanes|=e;var k=hm(s,a,e);Fp(s,k);break e}}s=s.return}while(s!==null)}Gm(n)}catch(C){e=C,Le===n&&n!==null&&(Le=n=n.return);continue}break}while(!0)}function qm(){var t=ua.current;return ua.current=ia,t===null?ia:t}function Mu(){(De===0||De===3||De===2)&&(De=4),Fe===null||!(kr&268435455)&&!(da&268435455)||Zn(Fe,$e)}function va(t,e){var n=ne;ne|=2;var r=qm();(Fe!==t||$e!==e)&&(bn=null,Sr(t,e));do try{kC();break}catch(i){$m(t,i)}while(!0);if(Wc(),ne=n,ua.current=r,Le!==null)throw Error(N(261));return Fe=null,$e=0,De}function kC(){for(;Le!==null;)Wm(Le)}function CC(){for(;Le!==null&&!Wb();)Wm(Le)}function Wm(t){var e=Qm(t.alternate,t,kt);t.memoizedProps=t.pendingProps,e===null?Gm(t):Le=e,Tu.current=null}function Gm(t){var e=t;do{var n=e.alternate;if(t=e.return,e.flags&32768){if(n=pC(n,e),n!==null){n.flags&=32767,Le=n;return}if(t!==null)t.flags|=32768,t.subtreeFlags=0,t.deletions=null;else{De=6,Le=null;return}}else if(n=hC(n,e,kt),n!==null){Le=n;return}if(e=e.sibling,e!==null){Le=e;return}Le=e=t}while(e!==null);De===0&&(De=5)}function wr(t,e,n){var r=ae,i=_t.transition;try{_t.transition=null,ae=1,SC(t,e,n,r)}finally{_t.transition=i,ae=r}return null}function SC(t,e,n,r){do pi();while(Gn!==null);if(ne&6)throw Error(N(327));n=t.finishedWork;var i=t.finishedLanes;if(n===null)return null;if(t.finishedWork=null,t.finishedLanes=0,n===t.current)throw Error(N(177));t.callbackNode=null,t.callbackPriority=0;var s=n.lanes|n.childLanes;if(nk(t,s),t===Fe&&(Le=Fe=null,$e=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||ha||(ha=!0,Jm(Co,function(){return pi(),null})),s=(n.flags&15990)!==0,n.subtreeFlags&15990||s){s=_t.transition,_t.transition=null;var o=ae;ae=1;var a=ne;ne|=4,Tu.current=null,gC(t,n),jm(n,t),zk(Mc),_o=!!Lc,Mc=Lc=null,t.current=n,vC(n),Gb(),ne=a,ae=o,_t.transition=s}else t.current=n;if(ha&&(ha=!1,Gn=t,pa=i),s=t.pendingLanes,s===0&&(Wn=null),Qb(n.stateNode),ut(t,Re()),e!==null)for(r=t.onRecoverableError,n=0;n<e.length;n++)i=e[n],r(i.value,{componentStack:i.stack,digest:i.digest});if(fa)throw fa=!1,t=Pu,Pu=null,t;return pa&1&&t.tag!==0&&pi(),s=t.pendingLanes,s&1?t===_u?Is++:(Is=0,_u=t):Is=0,zn(),null}function pi(){if(Gn!==null){var t=Dh(pa),e=_t.transition,n=ae;try{if(_t.transition=null,ae=16>t?16:t,Gn===null)var r=!1;else{if(t=Gn,Gn=null,pa=0,ne&6)throw Error(N(331));var i=ne;for(ne|=4,z=t.current;z!==null;){var s=z,o=s.child;if(z.flags&16){var a=s.deletions;if(a!==null){for(var l=0;l<a.length;l++){var c=a[l];for(z=c;z!==null;){var u=z;switch(u.tag){case 0:case 11:case 15:Ps(8,u,s)}var d=u.child;if(d!==null)d.return=u,z=d;else for(;z!==null;){u=z;var f=u.sibling,h=u.return;if(Lm(u),u===c){z=null;break}if(f!==null){f.return=h,z=f;break}z=h}}}var v=s.alternate;if(v!==null){var y=v.child;if(y!==null){v.child=null;do{var T=y.sibling;y.sibling=null,y=T}while(y!==null)}}z=s}}if(s.subtreeFlags&2064&&o!==null)o.return=s,z=o;else e:for(;z!==null;){if(s=z,s.flags&2048)switch(s.tag){case 0:case 11:case 15:Ps(9,s,s.return)}var m=s.sibling;if(m!==null){m.return=s.return,z=m;break e}z=s.return}}var b=t.current;for(z=b;z!==null;){o=z;var p=o.child;if(o.subtreeFlags&2064&&p!==null)p.return=o,z=p;else e:for(o=b;z!==null;){if(a=z,a.flags&2048)try{switch(a.tag){case 0:case 11:case 15:ca(9,a)}}catch(C){xe(a,a.return,C)}if(a===o){z=null;break e}var k=a.sibling;if(k!==null){k.return=a.return,z=k;break e}z=a.return}}if(ne=i,zn(),Qt&&typeof Qt.onPostCommitFiberRoot=="function")try{Qt.onPostCommitFiberRoot(So,t)}catch{}r=!0}return r}finally{ae=n,_t.transition=e}}return!1}function Km(t,e,n){e=ui(n,e),e=fm(t,e,1),t=$n(t,e,1),e=nt(),t!==null&&(es(t,1,e),ut(t,e))}function xe(t,e,n){if(t.tag===3)Km(t,t,n);else for(;e!==null;){if(e.tag===3){Km(e,t,n);break}else if(e.tag===1){var r=e.stateNode;if(typeof e.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(Wn===null||!Wn.has(r))){t=ui(n,t),t=hm(e,t,1),e=$n(e,t,1),t=nt(),e!==null&&(es(e,1,t),ut(e,t));break}}e=e.return}}function wC(t,e,n){var r=t.pingCache;r!==null&&r.delete(e),e=nt(),t.pingedLanes|=t.suspendedLanes&n,Fe===t&&($e&n)===n&&(De===4||De===3&&($e&130023424)===$e&&500>Re()-Eu?Sr(t,0):xu|=n),ut(t,e)}function Zm(t,e){e===0&&(t.mode&1?(e=To,To<<=1,!(To&130023424)&&(To=4194304)):e=1);var n=nt();t=gn(t,e),t!==null&&(es(t,e,n),ut(t,n))}function TC(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),Zm(t,n)}function xC(t,e){var n=0;switch(t.tag){case 13:var r=t.stateNode,i=t.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=t.stateNode;break;default:throw Error(N(314))}r!==null&&r.delete(e),Zm(t,n)}var Qm;Qm=function(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps||ot.current)lt=!0;else{if(!(t.lanes&n)&&!(e.flags&128))return lt=!1,fC(t,e,n);lt=!!(t.flags&131072)}else lt=!1,ve&&e.flags&1048576&&Rp(e,Wo,e.index);switch(e.lanes=0,e.tag){case 2:var r=e.type;aa(t,e),t=e.pendingProps;var i=ni(e,Ke.current);li(e,n),i=ru(null,e,r,t,i,n);var s=iu();return e.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,at(r)?(s=!0,Ho(e)):s=!1,e.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Qc(e),i.updater=sa,e.stateNode=i,i._reactInternals=e,uu(e,r,t,n),e=pu(null,e,r,!0,s,n)):(e.tag=0,ve&&s&&Bc(e),tt(null,e,i,n),e=e.child),e;case 16:r=e.elementType;e:{switch(aa(t,e),t=e.pendingProps,i=r._init,r=i(r._payload),e.type=r,i=e.tag=PC(r),t=At(r,t),i){case 0:e=hu(null,e,r,t,n);break e;case 1:e=Sm(null,e,r,t,n);break e;case 11:e=vm(null,e,r,t,n);break e;case 14:e=ym(null,e,r,At(r.type,t),n);break e}throw Error(N(306,r,""))}return e;case 0:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:At(r,i),hu(t,e,r,i,n);case 1:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:At(r,i),Sm(t,e,r,i,n);case 3:e:{if(wm(e),t===null)throw Error(N(387));r=e.pendingProps,s=e.memoizedState,i=s.element,Up(t,e),Yo(e,r,null,n);var o=e.memoizedState;if(r=o.element,s.isDehydrated)if(s={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},e.updateQueue.baseState=s,e.memoizedState=s,e.flags&256){i=ui(Error(N(423)),e),e=Tm(t,e,r,n,i);break e}else if(r!==i){i=ui(Error(N(424)),e),e=Tm(t,e,r,n,i);break e}else for(bt=Fn(e.stateNode.containerInfo.firstChild),yt=e,ve=!0,Dt=null,n=Ap(e,null,r,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(si(),r===i){e=yn(t,e,n);break e}tt(t,e,r,n)}e=e.child}return e;case 5:return Vp(e),t===null&&Hc(e),r=e.type,i=e.pendingProps,s=t!==null?t.memoizedProps:null,o=i.children,Nc(r,i)?o=null:s!==null&&Nc(r,s)&&(e.flags|=32),Cm(t,e),tt(t,e,o,n),e.child;case 6:return t===null&&Hc(e),null;case 13:return xm(t,e,n);case 4:return Jc(e,e.stateNode.containerInfo),r=e.pendingProps,t===null?e.child=oi(e,null,r,n):tt(t,e,r,n),e.child;case 11:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:At(r,i),vm(t,e,r,i,n);case 7:return tt(t,e,e.pendingProps,n),e.child;case 8:return tt(t,e,e.pendingProps.children,n),e.child;case 12:return tt(t,e,e.pendingProps.children,n),e.child;case 10:e:{if(r=e.type._context,i=e.pendingProps,s=e.memoizedProps,o=i.value,pe(Zo,r._currentValue),r._currentValue=o,s!==null)if(Nt(s.value,o)){if(s.children===i.children&&!ot.current){e=yn(t,e,n);break e}}else for(s=e.child,s!==null&&(s.return=e);s!==null;){var a=s.dependencies;if(a!==null){o=s.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(s.tag===1){l=vn(-1,n&-n),l.tag=2;var c=s.updateQueue;if(c!==null){c=c.shared;var u=c.pending;u===null?l.next=l:(l.next=u.next,u.next=l),c.pending=l}}s.lanes|=n,l=s.alternate,l!==null&&(l.lanes|=n),Kc(s.return,n,e),a.lanes|=n;break}l=l.next}}else if(s.tag===10)o=s.type===e.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(N(341));o.lanes|=n,a=o.alternate,a!==null&&(a.lanes|=n),Kc(o,n,e),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===e){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}tt(t,e,i.children,n),e=e.child}return e;case 9:return i=e.type,r=e.pendingProps.children,li(e,n),i=Et(i),r=r(i),e.flags|=1,tt(t,e,r,n),e.child;case 14:return r=e.type,i=At(r,e.pendingProps),i=At(r.type,i),ym(t,e,r,i,n);case 15:return bm(t,e,e.type,e.pendingProps,n);case 17:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:At(r,i),aa(t,e),e.tag=1,at(r)?(t=!0,Ho(e)):t=!1,li(e,n),um(e,r,i),uu(e,r,i,n),pu(null,e,r,!0,t,n);case 19:return Pm(t,e,n);case 22:return km(t,e,n)}throw Error(N(156,e.tag))};function Jm(t,e){return Ih(t,e)}function EC(t,e,n,r){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Rt(t,e,n,r){return new EC(t,e,n,r)}function Nu(t){return t=t.prototype,!(!t||!t.isReactComponent)}function PC(t){if(typeof t=="function")return Nu(t)?1:0;if(t!=null){if(t=t.$$typeof,t===Bl)return 11;if(t===Hl)return 14}return 2}function Qn(t,e){var n=t.alternate;return n===null?(n=Rt(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function ya(t,e,n,r,i,s){var o=2;if(r=t,typeof t=="function")Nu(t)&&(o=1);else if(typeof t=="string")o=5;else e:switch(t){case Hr:return Tr(n.children,i,s,e);case Ul:o=8,i|=8;break;case Fl:return t=Rt(12,n,e,i|2),t.elementType=Fl,t.lanes=s,t;case Vl:return t=Rt(13,n,e,i),t.elementType=Vl,t.lanes=s,t;case zl:return t=Rt(19,n,e,i),t.elementType=zl,t.lanes=s,t;case oh:return ba(n,i,s,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case ih:o=10;break e;case sh:o=9;break e;case Bl:o=11;break e;case Hl:o=14;break e;case On:o=16,r=null;break e}throw Error(N(130,t==null?t:typeof t,""))}return e=Rt(o,n,e,i),e.elementType=t,e.type=r,e.lanes=s,e}function Tr(t,e,n,r){return t=Rt(7,t,r,e),t.lanes=n,t}function ba(t,e,n,r){return t=Rt(22,t,r,e),t.elementType=oh,t.lanes=n,t.stateNode={isHidden:!1},t}function Du(t,e,n){return t=Rt(6,t,null,e),t.lanes=n,t}function Au(t,e,n){return e=Rt(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function _C(t,e,n,r,i){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=cc(0),this.expirationTimes=cc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=cc(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function ju(t,e,n,r,i,s,o,a,l){return t=new _C(t,e,n,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=Rt(3,null,null,e),t.current=s,s.stateNode=t,s.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Qc(s),t}function RC(t,e,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:zr,key:r==null?null:""+r,children:t,containerInfo:e,implementation:n}}function Ym(t){if(!t)return Vn;t=t._reactInternals;e:{if(fr(t)!==t||t.tag!==1)throw Error(N(170));var e=t;do{switch(e.tag){case 3:e=e.stateNode.context;break e;case 1:if(at(e.type)){e=e.stateNode.__reactInternalMemoizedMergedChildContext;break e}}e=e.return}while(e!==null);throw Error(N(171))}if(t.tag===1){var n=t.type;if(at(n))return Ep(t,n,e)}return e}function Xm(t,e,n,r,i,s,o,a,l){return t=ju(n,r,!0,t,i,s,o,a,l),t.context=Ym(null),n=t.current,r=nt(),i=Kn(n),s=vn(r,i),s.callback=e??null,$n(n,s,i),t.current.lanes=i,es(t,i,r),ut(t,r),t}function ka(t,e,n,r){var i=e.current,s=nt(),o=Kn(i);return n=Ym(n),e.context===null?e.context=n:e.pendingContext=n,e=vn(s,o),e.payload={element:t},r=r===void 0?null:r,r!==null&&(e.callback=r),t=$n(i,e,o),t!==null&&(Ft(t,i,o,s),Jo(t,i,o)),o}function Ca(t){if(t=t.current,!t.child)return null;switch(t.child.tag){case 5:return t.child.stateNode;default:return t.child.stateNode}}function eg(t,e){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var n=t.retryLane;t.retryLane=n!==0&&n<e?n:e}}function Uu(t,e){eg(t,e),(t=t.alternate)&&eg(t,e)}function IC(){return null}var tg=typeof reportError=="function"?reportError:function(t){console.error(t)};function Fu(t){this._internalRoot=t}Sa.prototype.render=Fu.prototype.render=function(t){var e=this._internalRoot;if(e===null)throw Error(N(409));ka(t,e,null,null)},Sa.prototype.unmount=Fu.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var e=t.containerInfo;Cr(function(){ka(null,t,null,null)}),e[fn]=null}};function Sa(t){this._internalRoot=t}Sa.prototype.unstable_scheduleHydration=function(t){if(t){var e=Uh();t={blockedOn:null,target:t,priority:e};for(var n=0;n<An.length&&e!==0&&e<An[n].priority;n++);An.splice(n,0,t),n===0&&Vh(t)}};function Bu(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function wa(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11&&(t.nodeType!==8||t.nodeValue!==" react-mount-point-unstable "))}function ng(){}function OC(t,e,n,r,i){if(i){if(typeof r=="function"){var s=r;r=function(){var c=Ca(o);s.call(c)}}var o=Xm(e,r,t,0,null,!1,!1,"",ng);return t._reactRootContainer=o,t[fn]=o.current,ps(t.nodeType===8?t.parentNode:t),Cr(),o}for(;i=t.lastChild;)t.removeChild(i);if(typeof r=="function"){var a=r;r=function(){var c=Ca(l);a.call(c)}}var l=ju(t,0,!1,null,null,!1,!1,"",ng);return t._reactRootContainer=l,t[fn]=l.current,ps(t.nodeType===8?t.parentNode:t),Cr(function(){ka(e,l,n,r)}),l}function Ta(t,e,n,r,i){var s=n._reactRootContainer;if(s){var o=s;if(typeof i=="function"){var a=i;i=function(){var l=Ca(o);a.call(l)}}ka(e,o,t,i)}else o=OC(n,e,t,i,r);return Ca(o)}Ah=function(t){switch(t.tag){case 3:var e=t.stateNode;if(e.current.memoizedState.isDehydrated){var n=Xi(e.pendingLanes);n!==0&&(uc(e,n|1),ut(e,Re()),!(ne&6)&&(hi=Re()+500,zn()))}break;case 13:Cr(function(){var r=gn(t,1);if(r!==null){var i=nt();Ft(r,t,1,i)}}),Uu(t,1)}},dc=function(t){if(t.tag===13){var e=gn(t,134217728);if(e!==null){var n=nt();Ft(e,t,134217728,n)}Uu(t,134217728)}},jh=function(t){if(t.tag===13){var e=Kn(t),n=gn(t,e);if(n!==null){var r=nt();Ft(n,t,e,r)}Uu(t,e)}},Uh=function(){return ae},Fh=function(t,e){var n=ae;try{return ae=t,e()}finally{ae=n}},rc=function(t,e,n){switch(e){case"input":if(Zl(t,n),e=n.name,n.type==="radio"&&e!=null){for(n=t;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+e)+'][type="radio"]'),e=0;e<n.length;e++){var r=n[e];if(r!==t&&r.form===t.form){var i=Vo(r);if(!i)throw Error(N(90));ch(r),Zl(r,i)}}}break;case"textarea":ph(t,n);break;case"select":e=n.value,e!=null&&$r(t,!!n.multiple,e,!1)}},wh=Ou,Th=Cr;var LC={usingClientEntryPoint:!1,Events:[vs,ei,Vo,Ch,Sh,Ou]},Os={findFiberByHostInstance:hr,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},MC={bundleType:Os.bundleType,version:Os.version,rendererPackageName:Os.rendererPackageName,rendererConfig:Os.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:dn.ReactCurrentDispatcher,findHostInstanceByFiber:function(t){return t=_h(t),t===null?null:t.stateNode},findFiberByHostInstance:Os.findFiberByHostInstance||IC,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var xa=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!xa.isDisabled&&xa.supportsFiber)try{So=xa.inject(MC),Qt=xa}catch{}}mt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=LC,mt.createPortal=function(t,e){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Bu(e))throw Error(N(200));return RC(t,e,null,n)},mt.createRoot=function(t,e){if(!Bu(t))throw Error(N(299));var n=!1,r="",i=tg;return e!=null&&(e.unstable_strictMode===!0&&(n=!0),e.identifierPrefix!==void 0&&(r=e.identifierPrefix),e.onRecoverableError!==void 0&&(i=e.onRecoverableError)),e=ju(t,1,!1,null,null,n,!1,r,i),t[fn]=e.current,ps(t.nodeType===8?t.parentNode:t),new Fu(e)},mt.findDOMNode=function(t){if(t==null)return null;if(t.nodeType===1)return t;var e=t._reactInternals;if(e===void 0)throw typeof t.render=="function"?Error(N(188)):(t=Object.keys(t).join(","),Error(N(268,t)));return t=_h(e),t=t===null?null:t.stateNode,t},mt.flushSync=function(t){return Cr(t)},mt.hydrate=function(t,e,n){if(!wa(e))throw Error(N(200));return Ta(null,t,e,!0,n)},mt.hydrateRoot=function(t,e,n){if(!Bu(t))throw Error(N(405));var r=n!=null&&n.hydratedSources||null,i=!1,s="",o=tg;if(n!=null&&(n.unstable_strictMode===!0&&(i=!0),n.identifierPrefix!==void 0&&(s=n.identifierPrefix),n.onRecoverableError!==void 0&&(o=n.onRecoverableError)),e=Xm(e,null,t,1,n??null,i,!1,s,o),t[fn]=e.current,ps(t),r)for(t=0;t<r.length;t++)n=r[t],i=n._getVersion,i=i(n._source),e.mutableSourceEagerHydrationData==null?e.mutableSourceEagerHydrationData=[n,i]:e.mutableSourceEagerHydrationData.push(n,i);return new Sa(e)},mt.render=function(t,e,n){if(!wa(e))throw Error(N(200));return Ta(null,t,e,!1,n)},mt.unmountComponentAtNode=function(t){if(!wa(t))throw Error(N(40));return t._reactRootContainer?(Cr(function(){Ta(null,null,t,!1,function(){t._reactRootContainer=null,t[fn]=null})}),!0):!1},mt.unstable_batchedUpdates=Ou,mt.unstable_renderSubtreeIntoContainer=function(t,e,n,r){if(!wa(n))throw Error(N(200));if(t==null||t._reactInternals===void 0)throw Error(N(38));return Ta(t,e,n,!1,r)},mt.version="18.3.1-next-f1338f8080-20240426";function rg(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(rg)}catch(t){console.error(t)}}rg(),Yf.exports=mt;var NC=Yf.exports,ig,sg=NC;ig=sg.createRoot,sg.hydrateRoot;var og=function(t,e,n,r){var i;e[0]=0;for(var s=1;s<e.length;s++){var o=e[s++],a=e[s]?(e[0]|=o?1:2,n[e[s++]]):e[++s];o===3?r[0]=a:o===4?r[1]=Object.assign(r[1]||{},a):o===5?(r[1]=r[1]||{})[e[++s]]=a:o===6?r[1][e[++s]]+=a+"":o?(i=t.apply(a,og(t,a,n,["",null])),r.push(i),a[0]?e[0]|=2:(e[s-2]=0,e[s]=i)):r.push(a)}return r},ag=new Map;function DC(t){var e=ag.get(this);return e||(e=new Map,ag.set(this,e)),(e=og(this,e.get(t)||(e.set(t,e=function(n){for(var r,i,s=1,o="",a="",l=[0],c=function(f){s===1&&(f||(o=o.replace(/^\s*\n\s*|\s*\n\s*$/g,"")))?l.push(0,f,o):s===3&&(f||o)?(l.push(3,f,o),s=2):s===2&&o==="..."&&f?l.push(4,f,0):s===2&&o&&!f?l.push(5,0,!0,o):s>=5&&((o||!f&&s===5)&&(l.push(s,0,o,i),s=6),f&&(l.push(s,f,0,i),s=6)),o=""},u=0;u<n.length;u++){u&&(s===1&&c(),c(u));for(var d=0;d<n[u].length;d++)r=n[u][d],s===1?r==="<"?(c(),l=[l],s=3):o+=r:s===4?o==="--"&&r===">"?(s=1,o=""):o=r+o[0]:a?r===a?a="":o+=r:r==='"'||r==="'"?a=r:r===">"?(c(),s=1):s&&(r==="="?(s=5,i=o,o=""):r==="/"&&(s<5||n[u][d+1]===">")?(c(),s===3&&(l=l[0]),s=l,(l=l[0]).push(2,0,s),s=0):r===" "||r===" "||r===`
|
|
41
|
-
`||r==="\r"?(c(),s=2):o+=r),s===3&&o==="!--"&&(s=4,l=l[0])}return c(),l}(t)),e),arguments,[])).length>1?e:e[0]}function mi(t){return t!=null&&typeof t=="object"&&t["@@functional/placeholder"]===!0}function gi(t){return function e(n){return arguments.length===0||mi(n)?e:t.apply(this,arguments)}}function lg(t){return function e(n,r){switch(arguments.length){case 0:return e;case 1:return mi(n)?e:gi(function(i){return t(n,i)});default:return mi(n)&&mi(r)?e:mi(n)?gi(function(i){return t(i,r)}):mi(r)?gi(function(i){return t(n,i)}):t(n,r)}}}const AC=Array.isArray||function(e){return e!=null&&e.length>=0&&Object.prototype.toString.call(e)==="[object Array]"};function jC(t){return t!=null&&typeof t["@@transducer/step"]=="function"}function UC(t,e,n){return function(){if(arguments.length===0)return n();var r=arguments[arguments.length-1];if(!AC(r)){for(var i=0;i<t.length;){if(typeof r[t[i]]=="function")return r[t[i]].apply(r,Array.prototype.slice.call(arguments,0,-1));i+=1}if(jC(r)){var s=e.apply(null,Array.prototype.slice.call(arguments,0,-1));return s(r)}}return n.apply(this,arguments)}}const FC={init:function(){return this.xf["@@transducer/init"]()}};function cg(t){for(var e=[],n;!(n=t.next()).done;)e.push(n.value);return e}function ug(t,e,n){for(var r=0,i=n.length;r<i;){if(t(e,n[r]))return!0;r+=1}return!1}function BC(t){var e=String(t).match(/^function (\w*)/);return e==null?"":e[1]}function Ea(t,e){return Object.prototype.hasOwnProperty.call(e,t)}function VC(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}const Vu=typeof Object.is=="function"?Object.is:VC;var dg=Object.prototype.toString,zC=function(){return dg.call(arguments)==="[object Arguments]"?function(e){return dg.call(e)==="[object Arguments]"}:function(e){return Ea("callee",e)}}(),HC=!{toString:null}.propertyIsEnumerable("toString"),fg=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],hg=function(){return arguments.propertyIsEnumerable("length")}(),$C=function(e,n){for(var r=0;r<e.length;){if(e[r]===n)return!0;r+=1}return!1},pg=gi(typeof Object.keys=="function"&&!hg?function(e){return Object(e)!==e?[]:Object.keys(e)}:function(e){if(Object(e)!==e)return[];var n,r,i=[],s=hg&&zC(e);for(n in e)Ea(n,e)&&(!s||n!=="length")&&(i[i.length]=n);if(HC)for(r=fg.length-1;r>=0;)n=fg[r],Ea(n,e)&&!$C(i,n)&&(i[i.length]=n),r-=1;return i}),mg=gi(function(e){return e===null?"Null":e===void 0?"Undefined":Object.prototype.toString.call(e).slice(8,-1)});function gg(t,e,n,r){var i=cg(t),s=cg(e);function o(a,l){return zu(a,l,n.slice(),r.slice())}return!ug(function(a,l){return!ug(o,l,a)},s,i)}function zu(t,e,n,r){if(Vu(t,e))return!0;var i=mg(t);if(i!==mg(e))return!1;if(typeof t["fantasy-land/equals"]=="function"||typeof e["fantasy-land/equals"]=="function")return typeof t["fantasy-land/equals"]=="function"&&t["fantasy-land/equals"](e)&&typeof e["fantasy-land/equals"]=="function"&&e["fantasy-land/equals"](t);if(typeof t.equals=="function"||typeof e.equals=="function")return typeof t.equals=="function"&&t.equals(e)&&typeof e.equals=="function"&&e.equals(t);switch(i){case"Arguments":case"Array":case"Object":if(typeof t.constructor=="function"&&BC(t.constructor)==="Promise")return t===e;break;case"Boolean":case"Number":case"String":if(!(typeof t==typeof e&&Vu(t.valueOf(),e.valueOf())))return!1;break;case"Date":if(!Vu(t.valueOf(),e.valueOf()))return!1;break;case"Error":return t.name===e.name&&t.message===e.message;case"RegExp":if(!(t.source===e.source&&t.global===e.global&&t.ignoreCase===e.ignoreCase&&t.multiline===e.multiline&&t.sticky===e.sticky&&t.unicode===e.unicode))return!1;break}for(var s=n.length-1;s>=0;){if(n[s]===t)return r[s]===e;s-=1}switch(i){case"Map":return t.size!==e.size?!1:gg(t.entries(),e.entries(),n.concat([t]),r.concat([e]));case"Set":return t.size!==e.size?!1:gg(t.values(),e.values(),n.concat([t]),r.concat([e]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var o=pg(t);if(o.length!==pg(e).length)return!1;var a=n.concat([t]),l=r.concat([e]);for(s=o.length-1;s>=0;){var c=o[s];if(!(Ea(c,e)&&zu(e[c],t[c],a,l)))return!1;s-=1}return!0}var qC=lg(function(e,n){return zu(e,n,[],[])}),WC=function(){function t(e,n){this.xf=n,this.f=e,this.idx=-1,this.lastIdx=-1}return t.prototype["@@transducer/init"]=FC.init,t.prototype["@@transducer/result"]=function(e){return this.xf["@@transducer/result"](this.xf["@@transducer/step"](e,this.lastIdx))},t.prototype["@@transducer/step"]=function(e,n){return this.idx+=1,this.f(n)&&(this.lastIdx=this.idx),e},t}();function GC(t){return function(e){return new WC(t,e)}}var vg=lg(UC([],GC,function(e,n){for(var r=n.length-1;r>=0;){if(e(n[r]))return r;r-=1}return-1}));const KC={version:"1.1.2"};var qe=typeof globalThis<"u"&&globalThis||typeof self<"u"&&self||typeof global<"u"&&global||{},rt={searchParams:"URLSearchParams"in qe,iterable:"Symbol"in qe&&"iterator"in Symbol,blob:"FileReader"in qe&&"Blob"in qe&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in qe,arrayBuffer:"ArrayBuffer"in qe};function ZC(t){return t&&DataView.prototype.isPrototypeOf(t)}if(rt.arrayBuffer)var QC=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],JC=ArrayBuffer.isView||function(t){return t&&QC.indexOf(Object.prototype.toString.call(t))>-1};function vi(t){if(typeof t!="string"&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||t==="")throw new TypeError('Invalid character in header field name: "'+t+'"');return t.toLowerCase()}function Hu(t){return typeof t!="string"&&(t=String(t)),t}function $u(t){var e={next:function(){var n=t.shift();return{done:n===void 0,value:n}}};return rt.iterable&&(e[Symbol.iterator]=function(){return e}),e}function Ae(t){this.map={},t instanceof Ae?t.forEach(function(e,n){this.append(n,e)},this):Array.isArray(t)?t.forEach(function(e){if(e.length!=2)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+e.length);this.append(e[0],e[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}Ae.prototype.append=function(t,e){t=vi(t),e=Hu(e);var n=this.map[t];this.map[t]=n?n+", "+e:e},Ae.prototype.delete=function(t){delete this.map[vi(t)]},Ae.prototype.get=function(t){return t=vi(t),this.has(t)?this.map[t]:null},Ae.prototype.has=function(t){return this.map.hasOwnProperty(vi(t))},Ae.prototype.set=function(t,e){this.map[vi(t)]=Hu(e)},Ae.prototype.forEach=function(t,e){for(var n in this.map)this.map.hasOwnProperty(n)&&t.call(e,this.map[n],n,this)},Ae.prototype.keys=function(){var t=[];return this.forEach(function(e,n){t.push(n)}),$u(t)},Ae.prototype.values=function(){var t=[];return this.forEach(function(e){t.push(e)}),$u(t)},Ae.prototype.entries=function(){var t=[];return this.forEach(function(e,n){t.push([n,e])}),$u(t)},rt.iterable&&(Ae.prototype[Symbol.iterator]=Ae.prototype.entries);function qu(t){if(!t._noBody){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}}function yg(t){return new Promise(function(e,n){t.onload=function(){e(t.result)},t.onerror=function(){n(t.error)}})}function YC(t){var e=new FileReader,n=yg(e);return e.readAsArrayBuffer(t),n}function XC(t){var e=new FileReader,n=yg(e),r=/charset=([A-Za-z0-9_-]+)/.exec(t.type),i=r?r[1]:"utf-8";return e.readAsText(t,i),n}function eS(t){for(var e=new Uint8Array(t),n=new Array(e.length),r=0;r<e.length;r++)n[r]=String.fromCharCode(e[r]);return n.join("")}function bg(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function kg(){return this.bodyUsed=!1,this._initBody=function(t){this.bodyUsed=this.bodyUsed,this._bodyInit=t,t?typeof t=="string"?this._bodyText=t:rt.blob&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:rt.formData&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:rt.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():rt.arrayBuffer&&rt.blob&&ZC(t)?(this._bodyArrayBuffer=bg(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):rt.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(t)||JC(t))?this._bodyArrayBuffer=bg(t):this._bodyText=t=Object.prototype.toString.call(t):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||(typeof t=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):rt.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},rt.blob&&(this.blob=function(){var t=qu(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer){var t=qu(this);return t||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}else{if(rt.blob)return this.blob().then(YC);throw new Error("could not read as ArrayBuffer")}},this.text=function(){var t=qu(this);if(t)return t;if(this._bodyBlob)return XC(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(eS(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},rt.formData&&(this.formData=function(){return this.text().then(rS)}),this.json=function(){return this.text().then(JSON.parse)},this}var tS=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function nS(t){var e=t.toUpperCase();return tS.indexOf(e)>-1?e:t}function xr(t,e){if(!(this instanceof xr))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');e=e||{};var n=e.body;if(t instanceof xr){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new Ae(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,!n&&t._bodyInit!=null&&(n=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",(e.headers||!this.headers)&&(this.headers=new Ae(e.headers)),this.method=nS(e.method||this.method||"GET"),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal||function(){if("AbortController"in qe){var s=new AbortController;return s.signal}}(),this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&n)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(n),(this.method==="GET"||this.method==="HEAD")&&(e.cache==="no-store"||e.cache==="no-cache")){var r=/([?&])_=[^&]*/;if(r.test(this.url))this.url=this.url.replace(r,"$1_="+new Date().getTime());else{var i=/\?/;this.url+=(i.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}xr.prototype.clone=function(){return new xr(this,{body:this._bodyInit})};function rS(t){var e=new FormData;return t.trim().split("&").forEach(function(n){if(n){var r=n.split("="),i=r.shift().replace(/\+/g," "),s=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(i),decodeURIComponent(s))}}),e}function iS(t){var e=new Ae,n=t.replace(/\r?\n[\t ]+/g," ");return n.split("\r").map(function(r){return r.indexOf(`
|
|
41
|
+
`||r==="\r"?(c(),s=2):o+=r),s===3&&o==="!--"&&(s=4,l=l[0])}return c(),l}(t)),e),arguments,[])).length>1?e:e[0]}function mi(t){return t!=null&&typeof t=="object"&&t["@@functional/placeholder"]===!0}function gi(t){return function e(n){return arguments.length===0||mi(n)?e:t.apply(this,arguments)}}function lg(t){return function e(n,r){switch(arguments.length){case 0:return e;case 1:return mi(n)?e:gi(function(i){return t(n,i)});default:return mi(n)&&mi(r)?e:mi(n)?gi(function(i){return t(i,r)}):mi(r)?gi(function(i){return t(n,i)}):t(n,r)}}}const AC=Array.isArray||function(e){return e!=null&&e.length>=0&&Object.prototype.toString.call(e)==="[object Array]"};function jC(t){return t!=null&&typeof t["@@transducer/step"]=="function"}function UC(t,e,n){return function(){if(arguments.length===0)return n();var r=arguments[arguments.length-1];if(!AC(r)){for(var i=0;i<t.length;){if(typeof r[t[i]]=="function")return r[t[i]].apply(r,Array.prototype.slice.call(arguments,0,-1));i+=1}if(jC(r)){var s=e.apply(null,Array.prototype.slice.call(arguments,0,-1));return s(r)}}return n.apply(this,arguments)}}const FC={init:function(){return this.xf["@@transducer/init"]()}};function cg(t){for(var e=[],n;!(n=t.next()).done;)e.push(n.value);return e}function ug(t,e,n){for(var r=0,i=n.length;r<i;){if(t(e,n[r]))return!0;r+=1}return!1}function BC(t){var e=String(t).match(/^function (\w*)/);return e==null?"":e[1]}function Ea(t,e){return Object.prototype.hasOwnProperty.call(e,t)}function VC(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}const Vu=typeof Object.is=="function"?Object.is:VC;var dg=Object.prototype.toString,zC=function(){return dg.call(arguments)==="[object Arguments]"?function(e){return dg.call(e)==="[object Arguments]"}:function(e){return Ea("callee",e)}}(),HC=!{toString:null}.propertyIsEnumerable("toString"),fg=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],hg=function(){return arguments.propertyIsEnumerable("length")}(),$C=function(e,n){for(var r=0;r<e.length;){if(e[r]===n)return!0;r+=1}return!1},pg=gi(typeof Object.keys=="function"&&!hg?function(e){return Object(e)!==e?[]:Object.keys(e)}:function(e){if(Object(e)!==e)return[];var n,r,i=[],s=hg&&zC(e);for(n in e)Ea(n,e)&&(!s||n!=="length")&&(i[i.length]=n);if(HC)for(r=fg.length-1;r>=0;)n=fg[r],Ea(n,e)&&!$C(i,n)&&(i[i.length]=n),r-=1;return i}),mg=gi(function(e){return e===null?"Null":e===void 0?"Undefined":Object.prototype.toString.call(e).slice(8,-1)});function gg(t,e,n,r){var i=cg(t),s=cg(e);function o(a,l){return zu(a,l,n.slice(),r.slice())}return!ug(function(a,l){return!ug(o,l,a)},s,i)}function zu(t,e,n,r){if(Vu(t,e))return!0;var i=mg(t);if(i!==mg(e))return!1;if(typeof t["fantasy-land/equals"]=="function"||typeof e["fantasy-land/equals"]=="function")return typeof t["fantasy-land/equals"]=="function"&&t["fantasy-land/equals"](e)&&typeof e["fantasy-land/equals"]=="function"&&e["fantasy-land/equals"](t);if(typeof t.equals=="function"||typeof e.equals=="function")return typeof t.equals=="function"&&t.equals(e)&&typeof e.equals=="function"&&e.equals(t);switch(i){case"Arguments":case"Array":case"Object":if(typeof t.constructor=="function"&&BC(t.constructor)==="Promise")return t===e;break;case"Boolean":case"Number":case"String":if(!(typeof t==typeof e&&Vu(t.valueOf(),e.valueOf())))return!1;break;case"Date":if(!Vu(t.valueOf(),e.valueOf()))return!1;break;case"Error":return t.name===e.name&&t.message===e.message;case"RegExp":if(!(t.source===e.source&&t.global===e.global&&t.ignoreCase===e.ignoreCase&&t.multiline===e.multiline&&t.sticky===e.sticky&&t.unicode===e.unicode))return!1;break}for(var s=n.length-1;s>=0;){if(n[s]===t)return r[s]===e;s-=1}switch(i){case"Map":return t.size!==e.size?!1:gg(t.entries(),e.entries(),n.concat([t]),r.concat([e]));case"Set":return t.size!==e.size?!1:gg(t.values(),e.values(),n.concat([t]),r.concat([e]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var o=pg(t);if(o.length!==pg(e).length)return!1;var a=n.concat([t]),l=r.concat([e]);for(s=o.length-1;s>=0;){var c=o[s];if(!(Ea(c,e)&&zu(e[c],t[c],a,l)))return!1;s-=1}return!0}var qC=lg(function(e,n){return zu(e,n,[],[])}),WC=function(){function t(e,n){this.xf=n,this.f=e,this.idx=-1,this.lastIdx=-1}return t.prototype["@@transducer/init"]=FC.init,t.prototype["@@transducer/result"]=function(e){return this.xf["@@transducer/result"](this.xf["@@transducer/step"](e,this.lastIdx))},t.prototype["@@transducer/step"]=function(e,n){return this.idx+=1,this.f(n)&&(this.lastIdx=this.idx),e},t}();function GC(t){return function(e){return new WC(t,e)}}var vg=lg(UC([],GC,function(e,n){for(var r=n.length-1;r>=0;){if(e(n[r]))return r;r-=1}return-1}));const KC={version:"1.1.3"};var qe=typeof globalThis<"u"&&globalThis||typeof self<"u"&&self||typeof global<"u"&&global||{},rt={searchParams:"URLSearchParams"in qe,iterable:"Symbol"in qe&&"iterator"in Symbol,blob:"FileReader"in qe&&"Blob"in qe&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in qe,arrayBuffer:"ArrayBuffer"in qe};function ZC(t){return t&&DataView.prototype.isPrototypeOf(t)}if(rt.arrayBuffer)var QC=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],JC=ArrayBuffer.isView||function(t){return t&&QC.indexOf(Object.prototype.toString.call(t))>-1};function vi(t){if(typeof t!="string"&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||t==="")throw new TypeError('Invalid character in header field name: "'+t+'"');return t.toLowerCase()}function Hu(t){return typeof t!="string"&&(t=String(t)),t}function $u(t){var e={next:function(){var n=t.shift();return{done:n===void 0,value:n}}};return rt.iterable&&(e[Symbol.iterator]=function(){return e}),e}function Ae(t){this.map={},t instanceof Ae?t.forEach(function(e,n){this.append(n,e)},this):Array.isArray(t)?t.forEach(function(e){if(e.length!=2)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+e.length);this.append(e[0],e[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}Ae.prototype.append=function(t,e){t=vi(t),e=Hu(e);var n=this.map[t];this.map[t]=n?n+", "+e:e},Ae.prototype.delete=function(t){delete this.map[vi(t)]},Ae.prototype.get=function(t){return t=vi(t),this.has(t)?this.map[t]:null},Ae.prototype.has=function(t){return this.map.hasOwnProperty(vi(t))},Ae.prototype.set=function(t,e){this.map[vi(t)]=Hu(e)},Ae.prototype.forEach=function(t,e){for(var n in this.map)this.map.hasOwnProperty(n)&&t.call(e,this.map[n],n,this)},Ae.prototype.keys=function(){var t=[];return this.forEach(function(e,n){t.push(n)}),$u(t)},Ae.prototype.values=function(){var t=[];return this.forEach(function(e){t.push(e)}),$u(t)},Ae.prototype.entries=function(){var t=[];return this.forEach(function(e,n){t.push([n,e])}),$u(t)},rt.iterable&&(Ae.prototype[Symbol.iterator]=Ae.prototype.entries);function qu(t){if(!t._noBody){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}}function yg(t){return new Promise(function(e,n){t.onload=function(){e(t.result)},t.onerror=function(){n(t.error)}})}function YC(t){var e=new FileReader,n=yg(e);return e.readAsArrayBuffer(t),n}function XC(t){var e=new FileReader,n=yg(e),r=/charset=([A-Za-z0-9_-]+)/.exec(t.type),i=r?r[1]:"utf-8";return e.readAsText(t,i),n}function eS(t){for(var e=new Uint8Array(t),n=new Array(e.length),r=0;r<e.length;r++)n[r]=String.fromCharCode(e[r]);return n.join("")}function bg(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function kg(){return this.bodyUsed=!1,this._initBody=function(t){this.bodyUsed=this.bodyUsed,this._bodyInit=t,t?typeof t=="string"?this._bodyText=t:rt.blob&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:rt.formData&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:rt.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():rt.arrayBuffer&&rt.blob&&ZC(t)?(this._bodyArrayBuffer=bg(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):rt.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(t)||JC(t))?this._bodyArrayBuffer=bg(t):this._bodyText=t=Object.prototype.toString.call(t):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||(typeof t=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):rt.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},rt.blob&&(this.blob=function(){var t=qu(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer){var t=qu(this);return t||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}else{if(rt.blob)return this.blob().then(YC);throw new Error("could not read as ArrayBuffer")}},this.text=function(){var t=qu(this);if(t)return t;if(this._bodyBlob)return XC(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(eS(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},rt.formData&&(this.formData=function(){return this.text().then(rS)}),this.json=function(){return this.text().then(JSON.parse)},this}var tS=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function nS(t){var e=t.toUpperCase();return tS.indexOf(e)>-1?e:t}function xr(t,e){if(!(this instanceof xr))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');e=e||{};var n=e.body;if(t instanceof xr){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new Ae(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,!n&&t._bodyInit!=null&&(n=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",(e.headers||!this.headers)&&(this.headers=new Ae(e.headers)),this.method=nS(e.method||this.method||"GET"),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal||function(){if("AbortController"in qe){var s=new AbortController;return s.signal}}(),this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&n)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(n),(this.method==="GET"||this.method==="HEAD")&&(e.cache==="no-store"||e.cache==="no-cache")){var r=/([?&])_=[^&]*/;if(r.test(this.url))this.url=this.url.replace(r,"$1_="+new Date().getTime());else{var i=/\?/;this.url+=(i.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}xr.prototype.clone=function(){return new xr(this,{body:this._bodyInit})};function rS(t){var e=new FormData;return t.trim().split("&").forEach(function(n){if(n){var r=n.split("="),i=r.shift().replace(/\+/g," "),s=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(i),decodeURIComponent(s))}}),e}function iS(t){var e=new Ae,n=t.replace(/\r?\n[\t ]+/g," ");return n.split("\r").map(function(r){return r.indexOf(`
|
|
42
42
|
`)===0?r.substr(1,r.length):r}).forEach(function(r){var i=r.split(":"),s=i.shift().trim();if(s){var o=i.join(":").trim();try{e.append(s,o)}catch(a){console.warn("Response "+a.message)}}}),e}kg.call(xr.prototype);function tn(t,e){if(!(this instanceof tn))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(e||(e={}),this.type="default",this.status=e.status===void 0?200:e.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=e.statusText===void 0?"":""+e.statusText,this.headers=new Ae(e.headers),this.url=e.url||"",this._initBody(t)}kg.call(tn.prototype),tn.prototype.clone=function(){return new tn(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Ae(this.headers),url:this.url})},tn.error=function(){var t=new tn(null,{status:200,statusText:""});return t.ok=!1,t.status=0,t.type="error",t};var sS=[301,302,303,307,308];tn.redirect=function(t,e){if(sS.indexOf(e)===-1)throw new RangeError("Invalid status code");return new tn(null,{status:e,headers:{location:t}})};var Er=qe.DOMException;try{new Er}catch{Er=function(e,n){this.message=e,this.name=n;var r=Error(e);this.stack=r.stack},Er.prototype=Object.create(Error.prototype),Er.prototype.constructor=Er}function Cg(t,e){return new Promise(function(n,r){var i=new xr(t,e);if(i.signal&&i.signal.aborted)return r(new Er("Aborted","AbortError"));var s=new XMLHttpRequest;function o(){s.abort()}s.onload=function(){var c={statusText:s.statusText,headers:iS(s.getAllResponseHeaders()||"")};i.url.indexOf("file://")===0&&(s.status<200||s.status>599)?c.status=200:c.status=s.status,c.url="responseURL"in s?s.responseURL:c.headers.get("X-Request-URL");var u="response"in s?s.response:s.responseText;setTimeout(function(){n(new tn(u,c))},0)},s.onerror=function(){setTimeout(function(){r(new TypeError("Network request failed"))},0)},s.ontimeout=function(){setTimeout(function(){r(new TypeError("Network request timed out"))},0)},s.onabort=function(){setTimeout(function(){r(new Er("Aborted","AbortError"))},0)};function a(c){try{return c===""&&qe.location.href?qe.location.href:c}catch{return c}}if(s.open(i.method,a(i.url),!0),i.credentials==="include"?s.withCredentials=!0:i.credentials==="omit"&&(s.withCredentials=!1),"responseType"in s&&(rt.blob?s.responseType="blob":rt.arrayBuffer&&(s.responseType="arraybuffer")),e&&typeof e.headers=="object"&&!(e.headers instanceof Ae||qe.Headers&&e.headers instanceof qe.Headers)){var l=[];Object.getOwnPropertyNames(e.headers).forEach(function(c){l.push(vi(c)),s.setRequestHeader(c,Hu(e.headers[c]))}),i.headers.forEach(function(c,u){l.indexOf(u)===-1&&s.setRequestHeader(u,c)})}else i.headers.forEach(function(c,u){s.setRequestHeader(u,c)});i.signal&&(i.signal.addEventListener("abort",o),s.onreadystatechange=function(){s.readyState===4&&i.signal.removeEventListener("abort",o)}),s.send(typeof i._bodyInit>"u"?null:i._bodyInit)})}Cg.polyfill=!0,qe.fetch||(qe.fetch=Cg,qe.Headers=Ae,qe.Request=xr,qe.Response=tn);var oS=self.fetch.bind(self);const Pa=oe(oS);function Te(t){return t!=null&&typeof t=="object"&&t["@@functional/placeholder"]===!0}function Pr(t){return function e(n){return arguments.length===0||Te(n)?e:t.apply(this,arguments)}}function yi(t){return function e(n,r){switch(arguments.length){case 0:return e;case 1:return Te(n)?e:Pr(function(i){return t(n,i)});default:return Te(n)&&Te(r)?e:Te(n)?Pr(function(i){return t(i,r)}):Te(r)?Pr(function(i){return t(n,i)}):t(n,r)}}}function aS(t,e){t=t||[],e=e||[];var n,r=t.length,i=e.length,s=[];for(n=0;n<r;)s[s.length]=t[n],n+=1;for(n=0;n<i;)s[s.length]=e[n],n+=1;return s}function lS(t){return function e(n,r,i){switch(arguments.length){case 0:return e;case 1:return Te(n)?e:yi(function(s,o){return t(n,s,o)});case 2:return Te(n)&&Te(r)?e:Te(n)?yi(function(s,o){return t(s,r,o)}):Te(r)?yi(function(s,o){return t(n,s,o)}):Pr(function(s){return t(n,r,s)});default:return Te(n)&&Te(r)&&Te(i)?e:Te(n)&&Te(r)?yi(function(s,o){return t(s,o,i)}):Te(n)&&Te(i)?yi(function(s,o){return t(s,r,o)}):Te(r)&&Te(i)?yi(function(s,o){return t(n,s,o)}):Te(n)?Pr(function(s){return t(s,r,i)}):Te(r)?Pr(function(s){return t(n,s,i)}):Te(i)?Pr(function(s){return t(n,r,s)}):t(n,r,i)}}}var Sg=lS(function(e,n,r){var i=r.length;if(e>=i||e<-i)return r;var s=(i+e)%i,o=aS(r);return o[s]=n(r[s]),o});/*! *****************************************************************************
|
|
43
43
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
44
44
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
@@ -96,9 +96,9 @@ t=0 0\r
|
|
|
96
96
|
`},e.getDirection=function(n,r){const i=e.splitLines(n);for(let s=0;s<i.length;s++)switch(i[s]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return i[s].substring(2)}return r?e.getDirection(r):"sendrecv"},e.getKind=function(n){return e.splitLines(n)[0].split(" ")[0].substring(2)},e.isRejected=function(n){return n.split(" ",2)[1]==="0"},e.parseMLine=function(n){const i=e.splitLines(n)[0].substring(2).split(" ");return{kind:i[0],port:parseInt(i[1],10),protocol:i[2],fmt:i.slice(3).join(" ")}},e.parseOLine=function(n){const i=e.matchPrefix(n,"o=")[0].substring(2).split(" ");return{username:i[0],sessionId:i[1],sessionVersion:parseInt(i[2],10),netType:i[3],addressType:i[4],address:i[5]}},e.isValidSDP=function(n){if(typeof n!="string"||n.length===0)return!1;const r=e.splitLines(n);for(let i=0;i<r.length;i++)if(r[i].length<2||r[i].charAt(1)!=="=")return!1;return!0},t.exports=e}(xd)),xd.exports}var Q0=o2(),_i=KT(Q0),a2=kw({__proto__:null,default:_i},[Q0]);function Ya(t){if(!t.RTCIceCandidate||t.RTCIceCandidate&&"foundation"in t.RTCIceCandidate.prototype)return;const e=t.RTCIceCandidate;t.RTCIceCandidate=function(r){if(typeof r=="object"&&r.candidate&&r.candidate.indexOf("a=")===0&&(r=JSON.parse(JSON.stringify(r)),r.candidate=r.candidate.substring(2)),r.candidate&&r.candidate.length){const i=new e(r),s=_i.parseCandidate(r.candidate);for(const o in s)o in i||Object.defineProperty(i,o,{value:s[o]});return i.toJSON=function(){return{candidate:i.candidate,sdpMid:i.sdpMid,sdpMLineIndex:i.sdpMLineIndex,usernameFragment:i.usernameFragment}},i}return new e(r)},t.RTCIceCandidate.prototype=e.prototype,Mr(t,"icecandidate",n=>(n.candidate&&Object.defineProperty(n,"candidate",{value:new t.RTCIceCandidate(n.candidate),writable:"false"}),n))}function Ed(t){!t.RTCIceCandidate||t.RTCIceCandidate&&"relayProtocol"in t.RTCIceCandidate.prototype||Mr(t,"icecandidate",e=>{if(e.candidate){const n=_i.parseCandidate(e.candidate.candidate);n.type==="relay"&&(e.candidate.relayProtocol={0:"tls",1:"tcp",2:"udp"}[n.priority>>24])}return e})}function Xa(t,e){if(!t.RTCPeerConnection)return;"sctp"in t.RTCPeerConnection.prototype||Object.defineProperty(t.RTCPeerConnection.prototype,"sctp",{get(){return typeof this._sctp>"u"?null:this._sctp}});const n=function(a){if(!a||!a.sdp)return!1;const l=_i.splitSections(a.sdp);return l.shift(),l.some(c=>{const u=_i.parseMLine(c);return u&&u.kind==="application"&&u.protocol.indexOf("SCTP")!==-1})},r=function(a){const l=a.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(l===null||l.length<2)return-1;const c=parseInt(l[1],10);return c!==c?-1:c},i=function(a){let l=65536;return e.browser==="firefox"&&(e.version<57?a===-1?l=16384:l=2147483637:e.version<60?l=e.version===57?65535:65536:l=2147483637),l},s=function(a,l){let c=65536;e.browser==="firefox"&&e.version===57&&(c=65535);const u=_i.matchPrefix(a.sdp,"a=max-message-size:");return u.length>0?c=parseInt(u[0].substring(19),10):e.browser==="firefox"&&l!==-1&&(c=2147483637),c},o=t.RTCPeerConnection.prototype.setRemoteDescription;t.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,e.browser==="chrome"&&e.version>=76){const{sdpSemantics:l}=this.getConfiguration();l==="plan-b"&&Object.defineProperty(this,"sctp",{get(){return typeof this._sctp>"u"?null:this._sctp},enumerable:!0,configurable:!0})}if(n(arguments[0])){const l=r(arguments[0]),c=i(l),u=s(arguments[0],l);let d;c===0&&u===0?d=Number.POSITIVE_INFINITY:c===0||u===0?d=Math.max(c,u):d=Math.min(c,u);const f={};Object.defineProperty(f,"maxMessageSize",{get(){return d}}),this._sctp=f}return o.apply(this,arguments)}}function el(t){if(!(t.RTCPeerConnection&&"createDataChannel"in t.RTCPeerConnection.prototype))return;function e(r,i){const s=r.send;r.send=function(){const a=arguments[0],l=a.length||a.size||a.byteLength;if(r.readyState==="open"&&i.sctp&&l>i.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+i.sctp.maxMessageSize+" bytes)");return s.apply(r,arguments)}}const n=t.RTCPeerConnection.prototype.createDataChannel;t.RTCPeerConnection.prototype.createDataChannel=function(){const i=n.apply(this,arguments);return e(i,this),i},Mr(t,"datachannel",r=>(e(r.channel,r.target),r))}function Pd(t){if(!t.RTCPeerConnection||"connectionState"in t.RTCPeerConnection.prototype)return;const e=t.RTCPeerConnection.prototype;Object.defineProperty(e,"connectionState",{get(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(e,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(n){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),n&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=n)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach(n=>{const r=e[n];e[n]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=i=>{const s=i.target;if(s._lastConnectionState!==s.connectionState){s._lastConnectionState=s.connectionState;const o=new Event("connectionstatechange",i);s.dispatchEvent(o)}return i},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),r.apply(this,arguments)}})}function _d(t,e){if(!t.RTCPeerConnection||e.browser==="chrome"&&e.version>=71||e.browser==="safari"&&e.version>=605)return;const n=t.RTCPeerConnection.prototype.setRemoteDescription;t.RTCPeerConnection.prototype.setRemoteDescription=function(i){if(i&&i.sdp&&i.sdp.indexOf(`
|
|
97
97
|
a=extmap-allow-mixed`)!==-1){const s=i.sdp.split(`
|
|
98
98
|
`).filter(o=>o.trim()!=="a=extmap-allow-mixed").join(`
|
|
99
|
-
`);t.RTCSessionDescription&&i instanceof t.RTCSessionDescription?arguments[0]=new t.RTCSessionDescription({type:i.type,sdp:s}):i.sdp=s}return n.apply(this,arguments)}}function tl(t,e){if(!(t.RTCPeerConnection&&t.RTCPeerConnection.prototype))return;const n=t.RTCPeerConnection.prototype.addIceCandidate;!n||n.length===0||(t.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?(e.browser==="chrome"&&e.version<78||e.browser==="firefox"&&e.version<68||e.browser==="safari")&&arguments[0]&&arguments[0].candidate===""?Promise.resolve():n.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function nl(t,e){if(!(t.RTCPeerConnection&&t.RTCPeerConnection.prototype))return;const n=t.RTCPeerConnection.prototype.setLocalDescription;!n||n.length===0||(t.RTCPeerConnection.prototype.setLocalDescription=function(){let i=arguments[0]||{};if(typeof i!="object"||i.type&&i.sdp)return n.apply(this,arguments);if(i={type:i.type,sdp:i.sdp},!i.type)switch(this.signalingState){case"stable":case"have-local-offer":case"have-remote-pranswer":i.type="offer";break;default:i.type="answer";break}return i.sdp||i.type!=="offer"&&i.type!=="answer"?n.apply(this,[i]):(i.type==="offer"?this.createOffer:this.createAnswer).apply(this).then(o=>n.apply(this,[o]))})}var l2=Object.freeze({__proto__:null,removeExtmapAllowMixed:_d,shimAddIceCandidateNullOrEmpty:tl,shimConnectionState:Pd,shimMaxMessageSize:Xa,shimParameterlessSetLocalDescription:nl,shimRTCIceCandidate:Ya,shimRTCIceCandidateRelayProtocol:Ed,shimSendThrowTypeError:el});function c2(){let{window:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{shimChrome:!0,shimFirefox:!0,shimSafari:!0};const n=p0,r=i2(t),i={browserDetails:r,commonShim:l2,extractVersion:Ja,disableLog:n2,disableWarnings:r2,sdp:a2};switch(r.browser){case"chrome":if(!P0||!wd||!e.shimChrome)return n("Chrome shim is not included in this adapter release."),i;if(r.version===null)return n("Chrome shim can not determine version, not shimming."),i;n("adapter.js shimming chrome."),i.browserShim=P0,tl(t,r),nl(t),b0(t,r),k0(t),wd(t,r),C0(t),x0(t,r),S0(t),w0(t),E0(t,r),Ya(t),Ed(t),Pd(t),Xa(t,r),el(t),_d(t,r);break;case"firefox":if(!U0||!Td||!e.shimFirefox)return n("Firefox shim is not included in this adapter release."),i;n("adapter.js shimming firefox."),i.browserShim=U0,tl(t,r),nl(t),_0(t,r),Td(t,r),R0(t),L0(t),I0(t),O0(t),M0(t),N0(t),D0(t),A0(t),j0(t),Ya(t),Pd(t),Xa(t,r),el(t);break;case"safari":if(!K0||!e.shimSafari)return n("Safari shim is not included in this adapter release."),i;n("adapter.js shimming safari."),i.browserShim=K0,tl(t,r),nl(t),$0(t),W0(t),V0(t),F0(t),B0(t),q0(t),z0(t),G0(t),Ya(t),Ed(t),Xa(t,r),el(t),_d(t,r);break;default:n("Unsupported browser!");break}return i}c2({window:typeof window>"u"?void 0:window});const u2=10,rl="lk_e2ee",d2={sharedKey:!1,ratchetSalt:"LKFrameEncryptionKey",ratchetWindowSize:8,failureTolerance:u2,keyringSize:16};var tr;(function(t){t.SetKey="setKey",t.RatchetRequest="ratchetRequest",t.KeyRatcheted="keyRatcheted"})(tr||(tr={}));var J0;(function(t){t.KeyRatcheted="keyRatcheted"})(J0||(J0={}));var nr;(function(t){t.ParticipantEncryptionStatusChanged="participantEncryptionStatusChanged",t.EncryptionError="encryptionError"})(nr||(nr={}));var Y0;(function(t){t.Error="cryptorError"})(Y0||(Y0={}));function f2(){return h2()||Rd()}function Rd(){return typeof window.RTCRtpScriptTransform<"u"}function h2(){return typeof window.RTCRtpSender<"u"&&typeof window.RTCRtpSender.prototype.createEncodedStreams<"u"}class U_ extends on.EventEmitter{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};super(),this.onKeyRatcheted=(n,r)=>{X.debug("key ratcheted event received",{material:n,keyIndex:r})},this.keyInfoMap=new Map,this.options=Object.assign(Object.assign({},d2),e),this.on(tr.KeyRatcheted,this.onKeyRatcheted)}onSetEncryptionKey(e,n,r){const i={key:e,participantIdentity:n,keyIndex:r};if(!this.options.sharedKey&&!n)throw new Error("participant identity needs to be passed for encryption key if sharedKey option is false");this.keyInfoMap.set("".concat(n??"shared","-").concat(r??0),i),this.emit(tr.SetKey,i)}getKeys(){return Array.from(this.keyInfoMap.values())}getOptions(){return this.options}ratchetKey(e,n){this.emit(tr.RatchetRequest,e,n)}}class rr extends Error{constructor(e,n){super(n||"an error has occured"),this.name="LiveKitError",this.code=e}}var te;(function(t){t[t.NotAllowed=0]="NotAllowed",t[t.ServerUnreachable=1]="ServerUnreachable",t[t.InternalError=2]="InternalError",t[t.Cancelled=3]="Cancelled",t[t.LeaveRequest=4]="LeaveRequest"})(te||(te={}));class he extends rr{constructor(e,n,r,i){super(1,e),this.name="ConnectionError",this.status=r,this.reason=n,this.context=i,this.reasonName=te[n]}}class Id extends rr{constructor(e){super(21,e??"device is unsupported"),this.name="DeviceUnsupportedError"}}class wn extends rr{constructor(e){super(20,e??"track is invalid"),this.name="TrackInvalidError"}}class p2 extends rr{constructor(e){super(10,e??"unsupported server"),this.name="UnsupportedServer"}}class je extends rr{constructor(e){super(12,e??"unexpected connection state"),this.name="UnexpectedConnectionState"}}class Od extends rr{constructor(e){super(13,e??"unable to negotiate"),this.name="NegotiationError"}}class m2 extends rr{constructor(e,n){super(15,e),this.name="PublishTrackError",this.status=n}}class X0 extends rr{constructor(e,n){super(15,e),this.reason=n,this.reasonName=typeof n=="string"?n:bd[n]}}var il;(function(t){t.PermissionDenied="PermissionDenied",t.NotFound="NotFound",t.DeviceInUse="DeviceInUse",t.Other="Other"})(il||(il={})),function(t){function e(n){if(n&&"name"in n)return n.name==="NotFoundError"||n.name==="DevicesNotFoundError"?t.NotFound:n.name==="NotAllowedError"||n.name==="PermissionDeniedError"?t.PermissionDenied:n.name==="NotReadableError"||n.name==="TrackStartError"?t.DeviceInUse:t.Other}t.getFailure=e}(il||(il={}));var ey;(function(t){t[t.InvalidKey=0]="InvalidKey",t[t.MissingKey=1]="MissingKey",t[t.InternalError=2]="InternalError"})(ey||(ey={}));var A;(function(t){t.Connected="connected",t.Reconnecting="reconnecting",t.SignalReconnecting="signalReconnecting",t.Reconnected="reconnected",t.Disconnected="disconnected",t.ConnectionStateChanged="connectionStateChanged",t.MediaDevicesChanged="mediaDevicesChanged",t.ParticipantConnected="participantConnected",t.ParticipantDisconnected="participantDisconnected",t.TrackPublished="trackPublished",t.TrackSubscribed="trackSubscribed",t.TrackSubscriptionFailed="trackSubscriptionFailed",t.TrackUnpublished="trackUnpublished",t.TrackUnsubscribed="trackUnsubscribed",t.TrackMuted="trackMuted",t.TrackUnmuted="trackUnmuted",t.LocalTrackPublished="localTrackPublished",t.LocalTrackUnpublished="localTrackUnpublished",t.LocalAudioSilenceDetected="localAudioSilenceDetected",t.ActiveSpeakersChanged="activeSpeakersChanged",t.ParticipantMetadataChanged="participantMetadataChanged",t.ParticipantNameChanged="participantNameChanged",t.ParticipantAttributesChanged="participantAttributesChanged",t.RoomMetadataChanged="roomMetadataChanged",t.DataReceived="dataReceived",t.SipDTMFReceived="sipDTMFReceived",t.TranscriptionReceived="transcriptionReceived",t.ConnectionQualityChanged="connectionQualityChanged",t.TrackStreamStateChanged="trackStreamStateChanged",t.TrackSubscriptionPermissionChanged="trackSubscriptionPermissionChanged",t.TrackSubscriptionStatusChanged="trackSubscriptionStatusChanged",t.AudioPlaybackStatusChanged="audioPlaybackChanged",t.VideoPlaybackStatusChanged="videoPlaybackChanged",t.MediaDevicesError="mediaDevicesError",t.ParticipantPermissionsChanged="participantPermissionsChanged",t.SignalConnected="signalConnected",t.RecordingStatusChanged="recordingStatusChanged",t.ParticipantEncryptionStatusChanged="participantEncryptionStatusChanged",t.EncryptionError="encryptionError",t.DCBufferStatusChanged="dcBufferStatusChanged",t.ActiveDeviceChanged="activeDeviceChanged",t.ChatMessage="chatMessage",t.LocalTrackSubscribed="localTrackSubscribed",t.MetricsReceived="metricsReceived"})(A||(A={}));var B;(function(t){t.TrackPublished="trackPublished",t.TrackSubscribed="trackSubscribed",t.TrackSubscriptionFailed="trackSubscriptionFailed",t.TrackUnpublished="trackUnpublished",t.TrackUnsubscribed="trackUnsubscribed",t.TrackMuted="trackMuted",t.TrackUnmuted="trackUnmuted",t.LocalTrackPublished="localTrackPublished",t.LocalTrackUnpublished="localTrackUnpublished",t.ParticipantMetadataChanged="participantMetadataChanged",t.ParticipantNameChanged="participantNameChanged",t.DataReceived="dataReceived",t.SipDTMFReceived="sipDTMFReceived",t.TranscriptionReceived="transcriptionReceived",t.IsSpeakingChanged="isSpeakingChanged",t.ConnectionQualityChanged="connectionQualityChanged",t.TrackStreamStateChanged="trackStreamStateChanged",t.TrackSubscriptionPermissionChanged="trackSubscriptionPermissionChanged",t.TrackSubscriptionStatusChanged="trackSubscriptionStatusChanged",t.MediaDevicesError="mediaDevicesError",t.AudioStreamAcquired="audioStreamAcquired",t.ParticipantPermissionsChanged="participantPermissionsChanged",t.PCTrackAdded="pcTrackAdded",t.AttributesChanged="attributesChanged",t.LocalTrackSubscribed="localTrackSubscribed",t.ChatMessage="chatMessage"})(B||(B={}));var F;(function(t){t.TransportsCreated="transportsCreated",t.Connected="connected",t.Disconnected="disconnected",t.Resuming="resuming",t.Resumed="resumed",t.Restarting="restarting",t.Restarted="restarted",t.SignalResumed="signalResumed",t.SignalRestarted="signalRestarted",t.Closing="closing",t.MediaTrackAdded="mediaTrackAdded",t.ActiveSpeakersUpdate="activeSpeakersUpdate",t.DataPacketReceived="dataPacketReceived",t.RTPVideoMapUpdate="rtpVideoMapUpdate",t.DCBufferStatusChanged="dcBufferStatusChanged",t.ParticipantUpdate="participantUpdate",t.RoomUpdate="roomUpdate",t.SpeakersChanged="speakersChanged",t.StreamStateChanged="streamStateChanged",t.ConnectionQualityUpdate="connectionQualityUpdate",t.SubscriptionError="subscriptionError",t.SubscriptionPermissionUpdate="subscriptionPermissionUpdate",t.RemoteMute="remoteMute",t.SubscribedQualityUpdate="subscribedQualityUpdate",t.LocalTrackUnpublished="localTrackUnpublished",t.LocalTrackSubscribed="localTrackSubscribed",t.Offline="offline",t.SignalRequestResponse="signalRequestResponse"})(F||(F={}));var j;(function(t){t.Message="message",t.Muted="muted",t.Unmuted="unmuted",t.Restarted="restarted",t.Ended="ended",t.Subscribed="subscribed",t.Unsubscribed="unsubscribed",t.UpdateSettings="updateSettings",t.UpdateSubscription="updateSubscription",t.AudioPlaybackStarted="audioPlaybackStarted",t.AudioPlaybackFailed="audioPlaybackFailed",t.AudioSilenceDetected="audioSilenceDetected",t.VisibilityChanged="visibilityChanged",t.VideoDimensionsChanged="videoDimensionsChanged",t.VideoPlaybackStarted="videoPlaybackStarted",t.VideoPlaybackFailed="videoPlaybackFailed",t.ElementAttached="elementAttached",t.ElementDetached="elementDetached",t.UpstreamPaused="upstreamPaused",t.UpstreamResumed="upstreamResumed",t.SubscriptionPermissionChanged="subscriptionPermissionChanged",t.SubscriptionStatusChanged="subscriptionStatusChanged",t.SubscriptionFailed="subscriptionFailed",t.TrackProcessorUpdate="trackProcessorUpdate",t.AudioTrackFeatureUpdate="audioTrackFeatureUpdate",t.TranscriptionReceived="transcriptionReceived",t.TimeSyncUpdate="timeSyncUpdate"})(j||(j={}));function g2(t){if(!(typeof t>"u"))return typeof structuredClone=="function"?structuredClone(t):JSON.parse(JSON.stringify(t))}const v2=/version\/(\d+(\.?_?\d+)+)/i;let Ld;function $t(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(typeof navigator>"u")return;const n=navigator.userAgent.toLowerCase();if(Ld===void 0||e){const r=y2.find(i=>{let{test:s}=i;return s.test(n)});Ld=r==null?void 0:r.describe(n)}return Ld}const y2=[{test:/firefox|iceweasel|fxios/i,describe(t){return{name:"Firefox",version:sl(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,t),os:t.toLowerCase().includes("fxios")?"iOS":void 0,osVersion:Md(t)}}},{test:/chrom|crios|crmo/i,describe(t){return{name:"Chrome",version:sl(/(?:chrome|chromium|crios|crmo)\/(\d+(\.?_?\d+)+)/i,t),os:t.toLowerCase().includes("crios")?"iOS":void 0,osVersion:Md(t)}}},{test:/safari|applewebkit/i,describe(t){return{name:"Safari",version:sl(v2,t),os:t.includes("mobile/")?"iOS":"macOS",osVersion:Md(t)}}}];function sl(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;const r=e.match(t);return r&&r.length>=n&&r[n]||""}function Md(t){return t.includes("mac os")?sl(/\(.+?(\d+_\d+(:?_\d+)?)/,t,1).replace(/_/g,"."):void 0}var b2="2.10.0";const k2=b2,C2=15;class Ge{}Ge.setTimeout=function(){return setTimeout(...arguments)},Ge.setInterval=function(){return setInterval(...arguments)},Ge.clearTimeout=function(){return clearTimeout(...arguments)},Ge.clearInterval=function(){return clearInterval(...arguments)};const S2=5e3,$s=[];var It;(function(t){t[t.LOW=0]="LOW",t[t.MEDIUM=1]="MEDIUM",t[t.HIGH=2]="HIGH"})(It||(It={}));class L extends on.EventEmitter{constructor(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var i;super(),this.attachedElements=[],this.isMuted=!1,this.streamState=L.StreamState.Active,this.isInBackground=!1,this._currentBitrate=0,this.log=X,this.appVisibilityChangedListener=()=>{this.backgroundTimeout&&clearTimeout(this.backgroundTimeout),document.visibilityState==="hidden"?this.backgroundTimeout=setTimeout(()=>this.handleAppVisibilityChanged(),S2):this.handleAppVisibilityChanged()},this.log=Sn((i=r.loggerName)!==null&&i!==void 0?i:Ht.Track),this.loggerContextCb=r.loggerContextCb,this.setMaxListeners(100),this.kind=n,this._mediaStreamTrack=e,this._mediaStreamID=e.id,this.source=L.Source.Unknown}get logContext(){var e;return Object.assign(Object.assign({},(e=this.loggerContextCb)===null||e===void 0?void 0:e.call(this)),le(this))}get currentBitrate(){return this._currentBitrate}get mediaStreamTrack(){return this._mediaStreamTrack}get mediaStreamID(){return this._mediaStreamID}attach(e){let n="audio";this.kind===L.Kind.Video&&(n="video"),this.attachedElements.length===0&&this.kind===L.Kind.Video&&this.addAppVisibilityListener(),e||(n==="audio"&&($s.forEach(s=>{s.parentElement===null&&!e&&(e=s)}),e&&$s.splice($s.indexOf(e),1)),e||(e=document.createElement(n))),this.attachedElements.includes(e)||this.attachedElements.push(e),Ri(this.mediaStreamTrack,e);const r=e.srcObject.getTracks(),i=r.some(s=>s.kind==="audio");return e.play().then(()=>{this.emit(i?j.AudioPlaybackStarted:j.VideoPlaybackStarted)}).catch(s=>{s.name==="NotAllowedError"?this.emit(i?j.AudioPlaybackFailed:j.VideoPlaybackFailed,s):s.name==="AbortError"?X.debug("".concat(i?"audio":"video"," playback aborted, likely due to new play request")):X.warn("could not playback ".concat(i?"audio":"video"),s),i&&e&&r.some(o=>o.kind==="video")&&s.name==="NotAllowedError"&&(e.muted=!0,e.play().catch(()=>{}))}),this.emit(j.ElementAttached,e),e}detach(e){try{if(e){Ii(this.mediaStreamTrack,e);const r=this.attachedElements.indexOf(e);return r>=0&&(this.attachedElements.splice(r,1),this.recycleElement(e),this.emit(j.ElementDetached,e)),e}const n=[];return this.attachedElements.forEach(r=>{Ii(this.mediaStreamTrack,r),n.push(r),this.recycleElement(r),this.emit(j.ElementDetached,r)}),this.attachedElements=[],n}finally{this.attachedElements.length===0&&this.removeAppVisibilityListener()}}stop(){this.stopMonitor(),this._mediaStreamTrack.stop()}enable(){this._mediaStreamTrack.enabled=!0}disable(){this._mediaStreamTrack.enabled=!1}stopMonitor(){this.monitorInterval&&clearInterval(this.monitorInterval),this.timeSyncHandle&&cancelAnimationFrame(this.timeSyncHandle)}updateLoggerOptions(e){e.loggerName&&(this.log=Sn(e.loggerName)),e.loggerContextCb&&(this.loggerContextCb=e.loggerContextCb)}recycleElement(e){if(e instanceof HTMLAudioElement){let n=!0;e.pause(),$s.forEach(r=>{r.parentElement||(n=!1)}),n&&$s.push(e)}}handleAppVisibilityChanged(){return S(this,void 0,void 0,function*(){this.isInBackground=document.visibilityState==="hidden",!this.isInBackground&&this.kind===L.Kind.Video&&setTimeout(()=>this.attachedElements.forEach(e=>e.play().catch(()=>{})),0)})}addAppVisibilityListener(){pt()?(this.isInBackground=document.visibilityState==="hidden",document.addEventListener("visibilitychange",this.appVisibilityChangedListener)):this.isInBackground=!1}removeAppVisibilityListener(){pt()&&document.removeEventListener("visibilitychange",this.appVisibilityChangedListener)}}function Ri(t,e){let n;e.srcObject instanceof MediaStream?n=e.srcObject:n=new MediaStream;let r;t.kind==="audio"?r=n.getAudioTracks():r=n.getVideoTracks(),r.includes(t)||(r.forEach(i=>{n.removeTrack(i)}),n.addTrack(t)),(!ir()||!(e instanceof HTMLVideoElement))&&(e.autoplay=!0),e.muted=n.getAudioTracks().length===0,e instanceof HTMLVideoElement&&(e.playsInline=!0),e.srcObject!==n&&(e.srcObject=n,(ir()||Oi())&&e instanceof HTMLVideoElement&&setTimeout(()=>{e.srcObject=n,e.play().catch(()=>{})},0))}function Ii(t,e){if(e.srcObject instanceof MediaStream){const n=e.srcObject;n.removeTrack(t),n.getTracks().length>0?e.srcObject=n:e.srcObject=null}}(function(t){let e;(function(c){c.Audio="audio",c.Video="video",c.Unknown="unknown"})(e=t.Kind||(t.Kind={}));let n;(function(c){c.Camera="camera",c.Microphone="microphone",c.ScreenShare="screen_share",c.ScreenShareAudio="screen_share_audio",c.Unknown="unknown"})(n=t.Source||(t.Source={}));let r;(function(c){c.Active="active",c.Paused="paused",c.Unknown="unknown"})(r=t.StreamState||(t.StreamState={}));function i(c){switch(c){case e.Audio:return Bt.AUDIO;case e.Video:return Bt.VIDEO;default:return Bt.DATA}}t.kindToProto=i;function s(c){switch(c){case Bt.AUDIO:return e.Audio;case Bt.VIDEO:return e.Video;default:return e.Unknown}}t.kindFromProto=s;function o(c){switch(c){case n.Camera:return Me.CAMERA;case n.Microphone:return Me.MICROPHONE;case n.ScreenShare:return Me.SCREEN_SHARE;case n.ScreenShareAudio:return Me.SCREEN_SHARE_AUDIO;default:return Me.UNKNOWN}}t.sourceToProto=o;function a(c){switch(c){case Me.CAMERA:return n.Camera;case Me.MICROPHONE:return n.Microphone;case Me.SCREEN_SHARE:return n.ScreenShare;case Me.SCREEN_SHARE_AUDIO:return n.ScreenShareAudio;default:return n.Unknown}}t.sourceFromProto=a;function l(c){switch(c){case fd.ACTIVE:return r.Active;case fd.PAUSED:return r.Paused;default:return r.Unknown}}t.streamStateFromProto=l})(L||(L={}));class de{constructor(e,n,r,i,s){if(typeof e=="object")this.width=e.width,this.height=e.height,this.aspectRatio=e.aspectRatio,this.encoding={maxBitrate:e.maxBitrate,maxFramerate:e.maxFramerate,priority:e.priority};else if(n!==void 0&&r!==void 0)this.width=e,this.height=n,this.aspectRatio=e/n,this.encoding={maxBitrate:r,maxFramerate:i,priority:s};else throw new TypeError("Unsupported options: provide at least width, height and maxBitrate")}get resolution(){return{width:this.width,height:this.height,frameRate:this.encoding.maxFramerate,aspectRatio:this.aspectRatio}}}const w2=["vp8","h264"],T2=["vp8","h264","vp9","av1"];function x2(t){return!!w2.find(e=>e===t)}var ty;(function(t){t[t.PREFER_REGRESSION=0]="PREFER_REGRESSION",t[t.SIMULCAST=1]="SIMULCAST",t[t.REGRESSION=2]="REGRESSION"})(ty||(ty={}));var Nd;(function(t){t.telephone={maxBitrate:12e3},t.speech={maxBitrate:24e3},t.music={maxBitrate:48e3},t.musicStereo={maxBitrate:64e3},t.musicHighQuality={maxBitrate:96e3},t.musicHighQualityStereo={maxBitrate:128e3}})(Nd||(Nd={}));const qs={h90:new de(160,90,9e4,20),h180:new de(320,180,16e4,20),h216:new de(384,216,18e4,20),h360:new de(640,360,45e4,20),h540:new de(960,540,8e5,25),h720:new de(1280,720,17e5,30),h1080:new de(1920,1080,3e6,30),h1440:new de(2560,1440,5e6,30),h2160:new de(3840,2160,8e6,30)},Dd={h120:new de(160,120,7e4,20),h180:new de(240,180,125e3,20),h240:new de(320,240,14e4,20),h360:new de(480,360,33e4,20),h480:new de(640,480,5e5,20),h540:new de(720,540,6e5,25),h720:new de(960,720,13e5,30),h1080:new de(1440,1080,23e5,30),h1440:new de(1920,1440,38e5,30)},Ad={h360fps3:new de(640,360,2e5,3,"medium"),h360fps15:new de(640,360,4e5,15,"medium"),h720fps5:new de(1280,720,8e5,5,"medium"),h720fps15:new de(1280,720,15e5,15,"medium"),h720fps30:new de(1280,720,2e6,30,"medium"),h1080fps15:new de(1920,1080,25e5,15,"medium"),h1080fps30:new de(1920,1080,5e6,30,"medium"),original:new de(0,0,7e6,30,"medium")},E2="|",ny="https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension";function P2(t){const e=t.split(E2);return e.length>1?[e[0],t.substr(e[0].length+1)]:[t,""]}function ht(t){return S(this,void 0,void 0,function*(){return new Promise(e=>Ge.setTimeout(e,t))})}function jd(){return"addTransceiver"in RTCPeerConnection.prototype}function Ud(){return"addTrack"in RTCPeerConnection.prototype}function _2(){if(!("getCapabilities"in RTCRtpSender)||ir())return!1;const t=RTCRtpSender.getCapabilities("video");let e=!1;if(t){for(const n of t.codecs)if(n.mimeType==="video/AV1"){e=!0;break}}return e}function R2(){if(!("getCapabilities"in RTCRtpSender)||Oi())return!1;if(ir()){const n=$t();if(n!=null&&n.version&&Nr(n.version,"16")<0)return!1}const t=RTCRtpSender.getCapabilities("video");let e=!1;if(t){for(const n of t.codecs)if(n.mimeType==="video/VP9"){e=!0;break}}return e}function Ws(t){return t==="av1"||t==="vp9"}function Fd(t){return document?(t||(t=document.createElement("audio")),"setSinkId"in t):!1}function I2(){return typeof RTCPeerConnection>"u"?!1:jd()||Ud()}function Oi(){var t;return((t=$t())===null||t===void 0?void 0:t.name)==="Firefox"}function ir(){var t;return((t=$t())===null||t===void 0?void 0:t.name)==="Safari"}function O2(){const t=$t();return(t==null?void 0:t.name)==="Safari"&&t.version.startsWith("17.")}function ry(){var t,e;return pt()?(e=(t=navigator.userAgentData)===null||t===void 0?void 0:t.mobile)!==null&&e!==void 0?e:/Tablet|iPad|Mobile|Android|BlackBerry/.test(navigator.userAgent):!1}function L2(){const t=$t(),e="17.2";if(t)return t.name!=="Safari"&&t.os!=="iOS"||t.os==="iOS"&&t.osVersion&&Nr(e,t.osVersion)>=0?!0:t.name==="Safari"&&Nr(e,t.version)>=0}function pt(){return typeof document<"u"}function an(){return navigator.product=="ReactNative"}function Bd(t){return t.hostname.endsWith(".livekit.cloud")||t.hostname.endsWith(".livekit.run")}function iy(){if(global&&global.LiveKitReactNativeGlobal)return global.LiveKitReactNativeGlobal}function sy(){if(!an())return;let t=iy();if(t)return t.platform}function oy(){if(pt())return window.devicePixelRatio;if(an()){let t=iy();if(t)return t.devicePixelRatio}return 1}function Nr(t,e){const n=t.split("."),r=e.split("."),i=Math.min(n.length,r.length);for(let s=0;s<i;++s){const o=parseInt(n[s],10),a=parseInt(r[s],10);if(o>a)return 1;if(o<a)return-1;if(s===i-1&&o===a)return 0}return t===""&&e!==""?-1:e===""?1:n.length==r.length?0:n.length<r.length?-1:1}function M2(t){for(const e of t)e.target.handleResize(e)}function N2(t){for(const e of t)e.target.handleVisibilityChanged(e)}let Vd=null;const ay=()=>(Vd||(Vd=new ResizeObserver(M2)),Vd);let zd=null;const ly=()=>(zd||(zd=new IntersectionObserver(N2,{root:null,rootMargin:"0px"})),zd);function D2(){var t;const e=new TT({sdk:Wv.JS,protocol:C2,version:k2});return an()&&(e.os=(t=sy())!==null&&t!==void 0?t:""),e}function cy(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:16,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:16,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;const i=document.createElement("canvas");i.width=t,i.height=e;const s=i.getContext("2d");s==null||s.fillRect(0,0,i.width,i.height),r&&s&&(s.beginPath(),s.arc(t/2,e/2,50,0,Math.PI*2,!0),s.closePath(),s.fillStyle="grey",s.fill());const o=i.captureStream(),[a]=o.getTracks();if(!a)throw Error("Could not get empty media stream video track");return a.enabled=n,a}let Gs;function Hd(){if(!Gs){const t=new AudioContext,e=t.createOscillator(),n=t.createGain();n.gain.setValueAtTime(0,0);const r=t.createMediaStreamDestination();if(e.connect(n),n.connect(r),e.start(),[Gs]=r.stream.getAudioTracks(),!Gs)throw Error("Could not get empty media stream audio track");Gs.enabled=!1}return Gs.clone()}class uy{constructor(e,n){this.onFinally=n,this.promise=new Promise((r,i)=>S(this,void 0,void 0,function*(){this.resolve=r,this.reject=i,e&&(yield e(r,i))})).finally(()=>{var r;return(r=this.onFinally)===null||r===void 0?void 0:r.call(this)})}}function A2(t){return T2.includes(t)}function sr(t){if(typeof t=="string"||typeof t=="number")return t;if(Array.isArray(t))return t[0];if(t.exact)return Array.isArray(t.exact)?t.exact[0]:t.exact;if(t.ideal)return Array.isArray(t.ideal)?t.ideal[0]:t.ideal;throw Error("could not unwrap constraint")}function $d(t){return t.startsWith("ws")?t.replace(/^(ws)/,"http"):t}function j2(t,e){return t.segments.map(n=>{let{id:r,text:i,language:s,startTime:o,endTime:a,final:l}=n;var c;const u=(c=e.get(r))!==null&&c!==void 0?c:Date.now(),d=Date.now();return l?e.delete(r):e.set(r,u),{id:r,text:i,startTime:Number.parseInt(o.toString()),endTime:Number.parseInt(a.toString()),final:l,language:s,firstReceivedTime:u,lastReceivedTime:d}})}function U2(t){const{id:e,timestamp:n,message:r,editTimestamp:i}=t;return{id:e,timestamp:Number.parseInt(n.toString()),editTimestamp:i?Number.parseInt(i.toString()):void 0,message:r}}function dy(t){switch(t.reason){case te.LeaveRequest:return t.context;case te.Cancelled:return Vt.CLIENT_INITIATED;case te.NotAllowed:return Vt.USER_REJECTED;case te.ServerUnreachable:return Vt.JOIN_FAILURE;default:return Vt.UNKNOWN_REASON}}function ol(t){return t!==void 0?Number(t):void 0}function Dr(t){return t!==void 0?BigInt(t):void 0}function Li(t){return!!t&&!(t instanceof MediaStreamTrack)&&t.isLocal}function Tn(t){return!!t&&t.kind==L.Kind.Audio}function Mi(t){return!!t&&t.kind==L.Kind.Video}function or(t){return Li(t)&&Mi(t)}function Ar(t){return Li(t)&&Tn(t)}function qd(t){return!!t&&!t.isLocal}function F2(t){return!!t&&!t.isLocal}function Wd(t){return qd(t)&&Mi(t)}function B2(t){return t.isLocal}function V2(t,e){const n=[];let r=new TextEncoder().encode(t);for(;r.length>e;){let i=e;for(;i>0;){const s=r[i];if(s!==void 0&&(s&192)!==128)break;i--}n.push(r.slice(0,i)),r=r.slice(i)}return r.length>0&&n.push(r),n}function fy(t,e,n){var r,i,s,o,a;const{optionsWithoutProcessor:l,audioProcessor:c,videoProcessor:u}=Kd(t??{}),d=e==null?void 0:e.processor,f=n==null?void 0:n.processor,h=(r=g2(l))!==null&&r!==void 0?r:{};return h.audio===!0&&(h.audio={}),h.video===!0&&(h.video={}),h.audio&&(Gd(h.audio,e),(i=(o=h.audio).deviceId)!==null&&i!==void 0||(o.deviceId="default"),(c||d)&&(h.audio.processor=c??d)),h.video&&(Gd(h.video,n),(s=(a=h.video).deviceId)!==null&&s!==void 0||(a.deviceId="default"),(u||f)&&(h.video.processor=u??f)),h}function Gd(t,e){return Object.keys(e).forEach(n=>{t[n]===void 0&&(t[n]=e[n])}),t}function al(t){var e,n,r,i;const s={};if(t.video)if(typeof t.video=="object"){const o={},a=o,l=t.video;Object.keys(l).forEach(c=>{switch(c){case"resolution":Gd(a,l.resolution);break;default:a[c]=l[c]}}),s.video=o,(e=(r=s.video).deviceId)!==null&&e!==void 0||(r.deviceId="default")}else s.video=t.video?{deviceId:"default"}:!1;else s.video=!1;return t.audio?typeof t.audio=="object"?(s.audio=t.audio,(n=(i=s.audio).deviceId)!==null&&n!==void 0||(i.deviceId="default")):s.audio={deviceId:"default"}:s.audio=!1,s}function hy(t){return S(this,arguments,void 0,function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:200;return function*(){const r=py();if(r){const i=r.createAnalyser();i.fftSize=2048;const s=i.frequencyBinCount,o=new Uint8Array(s);r.createMediaStreamSource(new MediaStream([e.mediaStreamTrack])).connect(i),yield ht(n),i.getByteTimeDomainData(o);const l=o.some(c=>c!==128&&c!==0);return r.close(),!l}return!1}()})}function py(){var t;const e=typeof window<"u"&&(window.AudioContext||window.webkitAudioContext);if(e){const n=new e({latencyHint:"interactive"});if(n.state==="suspended"&&typeof window<"u"&&(!((t=window.document)===null||t===void 0)&&t.body)){const r=()=>S(this,void 0,void 0,function*(){var i;try{n.state==="suspended"&&(yield n.resume())}catch(s){console.warn("Error trying to auto-resume audio context",s)}(i=window.document.body)===null||i===void 0||i.removeEventListener("click",r)});window.document.body.addEventListener("click",r)}return n}}function my(t){return t===L.Source.Microphone?"audioinput":t===L.Source.Camera?"videoinput":void 0}function z2(t){var e,n;let r=(e=t.video)!==null&&e!==void 0?e:!0;return t.resolution&&t.resolution.width>0&&t.resolution.height>0&&(r=typeof r=="boolean"?{}:r,ir()?r=Object.assign(Object.assign({},r),{width:{max:t.resolution.width},height:{max:t.resolution.height},frameRate:t.resolution.frameRate}):r=Object.assign(Object.assign({},r),{width:{ideal:t.resolution.width},height:{ideal:t.resolution.height},frameRate:t.resolution.frameRate})),{audio:(n=t.audio)!==null&&n!==void 0?n:!1,video:r,controller:t.controller,selfBrowserSurface:t.selfBrowserSurface,surfaceSwitching:t.surfaceSwitching,systemAudio:t.systemAudio,preferCurrentTab:t.preferCurrentTab}}function ll(t){return t.split("/")[1].toLowerCase()}function H2(t){const e=[];return t.forEach(n=>{n.track!==void 0&&e.push(new vd({cid:n.track.mediaStreamID,track:n.trackInfo}))}),e}function le(t){return"mediaStreamTrack"in t?{trackID:t.sid,source:t.source,muted:t.isMuted,enabled:t.mediaStreamTrack.enabled,kind:t.kind,streamID:t.mediaStreamID,streamTrackID:t.mediaStreamTrack.id}:{trackID:t.trackSid,enabled:t.isEnabled,muted:t.isMuted,trackInfo:Object.assign({mimeType:t.mimeType,name:t.trackName,encrypted:t.isEncrypted,kind:t.kind,source:t.source},t.track?le(t.track):{})}}function $2(){return typeof RTCRtpReceiver<"u"&&"getSynchronizationSources"in RTCRtpReceiver}function q2(t,e){var n;t===void 0&&(t={}),e===void 0&&(e={});const r=[...Object.keys(e),...Object.keys(t)],i={};for(const s of r)t[s]!==e[s]&&(i[s]=(n=e[s])!==null&&n!==void 0?n:"");return i}function Kd(t){const e=Object.assign({},t);let n,r;return typeof e.audio=="object"&&e.audio.processor&&(n=e.audio.processor,e.audio=Object.assign(Object.assign({},e.audio),{processor:void 0})),typeof e.video=="object"&&e.video.processor&&(r=e.video.processor,e.video=Object.assign(Object.assign({},e.video),{processor:void 0})),{audioProcessor:n,videoProcessor:r,optionsWithoutProcessor:e}}function W2(t){switch(t){case Me.CAMERA:return L.Source.Camera;case Me.MICROPHONE:return L.Source.Microphone;case Me.SCREEN_SHARE:return L.Source.ScreenShare;case Me.SCREEN_SHARE_AUDIO:return L.Source.ScreenShareAudio;default:return L.Source.Unknown}}class G2 extends on.EventEmitter{constructor(e){super(),this.onWorkerMessage=n=>{var r,i;const{kind:s,data:o}=n.data;switch(s){case"error":X.error(o.error.message),this.emit(nr.EncryptionError,o.error);break;case"initAck":o.enabled&&this.keyProvider.getKeys().forEach(a=>{this.postKey(a)});break;case"enable":if(o.enabled&&this.keyProvider.getKeys().forEach(a=>{this.postKey(a)}),this.encryptionEnabled!==o.enabled&&o.participantIdentity===((r=this.room)===null||r===void 0?void 0:r.localParticipant.identity))this.emit(nr.ParticipantEncryptionStatusChanged,o.enabled,this.room.localParticipant),this.encryptionEnabled=o.enabled;else if(o.participantIdentity){const a=(i=this.room)===null||i===void 0?void 0:i.getParticipantByIdentity(o.participantIdentity);if(!a)throw TypeError("couldn't set encryption status, participant not found".concat(o.participantIdentity));this.emit(nr.ParticipantEncryptionStatusChanged,o.enabled,a)}break;case"ratchetKey":this.keyProvider.emit(tr.KeyRatcheted,o.material,o.keyIndex);break}},this.onWorkerError=n=>{X.error("e2ee worker encountered an error:",{error:n.error}),this.emit(nr.EncryptionError,n.error)},this.keyProvider=e.keyProvider,this.worker=e.worker,this.encryptionEnabled=!1}setup(e){if(!f2())throw new Id("tried to setup end-to-end encryption on an unsupported browser");if(X.info("setting up e2ee"),e!==this.room){this.room=e,this.setupEventListeners(e,this.keyProvider);const n={kind:"init",data:{keyProviderOptions:this.keyProvider.getOptions(),loglevel:JT.getLevel()}};this.worker&&(X.info("initializing worker",{worker:this.worker}),this.worker.onmessage=this.onWorkerMessage,this.worker.onerror=this.onWorkerError,this.worker.postMessage(n))}}setParticipantCryptorEnabled(e,n){X.debug("set e2ee to ".concat(e," for participant ").concat(n)),this.postEnable(e,n)}setSifTrailer(e){!e||e.length===0?X.warn("ignoring server sent trailer as it's empty"):this.postSifTrailer(e)}setupEngine(e){e.on(F.RTPVideoMapUpdate,n=>{this.postRTPMap(n)})}setupEventListeners(e,n){e.on(A.TrackPublished,(r,i)=>this.setParticipantCryptorEnabled(r.trackInfo.encryption!==St.NONE,i.identity)),e.on(A.ConnectionStateChanged,r=>{r===ie.Connected&&e.remoteParticipants.forEach(i=>{i.trackPublications.forEach(s=>{this.setParticipantCryptorEnabled(s.trackInfo.encryption!==St.NONE,i.identity)})})}).on(A.TrackUnsubscribed,(r,i,s)=>{var o;const a={kind:"removeTransform",data:{participantIdentity:s.identity,trackId:r.mediaStreamID}};(o=this.worker)===null||o===void 0||o.postMessage(a)}).on(A.TrackSubscribed,(r,i,s)=>{this.setupE2EEReceiver(r,s.identity,i.trackInfo)}).on(A.SignalConnected,()=>{if(!this.room)throw new TypeError("expected room to be present on signal connect");n.getKeys().forEach(r=>{this.postKey(r)}),this.setParticipantCryptorEnabled(this.room.localParticipant.isE2EEEnabled,this.room.localParticipant.identity)}),e.localParticipant.on(B.LocalTrackPublished,r=>S(this,void 0,void 0,function*(){this.setupE2EESender(r.track,r.track.sender)})),n.on(tr.SetKey,r=>this.postKey(r)).on(tr.RatchetRequest,(r,i)=>this.postRatchetRequest(r,i))}postRatchetRequest(e,n){if(!this.worker)throw Error("could not ratchet key, worker is missing");const r={kind:"ratchetRequest",data:{participantIdentity:e,keyIndex:n}};this.worker.postMessage(r)}postKey(e){let{key:n,participantIdentity:r,keyIndex:i}=e;var s;if(!this.worker)throw Error("could not set key, worker is missing");const o={kind:"setKey",data:{participantIdentity:r,isPublisher:r===((s=this.room)===null||s===void 0?void 0:s.localParticipant.identity),key:n,keyIndex:i}};this.worker.postMessage(o)}postEnable(e,n){if(this.worker){const r={kind:"enable",data:{enabled:e,participantIdentity:n}};this.worker.postMessage(r)}else throw new ReferenceError("failed to enable e2ee, worker is not ready")}postRTPMap(e){var n;if(!this.worker)throw TypeError("could not post rtp map, worker is missing");if(!(!((n=this.room)===null||n===void 0)&&n.localParticipant.identity))throw TypeError("could not post rtp map, local participant identity is missing");const r={kind:"setRTPMap",data:{map:e,participantIdentity:this.room.localParticipant.identity}};this.worker.postMessage(r)}postSifTrailer(e){if(!this.worker)throw Error("could not post SIF trailer, worker is missing");const n={kind:"setSifTrailer",data:{trailer:e}};this.worker.postMessage(n)}setupE2EEReceiver(e,n,r){if(e.receiver){if(!(r!=null&&r.mimeType)||r.mimeType==="")throw new TypeError("MimeType missing from trackInfo, cannot set up E2EE cryptor");this.handleReceiver(e.receiver,e.mediaStreamID,n,e.kind==="video"?ll(r.mimeType):void 0)}}setupE2EESender(e,n){if(!Li(e)||!n){n||X.warn("early return because sender is not ready");return}this.handleSender(n,e.mediaStreamID,void 0)}handleReceiver(e,n,r,i){return S(this,void 0,void 0,function*(){if(this.worker){if(Rd()){const s={kind:"decode",participantIdentity:r,trackId:n,codec:i};e.transform=new RTCRtpScriptTransform(this.worker,s)}else{if(rl in e&&i){const l={kind:"updateCodec",data:{trackId:n,codec:i,participantIdentity:r}};this.worker.postMessage(l);return}let s=e.writableStream,o=e.readableStream;if(!s||!o){const l=e.createEncodedStreams();e.writableStream=l.writable,s=l.writable,e.readableStream=l.readable,o=l.readable}const a={kind:"decode",data:{readableStream:o,writableStream:s,trackId:n,codec:i,participantIdentity:r}};this.worker.postMessage(a,[o,s])}e[rl]=!0}})}handleSender(e,n,r){var i;if(!(rl in e||!this.worker)){if(!(!((i=this.room)===null||i===void 0)&&i.localParticipant.identity)||this.room.localParticipant.identity==="")throw TypeError("local identity needs to be known in order to set up encrypted sender");if(Rd()){X.info("initialize script transform");const s={kind:"encode",participantIdentity:this.room.localParticipant.identity,trackId:n,codec:r};e.transform=new RTCRtpScriptTransform(this.worker,s)}else{X.info("initialize encoded streams");const s=e.createEncodedStreams(),o={kind:"encode",data:{readableStream:s.readable,writableStream:s.writable,codec:r,trackId:n,participantIdentity:this.room.localParticipant.identity}};this.worker.postMessage(o,[s.readable,s.writable])}e[rl]=!0}}}const Zd="default";class Ve{constructor(){this._previousDevices=[]}static getInstance(){return this.instance===void 0&&(this.instance=new Ve),this.instance}get previousDevices(){return this._previousDevices}getDevices(e){return S(this,arguments,void 0,function(n){var r=this;let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return function*(){var s;if(((s=Ve.userMediaPromiseMap)===null||s===void 0?void 0:s.size)>0){X.debug("awaiting getUserMedia promise");try{n?yield Ve.userMediaPromiseMap.get(n):yield Promise.all(Ve.userMediaPromiseMap.values())}catch{X.warn("error waiting for media permissons")}}let o=yield navigator.mediaDevices.enumerateDevices();if(i&&!(ir()&&r.hasDeviceInUse(n))&&(o.filter(l=>l.kind===n).length===0||o.some(l=>{const c=l.label==="",u=n?l.kind===n:!0;return c&&u}))){const l={video:n!=="audioinput"&&n!=="audiooutput",audio:n!=="videoinput"&&{deviceId:"default"}},c=yield navigator.mediaDevices.getUserMedia(l);o=yield navigator.mediaDevices.enumerateDevices(),c.getTracks().forEach(u=>{u.stop()})}return r._previousDevices=o,n&&(o=o.filter(a=>a.kind===n)),o}()})}normalizeDeviceId(e,n,r){return S(this,void 0,void 0,function*(){if(n!==Zd)return n;const i=yield this.getDevices(e),s=i.find(a=>a.deviceId===Zd);if(!s){X.warn("could not reliably determine default device");return}const o=i.find(a=>a.deviceId!==Zd&&a.groupId===(r??s.groupId));if(!o){X.warn("could not reliably determine default device");return}return o==null?void 0:o.deviceId})}hasDeviceInUse(e){return e?Ve.userMediaPromiseMap.has(e):Ve.userMediaPromiseMap.size>0}}Ve.mediaDeviceKinds=["audioinput","audiooutput","videoinput"],Ve.userMediaPromiseMap=new Map;var Ks;(function(t){t[t.WAITING=0]="WAITING",t[t.RUNNING=1]="RUNNING",t[t.COMPLETED=2]="COMPLETED"})(Ks||(Ks={}));class K2{constructor(){this.pendingTasks=new Map,this.taskMutex=new Ct,this.nextTaskIndex=0}run(e){return S(this,void 0,void 0,function*(){const n={id:this.nextTaskIndex++,enqueuedAt:Date.now(),status:Ks.WAITING};this.pendingTasks.set(n.id,n);const r=yield this.taskMutex.lock();try{return n.executedAt=Date.now(),n.status=Ks.RUNNING,yield e()}finally{n.status=Ks.COMPLETED,this.pendingTasks.delete(n.id),r()}})}flush(){return S(this,void 0,void 0,function*(){return this.run(()=>S(this,void 0,void 0,function*(){}))})}snapshot(){return Array.from(this.pendingTasks.values())}}function Z2(t,e){const n=new URL(t);return e.forEach((r,i)=>{n.searchParams.set(i,r)}),gy(n,"rtc")}function Q2(t){const e=new URL($d(t));return gy(e,"validate")}function J2(t){return t.endsWith("/")?t:"".concat(t,"/")}function gy(t,e){const n="".concat(t.protocol,"//").concat(t.host).concat(J2(t.pathname)).concat(e);return t.searchParams.size>0?"".concat(n,"?").concat(t.searchParams.toString()):n}const Y2=["syncState","trickle","offer","answer","simulate","leave"];function X2(t){const e=Y2.indexOf(t.case)>=0;return X.trace("request allowed to bypass queue:",{canPass:e,req:t}),e}var be;(function(t){t[t.CONNECTING=0]="CONNECTING",t[t.CONNECTED=1]="CONNECTED",t[t.RECONNECTING=2]="RECONNECTING",t[t.DISCONNECTING=3]="DISCONNECTING",t[t.DISCONNECTED=4]="DISCONNECTED"})(be||(be={}));class Qd{get currentState(){return this.state}get isDisconnected(){return this.state===be.DISCONNECTING||this.state===be.DISCONNECTED}get isEstablishingConnection(){return this.state===be.CONNECTING||this.state===be.RECONNECTING}getNextRequestId(){return this._requestId+=1,this._requestId}constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r;this.rtt=0,this.state=be.DISCONNECTED,this.log=X,this._requestId=0,this.resetCallbacks=()=>{this.onAnswer=void 0,this.onLeave=void 0,this.onLocalTrackPublished=void 0,this.onLocalTrackUnpublished=void 0,this.onNegotiateRequested=void 0,this.onOffer=void 0,this.onRemoteMuteChanged=void 0,this.onSubscribedQualityUpdate=void 0,this.onTokenRefresh=void 0,this.onTrickle=void 0,this.onClose=void 0},this.log=Sn((r=n.loggerName)!==null&&r!==void 0?r:Ht.Signal),this.loggerContextCb=n.loggerContextCb,this.useJSON=e,this.requestQueue=new K2,this.queuedRequests=[],this.closingLock=new Ct,this.connectionLock=new Ct,this.state=be.DISCONNECTED}get logContext(){var e,n;return(n=(e=this.loggerContextCb)===null||e===void 0?void 0:e.call(this))!==null&&n!==void 0?n:{}}join(e,n,r,i){return S(this,void 0,void 0,function*(){return this.state=be.CONNECTING,this.options=r,yield this.connect(e,n,r,i)})}reconnect(e,n,r,i){return S(this,void 0,void 0,function*(){if(!this.options){this.log.warn("attempted to reconnect without signal options being set, ignoring",this.logContext);return}return this.state=be.RECONNECTING,this.clearPingInterval(),yield this.connect(e,n,Object.assign(Object.assign({},this.options),{reconnect:!0,sid:r,reconnectReason:i}))})}connect(e,n,r,i){this.connectOptions=r;const s=D2(),o=ex(n,s,r),a=Z2(e,o),l=Q2(a);return new Promise((c,u)=>S(this,void 0,void 0,function*(){const d=yield this.connectionLock.lock();try{const f=()=>S(this,void 0,void 0,function*(){this.close(),clearTimeout(h),u(new he("room connection has been cancelled (signal)",te.Cancelled))}),h=setTimeout(()=>{this.close(),u(new he("room connection has timed out (signal)",te.ServerUnreachable))},r.websocketTimeout);i!=null&&i.aborted&&f(),i==null||i.addEventListener("abort",f);const v=new URL(a);v.searchParams.has("access_token")&&v.searchParams.set("access_token","<redacted>"),this.log.debug("connecting to ".concat(v),Object.assign({reconnect:r.reconnect,reconnectReason:r.reconnectReason},this.logContext)),this.ws&&(yield this.close(!1)),this.ws=new WebSocket(a),this.ws.binaryType="arraybuffer",this.ws.onopen=()=>{clearTimeout(h)},this.ws.onerror=y=>S(this,void 0,void 0,function*(){if(this.state!==be.CONNECTED){this.state=be.DISCONNECTED,clearTimeout(h);try{const T=yield fetch(l);if(T.status.toFixed(0).startsWith("4")){const m=yield T.text();u(new he(m,te.NotAllowed,T.status))}else u(new he("Encountered unknown websocket error during connection: ".concat(y.toString()),te.InternalError,T.status))}catch(T){u(new he(T instanceof Error?T.message:"server was not reachable",te.ServerUnreachable))}return}this.handleWSError(y)}),this.ws.onmessage=y=>S(this,void 0,void 0,function*(){var T,m,b;let p;if(typeof y.data=="string"){const k=JSON.parse(y.data);p=Yv.fromJson(k,{ignoreUnknownFields:!0})}else if(y.data instanceof ArrayBuffer)p=Yv.fromBinary(new Uint8Array(y.data));else{this.log.error("could not decode websocket message: ".concat(typeof y.data),this.logContext);return}if(this.state!==be.CONNECTED){let k=!1;if(((T=p.message)===null||T===void 0?void 0:T.case)==="join"?(this.state=be.CONNECTED,i==null||i.removeEventListener("abort",f),this.pingTimeoutDuration=p.message.value.pingTimeout,this.pingIntervalDuration=p.message.value.pingInterval,this.pingTimeoutDuration&&this.pingTimeoutDuration>0&&(this.log.debug("ping config",Object.assign(Object.assign({},this.logContext),{timeout:this.pingTimeoutDuration,interval:this.pingIntervalDuration})),this.startPingInterval()),c(p.message.value)):this.state===be.RECONNECTING&&p.message.case!=="leave"?(this.state=be.CONNECTED,i==null||i.removeEventListener("abort",f),this.startPingInterval(),((m=p.message)===null||m===void 0?void 0:m.case)==="reconnect"?c(p.message.value):(this.log.debug("declaring signal reconnected without reconnect response received",this.logContext),c(void 0),k=!0)):this.isEstablishingConnection&&p.message.case==="leave"?u(new he("Received leave request while trying to (re)connect",te.LeaveRequest,void 0,p.message.value.reason)):r.reconnect||u(new he("did not receive join response, got ".concat((b=p.message)===null||b===void 0?void 0:b.case," instead"),te.InternalError)),!k)return}this.signalLatency&&(yield ht(this.signalLatency)),this.handleSignalResponse(p)}),this.ws.onclose=y=>{this.isEstablishingConnection&&u(new he("Websocket got closed during a (re)connection attempt",te.InternalError)),this.log.warn("websocket closed",Object.assign(Object.assign({},this.logContext),{reason:y.reason,code:y.code,wasClean:y.wasClean,state:this.state})),this.handleOnClose(y.reason)}}finally{d()}}))}close(){return S(this,arguments,void 0,function(){var e=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return function*(){const r=yield e.closingLock.lock();try{if(e.clearPingInterval(),n&&(e.state=be.DISCONNECTING),e.ws){e.ws.onmessage=null,e.ws.onopen=null,e.ws.onclose=null;const i=new Promise(s=>{e.ws?e.ws.onclose=()=>{s()}:s()});e.ws.readyState<e.ws.CLOSING&&(e.ws.close(),yield Promise.race([i,ht(250)])),e.ws=void 0}}finally{n&&(e.state=be.DISCONNECTED),r()}}()})}sendOffer(e){this.log.debug("sending offer",Object.assign(Object.assign({},this.logContext),{offerSdp:e.sdp})),this.sendRequest({case:"offer",value:cl(e)})}sendAnswer(e){return this.log.debug("sending answer",Object.assign(Object.assign({},this.logContext),{answerSdp:e.sdp})),this.sendRequest({case:"answer",value:cl(e)})}sendIceCandidate(e,n){return this.log.debug("sending ice candidate",Object.assign(Object.assign({},this.logContext),{candidate:e})),this.sendRequest({case:"trickle",value:new md({candidateInit:JSON.stringify(e),target:n})})}sendMuteTrack(e,n){return this.sendRequest({case:"mute",value:new gd({sid:e,muted:n})})}sendAddTrack(e){return this.sendRequest({case:"addTrack",value:e})}sendUpdateLocalMetadata(e,n){return S(this,arguments,void 0,function(r,i){var s=this;let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return function*(){const a=s.getNextRequestId();return yield s.sendRequest({case:"updateMetadata",value:new n0({requestId:a,metadata:r,name:i,attributes:o})}),a}()})}sendUpdateTrackSettings(e){this.sendRequest({case:"trackSetting",value:e})}sendUpdateSubscription(e){return this.sendRequest({case:"subscription",value:e})}sendSyncState(e){return this.sendRequest({case:"syncState",value:e})}sendUpdateVideoLayers(e,n){return this.sendRequest({case:"updateLayers",value:new t0({trackSid:e,layers:n})})}sendUpdateSubscriptionPermissions(e,n){return this.sendRequest({case:"subscriptionPermission",value:new s0({allParticipants:e,trackPermissions:n})})}sendSimulateScenario(e){return this.sendRequest({case:"simulate",value:e})}sendPing(){return Promise.all([this.sendRequest({case:"ping",value:ye.parse(Date.now())}),this.sendRequest({case:"pingReq",value:new l0({timestamp:ye.parse(Date.now()),rtt:ye.parse(this.rtt)})})])}sendUpdateLocalAudioTrack(e,n){return this.sendRequest({case:"updateAudioTrack",value:new e0({trackSid:e,features:n})})}sendLeave(){return this.sendRequest({case:"leave",value:new Ga({reason:Vt.CLIENT_INITIATED,action:Pi.DISCONNECT})})}sendRequest(e){return S(this,arguments,void 0,function(n){var r=this;let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return function*(){if(!i&&!X2(n)&&r.state===be.RECONNECTING){r.queuedRequests.push(()=>S(r,void 0,void 0,function*(){yield this.sendRequest(n,!0)}));return}if(i||(yield r.requestQueue.flush()),r.signalLatency&&(yield ht(r.signalLatency)),!r.ws||r.ws.readyState!==r.ws.OPEN){r.log.error("cannot send signal request before connected, type: ".concat(n==null?void 0:n.case),r.logContext);return}const o=new PT({message:n});try{r.useJSON?r.ws.send(o.toJsonString()):r.ws.send(o.toBinary())}catch(a){r.log.error("error sending signal message",Object.assign(Object.assign({},r.logContext),{error:a}))}}()})}handleSignalResponse(e){var n,r;const i=e.message;if(i==null){this.log.debug("received unsupported message",this.logContext);return}let s=!1;if(i.case==="answer"){const o=vy(i.value);this.onAnswer&&this.onAnswer(o)}else if(i.case==="offer"){const o=vy(i.value);this.onOffer&&this.onOffer(o)}else if(i.case==="trickle"){const o=JSON.parse(i.value.candidateInit);this.onTrickle&&this.onTrickle(o,i.value.target)}else i.case==="update"?this.onParticipantUpdate&&this.onParticipantUpdate((n=i.value.participants)!==null&&n!==void 0?n:[]):i.case==="trackPublished"?this.onLocalTrackPublished&&this.onLocalTrackPublished(i.value):i.case==="speakersChanged"?this.onSpeakersChanged&&this.onSpeakersChanged((r=i.value.speakers)!==null&&r!==void 0?r:[]):i.case==="leave"?this.onLeave&&this.onLeave(i.value):i.case==="mute"?this.onRemoteMuteChanged&&this.onRemoteMuteChanged(i.value.sid,i.value.muted):i.case==="roomUpdate"?this.onRoomUpdate&&i.value.room&&this.onRoomUpdate(i.value.room):i.case==="connectionQuality"?this.onConnectionQuality&&this.onConnectionQuality(i.value):i.case==="streamStateUpdate"?this.onStreamStateUpdate&&this.onStreamStateUpdate(i.value):i.case==="subscribedQualityUpdate"?this.onSubscribedQualityUpdate&&this.onSubscribedQualityUpdate(i.value):i.case==="subscriptionPermissionUpdate"?this.onSubscriptionPermissionUpdate&&this.onSubscriptionPermissionUpdate(i.value):i.case==="refreshToken"?this.onTokenRefresh&&this.onTokenRefresh(i.value):i.case==="trackUnpublished"?this.onLocalTrackUnpublished&&this.onLocalTrackUnpublished(i.value):i.case==="subscriptionResponse"?this.onSubscriptionError&&this.onSubscriptionError(i.value):i.case==="pong"||(i.case==="pongResp"?(this.rtt=Date.now()-Number.parseInt(i.value.lastPingTimestamp.toString()),this.resetPingTimeout(),s=!0):i.case==="requestResponse"?this.onRequestResponse&&this.onRequestResponse(i.value):i.case==="trackSubscribed"?this.onLocalTrackSubscribed&&this.onLocalTrackSubscribed(i.value.trackSid):this.log.debug("unsupported message",Object.assign(Object.assign({},this.logContext),{msgCase:i.case})));s||this.resetPingTimeout()}setReconnected(){for(;this.queuedRequests.length>0;){const e=this.queuedRequests.shift();e&&this.requestQueue.run(e)}}handleOnClose(e){return S(this,void 0,void 0,function*(){if(this.state===be.DISCONNECTED)return;const n=this.onClose;yield this.close(),this.log.debug("websocket connection closed: ".concat(e),Object.assign(Object.assign({},this.logContext),{reason:e})),n&&n(e)})}handleWSError(e){this.log.error("websocket error",Object.assign(Object.assign({},this.logContext),{error:e}))}resetPingTimeout(){if(this.clearPingTimeout(),!this.pingTimeoutDuration){this.log.warn("ping timeout duration not set",this.logContext);return}this.pingTimeout=Ge.setTimeout(()=>{this.log.warn("ping timeout triggered. last pong received at: ".concat(new Date(Date.now()-this.pingTimeoutDuration*1e3).toUTCString()),this.logContext),this.handleOnClose("ping timeout")},this.pingTimeoutDuration*1e3)}clearPingTimeout(){this.pingTimeout&&Ge.clearTimeout(this.pingTimeout)}startPingInterval(){if(this.clearPingInterval(),this.resetPingTimeout(),!this.pingIntervalDuration){this.log.warn("ping interval duration not set",this.logContext);return}this.log.debug("start ping interval",this.logContext),this.pingInterval=Ge.setInterval(()=>{this.sendPing()},this.pingIntervalDuration*1e3)}clearPingInterval(){this.log.debug("clearing ping interval",this.logContext),this.clearPingTimeout(),this.pingInterval&&Ge.clearInterval(this.pingInterval)}}function vy(t){const e={type:"offer",sdp:t.sdp};switch(t.type){case"answer":case"offer":case"pranswer":case"rollback":e.type=t.type;break}return e}function cl(t){return new Lr({sdp:t.sdp,type:t.type})}function ex(t,e,n){var r;const i=new URLSearchParams;return i.set("access_token",t),n.reconnect&&(i.set("reconnect","1"),n.sid&&i.set("sid",n.sid)),i.set("auto_subscribe",n.autoSubscribe?"1":"0"),i.set("sdk",an()?"reactnative":"js"),i.set("version",e.version),i.set("protocol",e.protocol.toString()),e.deviceModel&&i.set("device_model",e.deviceModel),e.os&&i.set("os",e.os),e.osVersion&&i.set("os_version",e.osVersion),e.browser&&i.set("browser",e.browser),e.browserVersion&&i.set("browser_version",e.browserVersion),n.adaptiveStream&&i.set("adaptive_stream","1"),n.reconnectReason&&i.set("reconnect_reason",n.reconnectReason.toString()),!((r=navigator.connection)===null||r===void 0)&&r.type&&i.set("network",navigator.connection.type),i}var qt={},Jd={},Yd={exports:{}},yy;function Xd(){if(yy)return Yd.exports;yy=1;var t=Yd.exports={v:[{name:"version",reg:/^(\d*)$/}],o:[{name:"origin",reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:["username","sessionId","sessionVersion","netType","ipVer","address"],format:"%s %s %d %s IP%d %s"}],s:[{name:"name"}],i:[{name:"description"}],u:[{name:"uri"}],e:[{name:"email"}],p:[{name:"phone"}],z:[{name:"timezones"}],r:[{name:"repeats"}],t:[{name:"timing",reg:/^(\d*) (\d*)/,names:["start","stop"],format:"%d %d"}],c:[{name:"connection",reg:/^IN IP(\d) (\S*)/,names:["version","ip"],format:"IN IP%d %s"}],b:[{push:"bandwidth",reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:["type","limit"],format:"%s:%s"}],m:[{reg:/^(\w*) (\d*) ([\w/]*)(?: (.*))?/,names:["type","port","protocol","payloads"],format:"%s %d %s %s"}],a:[{push:"rtp",reg:/^rtpmap:(\d*) ([\w\-.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:["payload","codec","rate","encoding"],format:function(e){return e.encoding?"rtpmap:%d %s/%s/%s":e.rate?"rtpmap:%d %s/%s":"rtpmap:%d %s"}},{push:"fmtp",reg:/^fmtp:(\d*) ([\S| ]*)/,names:["payload","config"],format:"fmtp:%d %s"},{name:"control",reg:/^control:(.*)/,format:"control:%s"},{name:"rtcp",reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:["port","netType","ipVer","address"],format:function(e){return e.address!=null?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%s trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(e){return e.subtype!=null?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:(\d+)(?:\/(\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\S*)(?: (\S*))?/,names:["value","direction","encrypt-uri","uri","config"],format:function(e){return"extmap:%d"+(e.direction?"/%s":"%v")+(e["encrypt-uri"]?" %s":"%v")+" %s"+(e.config?" %s":"")}},{name:"extmapAllowMixed",reg:/^(extmap-allow-mixed)/},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(e){return e.sessionConfig!=null?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"connectionType",reg:/^connection:(new|existing)/,format:"connection:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*(?:\.\d*)*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*(?:\.\d*)*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation","network-id","network-cost"],format:function(e){var n="candidate:%s %d %s %d %s %d typ %s";return n+=e.raddr!=null?" raddr %s rport %d":"%v%v",n+=e.tcptype!=null?" tcptype %s":"%v",e.generation!=null&&(n+=" generation %d"),n+=e["network-id"]!=null?" network-id %d":"%v",n+=e["network-cost"]!=null?" network-cost %d":"%v",n}},{name:"endOfCandidates",reg:/^(end-of-candidates)/},{name:"remoteCandidates",reg:/^remote-candidates:(.*)/,format:"remote-candidates:%s"},{name:"iceOptions",reg:/^ice-options:(\S*)/,format:"ice-options:%s"},{push:"ssrcs",reg:/^ssrc:(\d*) ([\w_-]*)(?::(.*))?/,names:["id","attribute","value"],format:function(e){var n="ssrc:%d";return e.attribute!=null&&(n+=" %s",e.value!=null&&(n+=":%s")),n}},{push:"ssrcGroups",reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:["semantics","ssrcs"],format:"ssrc-group:%s %s"},{name:"msidSemantic",reg:/^msid-semantic:\s?(\w*) (\S*)/,names:["semantic","token"],format:"msid-semantic: %s %s"},{push:"groups",reg:/^group:(\w*) (.*)/,names:["type","mids"],format:"group:%s %s"},{name:"rtcpMux",reg:/^(rtcp-mux)/},{name:"rtcpRsize",reg:/^(rtcp-rsize)/},{name:"sctpmap",reg:/^sctpmap:([\w_/]*) (\S*)(?: (\S*))?/,names:["sctpmapNumber","app","maxMessageSize"],format:function(e){return e.maxMessageSize!=null?"sctpmap:%s %s %s":"sctpmap:%s %s"}},{name:"xGoogleFlag",reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:"rids",reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction","params"],format:function(e){return e.params?"rid:%s %s %s":"rid:%s %s"}},{push:"imageattrs",reg:new RegExp("^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?"),names:["pt","dir1","attrs1","dir2","attrs2"],format:function(e){return"imageattr:%s %s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast",reg:new RegExp("^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$"),names:["dir1","list1","dir2","list2"],format:function(e){return"simulcast:%s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast_03",reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:["value"],format:"simulcast: %s"},{name:"framerate",reg:/^framerate:(\d+(?:$|\.\d+))/,format:"framerate:%s"},{name:"sourceFilter",reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:["filterMode","netType","addressTypes","destAddress","srcList"],format:"source-filter: %s %s %s %s %s"},{name:"bundleOnly",reg:/^(bundle-only)/},{name:"label",reg:/^label:(.+)/,format:"label:%s"},{name:"sctpPort",reg:/^sctp-port:(\d+)$/,format:"sctp-port:%s"},{name:"maxMessageSize",reg:/^max-message-size:(\d+)$/,format:"max-message-size:%s"},{push:"tsRefClocks",reg:/^ts-refclk:([^\s=]*)(?:=(\S*))?/,names:["clksrc","clksrcExt"],format:function(e){return"ts-refclk:%s"+(e.clksrcExt!=null?"=%s":"")}},{name:"mediaClk",reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:["id","mediaClockName","mediaClockValue","rateNumerator","rateDenominator"],format:function(e){var n="mediaclk:";return n+=e.id!=null?"id=%s %s":"%v%s",n+=e.mediaClockValue!=null?"=%s":"",n+=e.rateNumerator!=null?" rate=%s":"",n+=e.rateDenominator!=null?"/%s":"",n}},{name:"keywords",reg:/^keywds:(.+)$/,format:"keywds:%s"},{name:"content",reg:/^content:(.+)/,format:"content:%s"},{name:"bfcpFloorCtrl",reg:/^floorctrl:(c-only|s-only|c-s)/,format:"floorctrl:%s"},{name:"bfcpConfId",reg:/^confid:(\d+)/,format:"confid:%s"},{name:"bfcpUserId",reg:/^userid:(\d+)/,format:"userid:%s"},{name:"bfcpFloorId",reg:/^floorid:(.+) (?:m-stream|mstrm):(.+)/,names:["id","mStream"],format:"floorid:%s mstrm:%s"},{push:"invalid",names:["value"]}]};return Object.keys(t).forEach(function(e){var n=t[e];n.forEach(function(r){r.reg||(r.reg=/(.*)/),r.format||(r.format="%s")})}),Yd.exports}var by;function tx(){return by||(by=1,function(t){var e=function(a){return String(Number(a))===a?Number(a):a},n=function(a,l,c,u){if(u&&!c)l[u]=e(a[1]);else for(var d=0;d<c.length;d+=1)a[d+1]!=null&&(l[c[d]]=e(a[d+1]))},r=function(a,l,c){var u=a.name&&a.names;a.push&&!l[a.push]?l[a.push]=[]:u&&!l[a.name]&&(l[a.name]={});var d=a.push?{}:u?l[a.name]:l;n(c.match(a.reg),d,a.names,a.name),a.push&&l[a.push].push(d)},i=Xd(),s=RegExp.prototype.test.bind(/^([a-z])=(.*)/);t.parse=function(a){var l={},c=[],u=l;return a.split(/(\r\n|\r|\n)/).filter(s).forEach(function(d){var f=d[0],h=d.slice(2);f==="m"&&(c.push({rtp:[],fmtp:[]}),u=c[c.length-1]);for(var v=0;v<(i[f]||[]).length;v+=1){var y=i[f][v];if(y.reg.test(h))return r(y,u,h)}}),l.media=c,l};var o=function(a,l){var c=l.split(/=(.+)/,2);return c.length===2?a[c[0]]=e(c[1]):c.length===1&&l.length>1&&(a[c[0]]=void 0),a};t.parseParams=function(a){return a.split(/;\s?/).reduce(o,{})},t.parseFmtpConfig=t.parseParams,t.parsePayloads=function(a){return a.toString().split(" ").map(Number)},t.parseRemoteCandidates=function(a){for(var l=[],c=a.split(" ").map(e),u=0;u<c.length;u+=3)l.push({component:c[u],ip:c[u+1],port:c[u+2]});return l},t.parseImageAttributes=function(a){return a.split(" ").map(function(l){return l.substring(1,l.length-1).split(",").reduce(o,{})})},t.parseSimulcastStreamList=function(a){return a.split(";").map(function(l){return l.split(",").map(function(c){var u,d=!1;return c[0]!=="~"?u=e(c):(u=e(c.substring(1,c.length)),d=!0),{scid:u,paused:d}})})}}(Jd)),Jd}var ef,ky;function nx(){if(ky)return ef;ky=1;var t=Xd(),e=/%[sdv%]/g,n=function(o){var a=1,l=arguments,c=l.length;return o.replace(e,function(u){if(a>=c)return u;var d=l[a];switch(a+=1,u){case"%%":return"%";case"%s":return String(d);case"%d":return Number(d);case"%v":return""}})},r=function(o,a,l){var c=a.format instanceof Function?a.format(a.push?l:l[a.name]):a.format,u=[o+"="+c];if(a.names)for(var d=0;d<a.names.length;d+=1){var f=a.names[d];a.name?u.push(l[a.name][f]):u.push(l[a.names[d]])}else u.push(l[a.name]);return n.apply(null,u)},i=["v","o","s","i","u","e","p","c","b","t","r","z","a"],s=["i","c","b","a"];return ef=function(o,a){a=a||{},o.version==null&&(o.version=0),o.name==null&&(o.name=" "),o.media.forEach(function(d){d.payloads==null&&(d.payloads="")});var l=a.outerOrder||i,c=a.innerOrder||s,u=[];return l.forEach(function(d){t[d].forEach(function(f){f.name in o&&o[f.name]!=null?u.push(r(d,f,o)):f.push in o&&o[f.push]!=null&&o[f.push].forEach(function(h){u.push(r(d,f,h))})})}),o.media.forEach(function(d){u.push(r("m",t.m[0],d)),c.forEach(function(f){t[f].forEach(function(h){h.name in d&&d[h.name]!=null?u.push(r(f,h,d)):h.push in d&&d[h.push]!=null&&d[h.push].forEach(function(v){u.push(r(f,h,v))})})})}),u.join(`\r
|
|
99
|
+
`);t.RTCSessionDescription&&i instanceof t.RTCSessionDescription?arguments[0]=new t.RTCSessionDescription({type:i.type,sdp:s}):i.sdp=s}return n.apply(this,arguments)}}function tl(t,e){if(!(t.RTCPeerConnection&&t.RTCPeerConnection.prototype))return;const n=t.RTCPeerConnection.prototype.addIceCandidate;!n||n.length===0||(t.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?(e.browser==="chrome"&&e.version<78||e.browser==="firefox"&&e.version<68||e.browser==="safari")&&arguments[0]&&arguments[0].candidate===""?Promise.resolve():n.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function nl(t,e){if(!(t.RTCPeerConnection&&t.RTCPeerConnection.prototype))return;const n=t.RTCPeerConnection.prototype.setLocalDescription;!n||n.length===0||(t.RTCPeerConnection.prototype.setLocalDescription=function(){let i=arguments[0]||{};if(typeof i!="object"||i.type&&i.sdp)return n.apply(this,arguments);if(i={type:i.type,sdp:i.sdp},!i.type)switch(this.signalingState){case"stable":case"have-local-offer":case"have-remote-pranswer":i.type="offer";break;default:i.type="answer";break}return i.sdp||i.type!=="offer"&&i.type!=="answer"?n.apply(this,[i]):(i.type==="offer"?this.createOffer:this.createAnswer).apply(this).then(o=>n.apply(this,[o]))})}var l2=Object.freeze({__proto__:null,removeExtmapAllowMixed:_d,shimAddIceCandidateNullOrEmpty:tl,shimConnectionState:Pd,shimMaxMessageSize:Xa,shimParameterlessSetLocalDescription:nl,shimRTCIceCandidate:Ya,shimRTCIceCandidateRelayProtocol:Ed,shimSendThrowTypeError:el});function c2(){let{window:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{shimChrome:!0,shimFirefox:!0,shimSafari:!0};const n=p0,r=i2(t),i={browserDetails:r,commonShim:l2,extractVersion:Ja,disableLog:n2,disableWarnings:r2,sdp:a2};switch(r.browser){case"chrome":if(!P0||!wd||!e.shimChrome)return n("Chrome shim is not included in this adapter release."),i;if(r.version===null)return n("Chrome shim can not determine version, not shimming."),i;n("adapter.js shimming chrome."),i.browserShim=P0,tl(t,r),nl(t),b0(t,r),k0(t),wd(t,r),C0(t),x0(t,r),S0(t),w0(t),E0(t,r),Ya(t),Ed(t),Pd(t),Xa(t,r),el(t),_d(t,r);break;case"firefox":if(!U0||!Td||!e.shimFirefox)return n("Firefox shim is not included in this adapter release."),i;n("adapter.js shimming firefox."),i.browserShim=U0,tl(t,r),nl(t),_0(t,r),Td(t,r),R0(t),L0(t),I0(t),O0(t),M0(t),N0(t),D0(t),A0(t),j0(t),Ya(t),Pd(t),Xa(t,r),el(t);break;case"safari":if(!K0||!e.shimSafari)return n("Safari shim is not included in this adapter release."),i;n("adapter.js shimming safari."),i.browserShim=K0,tl(t,r),nl(t),$0(t),W0(t),V0(t),F0(t),B0(t),q0(t),z0(t),G0(t),Ya(t),Ed(t),Xa(t,r),el(t),_d(t,r);break;default:n("Unsupported browser!");break}return i}c2({window:typeof window>"u"?void 0:window});const u2=10,rl="lk_e2ee",d2={sharedKey:!1,ratchetSalt:"LKFrameEncryptionKey",ratchetWindowSize:8,failureTolerance:u2,keyringSize:16};var tr;(function(t){t.SetKey="setKey",t.RatchetRequest="ratchetRequest",t.KeyRatcheted="keyRatcheted"})(tr||(tr={}));var J0;(function(t){t.KeyRatcheted="keyRatcheted"})(J0||(J0={}));var nr;(function(t){t.ParticipantEncryptionStatusChanged="participantEncryptionStatusChanged",t.EncryptionError="encryptionError"})(nr||(nr={}));var Y0;(function(t){t.Error="cryptorError"})(Y0||(Y0={}));function f2(){return h2()||Rd()}function Rd(){return typeof window.RTCRtpScriptTransform<"u"}function h2(){return typeof window.RTCRtpSender<"u"&&typeof window.RTCRtpSender.prototype.createEncodedStreams<"u"}class j_ extends on.EventEmitter{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};super(),this.onKeyRatcheted=(n,r)=>{X.debug("key ratcheted event received",{material:n,keyIndex:r})},this.keyInfoMap=new Map,this.options=Object.assign(Object.assign({},d2),e),this.on(tr.KeyRatcheted,this.onKeyRatcheted)}onSetEncryptionKey(e,n,r){const i={key:e,participantIdentity:n,keyIndex:r};if(!this.options.sharedKey&&!n)throw new Error("participant identity needs to be passed for encryption key if sharedKey option is false");this.keyInfoMap.set("".concat(n??"shared","-").concat(r??0),i),this.emit(tr.SetKey,i)}getKeys(){return Array.from(this.keyInfoMap.values())}getOptions(){return this.options}ratchetKey(e,n){this.emit(tr.RatchetRequest,e,n)}}class rr extends Error{constructor(e,n){super(n||"an error has occured"),this.name="LiveKitError",this.code=e}}var te;(function(t){t[t.NotAllowed=0]="NotAllowed",t[t.ServerUnreachable=1]="ServerUnreachable",t[t.InternalError=2]="InternalError",t[t.Cancelled=3]="Cancelled",t[t.LeaveRequest=4]="LeaveRequest"})(te||(te={}));class he extends rr{constructor(e,n,r,i){super(1,e),this.name="ConnectionError",this.status=r,this.reason=n,this.context=i,this.reasonName=te[n]}}class Id extends rr{constructor(e){super(21,e??"device is unsupported"),this.name="DeviceUnsupportedError"}}class wn extends rr{constructor(e){super(20,e??"track is invalid"),this.name="TrackInvalidError"}}class p2 extends rr{constructor(e){super(10,e??"unsupported server"),this.name="UnsupportedServer"}}class je extends rr{constructor(e){super(12,e??"unexpected connection state"),this.name="UnexpectedConnectionState"}}class Od extends rr{constructor(e){super(13,e??"unable to negotiate"),this.name="NegotiationError"}}class m2 extends rr{constructor(e,n){super(15,e),this.name="PublishTrackError",this.status=n}}class X0 extends rr{constructor(e,n){super(15,e),this.reason=n,this.reasonName=typeof n=="string"?n:bd[n]}}var il;(function(t){t.PermissionDenied="PermissionDenied",t.NotFound="NotFound",t.DeviceInUse="DeviceInUse",t.Other="Other"})(il||(il={})),function(t){function e(n){if(n&&"name"in n)return n.name==="NotFoundError"||n.name==="DevicesNotFoundError"?t.NotFound:n.name==="NotAllowedError"||n.name==="PermissionDeniedError"?t.PermissionDenied:n.name==="NotReadableError"||n.name==="TrackStartError"?t.DeviceInUse:t.Other}t.getFailure=e}(il||(il={}));var ey;(function(t){t[t.InvalidKey=0]="InvalidKey",t[t.MissingKey=1]="MissingKey",t[t.InternalError=2]="InternalError"})(ey||(ey={}));var A;(function(t){t.Connected="connected",t.Reconnecting="reconnecting",t.SignalReconnecting="signalReconnecting",t.Reconnected="reconnected",t.Disconnected="disconnected",t.ConnectionStateChanged="connectionStateChanged",t.MediaDevicesChanged="mediaDevicesChanged",t.ParticipantConnected="participantConnected",t.ParticipantDisconnected="participantDisconnected",t.TrackPublished="trackPublished",t.TrackSubscribed="trackSubscribed",t.TrackSubscriptionFailed="trackSubscriptionFailed",t.TrackUnpublished="trackUnpublished",t.TrackUnsubscribed="trackUnsubscribed",t.TrackMuted="trackMuted",t.TrackUnmuted="trackUnmuted",t.LocalTrackPublished="localTrackPublished",t.LocalTrackUnpublished="localTrackUnpublished",t.LocalAudioSilenceDetected="localAudioSilenceDetected",t.ActiveSpeakersChanged="activeSpeakersChanged",t.ParticipantMetadataChanged="participantMetadataChanged",t.ParticipantNameChanged="participantNameChanged",t.ParticipantAttributesChanged="participantAttributesChanged",t.RoomMetadataChanged="roomMetadataChanged",t.DataReceived="dataReceived",t.SipDTMFReceived="sipDTMFReceived",t.TranscriptionReceived="transcriptionReceived",t.ConnectionQualityChanged="connectionQualityChanged",t.TrackStreamStateChanged="trackStreamStateChanged",t.TrackSubscriptionPermissionChanged="trackSubscriptionPermissionChanged",t.TrackSubscriptionStatusChanged="trackSubscriptionStatusChanged",t.AudioPlaybackStatusChanged="audioPlaybackChanged",t.VideoPlaybackStatusChanged="videoPlaybackChanged",t.MediaDevicesError="mediaDevicesError",t.ParticipantPermissionsChanged="participantPermissionsChanged",t.SignalConnected="signalConnected",t.RecordingStatusChanged="recordingStatusChanged",t.ParticipantEncryptionStatusChanged="participantEncryptionStatusChanged",t.EncryptionError="encryptionError",t.DCBufferStatusChanged="dcBufferStatusChanged",t.ActiveDeviceChanged="activeDeviceChanged",t.ChatMessage="chatMessage",t.LocalTrackSubscribed="localTrackSubscribed",t.MetricsReceived="metricsReceived"})(A||(A={}));var B;(function(t){t.TrackPublished="trackPublished",t.TrackSubscribed="trackSubscribed",t.TrackSubscriptionFailed="trackSubscriptionFailed",t.TrackUnpublished="trackUnpublished",t.TrackUnsubscribed="trackUnsubscribed",t.TrackMuted="trackMuted",t.TrackUnmuted="trackUnmuted",t.LocalTrackPublished="localTrackPublished",t.LocalTrackUnpublished="localTrackUnpublished",t.ParticipantMetadataChanged="participantMetadataChanged",t.ParticipantNameChanged="participantNameChanged",t.DataReceived="dataReceived",t.SipDTMFReceived="sipDTMFReceived",t.TranscriptionReceived="transcriptionReceived",t.IsSpeakingChanged="isSpeakingChanged",t.ConnectionQualityChanged="connectionQualityChanged",t.TrackStreamStateChanged="trackStreamStateChanged",t.TrackSubscriptionPermissionChanged="trackSubscriptionPermissionChanged",t.TrackSubscriptionStatusChanged="trackSubscriptionStatusChanged",t.MediaDevicesError="mediaDevicesError",t.AudioStreamAcquired="audioStreamAcquired",t.ParticipantPermissionsChanged="participantPermissionsChanged",t.PCTrackAdded="pcTrackAdded",t.AttributesChanged="attributesChanged",t.LocalTrackSubscribed="localTrackSubscribed",t.ChatMessage="chatMessage"})(B||(B={}));var F;(function(t){t.TransportsCreated="transportsCreated",t.Connected="connected",t.Disconnected="disconnected",t.Resuming="resuming",t.Resumed="resumed",t.Restarting="restarting",t.Restarted="restarted",t.SignalResumed="signalResumed",t.SignalRestarted="signalRestarted",t.Closing="closing",t.MediaTrackAdded="mediaTrackAdded",t.ActiveSpeakersUpdate="activeSpeakersUpdate",t.DataPacketReceived="dataPacketReceived",t.RTPVideoMapUpdate="rtpVideoMapUpdate",t.DCBufferStatusChanged="dcBufferStatusChanged",t.ParticipantUpdate="participantUpdate",t.RoomUpdate="roomUpdate",t.SpeakersChanged="speakersChanged",t.StreamStateChanged="streamStateChanged",t.ConnectionQualityUpdate="connectionQualityUpdate",t.SubscriptionError="subscriptionError",t.SubscriptionPermissionUpdate="subscriptionPermissionUpdate",t.RemoteMute="remoteMute",t.SubscribedQualityUpdate="subscribedQualityUpdate",t.LocalTrackUnpublished="localTrackUnpublished",t.LocalTrackSubscribed="localTrackSubscribed",t.Offline="offline",t.SignalRequestResponse="signalRequestResponse"})(F||(F={}));var j;(function(t){t.Message="message",t.Muted="muted",t.Unmuted="unmuted",t.Restarted="restarted",t.Ended="ended",t.Subscribed="subscribed",t.Unsubscribed="unsubscribed",t.UpdateSettings="updateSettings",t.UpdateSubscription="updateSubscription",t.AudioPlaybackStarted="audioPlaybackStarted",t.AudioPlaybackFailed="audioPlaybackFailed",t.AudioSilenceDetected="audioSilenceDetected",t.VisibilityChanged="visibilityChanged",t.VideoDimensionsChanged="videoDimensionsChanged",t.VideoPlaybackStarted="videoPlaybackStarted",t.VideoPlaybackFailed="videoPlaybackFailed",t.ElementAttached="elementAttached",t.ElementDetached="elementDetached",t.UpstreamPaused="upstreamPaused",t.UpstreamResumed="upstreamResumed",t.SubscriptionPermissionChanged="subscriptionPermissionChanged",t.SubscriptionStatusChanged="subscriptionStatusChanged",t.SubscriptionFailed="subscriptionFailed",t.TrackProcessorUpdate="trackProcessorUpdate",t.AudioTrackFeatureUpdate="audioTrackFeatureUpdate",t.TranscriptionReceived="transcriptionReceived",t.TimeSyncUpdate="timeSyncUpdate"})(j||(j={}));function g2(t){if(!(typeof t>"u"))return typeof structuredClone=="function"?structuredClone(t):JSON.parse(JSON.stringify(t))}const v2=/version\/(\d+(\.?_?\d+)+)/i;let Ld;function $t(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(typeof navigator>"u")return;const n=navigator.userAgent.toLowerCase();if(Ld===void 0||e){const r=y2.find(i=>{let{test:s}=i;return s.test(n)});Ld=r==null?void 0:r.describe(n)}return Ld}const y2=[{test:/firefox|iceweasel|fxios/i,describe(t){return{name:"Firefox",version:sl(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,t),os:t.toLowerCase().includes("fxios")?"iOS":void 0,osVersion:Md(t)}}},{test:/chrom|crios|crmo/i,describe(t){return{name:"Chrome",version:sl(/(?:chrome|chromium|crios|crmo)\/(\d+(\.?_?\d+)+)/i,t),os:t.toLowerCase().includes("crios")?"iOS":void 0,osVersion:Md(t)}}},{test:/safari|applewebkit/i,describe(t){return{name:"Safari",version:sl(v2,t),os:t.includes("mobile/")?"iOS":"macOS",osVersion:Md(t)}}}];function sl(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;const r=e.match(t);return r&&r.length>=n&&r[n]||""}function Md(t){return t.includes("mac os")?sl(/\(.+?(\d+_\d+(:?_\d+)?)/,t,1).replace(/_/g,"."):void 0}var b2="2.10.0";const k2=b2,C2=15;class Ge{}Ge.setTimeout=function(){return setTimeout(...arguments)},Ge.setInterval=function(){return setInterval(...arguments)},Ge.clearTimeout=function(){return clearTimeout(...arguments)},Ge.clearInterval=function(){return clearInterval(...arguments)};const S2=5e3,$s=[];var It;(function(t){t[t.LOW=0]="LOW",t[t.MEDIUM=1]="MEDIUM",t[t.HIGH=2]="HIGH"})(It||(It={}));class L extends on.EventEmitter{constructor(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var i;super(),this.attachedElements=[],this.isMuted=!1,this.streamState=L.StreamState.Active,this.isInBackground=!1,this._currentBitrate=0,this.log=X,this.appVisibilityChangedListener=()=>{this.backgroundTimeout&&clearTimeout(this.backgroundTimeout),document.visibilityState==="hidden"?this.backgroundTimeout=setTimeout(()=>this.handleAppVisibilityChanged(),S2):this.handleAppVisibilityChanged()},this.log=Sn((i=r.loggerName)!==null&&i!==void 0?i:Ht.Track),this.loggerContextCb=r.loggerContextCb,this.setMaxListeners(100),this.kind=n,this._mediaStreamTrack=e,this._mediaStreamID=e.id,this.source=L.Source.Unknown}get logContext(){var e;return Object.assign(Object.assign({},(e=this.loggerContextCb)===null||e===void 0?void 0:e.call(this)),le(this))}get currentBitrate(){return this._currentBitrate}get mediaStreamTrack(){return this._mediaStreamTrack}get mediaStreamID(){return this._mediaStreamID}attach(e){let n="audio";this.kind===L.Kind.Video&&(n="video"),this.attachedElements.length===0&&this.kind===L.Kind.Video&&this.addAppVisibilityListener(),e||(n==="audio"&&($s.forEach(s=>{s.parentElement===null&&!e&&(e=s)}),e&&$s.splice($s.indexOf(e),1)),e||(e=document.createElement(n))),this.attachedElements.includes(e)||this.attachedElements.push(e),Ri(this.mediaStreamTrack,e);const r=e.srcObject.getTracks(),i=r.some(s=>s.kind==="audio");return e.play().then(()=>{this.emit(i?j.AudioPlaybackStarted:j.VideoPlaybackStarted)}).catch(s=>{s.name==="NotAllowedError"?this.emit(i?j.AudioPlaybackFailed:j.VideoPlaybackFailed,s):s.name==="AbortError"?X.debug("".concat(i?"audio":"video"," playback aborted, likely due to new play request")):X.warn("could not playback ".concat(i?"audio":"video"),s),i&&e&&r.some(o=>o.kind==="video")&&s.name==="NotAllowedError"&&(e.muted=!0,e.play().catch(()=>{}))}),this.emit(j.ElementAttached,e),e}detach(e){try{if(e){Ii(this.mediaStreamTrack,e);const r=this.attachedElements.indexOf(e);return r>=0&&(this.attachedElements.splice(r,1),this.recycleElement(e),this.emit(j.ElementDetached,e)),e}const n=[];return this.attachedElements.forEach(r=>{Ii(this.mediaStreamTrack,r),n.push(r),this.recycleElement(r),this.emit(j.ElementDetached,r)}),this.attachedElements=[],n}finally{this.attachedElements.length===0&&this.removeAppVisibilityListener()}}stop(){this.stopMonitor(),this._mediaStreamTrack.stop()}enable(){this._mediaStreamTrack.enabled=!0}disable(){this._mediaStreamTrack.enabled=!1}stopMonitor(){this.monitorInterval&&clearInterval(this.monitorInterval),this.timeSyncHandle&&cancelAnimationFrame(this.timeSyncHandle)}updateLoggerOptions(e){e.loggerName&&(this.log=Sn(e.loggerName)),e.loggerContextCb&&(this.loggerContextCb=e.loggerContextCb)}recycleElement(e){if(e instanceof HTMLAudioElement){let n=!0;e.pause(),$s.forEach(r=>{r.parentElement||(n=!1)}),n&&$s.push(e)}}handleAppVisibilityChanged(){return S(this,void 0,void 0,function*(){this.isInBackground=document.visibilityState==="hidden",!this.isInBackground&&this.kind===L.Kind.Video&&setTimeout(()=>this.attachedElements.forEach(e=>e.play().catch(()=>{})),0)})}addAppVisibilityListener(){pt()?(this.isInBackground=document.visibilityState==="hidden",document.addEventListener("visibilitychange",this.appVisibilityChangedListener)):this.isInBackground=!1}removeAppVisibilityListener(){pt()&&document.removeEventListener("visibilitychange",this.appVisibilityChangedListener)}}function Ri(t,e){let n;e.srcObject instanceof MediaStream?n=e.srcObject:n=new MediaStream;let r;t.kind==="audio"?r=n.getAudioTracks():r=n.getVideoTracks(),r.includes(t)||(r.forEach(i=>{n.removeTrack(i)}),n.addTrack(t)),(!ir()||!(e instanceof HTMLVideoElement))&&(e.autoplay=!0),e.muted=n.getAudioTracks().length===0,e instanceof HTMLVideoElement&&(e.playsInline=!0),e.srcObject!==n&&(e.srcObject=n,(ir()||Oi())&&e instanceof HTMLVideoElement&&setTimeout(()=>{e.srcObject=n,e.play().catch(()=>{})},0))}function Ii(t,e){if(e.srcObject instanceof MediaStream){const n=e.srcObject;n.removeTrack(t),n.getTracks().length>0?e.srcObject=n:e.srcObject=null}}(function(t){let e;(function(c){c.Audio="audio",c.Video="video",c.Unknown="unknown"})(e=t.Kind||(t.Kind={}));let n;(function(c){c.Camera="camera",c.Microphone="microphone",c.ScreenShare="screen_share",c.ScreenShareAudio="screen_share_audio",c.Unknown="unknown"})(n=t.Source||(t.Source={}));let r;(function(c){c.Active="active",c.Paused="paused",c.Unknown="unknown"})(r=t.StreamState||(t.StreamState={}));function i(c){switch(c){case e.Audio:return Bt.AUDIO;case e.Video:return Bt.VIDEO;default:return Bt.DATA}}t.kindToProto=i;function s(c){switch(c){case Bt.AUDIO:return e.Audio;case Bt.VIDEO:return e.Video;default:return e.Unknown}}t.kindFromProto=s;function o(c){switch(c){case n.Camera:return Me.CAMERA;case n.Microphone:return Me.MICROPHONE;case n.ScreenShare:return Me.SCREEN_SHARE;case n.ScreenShareAudio:return Me.SCREEN_SHARE_AUDIO;default:return Me.UNKNOWN}}t.sourceToProto=o;function a(c){switch(c){case Me.CAMERA:return n.Camera;case Me.MICROPHONE:return n.Microphone;case Me.SCREEN_SHARE:return n.ScreenShare;case Me.SCREEN_SHARE_AUDIO:return n.ScreenShareAudio;default:return n.Unknown}}t.sourceFromProto=a;function l(c){switch(c){case fd.ACTIVE:return r.Active;case fd.PAUSED:return r.Paused;default:return r.Unknown}}t.streamStateFromProto=l})(L||(L={}));class de{constructor(e,n,r,i,s){if(typeof e=="object")this.width=e.width,this.height=e.height,this.aspectRatio=e.aspectRatio,this.encoding={maxBitrate:e.maxBitrate,maxFramerate:e.maxFramerate,priority:e.priority};else if(n!==void 0&&r!==void 0)this.width=e,this.height=n,this.aspectRatio=e/n,this.encoding={maxBitrate:r,maxFramerate:i,priority:s};else throw new TypeError("Unsupported options: provide at least width, height and maxBitrate")}get resolution(){return{width:this.width,height:this.height,frameRate:this.encoding.maxFramerate,aspectRatio:this.aspectRatio}}}const w2=["vp8","h264"],T2=["vp8","h264","vp9","av1"];function x2(t){return!!w2.find(e=>e===t)}var ty;(function(t){t[t.PREFER_REGRESSION=0]="PREFER_REGRESSION",t[t.SIMULCAST=1]="SIMULCAST",t[t.REGRESSION=2]="REGRESSION"})(ty||(ty={}));var Nd;(function(t){t.telephone={maxBitrate:12e3},t.speech={maxBitrate:24e3},t.music={maxBitrate:48e3},t.musicStereo={maxBitrate:64e3},t.musicHighQuality={maxBitrate:96e3},t.musicHighQualityStereo={maxBitrate:128e3}})(Nd||(Nd={}));const qs={h90:new de(160,90,9e4,20),h180:new de(320,180,16e4,20),h216:new de(384,216,18e4,20),h360:new de(640,360,45e4,20),h540:new de(960,540,8e5,25),h720:new de(1280,720,17e5,30),h1080:new de(1920,1080,3e6,30),h1440:new de(2560,1440,5e6,30),h2160:new de(3840,2160,8e6,30)},Dd={h120:new de(160,120,7e4,20),h180:new de(240,180,125e3,20),h240:new de(320,240,14e4,20),h360:new de(480,360,33e4,20),h480:new de(640,480,5e5,20),h540:new de(720,540,6e5,25),h720:new de(960,720,13e5,30),h1080:new de(1440,1080,23e5,30),h1440:new de(1920,1440,38e5,30)},Ad={h360fps3:new de(640,360,2e5,3,"medium"),h360fps15:new de(640,360,4e5,15,"medium"),h720fps5:new de(1280,720,8e5,5,"medium"),h720fps15:new de(1280,720,15e5,15,"medium"),h720fps30:new de(1280,720,2e6,30,"medium"),h1080fps15:new de(1920,1080,25e5,15,"medium"),h1080fps30:new de(1920,1080,5e6,30,"medium"),original:new de(0,0,7e6,30,"medium")},E2="|",ny="https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension";function P2(t){const e=t.split(E2);return e.length>1?[e[0],t.substr(e[0].length+1)]:[t,""]}function ht(t){return S(this,void 0,void 0,function*(){return new Promise(e=>Ge.setTimeout(e,t))})}function jd(){return"addTransceiver"in RTCPeerConnection.prototype}function Ud(){return"addTrack"in RTCPeerConnection.prototype}function _2(){if(!("getCapabilities"in RTCRtpSender)||ir())return!1;const t=RTCRtpSender.getCapabilities("video");let e=!1;if(t){for(const n of t.codecs)if(n.mimeType==="video/AV1"){e=!0;break}}return e}function R2(){if(!("getCapabilities"in RTCRtpSender)||Oi())return!1;if(ir()){const n=$t();if(n!=null&&n.version&&Nr(n.version,"16")<0)return!1}const t=RTCRtpSender.getCapabilities("video");let e=!1;if(t){for(const n of t.codecs)if(n.mimeType==="video/VP9"){e=!0;break}}return e}function Ws(t){return t==="av1"||t==="vp9"}function Fd(t){return document?(t||(t=document.createElement("audio")),"setSinkId"in t):!1}function I2(){return typeof RTCPeerConnection>"u"?!1:jd()||Ud()}function Oi(){var t;return((t=$t())===null||t===void 0?void 0:t.name)==="Firefox"}function ir(){var t;return((t=$t())===null||t===void 0?void 0:t.name)==="Safari"}function O2(){const t=$t();return(t==null?void 0:t.name)==="Safari"&&t.version.startsWith("17.")}function ry(){var t,e;return pt()?(e=(t=navigator.userAgentData)===null||t===void 0?void 0:t.mobile)!==null&&e!==void 0?e:/Tablet|iPad|Mobile|Android|BlackBerry/.test(navigator.userAgent):!1}function L2(){const t=$t(),e="17.2";if(t)return t.name!=="Safari"&&t.os!=="iOS"||t.os==="iOS"&&t.osVersion&&Nr(e,t.osVersion)>=0?!0:t.name==="Safari"&&Nr(e,t.version)>=0}function pt(){return typeof document<"u"}function an(){return navigator.product=="ReactNative"}function Bd(t){return t.hostname.endsWith(".livekit.cloud")||t.hostname.endsWith(".livekit.run")}function iy(){if(global&&global.LiveKitReactNativeGlobal)return global.LiveKitReactNativeGlobal}function sy(){if(!an())return;let t=iy();if(t)return t.platform}function oy(){if(pt())return window.devicePixelRatio;if(an()){let t=iy();if(t)return t.devicePixelRatio}return 1}function Nr(t,e){const n=t.split("."),r=e.split("."),i=Math.min(n.length,r.length);for(let s=0;s<i;++s){const o=parseInt(n[s],10),a=parseInt(r[s],10);if(o>a)return 1;if(o<a)return-1;if(s===i-1&&o===a)return 0}return t===""&&e!==""?-1:e===""?1:n.length==r.length?0:n.length<r.length?-1:1}function M2(t){for(const e of t)e.target.handleResize(e)}function N2(t){for(const e of t)e.target.handleVisibilityChanged(e)}let Vd=null;const ay=()=>(Vd||(Vd=new ResizeObserver(M2)),Vd);let zd=null;const ly=()=>(zd||(zd=new IntersectionObserver(N2,{root:null,rootMargin:"0px"})),zd);function D2(){var t;const e=new TT({sdk:Wv.JS,protocol:C2,version:k2});return an()&&(e.os=(t=sy())!==null&&t!==void 0?t:""),e}function cy(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:16,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:16,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;const i=document.createElement("canvas");i.width=t,i.height=e;const s=i.getContext("2d");s==null||s.fillRect(0,0,i.width,i.height),r&&s&&(s.beginPath(),s.arc(t/2,e/2,50,0,Math.PI*2,!0),s.closePath(),s.fillStyle="grey",s.fill());const o=i.captureStream(),[a]=o.getTracks();if(!a)throw Error("Could not get empty media stream video track");return a.enabled=n,a}let Gs;function Hd(){if(!Gs){const t=new AudioContext,e=t.createOscillator(),n=t.createGain();n.gain.setValueAtTime(0,0);const r=t.createMediaStreamDestination();if(e.connect(n),n.connect(r),e.start(),[Gs]=r.stream.getAudioTracks(),!Gs)throw Error("Could not get empty media stream audio track");Gs.enabled=!1}return Gs.clone()}class uy{constructor(e,n){this.onFinally=n,this.promise=new Promise((r,i)=>S(this,void 0,void 0,function*(){this.resolve=r,this.reject=i,e&&(yield e(r,i))})).finally(()=>{var r;return(r=this.onFinally)===null||r===void 0?void 0:r.call(this)})}}function A2(t){return T2.includes(t)}function sr(t){if(typeof t=="string"||typeof t=="number")return t;if(Array.isArray(t))return t[0];if(t.exact)return Array.isArray(t.exact)?t.exact[0]:t.exact;if(t.ideal)return Array.isArray(t.ideal)?t.ideal[0]:t.ideal;throw Error("could not unwrap constraint")}function $d(t){return t.startsWith("ws")?t.replace(/^(ws)/,"http"):t}function j2(t,e){return t.segments.map(n=>{let{id:r,text:i,language:s,startTime:o,endTime:a,final:l}=n;var c;const u=(c=e.get(r))!==null&&c!==void 0?c:Date.now(),d=Date.now();return l?e.delete(r):e.set(r,u),{id:r,text:i,startTime:Number.parseInt(o.toString()),endTime:Number.parseInt(a.toString()),final:l,language:s,firstReceivedTime:u,lastReceivedTime:d}})}function U2(t){const{id:e,timestamp:n,message:r,editTimestamp:i}=t;return{id:e,timestamp:Number.parseInt(n.toString()),editTimestamp:i?Number.parseInt(i.toString()):void 0,message:r}}function dy(t){switch(t.reason){case te.LeaveRequest:return t.context;case te.Cancelled:return Vt.CLIENT_INITIATED;case te.NotAllowed:return Vt.USER_REJECTED;case te.ServerUnreachable:return Vt.JOIN_FAILURE;default:return Vt.UNKNOWN_REASON}}function ol(t){return t!==void 0?Number(t):void 0}function Dr(t){return t!==void 0?BigInt(t):void 0}function Li(t){return!!t&&!(t instanceof MediaStreamTrack)&&t.isLocal}function Tn(t){return!!t&&t.kind==L.Kind.Audio}function Mi(t){return!!t&&t.kind==L.Kind.Video}function or(t){return Li(t)&&Mi(t)}function Ar(t){return Li(t)&&Tn(t)}function qd(t){return!!t&&!t.isLocal}function F2(t){return!!t&&!t.isLocal}function Wd(t){return qd(t)&&Mi(t)}function B2(t){return t.isLocal}function V2(t,e){const n=[];let r=new TextEncoder().encode(t);for(;r.length>e;){let i=e;for(;i>0;){const s=r[i];if(s!==void 0&&(s&192)!==128)break;i--}n.push(r.slice(0,i)),r=r.slice(i)}return r.length>0&&n.push(r),n}function fy(t,e,n){var r,i,s,o,a;const{optionsWithoutProcessor:l,audioProcessor:c,videoProcessor:u}=Kd(t??{}),d=e==null?void 0:e.processor,f=n==null?void 0:n.processor,h=(r=g2(l))!==null&&r!==void 0?r:{};return h.audio===!0&&(h.audio={}),h.video===!0&&(h.video={}),h.audio&&(Gd(h.audio,e),(i=(o=h.audio).deviceId)!==null&&i!==void 0||(o.deviceId="default"),(c||d)&&(h.audio.processor=c??d)),h.video&&(Gd(h.video,n),(s=(a=h.video).deviceId)!==null&&s!==void 0||(a.deviceId="default"),(u||f)&&(h.video.processor=u??f)),h}function Gd(t,e){return Object.keys(e).forEach(n=>{t[n]===void 0&&(t[n]=e[n])}),t}function al(t){var e,n,r,i;const s={};if(t.video)if(typeof t.video=="object"){const o={},a=o,l=t.video;Object.keys(l).forEach(c=>{switch(c){case"resolution":Gd(a,l.resolution);break;default:a[c]=l[c]}}),s.video=o,(e=(r=s.video).deviceId)!==null&&e!==void 0||(r.deviceId="default")}else s.video=t.video?{deviceId:"default"}:!1;else s.video=!1;return t.audio?typeof t.audio=="object"?(s.audio=t.audio,(n=(i=s.audio).deviceId)!==null&&n!==void 0||(i.deviceId="default")):s.audio={deviceId:"default"}:s.audio=!1,s}function hy(t){return S(this,arguments,void 0,function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:200;return function*(){const r=py();if(r){const i=r.createAnalyser();i.fftSize=2048;const s=i.frequencyBinCount,o=new Uint8Array(s);r.createMediaStreamSource(new MediaStream([e.mediaStreamTrack])).connect(i),yield ht(n),i.getByteTimeDomainData(o);const l=o.some(c=>c!==128&&c!==0);return r.close(),!l}return!1}()})}function py(){var t;const e=typeof window<"u"&&(window.AudioContext||window.webkitAudioContext);if(e){const n=new e({latencyHint:"interactive"});if(n.state==="suspended"&&typeof window<"u"&&(!((t=window.document)===null||t===void 0)&&t.body)){const r=()=>S(this,void 0,void 0,function*(){var i;try{n.state==="suspended"&&(yield n.resume())}catch(s){console.warn("Error trying to auto-resume audio context",s)}(i=window.document.body)===null||i===void 0||i.removeEventListener("click",r)});window.document.body.addEventListener("click",r)}return n}}function my(t){return t===L.Source.Microphone?"audioinput":t===L.Source.Camera?"videoinput":void 0}function z2(t){var e,n;let r=(e=t.video)!==null&&e!==void 0?e:!0;return t.resolution&&t.resolution.width>0&&t.resolution.height>0&&(r=typeof r=="boolean"?{}:r,ir()?r=Object.assign(Object.assign({},r),{width:{max:t.resolution.width},height:{max:t.resolution.height},frameRate:t.resolution.frameRate}):r=Object.assign(Object.assign({},r),{width:{ideal:t.resolution.width},height:{ideal:t.resolution.height},frameRate:t.resolution.frameRate})),{audio:(n=t.audio)!==null&&n!==void 0?n:!1,video:r,controller:t.controller,selfBrowserSurface:t.selfBrowserSurface,surfaceSwitching:t.surfaceSwitching,systemAudio:t.systemAudio,preferCurrentTab:t.preferCurrentTab}}function ll(t){return t.split("/")[1].toLowerCase()}function H2(t){const e=[];return t.forEach(n=>{n.track!==void 0&&e.push(new vd({cid:n.track.mediaStreamID,track:n.trackInfo}))}),e}function le(t){return"mediaStreamTrack"in t?{trackID:t.sid,source:t.source,muted:t.isMuted,enabled:t.mediaStreamTrack.enabled,kind:t.kind,streamID:t.mediaStreamID,streamTrackID:t.mediaStreamTrack.id}:{trackID:t.trackSid,enabled:t.isEnabled,muted:t.isMuted,trackInfo:Object.assign({mimeType:t.mimeType,name:t.trackName,encrypted:t.isEncrypted,kind:t.kind,source:t.source},t.track?le(t.track):{})}}function $2(){return typeof RTCRtpReceiver<"u"&&"getSynchronizationSources"in RTCRtpReceiver}function q2(t,e){var n;t===void 0&&(t={}),e===void 0&&(e={});const r=[...Object.keys(e),...Object.keys(t)],i={};for(const s of r)t[s]!==e[s]&&(i[s]=(n=e[s])!==null&&n!==void 0?n:"");return i}function Kd(t){const e=Object.assign({},t);let n,r;return typeof e.audio=="object"&&e.audio.processor&&(n=e.audio.processor,e.audio=Object.assign(Object.assign({},e.audio),{processor:void 0})),typeof e.video=="object"&&e.video.processor&&(r=e.video.processor,e.video=Object.assign(Object.assign({},e.video),{processor:void 0})),{audioProcessor:n,videoProcessor:r,optionsWithoutProcessor:e}}function W2(t){switch(t){case Me.CAMERA:return L.Source.Camera;case Me.MICROPHONE:return L.Source.Microphone;case Me.SCREEN_SHARE:return L.Source.ScreenShare;case Me.SCREEN_SHARE_AUDIO:return L.Source.ScreenShareAudio;default:return L.Source.Unknown}}class G2 extends on.EventEmitter{constructor(e){super(),this.onWorkerMessage=n=>{var r,i;const{kind:s,data:o}=n.data;switch(s){case"error":X.error(o.error.message),this.emit(nr.EncryptionError,o.error);break;case"initAck":o.enabled&&this.keyProvider.getKeys().forEach(a=>{this.postKey(a)});break;case"enable":if(o.enabled&&this.keyProvider.getKeys().forEach(a=>{this.postKey(a)}),this.encryptionEnabled!==o.enabled&&o.participantIdentity===((r=this.room)===null||r===void 0?void 0:r.localParticipant.identity))this.emit(nr.ParticipantEncryptionStatusChanged,o.enabled,this.room.localParticipant),this.encryptionEnabled=o.enabled;else if(o.participantIdentity){const a=(i=this.room)===null||i===void 0?void 0:i.getParticipantByIdentity(o.participantIdentity);if(!a)throw TypeError("couldn't set encryption status, participant not found".concat(o.participantIdentity));this.emit(nr.ParticipantEncryptionStatusChanged,o.enabled,a)}break;case"ratchetKey":this.keyProvider.emit(tr.KeyRatcheted,o.material,o.keyIndex);break}},this.onWorkerError=n=>{X.error("e2ee worker encountered an error:",{error:n.error}),this.emit(nr.EncryptionError,n.error)},this.keyProvider=e.keyProvider,this.worker=e.worker,this.encryptionEnabled=!1}setup(e){if(!f2())throw new Id("tried to setup end-to-end encryption on an unsupported browser");if(X.info("setting up e2ee"),e!==this.room){this.room=e,this.setupEventListeners(e,this.keyProvider);const n={kind:"init",data:{keyProviderOptions:this.keyProvider.getOptions(),loglevel:JT.getLevel()}};this.worker&&(X.info("initializing worker",{worker:this.worker}),this.worker.onmessage=this.onWorkerMessage,this.worker.onerror=this.onWorkerError,this.worker.postMessage(n))}}setParticipantCryptorEnabled(e,n){X.debug("set e2ee to ".concat(e," for participant ").concat(n)),this.postEnable(e,n)}setSifTrailer(e){!e||e.length===0?X.warn("ignoring server sent trailer as it's empty"):this.postSifTrailer(e)}setupEngine(e){e.on(F.RTPVideoMapUpdate,n=>{this.postRTPMap(n)})}setupEventListeners(e,n){e.on(A.TrackPublished,(r,i)=>this.setParticipantCryptorEnabled(r.trackInfo.encryption!==St.NONE,i.identity)),e.on(A.ConnectionStateChanged,r=>{r===ie.Connected&&e.remoteParticipants.forEach(i=>{i.trackPublications.forEach(s=>{this.setParticipantCryptorEnabled(s.trackInfo.encryption!==St.NONE,i.identity)})})}).on(A.TrackUnsubscribed,(r,i,s)=>{var o;const a={kind:"removeTransform",data:{participantIdentity:s.identity,trackId:r.mediaStreamID}};(o=this.worker)===null||o===void 0||o.postMessage(a)}).on(A.TrackSubscribed,(r,i,s)=>{this.setupE2EEReceiver(r,s.identity,i.trackInfo)}).on(A.SignalConnected,()=>{if(!this.room)throw new TypeError("expected room to be present on signal connect");n.getKeys().forEach(r=>{this.postKey(r)}),this.setParticipantCryptorEnabled(this.room.localParticipant.isE2EEEnabled,this.room.localParticipant.identity)}),e.localParticipant.on(B.LocalTrackPublished,r=>S(this,void 0,void 0,function*(){this.setupE2EESender(r.track,r.track.sender)})),n.on(tr.SetKey,r=>this.postKey(r)).on(tr.RatchetRequest,(r,i)=>this.postRatchetRequest(r,i))}postRatchetRequest(e,n){if(!this.worker)throw Error("could not ratchet key, worker is missing");const r={kind:"ratchetRequest",data:{participantIdentity:e,keyIndex:n}};this.worker.postMessage(r)}postKey(e){let{key:n,participantIdentity:r,keyIndex:i}=e;var s;if(!this.worker)throw Error("could not set key, worker is missing");const o={kind:"setKey",data:{participantIdentity:r,isPublisher:r===((s=this.room)===null||s===void 0?void 0:s.localParticipant.identity),key:n,keyIndex:i}};this.worker.postMessage(o)}postEnable(e,n){if(this.worker){const r={kind:"enable",data:{enabled:e,participantIdentity:n}};this.worker.postMessage(r)}else throw new ReferenceError("failed to enable e2ee, worker is not ready")}postRTPMap(e){var n;if(!this.worker)throw TypeError("could not post rtp map, worker is missing");if(!(!((n=this.room)===null||n===void 0)&&n.localParticipant.identity))throw TypeError("could not post rtp map, local participant identity is missing");const r={kind:"setRTPMap",data:{map:e,participantIdentity:this.room.localParticipant.identity}};this.worker.postMessage(r)}postSifTrailer(e){if(!this.worker)throw Error("could not post SIF trailer, worker is missing");const n={kind:"setSifTrailer",data:{trailer:e}};this.worker.postMessage(n)}setupE2EEReceiver(e,n,r){if(e.receiver){if(!(r!=null&&r.mimeType)||r.mimeType==="")throw new TypeError("MimeType missing from trackInfo, cannot set up E2EE cryptor");this.handleReceiver(e.receiver,e.mediaStreamID,n,e.kind==="video"?ll(r.mimeType):void 0)}}setupE2EESender(e,n){if(!Li(e)||!n){n||X.warn("early return because sender is not ready");return}this.handleSender(n,e.mediaStreamID,void 0)}handleReceiver(e,n,r,i){return S(this,void 0,void 0,function*(){if(this.worker){if(Rd()){const s={kind:"decode",participantIdentity:r,trackId:n,codec:i};e.transform=new RTCRtpScriptTransform(this.worker,s)}else{if(rl in e&&i){const l={kind:"updateCodec",data:{trackId:n,codec:i,participantIdentity:r}};this.worker.postMessage(l);return}let s=e.writableStream,o=e.readableStream;if(!s||!o){const l=e.createEncodedStreams();e.writableStream=l.writable,s=l.writable,e.readableStream=l.readable,o=l.readable}const a={kind:"decode",data:{readableStream:o,writableStream:s,trackId:n,codec:i,participantIdentity:r}};this.worker.postMessage(a,[o,s])}e[rl]=!0}})}handleSender(e,n,r){var i;if(!(rl in e||!this.worker)){if(!(!((i=this.room)===null||i===void 0)&&i.localParticipant.identity)||this.room.localParticipant.identity==="")throw TypeError("local identity needs to be known in order to set up encrypted sender");if(Rd()){X.info("initialize script transform");const s={kind:"encode",participantIdentity:this.room.localParticipant.identity,trackId:n,codec:r};e.transform=new RTCRtpScriptTransform(this.worker,s)}else{X.info("initialize encoded streams");const s=e.createEncodedStreams(),o={kind:"encode",data:{readableStream:s.readable,writableStream:s.writable,codec:r,trackId:n,participantIdentity:this.room.localParticipant.identity}};this.worker.postMessage(o,[s.readable,s.writable])}e[rl]=!0}}}const Zd="default";class Ve{constructor(){this._previousDevices=[]}static getInstance(){return this.instance===void 0&&(this.instance=new Ve),this.instance}get previousDevices(){return this._previousDevices}getDevices(e){return S(this,arguments,void 0,function(n){var r=this;let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return function*(){var s;if(((s=Ve.userMediaPromiseMap)===null||s===void 0?void 0:s.size)>0){X.debug("awaiting getUserMedia promise");try{n?yield Ve.userMediaPromiseMap.get(n):yield Promise.all(Ve.userMediaPromiseMap.values())}catch{X.warn("error waiting for media permissons")}}let o=yield navigator.mediaDevices.enumerateDevices();if(i&&!(ir()&&r.hasDeviceInUse(n))&&(o.filter(l=>l.kind===n).length===0||o.some(l=>{const c=l.label==="",u=n?l.kind===n:!0;return c&&u}))){const l={video:n!=="audioinput"&&n!=="audiooutput",audio:n!=="videoinput"&&{deviceId:"default"}},c=yield navigator.mediaDevices.getUserMedia(l);o=yield navigator.mediaDevices.enumerateDevices(),c.getTracks().forEach(u=>{u.stop()})}return r._previousDevices=o,n&&(o=o.filter(a=>a.kind===n)),o}()})}normalizeDeviceId(e,n,r){return S(this,void 0,void 0,function*(){if(n!==Zd)return n;const i=yield this.getDevices(e),s=i.find(a=>a.deviceId===Zd);if(!s){X.warn("could not reliably determine default device");return}const o=i.find(a=>a.deviceId!==Zd&&a.groupId===(r??s.groupId));if(!o){X.warn("could not reliably determine default device");return}return o==null?void 0:o.deviceId})}hasDeviceInUse(e){return e?Ve.userMediaPromiseMap.has(e):Ve.userMediaPromiseMap.size>0}}Ve.mediaDeviceKinds=["audioinput","audiooutput","videoinput"],Ve.userMediaPromiseMap=new Map;var Ks;(function(t){t[t.WAITING=0]="WAITING",t[t.RUNNING=1]="RUNNING",t[t.COMPLETED=2]="COMPLETED"})(Ks||(Ks={}));class K2{constructor(){this.pendingTasks=new Map,this.taskMutex=new Ct,this.nextTaskIndex=0}run(e){return S(this,void 0,void 0,function*(){const n={id:this.nextTaskIndex++,enqueuedAt:Date.now(),status:Ks.WAITING};this.pendingTasks.set(n.id,n);const r=yield this.taskMutex.lock();try{return n.executedAt=Date.now(),n.status=Ks.RUNNING,yield e()}finally{n.status=Ks.COMPLETED,this.pendingTasks.delete(n.id),r()}})}flush(){return S(this,void 0,void 0,function*(){return this.run(()=>S(this,void 0,void 0,function*(){}))})}snapshot(){return Array.from(this.pendingTasks.values())}}function Z2(t,e){const n=new URL(t);return e.forEach((r,i)=>{n.searchParams.set(i,r)}),gy(n,"rtc")}function Q2(t){const e=new URL($d(t));return gy(e,"validate")}function J2(t){return t.endsWith("/")?t:"".concat(t,"/")}function gy(t,e){const n="".concat(t.protocol,"//").concat(t.host).concat(J2(t.pathname)).concat(e);return t.searchParams.size>0?"".concat(n,"?").concat(t.searchParams.toString()):n}const Y2=["syncState","trickle","offer","answer","simulate","leave"];function X2(t){const e=Y2.indexOf(t.case)>=0;return X.trace("request allowed to bypass queue:",{canPass:e,req:t}),e}var be;(function(t){t[t.CONNECTING=0]="CONNECTING",t[t.CONNECTED=1]="CONNECTED",t[t.RECONNECTING=2]="RECONNECTING",t[t.DISCONNECTING=3]="DISCONNECTING",t[t.DISCONNECTED=4]="DISCONNECTED"})(be||(be={}));class Qd{get currentState(){return this.state}get isDisconnected(){return this.state===be.DISCONNECTING||this.state===be.DISCONNECTED}get isEstablishingConnection(){return this.state===be.CONNECTING||this.state===be.RECONNECTING}getNextRequestId(){return this._requestId+=1,this._requestId}constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r;this.rtt=0,this.state=be.DISCONNECTED,this.log=X,this._requestId=0,this.resetCallbacks=()=>{this.onAnswer=void 0,this.onLeave=void 0,this.onLocalTrackPublished=void 0,this.onLocalTrackUnpublished=void 0,this.onNegotiateRequested=void 0,this.onOffer=void 0,this.onRemoteMuteChanged=void 0,this.onSubscribedQualityUpdate=void 0,this.onTokenRefresh=void 0,this.onTrickle=void 0,this.onClose=void 0},this.log=Sn((r=n.loggerName)!==null&&r!==void 0?r:Ht.Signal),this.loggerContextCb=n.loggerContextCb,this.useJSON=e,this.requestQueue=new K2,this.queuedRequests=[],this.closingLock=new Ct,this.connectionLock=new Ct,this.state=be.DISCONNECTED}get logContext(){var e,n;return(n=(e=this.loggerContextCb)===null||e===void 0?void 0:e.call(this))!==null&&n!==void 0?n:{}}join(e,n,r,i){return S(this,void 0,void 0,function*(){return this.state=be.CONNECTING,this.options=r,yield this.connect(e,n,r,i)})}reconnect(e,n,r,i){return S(this,void 0,void 0,function*(){if(!this.options){this.log.warn("attempted to reconnect without signal options being set, ignoring",this.logContext);return}return this.state=be.RECONNECTING,this.clearPingInterval(),yield this.connect(e,n,Object.assign(Object.assign({},this.options),{reconnect:!0,sid:r,reconnectReason:i}))})}connect(e,n,r,i){this.connectOptions=r;const s=D2(),o=ex(n,s,r),a=Z2(e,o),l=Q2(a);return new Promise((c,u)=>S(this,void 0,void 0,function*(){const d=yield this.connectionLock.lock();try{const f=()=>S(this,void 0,void 0,function*(){this.close(),clearTimeout(h),u(new he("room connection has been cancelled (signal)",te.Cancelled))}),h=setTimeout(()=>{this.close(),u(new he("room connection has timed out (signal)",te.ServerUnreachable))},r.websocketTimeout);i!=null&&i.aborted&&f(),i==null||i.addEventListener("abort",f);const v=new URL(a);v.searchParams.has("access_token")&&v.searchParams.set("access_token","<redacted>"),this.log.debug("connecting to ".concat(v),Object.assign({reconnect:r.reconnect,reconnectReason:r.reconnectReason},this.logContext)),this.ws&&(yield this.close(!1)),this.ws=new WebSocket(a),this.ws.binaryType="arraybuffer",this.ws.onopen=()=>{clearTimeout(h)},this.ws.onerror=y=>S(this,void 0,void 0,function*(){if(this.state!==be.CONNECTED){this.state=be.DISCONNECTED,clearTimeout(h);try{const T=yield fetch(l);if(T.status.toFixed(0).startsWith("4")){const m=yield T.text();u(new he(m,te.NotAllowed,T.status))}else u(new he("Encountered unknown websocket error during connection: ".concat(y.toString()),te.InternalError,T.status))}catch(T){u(new he(T instanceof Error?T.message:"server was not reachable",te.ServerUnreachable))}return}this.handleWSError(y)}),this.ws.onmessage=y=>S(this,void 0,void 0,function*(){var T,m,b;let p;if(typeof y.data=="string"){const k=JSON.parse(y.data);p=Yv.fromJson(k,{ignoreUnknownFields:!0})}else if(y.data instanceof ArrayBuffer)p=Yv.fromBinary(new Uint8Array(y.data));else{this.log.error("could not decode websocket message: ".concat(typeof y.data),this.logContext);return}if(this.state!==be.CONNECTED){let k=!1;if(((T=p.message)===null||T===void 0?void 0:T.case)==="join"?(this.state=be.CONNECTED,i==null||i.removeEventListener("abort",f),this.pingTimeoutDuration=p.message.value.pingTimeout,this.pingIntervalDuration=p.message.value.pingInterval,this.pingTimeoutDuration&&this.pingTimeoutDuration>0&&(this.log.debug("ping config",Object.assign(Object.assign({},this.logContext),{timeout:this.pingTimeoutDuration,interval:this.pingIntervalDuration})),this.startPingInterval()),c(p.message.value)):this.state===be.RECONNECTING&&p.message.case!=="leave"?(this.state=be.CONNECTED,i==null||i.removeEventListener("abort",f),this.startPingInterval(),((m=p.message)===null||m===void 0?void 0:m.case)==="reconnect"?c(p.message.value):(this.log.debug("declaring signal reconnected without reconnect response received",this.logContext),c(void 0),k=!0)):this.isEstablishingConnection&&p.message.case==="leave"?u(new he("Received leave request while trying to (re)connect",te.LeaveRequest,void 0,p.message.value.reason)):r.reconnect||u(new he("did not receive join response, got ".concat((b=p.message)===null||b===void 0?void 0:b.case," instead"),te.InternalError)),!k)return}this.signalLatency&&(yield ht(this.signalLatency)),this.handleSignalResponse(p)}),this.ws.onclose=y=>{this.isEstablishingConnection&&u(new he("Websocket got closed during a (re)connection attempt",te.InternalError)),this.log.warn("websocket closed",Object.assign(Object.assign({},this.logContext),{reason:y.reason,code:y.code,wasClean:y.wasClean,state:this.state})),this.handleOnClose(y.reason)}}finally{d()}}))}close(){return S(this,arguments,void 0,function(){var e=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return function*(){const r=yield e.closingLock.lock();try{if(e.clearPingInterval(),n&&(e.state=be.DISCONNECTING),e.ws){e.ws.onmessage=null,e.ws.onopen=null,e.ws.onclose=null;const i=new Promise(s=>{e.ws?e.ws.onclose=()=>{s()}:s()});e.ws.readyState<e.ws.CLOSING&&(e.ws.close(),yield Promise.race([i,ht(250)])),e.ws=void 0}}finally{n&&(e.state=be.DISCONNECTED),r()}}()})}sendOffer(e){this.log.debug("sending offer",Object.assign(Object.assign({},this.logContext),{offerSdp:e.sdp})),this.sendRequest({case:"offer",value:cl(e)})}sendAnswer(e){return this.log.debug("sending answer",Object.assign(Object.assign({},this.logContext),{answerSdp:e.sdp})),this.sendRequest({case:"answer",value:cl(e)})}sendIceCandidate(e,n){return this.log.debug("sending ice candidate",Object.assign(Object.assign({},this.logContext),{candidate:e})),this.sendRequest({case:"trickle",value:new md({candidateInit:JSON.stringify(e),target:n})})}sendMuteTrack(e,n){return this.sendRequest({case:"mute",value:new gd({sid:e,muted:n})})}sendAddTrack(e){return this.sendRequest({case:"addTrack",value:e})}sendUpdateLocalMetadata(e,n){return S(this,arguments,void 0,function(r,i){var s=this;let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return function*(){const a=s.getNextRequestId();return yield s.sendRequest({case:"updateMetadata",value:new n0({requestId:a,metadata:r,name:i,attributes:o})}),a}()})}sendUpdateTrackSettings(e){this.sendRequest({case:"trackSetting",value:e})}sendUpdateSubscription(e){return this.sendRequest({case:"subscription",value:e})}sendSyncState(e){return this.sendRequest({case:"syncState",value:e})}sendUpdateVideoLayers(e,n){return this.sendRequest({case:"updateLayers",value:new t0({trackSid:e,layers:n})})}sendUpdateSubscriptionPermissions(e,n){return this.sendRequest({case:"subscriptionPermission",value:new s0({allParticipants:e,trackPermissions:n})})}sendSimulateScenario(e){return this.sendRequest({case:"simulate",value:e})}sendPing(){return Promise.all([this.sendRequest({case:"ping",value:ye.parse(Date.now())}),this.sendRequest({case:"pingReq",value:new l0({timestamp:ye.parse(Date.now()),rtt:ye.parse(this.rtt)})})])}sendUpdateLocalAudioTrack(e,n){return this.sendRequest({case:"updateAudioTrack",value:new e0({trackSid:e,features:n})})}sendLeave(){return this.sendRequest({case:"leave",value:new Ga({reason:Vt.CLIENT_INITIATED,action:Pi.DISCONNECT})})}sendRequest(e){return S(this,arguments,void 0,function(n){var r=this;let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return function*(){if(!i&&!X2(n)&&r.state===be.RECONNECTING){r.queuedRequests.push(()=>S(r,void 0,void 0,function*(){yield this.sendRequest(n,!0)}));return}if(i||(yield r.requestQueue.flush()),r.signalLatency&&(yield ht(r.signalLatency)),!r.ws||r.ws.readyState!==r.ws.OPEN){r.log.error("cannot send signal request before connected, type: ".concat(n==null?void 0:n.case),r.logContext);return}const o=new PT({message:n});try{r.useJSON?r.ws.send(o.toJsonString()):r.ws.send(o.toBinary())}catch(a){r.log.error("error sending signal message",Object.assign(Object.assign({},r.logContext),{error:a}))}}()})}handleSignalResponse(e){var n,r;const i=e.message;if(i==null){this.log.debug("received unsupported message",this.logContext);return}let s=!1;if(i.case==="answer"){const o=vy(i.value);this.onAnswer&&this.onAnswer(o)}else if(i.case==="offer"){const o=vy(i.value);this.onOffer&&this.onOffer(o)}else if(i.case==="trickle"){const o=JSON.parse(i.value.candidateInit);this.onTrickle&&this.onTrickle(o,i.value.target)}else i.case==="update"?this.onParticipantUpdate&&this.onParticipantUpdate((n=i.value.participants)!==null&&n!==void 0?n:[]):i.case==="trackPublished"?this.onLocalTrackPublished&&this.onLocalTrackPublished(i.value):i.case==="speakersChanged"?this.onSpeakersChanged&&this.onSpeakersChanged((r=i.value.speakers)!==null&&r!==void 0?r:[]):i.case==="leave"?this.onLeave&&this.onLeave(i.value):i.case==="mute"?this.onRemoteMuteChanged&&this.onRemoteMuteChanged(i.value.sid,i.value.muted):i.case==="roomUpdate"?this.onRoomUpdate&&i.value.room&&this.onRoomUpdate(i.value.room):i.case==="connectionQuality"?this.onConnectionQuality&&this.onConnectionQuality(i.value):i.case==="streamStateUpdate"?this.onStreamStateUpdate&&this.onStreamStateUpdate(i.value):i.case==="subscribedQualityUpdate"?this.onSubscribedQualityUpdate&&this.onSubscribedQualityUpdate(i.value):i.case==="subscriptionPermissionUpdate"?this.onSubscriptionPermissionUpdate&&this.onSubscriptionPermissionUpdate(i.value):i.case==="refreshToken"?this.onTokenRefresh&&this.onTokenRefresh(i.value):i.case==="trackUnpublished"?this.onLocalTrackUnpublished&&this.onLocalTrackUnpublished(i.value):i.case==="subscriptionResponse"?this.onSubscriptionError&&this.onSubscriptionError(i.value):i.case==="pong"||(i.case==="pongResp"?(this.rtt=Date.now()-Number.parseInt(i.value.lastPingTimestamp.toString()),this.resetPingTimeout(),s=!0):i.case==="requestResponse"?this.onRequestResponse&&this.onRequestResponse(i.value):i.case==="trackSubscribed"?this.onLocalTrackSubscribed&&this.onLocalTrackSubscribed(i.value.trackSid):this.log.debug("unsupported message",Object.assign(Object.assign({},this.logContext),{msgCase:i.case})));s||this.resetPingTimeout()}setReconnected(){for(;this.queuedRequests.length>0;){const e=this.queuedRequests.shift();e&&this.requestQueue.run(e)}}handleOnClose(e){return S(this,void 0,void 0,function*(){if(this.state===be.DISCONNECTED)return;const n=this.onClose;yield this.close(),this.log.debug("websocket connection closed: ".concat(e),Object.assign(Object.assign({},this.logContext),{reason:e})),n&&n(e)})}handleWSError(e){this.log.error("websocket error",Object.assign(Object.assign({},this.logContext),{error:e}))}resetPingTimeout(){if(this.clearPingTimeout(),!this.pingTimeoutDuration){this.log.warn("ping timeout duration not set",this.logContext);return}this.pingTimeout=Ge.setTimeout(()=>{this.log.warn("ping timeout triggered. last pong received at: ".concat(new Date(Date.now()-this.pingTimeoutDuration*1e3).toUTCString()),this.logContext),this.handleOnClose("ping timeout")},this.pingTimeoutDuration*1e3)}clearPingTimeout(){this.pingTimeout&&Ge.clearTimeout(this.pingTimeout)}startPingInterval(){if(this.clearPingInterval(),this.resetPingTimeout(),!this.pingIntervalDuration){this.log.warn("ping interval duration not set",this.logContext);return}this.log.debug("start ping interval",this.logContext),this.pingInterval=Ge.setInterval(()=>{this.sendPing()},this.pingIntervalDuration*1e3)}clearPingInterval(){this.log.debug("clearing ping interval",this.logContext),this.clearPingTimeout(),this.pingInterval&&Ge.clearInterval(this.pingInterval)}}function vy(t){const e={type:"offer",sdp:t.sdp};switch(t.type){case"answer":case"offer":case"pranswer":case"rollback":e.type=t.type;break}return e}function cl(t){return new Lr({sdp:t.sdp,type:t.type})}function ex(t,e,n){var r;const i=new URLSearchParams;return i.set("access_token",t),n.reconnect&&(i.set("reconnect","1"),n.sid&&i.set("sid",n.sid)),i.set("auto_subscribe",n.autoSubscribe?"1":"0"),i.set("sdk",an()?"reactnative":"js"),i.set("version",e.version),i.set("protocol",e.protocol.toString()),e.deviceModel&&i.set("device_model",e.deviceModel),e.os&&i.set("os",e.os),e.osVersion&&i.set("os_version",e.osVersion),e.browser&&i.set("browser",e.browser),e.browserVersion&&i.set("browser_version",e.browserVersion),n.adaptiveStream&&i.set("adaptive_stream","1"),n.reconnectReason&&i.set("reconnect_reason",n.reconnectReason.toString()),!((r=navigator.connection)===null||r===void 0)&&r.type&&i.set("network",navigator.connection.type),i}var qt={},Jd={},Yd={exports:{}},yy;function Xd(){if(yy)return Yd.exports;yy=1;var t=Yd.exports={v:[{name:"version",reg:/^(\d*)$/}],o:[{name:"origin",reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:["username","sessionId","sessionVersion","netType","ipVer","address"],format:"%s %s %d %s IP%d %s"}],s:[{name:"name"}],i:[{name:"description"}],u:[{name:"uri"}],e:[{name:"email"}],p:[{name:"phone"}],z:[{name:"timezones"}],r:[{name:"repeats"}],t:[{name:"timing",reg:/^(\d*) (\d*)/,names:["start","stop"],format:"%d %d"}],c:[{name:"connection",reg:/^IN IP(\d) (\S*)/,names:["version","ip"],format:"IN IP%d %s"}],b:[{push:"bandwidth",reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:["type","limit"],format:"%s:%s"}],m:[{reg:/^(\w*) (\d*) ([\w/]*)(?: (.*))?/,names:["type","port","protocol","payloads"],format:"%s %d %s %s"}],a:[{push:"rtp",reg:/^rtpmap:(\d*) ([\w\-.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:["payload","codec","rate","encoding"],format:function(e){return e.encoding?"rtpmap:%d %s/%s/%s":e.rate?"rtpmap:%d %s/%s":"rtpmap:%d %s"}},{push:"fmtp",reg:/^fmtp:(\d*) ([\S| ]*)/,names:["payload","config"],format:"fmtp:%d %s"},{name:"control",reg:/^control:(.*)/,format:"control:%s"},{name:"rtcp",reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:["port","netType","ipVer","address"],format:function(e){return e.address!=null?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%s trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(e){return e.subtype!=null?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:(\d+)(?:\/(\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\S*)(?: (\S*))?/,names:["value","direction","encrypt-uri","uri","config"],format:function(e){return"extmap:%d"+(e.direction?"/%s":"%v")+(e["encrypt-uri"]?" %s":"%v")+" %s"+(e.config?" %s":"")}},{name:"extmapAllowMixed",reg:/^(extmap-allow-mixed)/},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(e){return e.sessionConfig!=null?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"connectionType",reg:/^connection:(new|existing)/,format:"connection:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*(?:\.\d*)*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*(?:\.\d*)*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation","network-id","network-cost"],format:function(e){var n="candidate:%s %d %s %d %s %d typ %s";return n+=e.raddr!=null?" raddr %s rport %d":"%v%v",n+=e.tcptype!=null?" tcptype %s":"%v",e.generation!=null&&(n+=" generation %d"),n+=e["network-id"]!=null?" network-id %d":"%v",n+=e["network-cost"]!=null?" network-cost %d":"%v",n}},{name:"endOfCandidates",reg:/^(end-of-candidates)/},{name:"remoteCandidates",reg:/^remote-candidates:(.*)/,format:"remote-candidates:%s"},{name:"iceOptions",reg:/^ice-options:(\S*)/,format:"ice-options:%s"},{push:"ssrcs",reg:/^ssrc:(\d*) ([\w_-]*)(?::(.*))?/,names:["id","attribute","value"],format:function(e){var n="ssrc:%d";return e.attribute!=null&&(n+=" %s",e.value!=null&&(n+=":%s")),n}},{push:"ssrcGroups",reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:["semantics","ssrcs"],format:"ssrc-group:%s %s"},{name:"msidSemantic",reg:/^msid-semantic:\s?(\w*) (\S*)/,names:["semantic","token"],format:"msid-semantic: %s %s"},{push:"groups",reg:/^group:(\w*) (.*)/,names:["type","mids"],format:"group:%s %s"},{name:"rtcpMux",reg:/^(rtcp-mux)/},{name:"rtcpRsize",reg:/^(rtcp-rsize)/},{name:"sctpmap",reg:/^sctpmap:([\w_/]*) (\S*)(?: (\S*))?/,names:["sctpmapNumber","app","maxMessageSize"],format:function(e){return e.maxMessageSize!=null?"sctpmap:%s %s %s":"sctpmap:%s %s"}},{name:"xGoogleFlag",reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:"rids",reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction","params"],format:function(e){return e.params?"rid:%s %s %s":"rid:%s %s"}},{push:"imageattrs",reg:new RegExp("^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?"),names:["pt","dir1","attrs1","dir2","attrs2"],format:function(e){return"imageattr:%s %s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast",reg:new RegExp("^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$"),names:["dir1","list1","dir2","list2"],format:function(e){return"simulcast:%s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast_03",reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:["value"],format:"simulcast: %s"},{name:"framerate",reg:/^framerate:(\d+(?:$|\.\d+))/,format:"framerate:%s"},{name:"sourceFilter",reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:["filterMode","netType","addressTypes","destAddress","srcList"],format:"source-filter: %s %s %s %s %s"},{name:"bundleOnly",reg:/^(bundle-only)/},{name:"label",reg:/^label:(.+)/,format:"label:%s"},{name:"sctpPort",reg:/^sctp-port:(\d+)$/,format:"sctp-port:%s"},{name:"maxMessageSize",reg:/^max-message-size:(\d+)$/,format:"max-message-size:%s"},{push:"tsRefClocks",reg:/^ts-refclk:([^\s=]*)(?:=(\S*))?/,names:["clksrc","clksrcExt"],format:function(e){return"ts-refclk:%s"+(e.clksrcExt!=null?"=%s":"")}},{name:"mediaClk",reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:["id","mediaClockName","mediaClockValue","rateNumerator","rateDenominator"],format:function(e){var n="mediaclk:";return n+=e.id!=null?"id=%s %s":"%v%s",n+=e.mediaClockValue!=null?"=%s":"",n+=e.rateNumerator!=null?" rate=%s":"",n+=e.rateDenominator!=null?"/%s":"",n}},{name:"keywords",reg:/^keywds:(.+)$/,format:"keywds:%s"},{name:"content",reg:/^content:(.+)/,format:"content:%s"},{name:"bfcpFloorCtrl",reg:/^floorctrl:(c-only|s-only|c-s)/,format:"floorctrl:%s"},{name:"bfcpConfId",reg:/^confid:(\d+)/,format:"confid:%s"},{name:"bfcpUserId",reg:/^userid:(\d+)/,format:"userid:%s"},{name:"bfcpFloorId",reg:/^floorid:(.+) (?:m-stream|mstrm):(.+)/,names:["id","mStream"],format:"floorid:%s mstrm:%s"},{push:"invalid",names:["value"]}]};return Object.keys(t).forEach(function(e){var n=t[e];n.forEach(function(r){r.reg||(r.reg=/(.*)/),r.format||(r.format="%s")})}),Yd.exports}var by;function tx(){return by||(by=1,function(t){var e=function(a){return String(Number(a))===a?Number(a):a},n=function(a,l,c,u){if(u&&!c)l[u]=e(a[1]);else for(var d=0;d<c.length;d+=1)a[d+1]!=null&&(l[c[d]]=e(a[d+1]))},r=function(a,l,c){var u=a.name&&a.names;a.push&&!l[a.push]?l[a.push]=[]:u&&!l[a.name]&&(l[a.name]={});var d=a.push?{}:u?l[a.name]:l;n(c.match(a.reg),d,a.names,a.name),a.push&&l[a.push].push(d)},i=Xd(),s=RegExp.prototype.test.bind(/^([a-z])=(.*)/);t.parse=function(a){var l={},c=[],u=l;return a.split(/(\r\n|\r|\n)/).filter(s).forEach(function(d){var f=d[0],h=d.slice(2);f==="m"&&(c.push({rtp:[],fmtp:[]}),u=c[c.length-1]);for(var v=0;v<(i[f]||[]).length;v+=1){var y=i[f][v];if(y.reg.test(h))return r(y,u,h)}}),l.media=c,l};var o=function(a,l){var c=l.split(/=(.+)/,2);return c.length===2?a[c[0]]=e(c[1]):c.length===1&&l.length>1&&(a[c[0]]=void 0),a};t.parseParams=function(a){return a.split(/;\s?/).reduce(o,{})},t.parseFmtpConfig=t.parseParams,t.parsePayloads=function(a){return a.toString().split(" ").map(Number)},t.parseRemoteCandidates=function(a){for(var l=[],c=a.split(" ").map(e),u=0;u<c.length;u+=3)l.push({component:c[u],ip:c[u+1],port:c[u+2]});return l},t.parseImageAttributes=function(a){return a.split(" ").map(function(l){return l.substring(1,l.length-1).split(",").reduce(o,{})})},t.parseSimulcastStreamList=function(a){return a.split(";").map(function(l){return l.split(",").map(function(c){var u,d=!1;return c[0]!=="~"?u=e(c):(u=e(c.substring(1,c.length)),d=!0),{scid:u,paused:d}})})}}(Jd)),Jd}var ef,ky;function nx(){if(ky)return ef;ky=1;var t=Xd(),e=/%[sdv%]/g,n=function(o){var a=1,l=arguments,c=l.length;return o.replace(e,function(u){if(a>=c)return u;var d=l[a];switch(a+=1,u){case"%%":return"%";case"%s":return String(d);case"%d":return Number(d);case"%v":return""}})},r=function(o,a,l){var c=a.format instanceof Function?a.format(a.push?l:l[a.name]):a.format,u=[o+"="+c];if(a.names)for(var d=0;d<a.names.length;d+=1){var f=a.names[d];a.name?u.push(l[a.name][f]):u.push(l[a.names[d]])}else u.push(l[a.name]);return n.apply(null,u)},i=["v","o","s","i","u","e","p","c","b","t","r","z","a"],s=["i","c","b","a"];return ef=function(o,a){a=a||{},o.version==null&&(o.version=0),o.name==null&&(o.name=" "),o.media.forEach(function(d){d.payloads==null&&(d.payloads="")});var l=a.outerOrder||i,c=a.innerOrder||s,u=[];return l.forEach(function(d){t[d].forEach(function(f){f.name in o&&o[f.name]!=null?u.push(r(d,f,o)):f.push in o&&o[f.push]!=null&&o[f.push].forEach(function(h){u.push(r(d,f,h))})})}),o.media.forEach(function(d){u.push(r("m",t.m[0],d)),c.forEach(function(f){t[f].forEach(function(h){h.name in d&&d[h.name]!=null?u.push(r(f,h,d)):h.push in d&&d[h.push]!=null&&d[h.push].forEach(function(v){u.push(r(f,h,v))})})})}),u.join(`\r
|
|
100
100
|
`)+`\r
|
|
101
|
-
`},ef}var Cy;function rx(){if(Cy)return qt;Cy=1;var t=tx(),e=nx(),n=Xd();return qt.grammar=n,qt.write=e,qt.parse=t.parse,qt.parseParams=t.parseParams,qt.parseFmtpConfig=t.parseFmtpConfig,qt.parsePayloads=t.parsePayloads,qt.parseRemoteCandidates=t.parseRemoteCandidates,qt.parseImageAttributes=t.parseImageAttributes,qt.parseSimulcastStreamList=t.parseSimulcastStreamList,qt}var ar=rx();function tf(t,e,n){var r,i,s;e===void 0&&(e=50),n===void 0&&(n={});var o=(r=n.isImmediate)!=null&&r,a=(i=n.callback)!=null&&i,l=n.maxWait,c=Date.now(),u=[];function d(){if(l!==void 0){var h=Date.now()-c;if(h+e>=l)return l-h}return e}var f=function(){var h=[].slice.call(arguments),v=this;return new Promise(function(y,T){var m=o&&s===void 0;if(s!==void 0&&clearTimeout(s),s=setTimeout(function(){if(s=void 0,c=Date.now(),!o){var p=t.apply(v,h);a&&a(p),u.forEach(function(k){return(0,k.resolve)(p)}),u=[]}},d()),m){var b=t.apply(v,h);return a&&a(b),y(b)}u.push({resolve:y,reject:T})})};return f.cancel=function(h){s!==void 0&&clearTimeout(s),u.forEach(function(v){return(0,v.reject)(h)}),u=[]},f}const ix=.7,sx=20,Ni={NegotiationStarted:"negotiationStarted",NegotiationComplete:"negotiationComplete",RTPVideoPayloadTypes:"rtpVideoPayloadTypes"};class Sy extends on.EventEmitter{get pc(){return this._pc||(this._pc=this.createPC()),this._pc}constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r;super(),this.log=X,this.ddExtID=0,this.pendingCandidates=[],this.restartingIce=!1,this.renegotiate=!1,this.trackBitrates=[],this.remoteStereoMids=[],this.remoteNackMids=[],this.negotiate=tf(i=>S(this,void 0,void 0,function*(){this.emit(Ni.NegotiationStarted);try{yield this.createAndSendOffer()}catch(s){if(i)i(s);else throw s}}),sx),this.close=()=>{this._pc&&(this._pc.close(),this._pc.onconnectionstatechange=null,this._pc.oniceconnectionstatechange=null,this._pc.onicegatheringstatechange=null,this._pc.ondatachannel=null,this._pc.onnegotiationneeded=null,this._pc.onsignalingstatechange=null,this._pc.onicecandidate=null,this._pc.ondatachannel=null,this._pc.ontrack=null,this._pc.onconnectionstatechange=null,this._pc.oniceconnectionstatechange=null,this._pc=null)},this.log=Sn((r=n.loggerName)!==null&&r!==void 0?r:Ht.PCTransport),this.loggerOptions=n,this.config=e,this._pc=this.createPC()}createPC(){const e=new RTCPeerConnection(this.config);return e.onicecandidate=n=>{var r;n.candidate&&((r=this.onIceCandidate)===null||r===void 0||r.call(this,n.candidate))},e.onicecandidateerror=n=>{var r;(r=this.onIceCandidateError)===null||r===void 0||r.call(this,n)},e.oniceconnectionstatechange=()=>{var n;(n=this.onIceConnectionStateChange)===null||n===void 0||n.call(this,e.iceConnectionState)},e.onsignalingstatechange=()=>{var n;(n=this.onSignalingStatechange)===null||n===void 0||n.call(this,e.signalingState)},e.onconnectionstatechange=()=>{var n;(n=this.onConnectionStateChange)===null||n===void 0||n.call(this,e.connectionState)},e.ondatachannel=n=>{var r;(r=this.onDataChannel)===null||r===void 0||r.call(this,n)},e.ontrack=n=>{var r;(r=this.onTrack)===null||r===void 0||r.call(this,n)},e}get logContext(){var e,n;return Object.assign({},(n=(e=this.loggerOptions).loggerContextCb)===null||n===void 0?void 0:n.call(e))}get isICEConnected(){return this._pc!==null&&(this.pc.iceConnectionState==="connected"||this.pc.iceConnectionState==="completed")}addIceCandidate(e){return S(this,void 0,void 0,function*(){if(this.pc.remoteDescription&&!this.restartingIce)return this.pc.addIceCandidate(e);this.pendingCandidates.push(e)})}setRemoteDescription(e){return S(this,void 0,void 0,function*(){var n;let r;if(e.type==="offer"){let{stereoMids:i,nackMids:s}=ox(e);this.remoteStereoMids=i,this.remoteNackMids=s}else if(e.type==="answer"){const i=ar.parse((n=e.sdp)!==null&&n!==void 0?n:"");i.media.forEach(s=>{s.type==="audio"&&this.trackBitrates.some(o=>{if(!o.transceiver||s.mid!=o.transceiver.mid)return!1;let a=0;if(s.rtp.some(c=>c.codec.toUpperCase()===o.codec.toUpperCase()?(a=c.payload,!0):!1),a===0)return!0;let l=!1;for(const c of s.fmtp)if(c.payload===a){c.config=c.config.split(";").filter(u=>!u.includes("maxaveragebitrate")).join(";"),o.maxbr>0&&(c.config+=";maxaveragebitrate=".concat(o.maxbr*1e3)),l=!0;break}return l||o.maxbr>0&&s.fmtp.push({payload:a,config:"maxaveragebitrate=".concat(o.maxbr*1e3)}),!0})}),r=ar.write(i)}yield this.setMungedSDP(e,r,!0),this.pendingCandidates.forEach(i=>{this.pc.addIceCandidate(i)}),this.pendingCandidates=[],this.restartingIce=!1,this.renegotiate?(this.renegotiate=!1,yield this.createAndSendOffer()):e.type==="answer"&&(this.emit(Ni.NegotiationComplete),e.sdp&&ar.parse(e.sdp).media.forEach(s=>{s.type==="video"&&this.emit(Ni.RTPVideoPayloadTypes,s.rtp)}))})}createAndSendOffer(e){return S(this,void 0,void 0,function*(){var n;if(this.onOffer===void 0)return;if(e!=null&&e.iceRestart&&(this.log.debug("restarting ICE",this.logContext),this.restartingIce=!0),this._pc&&this._pc.signalingState==="have-local-offer"){const s=this._pc.remoteDescription;if(e!=null&&e.iceRestart&&s)yield this._pc.setRemoteDescription(s);else{this.renegotiate=!0;return}}else if(!this._pc||this._pc.signalingState==="closed"){this.log.warn("could not createOffer with closed peer connection",this.logContext);return}this.log.debug("starting to negotiate",this.logContext);const r=yield this.pc.createOffer(e);this.log.debug("original offer",Object.assign({sdp:r.sdp},this.logContext));const i=ar.parse((n=r.sdp)!==null&&n!==void 0?n:"");i.media.forEach(s=>{Ty(s),s.type==="audio"?wy(s,[],[]):s.type==="video"&&this.trackBitrates.some(o=>{if(!s.msid||!o.cid||!s.msid.includes(o.cid))return!1;let a=0;if(s.rtp.some(c=>c.codec.toUpperCase()===o.codec.toUpperCase()?(a=c.payload,!0):!1),a===0||(Ws(o.codec)&&this.ensureVideoDDExtensionForSVC(s,i),o.codec!=="av1"))return!0;const l=Math.round(o.maxbr*ix);for(const c of s.fmtp)if(c.payload===a){c.config.includes("x-google-start-bitrate")||(c.config+=";x-google-start-bitrate=".concat(l));break}return!0})}),yield this.setMungedSDP(r,ar.write(i)),this.onOffer(r)})}createAndSetAnswer(){return S(this,void 0,void 0,function*(){var e;const n=yield this.pc.createAnswer(),r=ar.parse((e=n.sdp)!==null&&e!==void 0?e:"");return r.media.forEach(i=>{Ty(i),i.type==="audio"&&wy(i,this.remoteStereoMids,this.remoteNackMids)}),yield this.setMungedSDP(n,ar.write(r)),n})}createDataChannel(e,n){return this.pc.createDataChannel(e,n)}addTransceiver(e,n){return this.pc.addTransceiver(e,n)}addTrack(e){if(!this._pc)throw new je("PC closed, cannot add track");return this._pc.addTrack(e)}setTrackCodecBitrate(e){this.trackBitrates.push(e)}setConfiguration(e){var n;if(!this._pc)throw new je("PC closed, cannot configure");return(n=this._pc)===null||n===void 0?void 0:n.setConfiguration(e)}canRemoveTrack(){var e;return!!(!((e=this._pc)===null||e===void 0)&&e.removeTrack)}removeTrack(e){var n;return(n=this._pc)===null||n===void 0?void 0:n.removeTrack(e)}getConnectionState(){var e,n;return(n=(e=this._pc)===null||e===void 0?void 0:e.connectionState)!==null&&n!==void 0?n:"closed"}getICEConnectionState(){var e,n;return(n=(e=this._pc)===null||e===void 0?void 0:e.iceConnectionState)!==null&&n!==void 0?n:"closed"}getSignallingState(){var e,n;return(n=(e=this._pc)===null||e===void 0?void 0:e.signalingState)!==null&&n!==void 0?n:"closed"}getTransceivers(){var e,n;return(n=(e=this._pc)===null||e===void 0?void 0:e.getTransceivers())!==null&&n!==void 0?n:[]}getSenders(){var e,n;return(n=(e=this._pc)===null||e===void 0?void 0:e.getSenders())!==null&&n!==void 0?n:[]}getLocalDescription(){var e;return(e=this._pc)===null||e===void 0?void 0:e.localDescription}getRemoteDescription(){var e;return(e=this.pc)===null||e===void 0?void 0:e.remoteDescription}getStats(){return this.pc.getStats()}getConnectedAddress(){return S(this,void 0,void 0,function*(){var e;if(!this._pc)return;let n="";const r=new Map,i=new Map;if((yield this._pc.getStats()).forEach(a=>{switch(a.type){case"transport":n=a.selectedCandidatePairId;break;case"candidate-pair":n===""&&a.selected&&(n=a.id),r.set(a.id,a);break;case"remote-candidate":i.set(a.id,"".concat(a.address,":").concat(a.port));break}}),n==="")return;const o=(e=r.get(n))===null||e===void 0?void 0:e.remoteCandidateId;if(o!==void 0)return i.get(o)})}setMungedSDP(e,n,r){return S(this,void 0,void 0,function*(){if(n){const i=e.sdp;e.sdp=n;try{this.log.debug("setting munged ".concat(r?"remote":"local"," description"),this.logContext),r?yield this.pc.setRemoteDescription(e):yield this.pc.setLocalDescription(e);return}catch(s){this.log.warn("not able to set ".concat(e.type,", falling back to unmodified sdp"),Object.assign(Object.assign({},this.logContext),{error:s,sdp:n})),e.sdp=i}}try{r?yield this.pc.setRemoteDescription(e):yield this.pc.setLocalDescription(e)}catch(i){let s="unknown error";i instanceof Error?s=i.message:typeof i=="string"&&(s=i);const o={error:s,sdp:e.sdp};throw!r&&this.pc.remoteDescription&&(o.remoteSdp=this.pc.remoteDescription),this.log.error("unable to set ".concat(e.type),Object.assign(Object.assign({},this.logContext),{fields:o})),new Od(s)}})}ensureVideoDDExtensionForSVC(e,n){var r,i;if(!((r=e.ext)===null||r===void 0?void 0:r.some(o=>o.uri===ny))){if(this.ddExtID===0){let o=0;n.media.forEach(a=>{var l;a.type==="video"&&((l=a.ext)===null||l===void 0||l.forEach(c=>{c.value>o&&(o=c.value)}))}),this.ddExtID=o+1}(i=e.ext)===null||i===void 0||i.push({value:this.ddExtID,uri:ny})}}}function wy(t,e,n){let r=0;t.rtp.some(i=>i.codec==="opus"?(r=i.payload,!0):!1),r>0&&(t.rtcpFb||(t.rtcpFb=[]),n.includes(t.mid)&&!t.rtcpFb.some(i=>i.payload===r&&i.type==="nack")&&t.rtcpFb.push({payload:r,type:"nack"}),e.includes(t.mid)&&t.fmtp.some(i=>i.payload===r?(i.config.includes("stereo=1")||(i.config+=";stereo=1"),!0):!1))}function ox(t){var e;const n=[],r=[],i=ar.parse((e=t.sdp)!==null&&e!==void 0?e:"");let s=0;return i.media.forEach(o=>{var a;o.type==="audio"&&(o.rtp.some(l=>l.codec==="opus"?(s=l.payload,!0):!1),!((a=o.rtcpFb)===null||a===void 0)&&a.some(l=>l.payload===s&&l.type==="nack")&&r.push(o.mid),o.fmtp.some(l=>l.payload===s?(l.config.includes("sprop-stereo=1")&&n.push(o.mid),!0):!1))}),{stereoMids:n,nackMids:r}}function Ty(t){if(t.connection){const e=t.connection.ip.indexOf(":")>=0;(t.connection.version===4&&e||t.connection.version===6&&!e)&&(t.connection.ip="0.0.0.0",t.connection.version=4)}}const nf="vp8",ax={audioPreset:Nd.music,dtx:!0,red:!0,forceStereo:!1,simulcast:!0,screenShareEncoding:Ad.h1080fps15.encoding,stopMicTrackOnMute:!1,videoCodec:nf,backupCodec:!0},xy={deviceId:"default",autoGainControl:!0,echoCancellation:!0,noiseSuppression:!0,voiceIsolation:!0},Ey={deviceId:"default",resolution:qs.h720.resolution},lx={adaptiveStream:!1,dynacast:!1,stopLocalTrackOnUnpublish:!0,reconnectPolicy:new XT,disconnectOnPageLeave:!0,webAudioMix:!1},rf={autoSubscribe:!0,maxRetries:1,peerConnectionTimeout:15e3,websocketTimeout:15e3};var Pe;(function(t){t[t.NEW=0]="NEW",t[t.CONNECTING=1]="CONNECTING",t[t.CONNECTED=2]="CONNECTED",t[t.FAILED=3]="FAILED",t[t.CLOSING=4]="CLOSING",t[t.CLOSED=5]="CLOSED"})(Pe||(Pe={}));class cx{get needsPublisher(){return this.isPublisherConnectionRequired}get needsSubscriber(){return this.isSubscriberConnectionRequired}get currentState(){return this.state}constructor(e,n,r){var i;this.peerConnectionTimeout=rf.peerConnectionTimeout,this.log=X,this.updateState=()=>{var s;const o=this.state,a=this.requiredTransports.map(l=>l.getConnectionState());a.every(l=>l==="connected")?this.state=Pe.CONNECTED:a.some(l=>l==="failed")?this.state=Pe.FAILED:a.some(l=>l==="connecting")?this.state=Pe.CONNECTING:a.every(l=>l==="closed")?this.state=Pe.CLOSED:a.some(l=>l==="closed")?this.state=Pe.CLOSING:a.every(l=>l==="new")&&(this.state=Pe.NEW),o!==this.state&&(this.log.debug("pc state change: from ".concat(Pe[o]," to ").concat(Pe[this.state]),this.logContext),(s=this.onStateChange)===null||s===void 0||s.call(this,this.state,this.publisher.getConnectionState(),this.subscriber.getConnectionState()))},this.log=Sn((i=r.loggerName)!==null&&i!==void 0?i:Ht.PCManager),this.loggerOptions=r,this.isPublisherConnectionRequired=!n,this.isSubscriberConnectionRequired=n,this.publisher=new Sy(e,r),this.subscriber=new Sy(e,r),this.publisher.onConnectionStateChange=this.updateState,this.subscriber.onConnectionStateChange=this.updateState,this.publisher.onIceConnectionStateChange=this.updateState,this.subscriber.onIceConnectionStateChange=this.updateState,this.publisher.onSignalingStatechange=this.updateState,this.subscriber.onSignalingStatechange=this.updateState,this.publisher.onIceCandidate=s=>{var o;(o=this.onIceCandidate)===null||o===void 0||o.call(this,s,zt.PUBLISHER)},this.subscriber.onIceCandidate=s=>{var o;(o=this.onIceCandidate)===null||o===void 0||o.call(this,s,zt.SUBSCRIBER)},this.subscriber.onDataChannel=s=>{var o;(o=this.onDataChannel)===null||o===void 0||o.call(this,s)},this.subscriber.onTrack=s=>{var o;(o=this.onTrack)===null||o===void 0||o.call(this,s)},this.publisher.onOffer=s=>{var o;(o=this.onPublisherOffer)===null||o===void 0||o.call(this,s)},this.state=Pe.NEW,this.connectionLock=new Ct,this.remoteOfferLock=new Ct}get logContext(){var e,n;return Object.assign({},(n=(e=this.loggerOptions).loggerContextCb)===null||n===void 0?void 0:n.call(e))}requirePublisher(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.isPublisherConnectionRequired=e,this.updateState()}requireSubscriber(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.isSubscriberConnectionRequired=e,this.updateState()}createAndSendPublisherOffer(e){return this.publisher.createAndSendOffer(e)}setPublisherAnswer(e){return this.publisher.setRemoteDescription(e)}removeTrack(e){return this.publisher.removeTrack(e)}close(){return S(this,void 0,void 0,function*(){if(this.publisher&&this.publisher.getSignallingState()!=="closed"){const e=this.publisher;for(const n of e.getSenders())try{e.canRemoveTrack()&&e.removeTrack(n)}catch(r){this.log.warn("could not removeTrack",Object.assign(Object.assign({},this.logContext),{error:r}))}}yield Promise.all([this.publisher.close(),this.subscriber.close()]),this.updateState()})}triggerIceRestart(){return S(this,void 0,void 0,function*(){this.subscriber.restartingIce=!0,this.needsPublisher&&(yield this.createAndSendPublisherOffer({iceRestart:!0}))})}addIceCandidate(e,n){return S(this,void 0,void 0,function*(){n===zt.PUBLISHER?yield this.publisher.addIceCandidate(e):yield this.subscriber.addIceCandidate(e)})}createSubscriberAnswerFromOffer(e){return S(this,void 0,void 0,function*(){this.log.debug("received server offer",Object.assign(Object.assign({},this.logContext),{RTCSdpType:e.type,sdp:e.sdp,signalingState:this.subscriber.getSignallingState().toString()}));const n=yield this.remoteOfferLock.lock();try{return yield this.subscriber.setRemoteDescription(e),yield this.subscriber.createAndSetAnswer()}finally{n()}})}updateConfiguration(e,n){this.publisher.setConfiguration(e),this.subscriber.setConfiguration(e),n&&this.triggerIceRestart()}ensurePCTransportConnection(e,n){return S(this,void 0,void 0,function*(){var r;const i=yield this.connectionLock.lock();try{this.isPublisherConnectionRequired&&this.publisher.getConnectionState()!=="connected"&&this.publisher.getConnectionState()!=="connecting"&&(this.log.debug("negotiation required, start negotiating",this.logContext),this.publisher.negotiate()),yield Promise.all((r=this.requiredTransports)===null||r===void 0?void 0:r.map(s=>this.ensureTransportConnected(s,e,n)))}finally{i()}})}negotiate(e){return S(this,void 0,void 0,function*(){return new Promise((n,r)=>S(this,void 0,void 0,function*(){const i=setTimeout(()=>{r("negotiation timed out")},this.peerConnectionTimeout),s=()=>{clearTimeout(i),r("negotiation aborted")};e.signal.addEventListener("abort",s),this.publisher.once(Ni.NegotiationStarted,()=>{e.signal.aborted||this.publisher.once(Ni.NegotiationComplete,()=>{clearTimeout(i),n()})}),yield this.publisher.negotiate(o=>{clearTimeout(i),r(o)})}))})}addPublisherTransceiver(e,n){return this.publisher.addTransceiver(e,n)}addPublisherTrack(e){return this.publisher.addTrack(e)}createPublisherDataChannel(e,n){return this.publisher.createDataChannel(e,n)}getConnectedAddress(e){return e===zt.PUBLISHER?this.publisher.getConnectedAddress():e===zt.SUBSCRIBER?this.publisher.getConnectedAddress():this.requiredTransports[0].getConnectedAddress()}get requiredTransports(){const e=[];return this.isPublisherConnectionRequired&&e.push(this.publisher),this.isSubscriberConnectionRequired&&e.push(this.subscriber),e}ensureTransportConnected(e,n){return S(this,arguments,void 0,function(r,i){var s=this;let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.peerConnectionTimeout;return function*(){if(r.getConnectionState()!=="connected")return new Promise((l,c)=>S(s,void 0,void 0,function*(){const u=()=>{this.log.warn("abort transport connection",this.logContext),Ge.clearTimeout(d),c(new he("room connection has been cancelled",te.Cancelled))};i!=null&&i.signal.aborted&&u(),i==null||i.signal.addEventListener("abort",u);const d=Ge.setTimeout(()=>{i==null||i.signal.removeEventListener("abort",u),c(new he("could not establish pc connection",te.InternalError))},o);for(;this.state!==Pe.CONNECTED;)if(yield ht(50),i!=null&&i.signal.aborted){c(new he("room connection has been cancelled",te.Cancelled));return}Ge.clearTimeout(d),i==null||i.signal.removeEventListener("abort",u),l()}))}()})}}class _e extends Error{constructor(e,n,r){super(n),this.code=e,this.message=_y(n,_e.MAX_MESSAGE_BYTES),this.data=r?_y(r,_e.MAX_DATA_BYTES):void 0}static fromProto(e){return new _e(e.code,e.message,e.data)}toProto(){return new Hv({code:this.code,message:this.message,data:this.data})}static builtIn(e,n){return new _e(_e.ErrorCode[e],_e.ErrorMessage[e],n)}}_e.MAX_MESSAGE_BYTES=256,_e.MAX_DATA_BYTES=15360,_e.ErrorCode={APPLICATION_ERROR:1500,CONNECTION_TIMEOUT:1501,RESPONSE_TIMEOUT:1502,RECIPIENT_DISCONNECTED:1503,RESPONSE_PAYLOAD_TOO_LARGE:1504,SEND_FAILED:1505,UNSUPPORTED_METHOD:1400,RECIPIENT_NOT_FOUND:1401,REQUEST_PAYLOAD_TOO_LARGE:1402,UNSUPPORTED_SERVER:1403,UNSUPPORTED_VERSION:1404},_e.ErrorMessage={APPLICATION_ERROR:"Application error in method handler",CONNECTION_TIMEOUT:"Connection timeout",RESPONSE_TIMEOUT:"Response timeout",RECIPIENT_DISCONNECTED:"Recipient disconnected",RESPONSE_PAYLOAD_TOO_LARGE:"Response payload too large",SEND_FAILED:"Failed to send",UNSUPPORTED_METHOD:"Method not supported at destination",RECIPIENT_NOT_FOUND:"Recipient not found",REQUEST_PAYLOAD_TOO_LARGE:"Request payload too large",UNSUPPORTED_SERVER:"RPC not supported by server",UNSUPPORTED_VERSION:"Unsupported RPC version"};const Py=15360;function sf(t){return new TextEncoder().encode(t).length}function _y(t,e){if(sf(t)<=e)return t;let n=0,r=t.length;const i=new TextEncoder;for(;n<r;){const s=Math.floor((n+r+1)/2);i.encode(t.slice(0,s)).length<=e?n=s:r=s-1}return t.slice(0,n)}const of=2e3;function ul(t,e){if(!e)return 0;let n,r;return"bytesReceived"in t?(n=t.bytesReceived,r=e.bytesReceived):"bytesSent"in t&&(n=t.bytesSent,r=e.bytesSent),n===void 0||r===void 0||t.timestamp===void 0||e.timestamp===void 0?0:(n-r)*8*1e3/(t.timestamp-e.timestamp)}const ux=1e3;class Ry extends L{get sender(){return this._sender}set sender(e){this._sender=e}get constraints(){return this._constraints}constructor(e,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,s=arguments.length>4?arguments[4]:void 0;super(e,n,s),this.manuallyStopped=!1,this._isUpstreamPaused=!1,this.handleTrackMuteEvent=()=>this.debouncedTrackMuteHandler().catch(()=>this.log.debug("track mute bounce got cancelled by an unmute event",this.logContext)),this.debouncedTrackMuteHandler=tf(()=>S(this,void 0,void 0,function*(){yield this.pauseUpstream()}),5e3),this.handleTrackUnmuteEvent=()=>S(this,void 0,void 0,function*(){this.debouncedTrackMuteHandler.cancel("unmute"),yield this.resumeUpstream()}),this.handleEnded=()=>{this.isInBackground&&(this.reacquireTrack=!0),this._mediaStreamTrack.removeEventListener("mute",this.handleTrackMuteEvent),this._mediaStreamTrack.removeEventListener("unmute",this.handleTrackUnmuteEvent),this.emit(j.Ended,this)},this.reacquireTrack=!1,this.providedByUser=i,this.muteLock=new Ct,this.pauseUpstreamLock=new Ct,this.processorLock=new Ct,this.restartLock=new Ct,this.setMediaStreamTrack(e,!0),this._constraints=e.getConstraints(),r&&(this._constraints=r)}get id(){return this._mediaStreamTrack.id}get dimensions(){if(this.kind!==L.Kind.Video)return;const{width:e,height:n}=this._mediaStreamTrack.getSettings();if(e&&n)return{width:e,height:n}}get isUpstreamPaused(){return this._isUpstreamPaused}get isUserProvided(){return this.providedByUser}get mediaStreamTrack(){var e,n;return(n=(e=this.processor)===null||e===void 0?void 0:e.processedTrack)!==null&&n!==void 0?n:this._mediaStreamTrack}get isLocal(){return!0}getSourceTrackSettings(){return this._mediaStreamTrack.getSettings()}setMediaStreamTrack(e,n){return S(this,void 0,void 0,function*(){var r;if(e===this._mediaStreamTrack&&!n)return;this._mediaStreamTrack&&(this.attachedElements.forEach(s=>{Ii(this._mediaStreamTrack,s)}),this.debouncedTrackMuteHandler.cancel("new-track"),this._mediaStreamTrack.removeEventListener("ended",this.handleEnded),this._mediaStreamTrack.removeEventListener("mute",this.handleTrackMuteEvent),this._mediaStreamTrack.removeEventListener("unmute",this.handleTrackUnmuteEvent)),this.mediaStream=new MediaStream([e]),e&&(e.addEventListener("ended",this.handleEnded),e.addEventListener("mute",this.handleTrackMuteEvent),e.addEventListener("unmute",this.handleTrackUnmuteEvent),this._constraints=e.getConstraints());let i;if(this.processor&&e){const s=yield this.processorLock.lock();try{if(this.log.debug("restarting processor",this.logContext),this.kind==="unknown")throw TypeError("cannot set processor on track of unknown kind");this.processorElement&&(Ri(e,this.processorElement),this.processorElement.muted=!0),yield this.processor.restart({track:e,kind:this.kind,element:this.processorElement}),i=this.processor.processedTrack}finally{s()}}this.sender&&((r=this.sender.transport)===null||r===void 0?void 0:r.state)!=="closed"&&(yield this.sender.replaceTrack(i??e)),!this.providedByUser&&this._mediaStreamTrack!==e&&this._mediaStreamTrack.stop(),this._mediaStreamTrack=e,e&&(this._mediaStreamTrack.enabled=!this.isMuted,yield this.resumeUpstream(),this.attachedElements.forEach(s=>{Ri(i??e,s)}))})}waitForDimensions(){return S(this,arguments,void 0,function(){var e=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ux;return function*(){var r;if(e.kind===L.Kind.Audio)throw new Error("cannot get dimensions for audio tracks");((r=$t())===null||r===void 0?void 0:r.os)==="iOS"&&(yield ht(10));const i=Date.now();for(;Date.now()-i<n;){const s=e.dimensions;if(s)return s;yield ht(50)}throw new wn("unable to get track dimensions after timeout")}()})}setDeviceId(e){return S(this,void 0,void 0,function*(){return this._constraints.deviceId===e&&this._mediaStreamTrack.getSettings().deviceId===sr(e)||(this._constraints.deviceId=e,this.isMuted)?!0:(yield this.restartTrack(),sr(e)===this._mediaStreamTrack.getSettings().deviceId)})}getDeviceId(){return S(this,arguments,void 0,function(){var e=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return function*(){if(e.source===L.Source.ScreenShare)return;const{deviceId:r,groupId:i}=e._mediaStreamTrack.getSettings(),s=e.kind===L.Kind.Audio?"audioinput":"videoinput";return n?Ve.getInstance().normalizeDeviceId(s,r,i):r}()})}mute(){return S(this,void 0,void 0,function*(){return this.setTrackMuted(!0),this})}unmute(){return S(this,void 0,void 0,function*(){return this.setTrackMuted(!1),this})}replaceTrack(e,n){return S(this,void 0,void 0,function*(){if(!this.sender)throw new wn("unable to replace an unpublished track");let r,i;return typeof n=="boolean"?r=n:n!==void 0&&(r=n.userProvidedTrack,i=n.stopProcessor),this.providedByUser=r??!0,this.log.debug("replace MediaStreamTrack",this.logContext),yield this.setMediaStreamTrack(e),i&&this.processor&&(yield this.stopProcessor()),this})}restart(e){return S(this,void 0,void 0,function*(){this.manuallyStopped=!1;const n=yield this.restartLock.lock();try{e||(e=this._constraints);const{deviceId:r,facingMode:i}=e,s=e2(e,["deviceId","facingMode"]);this.log.debug("restarting track with constraints",Object.assign(Object.assign({},this.logContext),{constraints:e}));const o={audio:!1,video:!1};this.kind===L.Kind.Video?o.video=r||i?{deviceId:r,facingMode:i}:!0:o.audio=r?{deviceId:r}:!0,this.attachedElements.forEach(c=>{Ii(this.mediaStreamTrack,c)}),this._mediaStreamTrack.removeEventListener("ended",this.handleEnded),this._mediaStreamTrack.stop();const l=(yield navigator.mediaDevices.getUserMedia(o)).getTracks()[0];return yield l.applyConstraints(s),l.addEventListener("ended",this.handleEnded),this.log.debug("re-acquired MediaStreamTrack",this.logContext),yield this.setMediaStreamTrack(l),this._constraints=e,this.emit(j.Restarted,this),this.manuallyStopped&&(this.log.warn("track was stopped during a restart, stopping restarted track",this.logContext),this.stop()),this}finally{n()}})}setTrackMuted(e){this.log.debug("setting ".concat(this.kind," track ").concat(e?"muted":"unmuted"),this.logContext),!(this.isMuted===e&&this._mediaStreamTrack.enabled!==e)&&(this.isMuted=e,this._mediaStreamTrack.enabled=!e,this.emit(e?j.Muted:j.Unmuted,this))}get needsReAcquisition(){return this._mediaStreamTrack.readyState!=="live"||this._mediaStreamTrack.muted||!this._mediaStreamTrack.enabled||this.reacquireTrack}handleAppVisibilityChanged(){const e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return S(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),ry()&&(this.log.debug("visibility changed, is in Background: ".concat(this.isInBackground),this.logContext),!this.isInBackground&&this.needsReAcquisition&&!this.isUserProvided&&!this.isMuted&&(this.log.debug("track needs to be reacquired, restarting ".concat(this.source),this.logContext),yield this.restart(),this.reacquireTrack=!1))})}stop(){var e;this.manuallyStopped=!0,super.stop(),this._mediaStreamTrack.removeEventListener("ended",this.handleEnded),this._mediaStreamTrack.removeEventListener("mute",this.handleTrackMuteEvent),this._mediaStreamTrack.removeEventListener("unmute",this.handleTrackUnmuteEvent),(e=this.processor)===null||e===void 0||e.destroy(),this.processor=void 0}pauseUpstream(){return S(this,void 0,void 0,function*(){var e;const n=yield this.pauseUpstreamLock.lock();try{if(this._isUpstreamPaused===!0)return;if(!this.sender){this.log.warn("unable to pause upstream for an unpublished track",this.logContext);return}this._isUpstreamPaused=!0,this.emit(j.UpstreamPaused,this);const r=$t();if((r==null?void 0:r.name)==="Safari"&&Nr(r.version,"12.0")<0)throw new Id("pauseUpstream is not supported on Safari < 12.");((e=this.sender.transport)===null||e===void 0?void 0:e.state)!=="closed"&&(yield this.sender.replaceTrack(null))}finally{n()}})}resumeUpstream(){return S(this,void 0,void 0,function*(){var e;const n=yield this.pauseUpstreamLock.lock();try{if(this._isUpstreamPaused===!1)return;if(!this.sender){this.log.warn("unable to resume upstream for an unpublished track",this.logContext);return}this._isUpstreamPaused=!1,this.emit(j.UpstreamResumed,this),((e=this.sender.transport)===null||e===void 0?void 0:e.state)!=="closed"&&(yield this.sender.replaceTrack(this.mediaStreamTrack))}finally{n()}})}getRTCStatsReport(){return S(this,void 0,void 0,function*(){var e;return!((e=this.sender)===null||e===void 0)&&e.getStats?yield this.sender.getStats():void 0})}setProcessor(e){return S(this,arguments,void 0,function(n){var r=this;let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return function*(){var s;const o=yield r.processorLock.lock();try{r.log.debug("setting up processor",r.logContext);const a=document.createElement(r.kind),l={kind:r.kind,track:r._mediaStreamTrack,element:a,audioContext:r.audioContext};if(yield n.init(l),r.log.debug("processor initialized",r.logContext),r.processor&&(yield r.stopProcessor()),r.kind==="unknown")throw TypeError("cannot set processor on track of unknown kind");if(Ri(r._mediaStreamTrack,a),a.muted=!0,a.play().catch(c=>r.log.error("failed to play processor element",Object.assign(Object.assign({},r.logContext),{error:c}))),r.processor=n,r.processorElement=a,r.processor.processedTrack){for(const c of r.attachedElements)c!==r.processorElement&&i&&(Ii(r._mediaStreamTrack,c),Ri(r.processor.processedTrack,c));yield(s=r.sender)===null||s===void 0?void 0:s.replaceTrack(r.processor.processedTrack)}r.emit(j.TrackProcessorUpdate,r.processor)}finally{o()}}()})}getProcessor(){return this.processor}stopProcessor(){return S(this,arguments,void 0,function(){var e=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return function*(){var r,i;e.processor&&(e.log.debug("stopping processor",e.logContext),(r=e.processor.processedTrack)===null||r===void 0||r.stop(),yield e.processor.destroy(),e.processor=void 0,n||((i=e.processorElement)===null||i===void 0||i.remove(),e.processorElement=void 0),yield e._mediaStreamTrack.applyConstraints(e._constraints),yield e.setMediaStreamTrack(e._mediaStreamTrack,!0),e.emit(j.TrackProcessorUpdate))}()})}}class dl extends Ry{get enhancedNoiseCancellation(){return this.isKrispNoiseFilterEnabled}constructor(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,i=arguments.length>3?arguments[3]:void 0,s=arguments.length>4?arguments[4]:void 0;super(e,L.Kind.Audio,n,r,s),this.stopOnMute=!1,this.isKrispNoiseFilterEnabled=!1,this.monitorSender=()=>S(this,void 0,void 0,function*(){if(!this.sender){this._currentBitrate=0;return}let o;try{o=yield this.getSenderStats()}catch(a){this.log.error("could not get audio sender stats",Object.assign(Object.assign({},this.logContext),{error:a}));return}o&&this.prevStats&&(this._currentBitrate=ul(o,this.prevStats)),this.prevStats=o}),this.handleKrispNoiseFilterEnable=()=>{this.isKrispNoiseFilterEnabled=!0,this.log.debug("Krisp noise filter enabled",this.logContext),this.emit(j.AudioTrackFeatureUpdate,this,rn.TF_ENHANCED_NOISE_CANCELLATION,!0)},this.handleKrispNoiseFilterDisable=()=>{this.isKrispNoiseFilterEnabled=!1,this.log.debug("Krisp noise filter disabled",this.logContext),this.emit(j.AudioTrackFeatureUpdate,this,rn.TF_ENHANCED_NOISE_CANCELLATION,!1)},this.audioContext=i,this.checkForSilence()}mute(){const e=Object.create(null,{mute:{get:()=>super.mute}});return S(this,void 0,void 0,function*(){const n=yield this.muteLock.lock();try{return this.isMuted?(this.log.debug("Track already muted",this.logContext),this):(this.source===L.Source.Microphone&&this.stopOnMute&&!this.isUserProvided&&(this.log.debug("stopping mic track",this.logContext),this._mediaStreamTrack.stop()),yield e.mute.call(this),this)}finally{n()}})}unmute(){const e=Object.create(null,{unmute:{get:()=>super.unmute}});return S(this,void 0,void 0,function*(){const n=yield this.muteLock.lock();try{if(!this.isMuted)return this.log.debug("Track already unmuted",this.logContext),this;const r=this._constraints.deviceId&&this._mediaStreamTrack.getSettings().deviceId!==sr(this._constraints.deviceId);return this.source===L.Source.Microphone&&(this.stopOnMute||this._mediaStreamTrack.readyState==="ended"||r)&&!this.isUserProvided&&(this.log.debug("reacquiring mic track",this.logContext),yield this.restartTrack()),yield e.unmute.call(this),this}finally{n()}})}restartTrack(e){return S(this,void 0,void 0,function*(){let n;if(e){const r=al({audio:e});typeof r.audio!="boolean"&&(n=r.audio)}yield this.restart(n)})}restart(e){const n=Object.create(null,{restart:{get:()=>super.restart}});return S(this,void 0,void 0,function*(){const r=yield n.restart.call(this,e);return this.checkForSilence(),r})}startMonitor(){pt()&&(this.monitorInterval||(this.monitorInterval=setInterval(()=>{this.monitorSender()},of)))}setProcessor(e){return S(this,void 0,void 0,function*(){var n;const r=yield this.processorLock.lock();try{if(!an()&&!this.audioContext)throw Error("Audio context needs to be set on LocalAudioTrack in order to enable processors");this.processor&&(yield this.stopProcessor());const i={kind:this.kind,track:this._mediaStreamTrack,audioContext:this.audioContext};this.log.debug("setting up audio processor ".concat(e.name),this.logContext),yield e.init(i),this.processor=e,this.processor.processedTrack&&(yield(n=this.sender)===null||n===void 0?void 0:n.replaceTrack(this.processor.processedTrack),this.processor.processedTrack.addEventListener("enable-lk-krisp-noise-filter",this.handleKrispNoiseFilterEnable),this.processor.processedTrack.addEventListener("disable-lk-krisp-noise-filter",this.handleKrispNoiseFilterDisable)),this.emit(j.TrackProcessorUpdate,this.processor)}finally{r()}})}setAudioContext(e){this.audioContext=e}getSenderStats(){return S(this,void 0,void 0,function*(){var e;if(!(!((e=this.sender)===null||e===void 0)&&e.getStats))return;const n=yield this.sender.getStats();let r;return n.forEach(i=>{i.type==="outbound-rtp"&&(r={type:"audio",streamId:i.id,packetsSent:i.packetsSent,packetsLost:i.packetsLost,bytesSent:i.bytesSent,timestamp:i.timestamp,roundTripTime:i.roundTripTime,jitter:i.jitter})}),r})}checkForSilence(){return S(this,void 0,void 0,function*(){const e=yield hy(this);return e&&(this.isMuted||this.log.warn("silence detected on local audio track",this.logContext),this.emit(j.AudioSilenceDetected)),e})}}function Iy(t,e,n){switch(t.kind){case"audio":return new dl(t,e,!1,void 0,n);case"video":return new hl(t,e,!1,n);default:throw new wn("unsupported track type: ".concat(t.kind))}}const dx=Object.values(qs),fx=Object.values(Dd),hx=Object.values(Ad),px=[qs.h180,qs.h360],mx=[Dd.h180,Dd.h360],gx=t=>[{scaleResolutionDownBy:2,fps:t.encoding.maxFramerate}].map(n=>{var r,i;return new de(Math.floor(t.width/n.scaleResolutionDownBy),Math.floor(t.height/n.scaleResolutionDownBy),Math.max(15e4,Math.floor(t.encoding.maxBitrate/(Math.pow(n.scaleResolutionDownBy,2)*(((r=t.encoding.maxFramerate)!==null&&r!==void 0?r:30)/((i=n.fps)!==null&&i!==void 0?i:30))))),n.fps,t.encoding.priority)}),af=["q","h","f"];function lf(t,e,n,r){var i,s;let o=r==null?void 0:r.videoEncoding;t&&(o=r==null?void 0:r.screenShareEncoding);const a=r==null?void 0:r.simulcast,l=r==null?void 0:r.scalabilityMode,c=r==null?void 0:r.videoCodec;if(!o&&!a&&!l||!e||!n)return[{}];o||(o=yx(t,e,n,c),X.debug("using video encoding",o));const u=o.maxFramerate,d=new de(e,n,o.maxBitrate,o.maxFramerate,o.priority);if(l&&Ws(c)){const v=new fl(l),y=[];if(v.spatial>3)throw new Error("unsupported scalabilityMode: ".concat(l));const T=$t();if(ir()||an()||(T==null?void 0:T.name)==="Chrome"&&Nr(T==null?void 0:T.version,"113")<0){const m=v.suffix=="h"?2:3;for(let b=0;b<v.spatial;b+=1)y.push({rid:af[2-b],maxBitrate:o.maxBitrate/Math.pow(m,b),maxFramerate:d.encoding.maxFramerate});y[0].scalabilityMode=l}else y.push({maxBitrate:o.maxBitrate,maxFramerate:d.encoding.maxFramerate,scalabilityMode:l});return d.encoding.priority&&(y[0].priority=d.encoding.priority,y[0].networkPriority=d.encoding.priority),X.debug("using svc encoding",{encodings:y}),y}if(!a)return[o];let f=[];t?f=(i=Ly(r==null?void 0:r.screenShareSimulcastLayers))!==null&&i!==void 0?i:Oy(t,d):f=(s=Ly(r==null?void 0:r.videoSimulcastLayers))!==null&&s!==void 0?s:Oy(t,d);let h;if(f.length>0){const v=f[0];f.length>1&&([,h]=f);const y=Math.max(e,n);if(y>=960&&h)return cf(e,n,[v,h,d],u);if(y>=480)return cf(e,n,[v,d],u)}return cf(e,n,[d])}function vx(t,e,n){var r,i,s,o;if(!n.backupCodec||n.backupCodec===!0||n.backupCodec.codec===n.videoCodec)return;e!==n.backupCodec.codec&&X.warn("requested a different codec than specified as backup",{serverRequested:e,backup:n.backupCodec.codec}),n.videoCodec=e,n.videoEncoding=n.backupCodec.encoding;const a=t.mediaStreamTrack.getSettings(),l=(r=a.width)!==null&&r!==void 0?r:(i=t.dimensions)===null||i===void 0?void 0:i.width,c=(s=a.height)!==null&&s!==void 0?s:(o=t.dimensions)===null||o===void 0?void 0:o.height;return t.source===L.Source.ScreenShare&&n.simulcast&&(n.simulcast=!1),lf(t.source===L.Source.ScreenShare,l,c,n)}function yx(t,e,n,r){const i=bx(t,e,n);let{encoding:s}=i[0];const o=Math.max(e,n);for(let a=0;a<i.length;a+=1){const l=i[a];if(s=l.encoding,l.width>=o)break}if(r)switch(r){case"av1":s=Object.assign({},s),s.maxBitrate=s.maxBitrate*.7;break;case"vp9":s=Object.assign({},s),s.maxBitrate=s.maxBitrate*.85;break}return s}function bx(t,e,n){if(t)return hx;const r=e>n?e/n:n/e;return Math.abs(r-16/9)<Math.abs(r-4/3)?dx:fx}function Oy(t,e){if(t)return gx(e);const{width:n,height:r}=e,i=n>r?n/r:r/n;return Math.abs(i-16/9)<Math.abs(i-4/3)?px:mx}function cf(t,e,n,r){const i=[];if(n.forEach((s,o)=>{if(o>=af.length)return;const a=Math.min(t,e),c={rid:af[o],scaleResolutionDownBy:Math.max(1,a/Math.min(s.width,s.height)),maxBitrate:s.encoding.maxBitrate},u=r&&s.encoding.maxFramerate?Math.min(r,s.encoding.maxFramerate):s.encoding.maxFramerate;u&&(c.maxFramerate=u);const d=Oi()||o===0;s.encoding.priority&&d&&(c.priority=s.encoding.priority,c.networkPriority=s.encoding.priority),i.push(c)}),an()&&sy()==="ios"){let s;i.forEach(a=>{s?a.maxFramerate&&a.maxFramerate>s&&(s=a.maxFramerate):s=a.maxFramerate});let o=!0;i.forEach(a=>{var l;a.maxFramerate!=s&&(o&&(o=!1,X.info("Simulcast on iOS React-Native requires all encodings to share the same framerate.")),X.info('Setting framerate of encoding "'.concat((l=a.rid)!==null&&l!==void 0?l:"",'" to ').concat(s)),a.maxFramerate=s)})}return i}function Ly(t){if(t)return t.sort((e,n)=>{const{encoding:r}=e,{encoding:i}=n;return r.maxBitrate>i.maxBitrate?1:r.maxBitrate<i.maxBitrate?-1:r.maxBitrate===i.maxBitrate&&r.maxFramerate&&i.maxFramerate?r.maxFramerate>i.maxFramerate?1:-1:0})}class fl{constructor(e){const n=e.match(/^L(\d)T(\d)(h|_KEY|_KEY_SHIFT){0,1}$/);if(!n)throw new Error("invalid scalability mode");if(this.spatial=parseInt(n[1]),this.temporal=parseInt(n[2]),n.length>3)switch(n[3]){case"h":case"_KEY":case"_KEY_SHIFT":this.suffix=n[3]}}toString(){var e;return"L".concat(this.spatial,"T").concat(this.temporal).concat((e=this.suffix)!==null&&e!==void 0?e:"")}}function kx(t){return t.source===L.Source.ScreenShare||t.constraints.height&&sr(t.constraints.height)>=1080?"maintain-resolution":"balanced"}const Cx=5e3;class hl extends Ry{get sender(){return this._sender}set sender(e){this._sender=e,this.degradationPreference&&this.setDegradationPreference(this.degradationPreference)}constructor(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,i=arguments.length>3?arguments[3]:void 0;super(e,L.Kind.Video,n,r,i),this.simulcastCodecs=new Map,this.degradationPreference="balanced",this.monitorSender=()=>S(this,void 0,void 0,function*(){if(!this.sender){this._currentBitrate=0;return}let s;try{s=yield this.getSenderStats()}catch(a){this.log.error("could not get audio sender stats",Object.assign(Object.assign({},this.logContext),{error:a}));return}const o=new Map(s.map(a=>[a.rid,a]));if(this.prevStats){let a=0;o.forEach((l,c)=>{var u;const d=(u=this.prevStats)===null||u===void 0?void 0:u.get(c);a+=ul(l,d)}),this._currentBitrate=a}this.prevStats=o}),this.senderLock=new Ct}get isSimulcast(){return!!(this.sender&&this.sender.getParameters().encodings.length>1)}startMonitor(e){var n;if(this.signalClient=e,!pt())return;const r=(n=this.sender)===null||n===void 0?void 0:n.getParameters();r&&(this.encodings=r.encodings),!this.monitorInterval&&(this.monitorInterval=setInterval(()=>{this.monitorSender()},of))}stop(){this._mediaStreamTrack.getConstraints(),this.simulcastCodecs.forEach(e=>{e.mediaStreamTrack.stop()}),super.stop()}pauseUpstream(){const e=Object.create(null,{pauseUpstream:{get:()=>super.pauseUpstream}});return S(this,void 0,void 0,function*(){var n,r,i,s,o;yield e.pauseUpstream.call(this);try{for(var a=!0,l=er(this.simulcastCodecs.values()),c;c=yield l.next(),n=c.done,!n;a=!0)s=c.value,a=!1,yield(o=s.sender)===null||o===void 0?void 0:o.replaceTrack(null)}catch(u){r={error:u}}finally{try{!a&&!n&&(i=l.return)&&(yield i.call(l))}finally{if(r)throw r.error}}})}resumeUpstream(){const e=Object.create(null,{resumeUpstream:{get:()=>super.resumeUpstream}});return S(this,void 0,void 0,function*(){var n,r,i,s,o;yield e.resumeUpstream.call(this);try{for(var a=!0,l=er(this.simulcastCodecs.values()),c;c=yield l.next(),n=c.done,!n;a=!0){s=c.value,a=!1;const u=s;yield(o=u.sender)===null||o===void 0?void 0:o.replaceTrack(u.mediaStreamTrack)}}catch(u){r={error:u}}finally{try{!a&&!n&&(i=l.return)&&(yield i.call(l))}finally{if(r)throw r.error}}})}mute(){const e=Object.create(null,{mute:{get:()=>super.mute}});return S(this,void 0,void 0,function*(){const n=yield this.muteLock.lock();try{return this.isMuted?(this.log.debug("Track already muted",this.logContext),this):(this.source===L.Source.Camera&&!this.isUserProvided&&(this.log.debug("stopping camera track",this.logContext),this._mediaStreamTrack.stop()),yield e.mute.call(this),this)}finally{n()}})}unmute(){const e=Object.create(null,{unmute:{get:()=>super.unmute}});return S(this,void 0,void 0,function*(){const n=yield this.muteLock.lock();try{return this.isMuted?(this.source===L.Source.Camera&&!this.isUserProvided&&(this.log.debug("reacquiring camera track",this.logContext),yield this.restartTrack()),yield e.unmute.call(this),this):(this.log.debug("Track already unmuted",this.logContext),this)}finally{n()}})}setTrackMuted(e){super.setTrackMuted(e);for(const n of this.simulcastCodecs.values())n.mediaStreamTrack.enabled=!e}getSenderStats(){return S(this,void 0,void 0,function*(){var e;if(!(!((e=this.sender)===null||e===void 0)&&e.getStats))return[];const n=[],r=yield this.sender.getStats();return r.forEach(i=>{var s;if(i.type==="outbound-rtp"){const o={type:"video",streamId:i.id,frameHeight:i.frameHeight,frameWidth:i.frameWidth,framesPerSecond:i.framesPerSecond,framesSent:i.framesSent,firCount:i.firCount,pliCount:i.pliCount,nackCount:i.nackCount,packetsSent:i.packetsSent,bytesSent:i.bytesSent,qualityLimitationReason:i.qualityLimitationReason,qualityLimitationDurations:i.qualityLimitationDurations,qualityLimitationResolutionChanges:i.qualityLimitationResolutionChanges,rid:(s=i.rid)!==null&&s!==void 0?s:i.id,retransmittedPacketsSent:i.retransmittedPacketsSent,targetBitrate:i.targetBitrate,timestamp:i.timestamp},a=r.get(i.remoteId);a&&(o.jitter=a.jitter,o.packetsLost=a.packetsLost,o.roundTripTime=a.roundTripTime),n.push(o)}}),n.sort((i,s)=>{var o,a;return((o=s.frameWidth)!==null&&o!==void 0?o:0)-((a=i.frameWidth)!==null&&a!==void 0?a:0)}),n})}setPublishingQuality(e){const n=[];for(let r=It.LOW;r<=It.HIGH;r+=1)n.push(new yd({quality:r,enabled:r<=e}));this.log.debug("setting publishing quality. max quality ".concat(e),this.logContext),this.setPublishingLayers(n)}restartTrack(e){return S(this,void 0,void 0,function*(){var n,r,i,s,o;let a;if(e){const d=al({video:e});typeof d.video!="boolean"&&(a=d.video)}yield this.restart(a);try{for(var l=!0,c=er(this.simulcastCodecs.values()),u;u=yield c.next(),n=u.done,!n;l=!0){s=u.value,l=!1;const d=s;d.sender&&((o=d.sender.transport)===null||o===void 0?void 0:o.state)!=="closed"&&(d.mediaStreamTrack=this.mediaStreamTrack.clone(),yield d.sender.replaceTrack(d.mediaStreamTrack))}}catch(d){r={error:d}}finally{try{!l&&!n&&(i=c.return)&&(yield i.call(c))}finally{if(r)throw r.error}}})}setProcessor(e){const n=Object.create(null,{setProcessor:{get:()=>super.setProcessor}});return S(this,arguments,void 0,function(r){var i=this;let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return function*(){var o,a,l,c,u,d;if(yield n.setProcessor.call(i,r,s),!((u=i.processor)===null||u===void 0)&&u.processedTrack)try{for(var f=!0,h=er(i.simulcastCodecs.values()),v;v=yield h.next(),o=v.done,!o;f=!0)c=v.value,f=!1,yield(d=c.sender)===null||d===void 0?void 0:d.replaceTrack(i.processor.processedTrack)}catch(y){a={error:y}}finally{try{!f&&!o&&(l=h.return)&&(yield l.call(h))}finally{if(a)throw a.error}}}()})}setDegradationPreference(e){return S(this,void 0,void 0,function*(){if(this.degradationPreference=e,this.sender)try{this.log.debug("setting degradationPreference to ".concat(e),this.logContext);const n=this.sender.getParameters();n.degradationPreference=e,this.sender.setParameters(n)}catch(n){this.log.warn("failed to set degradationPreference",Object.assign({error:n},this.logContext))}})}addSimulcastTrack(e,n){if(this.simulcastCodecs.has(e)){this.log.error("".concat(e," already added, skipping adding simulcast codec"),this.logContext);return}const r={codec:e,mediaStreamTrack:this.mediaStreamTrack.clone(),sender:void 0,encodings:n};return this.simulcastCodecs.set(e,r),r}setSimulcastTrackSender(e,n){const r=this.simulcastCodecs.get(e);r&&(r.sender=n,setTimeout(()=>{this.subscribedCodecs&&this.setPublishingCodecs(this.subscribedCodecs)},Cx))}setPublishingCodecs(e){return S(this,void 0,void 0,function*(){var n,r,i,s,o,a,l;if(this.log.debug("setting publishing codecs",Object.assign(Object.assign({},this.logContext),{codecs:e,currentCodec:this.codec})),!this.codec&&e.length>0)return yield this.setPublishingLayers(e[0].qualities),[];this.subscribedCodecs=e;const c=[];try{for(n=!0,r=er(e);i=yield r.next(),s=i.done,!s;n=!0){l=i.value,n=!1;const u=l;if(!this.codec||this.codec===u.codec)yield this.setPublishingLayers(u.qualities);else{const d=this.simulcastCodecs.get(u.codec);if(this.log.debug("try setPublishingCodec for ".concat(u.codec),Object.assign(Object.assign({},this.logContext),{simulcastCodecInfo:d})),!d||!d.sender){for(const f of u.qualities)if(f.enabled){c.push(u.codec);break}}else d.encodings&&(this.log.debug("try setPublishingLayersForSender ".concat(u.codec),this.logContext),yield My(d.sender,d.encodings,u.qualities,this.senderLock,this.log,this.logContext))}}}catch(u){o={error:u}}finally{try{!n&&!s&&(a=r.return)&&(yield a.call(r))}finally{if(o)throw o.error}}return c})}setPublishingLayers(e){return S(this,void 0,void 0,function*(){this.log.debug("setting publishing layers",Object.assign(Object.assign({},this.logContext),{qualities:e})),!(!this.sender||!this.encodings)&&(yield My(this.sender,this.encodings,e,this.senderLock,this.log,this.logContext))})}handleAppVisibilityChanged(){const e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return S(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),ry()&&this.isInBackground&&this.source===L.Source.Camera&&(this._mediaStreamTrack.enabled=!1)})}}function My(t,e,n,r,i,s){return S(this,void 0,void 0,function*(){const o=yield r.lock();i.debug("setPublishingLayersForSender",Object.assign(Object.assign({},s),{sender:t,qualities:n,senderEncodings:e}));try{const a=t.getParameters(),{encodings:l}=a;if(!l)return;if(l.length!==e.length){i.warn("cannot set publishing layers, encodings mismatch",Object.assign(Object.assign({},s),{encodings:l,senderEncodings:e}));return}let c=!1;const u=$t();if((u==null?void 0:u.name)==="Chrome"&&Nr(u==null?void 0:u.version,"133")>0&&l[0].scalabilityMode){const f=l[0],h=new fl(f.scalabilityMode);let v=Ti.OFF;if(n.forEach(y=>{y.enabled&&(v===Ti.OFF||y.quality>v)&&(v=y.quality)}),v===Ti.OFF)f.active&&(f.active=!1,c=!0);else if(!f.active||h.spatial!==v+1){c=!0,f.active=!0;const y=new fl(e[0].scalabilityMode);h.spatial=v+1,h.suffix=y.suffix,h.spatial===1&&(h.suffix=void 0),f.scalabilityMode=h.toString(),f.scaleResolutionDownBy=Math.pow(2,2-v),e[0].maxBitrate&&(f.maxBitrate=e[0].maxBitrate/(f.scaleResolutionDownBy*f.scaleResolutionDownBy))}}else l.forEach((f,h)=>{var v;let y=(v=f.rid)!==null&&v!==void 0?v:"";y===""&&(y="q");const T=Ny(y),m=n.find(b=>b.quality===T);m&&f.active!==m.enabled&&(c=!0,f.active=m.enabled,i.debug("setting layer ".concat(m.quality," to ").concat(f.active?"enabled":"disabled"),s),Oi()&&(m.enabled?(f.scaleResolutionDownBy=e[h].scaleResolutionDownBy,f.maxBitrate=e[h].maxBitrate,f.maxFrameRate=e[h].maxFrameRate):(f.scaleResolutionDownBy=4,f.maxBitrate=10,f.maxFrameRate=2)))});c&&(a.encodings=l,i.debug("setting encodings",Object.assign(Object.assign({},s),{encodings:a.encodings})),yield t.setParameters(a))}finally{o()}})}function Ny(t){switch(t){case"f":return It.HIGH;case"h":return It.MEDIUM;case"q":return It.LOW;default:return It.HIGH}}function Dy(t,e,n,r){if(!n)return[new Or({quality:It.HIGH,width:t,height:e,bitrate:0,ssrc:0})];if(r){const i=n[0].scalabilityMode,s=new fl(i),o=[],a=s.suffix=="h"?1.5:2,l=s.suffix=="h"?2:3;for(let c=0;c<s.spatial;c+=1)o.push(new Or({quality:Math.min(It.HIGH,s.spatial-1)-c,width:Math.ceil(t/Math.pow(a,c)),height:Math.ceil(e/Math.pow(a,c)),bitrate:n[0].maxBitrate?Math.ceil(n[0].maxBitrate/Math.pow(l,c)):0,ssrc:0}));return o}return n.map(i=>{var s,o,a;const l=(s=i.scaleResolutionDownBy)!==null&&s!==void 0?s:1;let c=Ny((o=i.rid)!==null&&o!==void 0?o:"");return new Or({quality:c,width:Math.ceil(t/l),height:Math.ceil(e/l),bitrate:(a=i.maxBitrate)!==null&&a!==void 0?a:0,ssrc:0})})}const Ay="_lossy",jy="_reliable",Sx=2*1e3,uf="leave-reconnect";var Wt;(function(t){t[t.New=0]="New",t[t.Connected=1]="Connected",t[t.Disconnected=2]="Disconnected",t[t.Reconnecting=3]="Reconnecting",t[t.Closed=4]="Closed"})(Wt||(Wt={}));class wx extends on.EventEmitter{get isClosed(){return this._isClosed}get pendingReconnect(){return!!this.reconnectTimeout}constructor(e){var n;super(),this.options=e,this.rtcConfig={},this.peerConnectionTimeout=rf.peerConnectionTimeout,this.fullReconnectOnNext=!1,this.subscriberPrimary=!1,this.pcState=Wt.New,this._isClosed=!0,this.pendingTrackResolvers={},this.reconnectAttempts=0,this.reconnectStart=0,this.attemptingReconnect=!1,this.joinAttempts=0,this.maxJoinAttempts=1,this.shouldFailNext=!1,this.log=X,this.handleDataChannel=r=>S(this,[r],void 0,function(i){var s=this;let{channel:o}=i;return function*(){if(o){if(o.label===jy)s.reliableDCSub=o;else if(o.label===Ay)s.lossyDCSub=o;else return;s.log.debug("on data channel ".concat(o.id,", ").concat(o.label),s.logContext),o.onmessage=s.handleDataMessage}}()}),this.handleDataMessage=r=>S(this,void 0,void 0,function*(){var i,s;const o=yield this.dataProcessLock.lock();try{let a;if(r.data instanceof ArrayBuffer)a=r.data;else if(r.data instanceof Blob)a=yield r.data.arrayBuffer();else{this.log.error("unsupported data type",Object.assign(Object.assign({},this.logContext),{data:r.data}));return}const l=ft.fromBinary(new Uint8Array(a));((i=l.value)===null||i===void 0?void 0:i.case)==="speaker"?this.emit(F.ActiveSpeakersUpdate,l.value.value.speakers):(((s=l.value)===null||s===void 0?void 0:s.case)==="user"&&xx(l,l.value.value),this.emit(F.DataPacketReceived,l))}finally{o()}}),this.handleDataError=r=>{const s=r.currentTarget.maxRetransmits===0?"lossy":"reliable";if(r instanceof ErrorEvent&&r.error){const{error:o}=r.error;this.log.error("DataChannel error on ".concat(s,": ").concat(r.message),Object.assign(Object.assign({},this.logContext),{error:o}))}else this.log.error("Unknown DataChannel error on ".concat(s),Object.assign(Object.assign({},this.logContext),{event:r}))},this.handleBufferedAmountLow=r=>{const s=r.currentTarget.maxRetransmits===0?re.LOSSY:re.RELIABLE;this.updateAndEmitDCBufferStatus(s)},this.handleDisconnect=(r,i)=>{if(this._isClosed)return;this.log.warn("".concat(r," disconnected"),this.logContext),this.reconnectAttempts===0&&(this.reconnectStart=Date.now());const s=l=>{this.log.warn("could not recover connection after ".concat(this.reconnectAttempts," attempts, ").concat(l,"ms. giving up"),this.logContext),this.emit(F.Disconnected),this.close()},o=Date.now()-this.reconnectStart;let a=this.getNextRetryDelay({elapsedMs:o,retryCount:this.reconnectAttempts});if(a===null){s(o);return}r===uf&&(a=0),this.log.debug("reconnecting in ".concat(a,"ms"),this.logContext),this.clearReconnectTimeout(),this.token&&this.regionUrlProvider&&this.regionUrlProvider.updateToken(this.token),this.reconnectTimeout=Ge.setTimeout(()=>this.attemptReconnect(i).finally(()=>this.reconnectTimeout=void 0),a)},this.waitForRestarted=()=>new Promise((r,i)=>{this.pcState===Wt.Connected&&r();const s=()=>{this.off(F.Disconnected,o),r()},o=()=>{this.off(F.Restarted,s),i()};this.once(F.Restarted,s),this.once(F.Disconnected,o)}),this.updateAndEmitDCBufferStatus=r=>{const i=this.isBufferStatusLow(r);typeof i<"u"&&i!==this.dcBufferStatus.get(r)&&(this.dcBufferStatus.set(r,i),this.emit(F.DCBufferStatusChanged,i,r))},this.isBufferStatusLow=r=>{const i=this.dataChannelForKind(r);if(i)return i.bufferedAmount<=i.bufferedAmountLowThreshold},this.handleBrowserOnLine=()=>{this.client.currentState===be.RECONNECTING&&(this.clearReconnectTimeout(),this.attemptReconnect(xi.RR_SIGNAL_DISCONNECTED))},this.log=Sn((n=e.loggerName)!==null&&n!==void 0?n:Ht.Engine),this.loggerOptions={loggerName:e.loggerName,loggerContextCb:()=>this.logContext},this.client=new Qd(void 0,this.loggerOptions),this.client.signalLatency=this.options.expSignalLatency,this.reconnectPolicy=this.options.reconnectPolicy,this.registerOnLineListener(),this.closingLock=new Ct,this.dataProcessLock=new Ct,this.dcBufferStatus=new Map([[re.LOSSY,!0],[re.RELIABLE,!0]]),this.client.onParticipantUpdate=r=>this.emit(F.ParticipantUpdate,r),this.client.onConnectionQuality=r=>this.emit(F.ConnectionQualityUpdate,r),this.client.onRoomUpdate=r=>this.emit(F.RoomUpdate,r),this.client.onSubscriptionError=r=>this.emit(F.SubscriptionError,r),this.client.onSubscriptionPermissionUpdate=r=>this.emit(F.SubscriptionPermissionUpdate,r),this.client.onSpeakersChanged=r=>this.emit(F.SpeakersChanged,r),this.client.onStreamStateUpdate=r=>this.emit(F.StreamStateChanged,r),this.client.onRequestResponse=r=>this.emit(F.SignalRequestResponse,r)}get logContext(){var e,n,r,i,s,o,a,l;return{room:(n=(e=this.latestJoinResponse)===null||e===void 0?void 0:e.room)===null||n===void 0?void 0:n.name,roomID:(i=(r=this.latestJoinResponse)===null||r===void 0?void 0:r.room)===null||i===void 0?void 0:i.sid,participant:(o=(s=this.latestJoinResponse)===null||s===void 0?void 0:s.participant)===null||o===void 0?void 0:o.identity,pID:(l=(a=this.latestJoinResponse)===null||a===void 0?void 0:a.participant)===null||l===void 0?void 0:l.sid}}join(e,n,r,i){return S(this,void 0,void 0,function*(){this.url=e,this.token=n,this.signalOpts=r,this.maxJoinAttempts=r.maxRetries;try{this.joinAttempts+=1,this.setupSignalClientCallbacks();const s=yield this.client.join(e,n,r,i);return this._isClosed=!1,this.latestJoinResponse=s,this.subscriberPrimary=s.subscriberPrimary,this.pcManager||(yield this.configure(s)),(!this.subscriberPrimary||s.fastPublish)&&this.negotiate(),this.clientConfiguration=s.clientConfiguration,s}catch(s){if(s instanceof he&&s.reason===te.ServerUnreachable&&(this.log.warn("Couldn't connect to server, attempt ".concat(this.joinAttempts," of ").concat(this.maxJoinAttempts),this.logContext),this.joinAttempts<this.maxJoinAttempts))return this.join(e,n,r,i);throw s}})}close(){return S(this,void 0,void 0,function*(){const e=yield this.closingLock.lock();if(this.isClosed){e();return}try{this._isClosed=!0,this.joinAttempts=0,this.emit(F.Closing),this.removeAllListeners(),this.deregisterOnLineListener(),this.clearPendingReconnect(),yield this.cleanupPeerConnections(),yield this.cleanupClient()}finally{e()}})}cleanupPeerConnections(){return S(this,void 0,void 0,function*(){var e;yield(e=this.pcManager)===null||e===void 0?void 0:e.close(),this.pcManager=void 0;const n=r=>{r&&(r.close(),r.onbufferedamountlow=null,r.onclose=null,r.onclosing=null,r.onerror=null,r.onmessage=null,r.onopen=null)};n(this.lossyDC),n(this.lossyDCSub),n(this.reliableDC),n(this.reliableDCSub),this.lossyDC=void 0,this.lossyDCSub=void 0,this.reliableDC=void 0,this.reliableDCSub=void 0})}cleanupClient(){return S(this,void 0,void 0,function*(){yield this.client.close(),this.client.resetCallbacks()})}addTrack(e){if(this.pendingTrackResolvers[e.cid])throw new wn("a track with the same ID has already been published");return new Promise((n,r)=>{const i=setTimeout(()=>{delete this.pendingTrackResolvers[e.cid],r(new he("publication of local track timed out, no response from server",te.InternalError))},1e4);this.pendingTrackResolvers[e.cid]={resolve:s=>{clearTimeout(i),n(s)},reject:()=>{clearTimeout(i),r(new Error("Cancelled publication by calling unpublish"))}},this.client.sendAddTrack(e)})}removeTrack(e){if(e.track&&this.pendingTrackResolvers[e.track.id]){const{reject:n}=this.pendingTrackResolvers[e.track.id];n&&n(),delete this.pendingTrackResolvers[e.track.id]}try{return this.pcManager.removeTrack(e),!0}catch(n){this.log.warn("failed to remove track",Object.assign(Object.assign({},this.logContext),{error:n}))}return!1}updateMuteStatus(e,n){this.client.sendMuteTrack(e,n)}get dataSubscriberReadyState(){var e;return(e=this.reliableDCSub)===null||e===void 0?void 0:e.readyState}getConnectedServerAddress(){return S(this,void 0,void 0,function*(){var e;return(e=this.pcManager)===null||e===void 0?void 0:e.getConnectedAddress()})}setRegionUrlProvider(e){this.regionUrlProvider=e}configure(e){return S(this,void 0,void 0,function*(){var n,r;if(this.pcManager&&this.pcManager.currentState!==Pe.NEW)return;this.participantSid=(n=e.participant)===null||n===void 0?void 0:n.sid;const i=this.makeRTCConfiguration(e);this.pcManager=new cx(i,e.subscriberPrimary,this.loggerOptions),this.emit(F.TransportsCreated,this.pcManager.publisher,this.pcManager.subscriber),this.pcManager.onIceCandidate=(s,o)=>{this.client.sendIceCandidate(s,o)},this.pcManager.onPublisherOffer=s=>{this.client.sendOffer(s)},this.pcManager.onDataChannel=this.handleDataChannel,this.pcManager.onStateChange=(s,o,a)=>S(this,void 0,void 0,function*(){if(this.log.debug("primary PC state changed ".concat(s),this.logContext),["closed","disconnected","failed"].includes(o)&&(this.publisherConnectionPromise=void 0),s===Pe.CONNECTED){const u=this.pcState===Wt.New;this.pcState=Wt.Connected,u&&this.emit(F.Connected,e)}else s===Pe.FAILED&&this.pcState===Wt.Connected&&(this.pcState=Wt.Disconnected,this.handleDisconnect("peerconnection failed",a==="failed"?xi.RR_SUBSCRIBER_FAILED:xi.RR_PUBLISHER_FAILED));const l=this.client.isDisconnected||this.client.currentState===be.RECONNECTING,c=[Pe.FAILED,Pe.CLOSING,Pe.CLOSED].includes(s);l&&c&&!this._isClosed&&this.emit(F.Offline)}),this.pcManager.onTrack=s=>{this.emit(F.MediaTrackAdded,s.track,s.streams[0],s.receiver)},Tx((r=e.serverInfo)===null||r===void 0?void 0:r.protocol)||this.createDataChannels()})}setupSignalClientCallbacks(){this.client.onAnswer=e=>S(this,void 0,void 0,function*(){this.pcManager&&(this.log.debug("received server answer",Object.assign(Object.assign({},this.logContext),{RTCSdpType:e.type})),yield this.pcManager.setPublisherAnswer(e))}),this.client.onTrickle=(e,n)=>{this.pcManager&&(this.log.debug("got ICE candidate from peer",Object.assign(Object.assign({},this.logContext),{candidate:e,target:n})),this.pcManager.addIceCandidate(e,n))},this.client.onOffer=e=>S(this,void 0,void 0,function*(){if(!this.pcManager)return;const n=yield this.pcManager.createSubscriberAnswerFromOffer(e);this.client.sendAnswer(n)}),this.client.onLocalTrackPublished=e=>{var n;if(this.log.debug("received trackPublishedResponse",Object.assign(Object.assign({},this.logContext),{cid:e.cid,track:(n=e.track)===null||n===void 0?void 0:n.sid})),!this.pendingTrackResolvers[e.cid]){this.log.error("missing track resolver for ".concat(e.cid),Object.assign(Object.assign({},this.logContext),{cid:e.cid}));return}const{resolve:r}=this.pendingTrackResolvers[e.cid];delete this.pendingTrackResolvers[e.cid],r(e.track)},this.client.onLocalTrackUnpublished=e=>{this.emit(F.LocalTrackUnpublished,e)},this.client.onLocalTrackSubscribed=e=>{this.emit(F.LocalTrackSubscribed,e)},this.client.onTokenRefresh=e=>{this.token=e},this.client.onRemoteMuteChanged=(e,n)=>{this.emit(F.RemoteMute,e,n)},this.client.onSubscribedQualityUpdate=e=>{this.emit(F.SubscribedQualityUpdate,e)},this.client.onClose=()=>{this.handleDisconnect("signal",xi.RR_SIGNAL_DISCONNECTED)},this.client.onLeave=e=>{switch(this.log.debug("client leave request",Object.assign(Object.assign({},this.logContext),{reason:e==null?void 0:e.reason})),e.regions&&this.regionUrlProvider&&(this.log.debug("updating regions",this.logContext),this.regionUrlProvider.setServerReportedRegions(e.regions)),e.action){case Pi.DISCONNECT:this.emit(F.Disconnected,e==null?void 0:e.reason),this.close();break;case Pi.RECONNECT:this.fullReconnectOnNext=!0,this.handleDisconnect(uf);break;case Pi.RESUME:this.handleDisconnect(uf)}}}makeRTCConfiguration(e){var n;const r=Object.assign({},this.rtcConfig);if(!((n=this.signalOpts)===null||n===void 0)&&n.e2eeEnabled&&(this.log.debug("E2EE - setting up transports with insertable streams",this.logContext),r.encodedInsertableStreams=!0),e.iceServers&&!r.iceServers){const i=[];e.iceServers.forEach(s=>{const o={urls:s.urls};s.username&&(o.username=s.username),s.credential&&(o.credential=s.credential),i.push(o)}),r.iceServers=i}return e.clientConfiguration&&e.clientConfiguration.forceRelay===Vs.ENABLED&&(r.iceTransportPolicy="relay"),r.sdpSemantics="unified-plan",r.continualGatheringPolicy="gather_continually",r}createDataChannels(){this.pcManager&&(this.lossyDC&&(this.lossyDC.onmessage=null,this.lossyDC.onerror=null),this.reliableDC&&(this.reliableDC.onmessage=null,this.reliableDC.onerror=null),this.lossyDC=this.pcManager.createPublisherDataChannel(Ay,{ordered:!0,maxRetransmits:0}),this.reliableDC=this.pcManager.createPublisherDataChannel(jy,{ordered:!0}),this.lossyDC.onmessage=this.handleDataMessage,this.reliableDC.onmessage=this.handleDataMessage,this.lossyDC.onerror=this.handleDataError,this.reliableDC.onerror=this.handleDataError,this.lossyDC.bufferedAmountLowThreshold=65535,this.reliableDC.bufferedAmountLowThreshold=65535,this.lossyDC.onbufferedamountlow=this.handleBufferedAmountLow,this.reliableDC.onbufferedamountlow=this.handleBufferedAmountLow)}createSender(e,n,r){return S(this,void 0,void 0,function*(){if(jd())return yield this.createTransceiverRTCRtpSender(e,n,r);if(Ud())return this.log.warn("using add-track fallback",this.logContext),yield this.createRTCRtpSender(e.mediaStreamTrack);throw new je("Required webRTC APIs not supported on this device")})}createSimulcastSender(e,n,r,i){return S(this,void 0,void 0,function*(){if(jd())return this.createSimulcastTransceiverSender(e,n,r,i);if(Ud())return this.log.debug("using add-track fallback",this.logContext),this.createRTCRtpSender(e.mediaStreamTrack);throw new je("Cannot stream on this device")})}createTransceiverRTCRtpSender(e,n,r){return S(this,void 0,void 0,function*(){if(!this.pcManager)throw new je("publisher is closed");const i=[];e.mediaStream&&i.push(e.mediaStream),Mi(e)&&(e.codec=n.videoCodec);const s={direction:"sendonly",streams:i};return r&&(s.sendEncodings=r),(yield this.pcManager.addPublisherTransceiver(e.mediaStreamTrack,s)).sender})}createSimulcastTransceiverSender(e,n,r,i){return S(this,void 0,void 0,function*(){if(!this.pcManager)throw new je("publisher is closed");const s={direction:"sendonly"};i&&(s.sendEncodings=i);const o=yield this.pcManager.addPublisherTransceiver(n.mediaStreamTrack,s);if(r.videoCodec)return e.setSimulcastTrackSender(r.videoCodec,o.sender),o.sender})}createRTCRtpSender(e){return S(this,void 0,void 0,function*(){if(!this.pcManager)throw new je("publisher is closed");return this.pcManager.addPublisherTrack(e)})}attemptReconnect(e){return S(this,void 0,void 0,function*(){var n,r,i;if(!this._isClosed){if(this.attemptingReconnect){X.warn("already attempting reconnect, returning early",this.logContext);return}(((n=this.clientConfiguration)===null||n===void 0?void 0:n.resumeConnection)===Vs.DISABLED||((i=(r=this.pcManager)===null||r===void 0?void 0:r.currentState)!==null&&i!==void 0?i:Pe.NEW)===Pe.NEW)&&(this.fullReconnectOnNext=!0);try{this.attemptingReconnect=!0,this.fullReconnectOnNext?yield this.restartConnection():yield this.resumeConnection(e),this.clearPendingReconnect(),this.fullReconnectOnNext=!1}catch(s){this.reconnectAttempts+=1;let o=!0;s instanceof je?(this.log.debug("received unrecoverable error",Object.assign(Object.assign({},this.logContext),{error:s})),o=!1):s instanceof Di||(this.fullReconnectOnNext=!0),o?this.handleDisconnect("reconnect",xi.RR_UNKNOWN):(this.log.info("could not recover connection after ".concat(this.reconnectAttempts," attempts, ").concat(Date.now()-this.reconnectStart,"ms. giving up"),this.logContext),this.emit(F.Disconnected),yield this.close())}finally{this.attemptingReconnect=!1}}})}getNextRetryDelay(e){try{return this.reconnectPolicy.nextRetryDelayInMs(e)}catch(n){this.log.warn("encountered error in reconnect policy",Object.assign(Object.assign({},this.logContext),{error:n}))}return null}restartConnection(e){return S(this,void 0,void 0,function*(){var n,r,i;try{if(!this.url||!this.token)throw new je("could not reconnect, url or token not saved");this.log.info("reconnecting, attempt: ".concat(this.reconnectAttempts),this.logContext),this.emit(F.Restarting),this.client.isDisconnected||(yield this.client.sendLeave()),yield this.cleanupPeerConnections(),yield this.cleanupClient();let s;try{if(!this.signalOpts)throw this.log.warn("attempted connection restart, without signal options present",this.logContext),new Di;s=yield this.join(e??this.url,this.token,this.signalOpts)}catch(o){throw o instanceof he&&o.reason===te.NotAllowed?new je("could not reconnect, token might be expired"):new Di}if(this.shouldFailNext)throw this.shouldFailNext=!1,new Error("simulated failure");if(this.client.setReconnected(),this.emit(F.SignalRestarted,s),yield this.waitForPCReconnected(),this.client.currentState!==be.CONNECTED)throw new Di("Signal connection got severed during reconnect");(n=this.regionUrlProvider)===null||n===void 0||n.resetAttempts(),this.emit(F.Restarted)}catch(s){const o=yield(r=this.regionUrlProvider)===null||r===void 0?void 0:r.getNextBestRegionUrl();if(o){yield this.restartConnection(o);return}else throw(i=this.regionUrlProvider)===null||i===void 0||i.resetAttempts(),s}})}resumeConnection(e){return S(this,void 0,void 0,function*(){var n;if(!this.url||!this.token)throw new je("could not reconnect, url or token not saved");if(!this.pcManager)throw new je("publisher and subscriber connections unset");this.log.info("resuming signal connection, attempt ".concat(this.reconnectAttempts),this.logContext),this.emit(F.Resuming);let r;try{this.setupSignalClientCallbacks(),r=yield this.client.reconnect(this.url,this.token,this.participantSid,e)}catch(i){let s="";throw i instanceof Error&&(s=i.message,this.log.error(i.message,Object.assign(Object.assign({},this.logContext),{error:i}))),i instanceof he&&i.reason===te.NotAllowed?new je("could not reconnect, token might be expired"):i instanceof he&&i.reason===te.LeaveRequest?i:new Di(s)}if(this.emit(F.SignalResumed),r){const i=this.makeRTCConfiguration(r);this.pcManager.updateConfiguration(i)}else this.log.warn("Did not receive reconnect response",this.logContext);if(this.shouldFailNext)throw this.shouldFailNext=!1,new Error("simulated failure");if(yield this.pcManager.triggerIceRestart(),yield this.waitForPCReconnected(),this.client.currentState!==be.CONNECTED)throw new Di("Signal connection got severed during reconnect");this.client.setReconnected(),((n=this.reliableDC)===null||n===void 0?void 0:n.readyState)==="open"&&this.reliableDC.id===null&&this.createDataChannels(),this.emit(F.Resumed)})}waitForPCInitialConnection(e,n){return S(this,void 0,void 0,function*(){if(!this.pcManager)throw new je("PC manager is closed");yield this.pcManager.ensurePCTransportConnection(n,e)})}waitForPCReconnected(){return S(this,void 0,void 0,function*(){this.pcState=Wt.Reconnecting,this.log.debug("waiting for peer connection to reconnect",this.logContext);try{if(yield ht(Sx),!this.pcManager)throw new je("PC manager is closed");yield this.pcManager.ensurePCTransportConnection(void 0,this.peerConnectionTimeout),this.pcState=Wt.Connected}catch(e){throw this.pcState=Wt.Disconnected,new he("could not establish PC connection, ".concat(e.message),te.InternalError)}})}publishRpcResponse(e,n,r,i){return S(this,void 0,void 0,function*(){const s=new ft({destinationIdentities:[e],kind:re.RELIABLE,value:{case:"rpcResponse",value:new zv({requestId:n,value:i?{case:"error",value:i.toProto()}:{case:"payload",value:r??""}})}});yield this.sendDataPacket(s,re.RELIABLE)})}publishRpcAck(e,n){return S(this,void 0,void 0,function*(){const r=new ft({destinationIdentities:[e],kind:re.RELIABLE,value:{case:"rpcAck",value:new Vv({requestId:n})}});yield this.sendDataPacket(r,re.RELIABLE)})}sendDataPacket(e,n){return S(this,void 0,void 0,function*(){const r=e.toBinary();yield this.ensurePublisherConnected(n);const i=this.dataChannelForKind(n);i&&i.send(r),this.updateAndEmitDCBufferStatus(n)})}waitForBufferStatusLow(e){return new Promise((n,r)=>S(this,void 0,void 0,function*(){if(this.isBufferStatusLow(e))n();else{const i=()=>r("Engine closed");for(this.once(F.Closing,i);!this.dcBufferStatus.get(e);)yield ht(10);this.off(F.Closing,i),n()}}))}ensureDataTransportConnected(e){return S(this,arguments,void 0,function(n){var r=this;let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.subscriberPrimary;return function*(){var s;if(!r.pcManager)throw new je("PC manager is closed");const o=i?r.pcManager.subscriber:r.pcManager.publisher,a=i?"Subscriber":"Publisher";if(!o)throw new he("".concat(a," connection not set"),te.InternalError);let l=!1;!i&&!r.dataChannelForKind(n,i)&&(r.createDataChannels(),l=!0),!l&&!i&&!r.pcManager.publisher.isICEConnected&&r.pcManager.publisher.getICEConnectionState()!=="checking"&&(l=!0),l&&r.negotiate();const c=r.dataChannelForKind(n,i);if((c==null?void 0:c.readyState)==="open")return;const u=new Date().getTime()+r.peerConnectionTimeout;for(;new Date().getTime()<u;){if(o.isICEConnected&&((s=r.dataChannelForKind(n,i))===null||s===void 0?void 0:s.readyState)==="open")return;yield ht(50)}throw new he("could not establish ".concat(a," connection, state: ").concat(o.getICEConnectionState()),te.InternalError)}()})}ensurePublisherConnected(e){return S(this,void 0,void 0,function*(){this.publisherConnectionPromise||(this.publisherConnectionPromise=this.ensureDataTransportConnected(e,!1)),yield this.publisherConnectionPromise})}verifyTransport(){return!(!this.pcManager||this.pcManager.currentState!==Pe.CONNECTED||!this.client.ws||this.client.ws.readyState===WebSocket.CLOSED)}negotiate(){return S(this,void 0,void 0,function*(){return new Promise((e,n)=>S(this,void 0,void 0,function*(){if(!this.pcManager){n(new Od("PC manager is closed"));return}this.pcManager.requirePublisher(),this.pcManager.publisher.getTransceivers().length==0&&!this.lossyDC&&!this.reliableDC&&this.createDataChannels();const r=new AbortController,i=()=>{r.abort(),this.log.debug("engine disconnected while negotiation was ongoing",this.logContext),e()};this.isClosed&&n("cannot negotiate on closed engine"),this.on(F.Closing,i),this.pcManager.publisher.once(Ni.RTPVideoPayloadTypes,s=>{const o=new Map;s.forEach(a=>{const l=a.codec.toLowerCase();A2(l)&&o.set(a.payload,l)}),this.emit(F.RTPVideoMapUpdate,o)});try{yield this.pcManager.negotiate(r),e()}catch(s){s instanceof Od&&(this.fullReconnectOnNext=!0),this.handleDisconnect("negotiation",xi.RR_UNKNOWN),n(s)}finally{this.off(F.Closing,i)}}))})}dataChannelForKind(e,n){if(n){if(e===re.LOSSY)return this.lossyDCSub;if(e===re.RELIABLE)return this.reliableDCSub}else{if(e===re.LOSSY)return this.lossyDC;if(e===re.RELIABLE)return this.reliableDC}}sendSyncState(e,n){var r,i;if(!this.pcManager){this.log.warn("sync state cannot be sent without peer connection setup",this.logContext);return}const s=this.pcManager.subscriber.getLocalDescription(),o=this.pcManager.subscriber.getRemoteDescription(),a=(i=(r=this.signalOpts)===null||r===void 0?void 0:r.autoSubscribe)!==null&&i!==void 0?i:!0,l=new Array,c=new Array;e.forEach(u=>{u.isDesired!==a&&l.push(u.trackSid),u.isEnabled||c.push(u.trackSid)}),this.client.sendSyncState(new o0({answer:s?cl({sdp:s.sdp,type:s.type}):void 0,offer:o?cl({sdp:o.sdp,type:o.type}):void 0,subscription:new Wa({trackSids:l,subscribe:!a,participantTracks:[]}),publishTracks:H2(n),dataChannels:this.dataChannelsInfo(),trackSidsDisabled:c}))}failNext(){this.shouldFailNext=!0}dataChannelsInfo(){const e=[],n=(r,i)=>{(r==null?void 0:r.id)!==void 0&&r.id!==null&&e.push(new a0({label:r.label,id:r.id,target:i}))};return n(this.dataChannelForKind(re.LOSSY),zt.PUBLISHER),n(this.dataChannelForKind(re.RELIABLE),zt.PUBLISHER),n(this.dataChannelForKind(re.LOSSY,!0),zt.SUBSCRIBER),n(this.dataChannelForKind(re.RELIABLE,!0),zt.SUBSCRIBER),e}clearReconnectTimeout(){this.reconnectTimeout&&Ge.clearTimeout(this.reconnectTimeout)}clearPendingReconnect(){this.clearReconnectTimeout(),this.reconnectAttempts=0}registerOnLineListener(){pt()&&window.addEventListener("online",this.handleBrowserOnLine)}deregisterOnLineListener(){pt()&&window.removeEventListener("online",this.handleBrowserOnLine)}}class Di extends Error{}function Tx(t){return t!==void 0&&t>13}function xx(t,e){const n=t.participantIdentity?t.participantIdentity:e.participantIdentity;t.participantIdentity=n,e.participantIdentity=n;const r=t.destinationIdentities.length!==0?t.destinationIdentities:e.destinationIdentities;t.destinationIdentities=r,e.destinationIdentities=r}class df{constructor(e,n){this.lastUpdateAt=0,this.settingsCacheTime=3e3,this.attemptedRegions=[],this.serverUrl=new URL(e),this.token=n}updateToken(e){this.token=e}isCloud(){return Bd(this.serverUrl)}getServerUrl(){return this.serverUrl}getNextBestRegionUrl(e){return S(this,void 0,void 0,function*(){if(!this.isCloud())throw Error("region availability is only supported for LiveKit Cloud domains");(!this.regionSettings||Date.now()-this.lastUpdateAt>this.settingsCacheTime)&&(this.regionSettings=yield this.fetchRegionSettings(e));const n=this.regionSettings.regions.filter(r=>!this.attemptedRegions.find(i=>i.url===r.url));if(n.length>0){const r=n[0];return this.attemptedRegions.push(r),X.debug("next region: ".concat(r.region)),r.url}else return null})}resetAttempts(){this.attemptedRegions=[]}fetchRegionSettings(e){return S(this,void 0,void 0,function*(){const n=yield fetch("".concat(Ex(this.serverUrl),"/regions"),{headers:{authorization:"Bearer ".concat(this.token)},signal:e});if(n.ok){const r=yield n.json();return this.lastUpdateAt=Date.now(),r}else throw new he("Could not fetch region settings: ".concat(n.statusText),n.status===401?te.NotAllowed:te.InternalError,n.status)})}setServerReportedRegions(e){this.regionSettings=e,this.lastUpdateAt=Date.now()}}function Ex(t){return"".concat(t.protocol.replace("ws","http"),"//").concat(t.host,"/settings")}class Uy{get info(){return this._info}constructor(e,n,r){this.reader=n,this.totalByteSize=r,this._info=e,this.bytesReceived=0}}class Px extends Uy{handleChunkReceived(e){var n;this.bytesReceived+=e.content.byteLength;const r=this.totalByteSize?this.bytesReceived/this.totalByteSize:void 0;(n=this.onProgress)===null||n===void 0||n.call(this,r)}[Symbol.asyncIterator](){const e=this.reader.getReader();return{next:()=>S(this,void 0,void 0,function*(){try{const{done:n,value:r}=yield e.read();return n?{done:!0,value:void 0}:(this.handleChunkReceived(r),{done:!1,value:r.content})}catch{return{done:!0,value:void 0}}}),return(){return S(this,void 0,void 0,function*(){return e.releaseLock(),{done:!0,value:void 0}})}}}readAll(){return S(this,void 0,void 0,function*(){var e,n,r,i;let s=new Set;try{for(var o=!0,a=er(this),l;l=yield a.next(),e=l.done,!e;o=!0){i=l.value,o=!1;const c=i;s.add(c)}}catch(c){n={error:c}}finally{try{!o&&!e&&(r=a.return)&&(yield r.call(a))}finally{if(n)throw n.error}}return Array.from(s)})}}class _x extends Uy{constructor(e,n,r){super(e,n,r),this.receivedChunks=new Map}handleChunkReceived(e){var n;const r=ol(e.chunkIndex),i=this.receivedChunks.get(r);if(i&&i.version>e.version)return;this.receivedChunks.set(r,e),this.bytesReceived+=e.content.byteLength;const s=this.totalByteSize?this.bytesReceived/this.totalByteSize:void 0;(n=this.onProgress)===null||n===void 0||n.call(this,s)}[Symbol.asyncIterator](){const e=this.reader.getReader(),n=new TextDecoder;return{next:()=>S(this,void 0,void 0,function*(){try{const{done:r,value:i}=yield e.read();return r?{done:!0,value:void 0}:(this.handleChunkReceived(i),{done:!1,value:n.decode(i.content)})}catch{return{done:!0,value:void 0}}}),return(){return S(this,void 0,void 0,function*(){return e.releaseLock(),{done:!0,value:void 0}})}}}readAll(){return S(this,void 0,void 0,function*(){var e,n,r,i;let s="";try{for(var o=!0,a=er(this),l;l=yield a.next(),e=l.done,!e;o=!0)i=l.value,o=!1,s+=i}catch(c){n={error:c}}finally{try{!o&&!e&&(r=a.return)&&(yield r.call(a))}finally{if(n)throw n.error}}return s})}}class Rx{constructor(e,n,r){this.writableStream=e,this.defaultWriter=e.getWriter(),this.onClose=r,this.info=n}write(e){return this.defaultWriter.write(e)}close(){return S(this,void 0,void 0,function*(){var e;yield this.defaultWriter.close(),this.defaultWriter.releaseLock(),(e=this.onClose)===null||e===void 0||e.call(this)})}}class Ix extends Rx{}class Fy extends L{constructor(e,n,r,i,s){super(e,r,s),this.sid=n,this.receiver=i}get isLocal(){return!1}setMuted(e){this.isMuted!==e&&(this.isMuted=e,this._mediaStreamTrack.enabled=!e,this.emit(e?j.Muted:j.Unmuted,this))}setMediaStream(e){this.mediaStream=e;const n=r=>{r.track===this._mediaStreamTrack&&(e.removeEventListener("removetrack",n),this.receiver&&"playoutDelayHint"in this.receiver&&(this.receiver.playoutDelayHint=void 0),this.receiver=void 0,this._currentBitrate=0,this.emit(j.Ended,this))};e.addEventListener("removetrack",n)}start(){this.startMonitor(),super.enable()}stop(){this.stopMonitor(),super.disable()}getRTCStatsReport(){return S(this,void 0,void 0,function*(){var e;return!((e=this.receiver)===null||e===void 0)&&e.getStats?yield this.receiver.getStats():void 0})}setPlayoutDelay(e){this.receiver?"playoutDelayHint"in this.receiver?this.receiver.playoutDelayHint=e:this.log.warn("Playout delay not supported in this browser"):this.log.warn("Cannot set playout delay, track already ended")}getPlayoutDelay(){if(this.receiver){if("playoutDelayHint"in this.receiver)return this.receiver.playoutDelayHint;this.log.warn("Playout delay not supported in this browser")}else this.log.warn("Cannot get playout delay, track already ended");return 0}startMonitor(){this.monitorInterval||(this.monitorInterval=setInterval(()=>this.monitorReceiver(),of)),$2()&&this.registerTimeSyncUpdate()}registerTimeSyncUpdate(){const e=()=>{var n;this.timeSyncHandle=requestAnimationFrame(()=>e());const r=(n=this.receiver)===null||n===void 0?void 0:n.getSynchronizationSources()[0];if(r){const{timestamp:i,rtpTimestamp:s}=r;s&&this.rtpTimestamp!==s&&(this.emit(j.TimeSyncUpdate,{timestamp:i,rtpTimestamp:s}),this.rtpTimestamp=s)}};e()}}class Ox extends Fy{constructor(e,n,r,i,s,o){super(e,n,L.Kind.Audio,r,o),this.monitorReceiver=()=>S(this,void 0,void 0,function*(){if(!this.receiver){this._currentBitrate=0;return}const a=yield this.getReceiverStats();a&&this.prevStats&&this.receiver&&(this._currentBitrate=ul(a,this.prevStats)),this.prevStats=a}),this.audioContext=i,this.webAudioPluginNodes=[],s&&(this.sinkId=s.deviceId)}setVolume(e){var n;for(const r of this.attachedElements)this.audioContext?(n=this.gainNode)===null||n===void 0||n.gain.setTargetAtTime(e,0,.1):r.volume=e;an()&&this._mediaStreamTrack._setVolume(e),this.elementVolume=e}getVolume(){if(this.elementVolume)return this.elementVolume;if(an())return 1;let e=0;return this.attachedElements.forEach(n=>{n.volume>e&&(e=n.volume)}),e}setSinkId(e){return S(this,void 0,void 0,function*(){this.sinkId=e,yield Promise.all(this.attachedElements.map(n=>{if(Fd(n))return n.setSinkId(e)}))})}attach(e){const n=this.attachedElements.length===0;return e?super.attach(e):e=super.attach(),this.sinkId&&Fd(e)&&e.setSinkId(this.sinkId),this.audioContext&&n&&(this.log.debug("using audio context mapping",this.logContext),this.connectWebAudio(this.audioContext,e),e.volume=0,e.muted=!0),this.elementVolume&&this.setVolume(this.elementVolume),e}detach(e){let n;return e?(n=super.detach(e),this.audioContext&&(this.attachedElements.length>0?this.connectWebAudio(this.audioContext,this.attachedElements[0]):this.disconnectWebAudio())):(n=super.detach(),this.disconnectWebAudio()),n}setAudioContext(e){this.audioContext=e,e&&this.attachedElements.length>0?this.connectWebAudio(e,this.attachedElements[0]):e||this.disconnectWebAudio()}setWebAudioPlugins(e){this.webAudioPluginNodes=e,this.attachedElements.length>0&&this.audioContext&&this.connectWebAudio(this.audioContext,this.attachedElements[0])}connectWebAudio(e,n){this.disconnectWebAudio(),this.sourceNode=e.createMediaStreamSource(n.srcObject);let r=this.sourceNode;this.webAudioPluginNodes.forEach(i=>{r.connect(i),r=i}),this.gainNode=e.createGain(),r.connect(this.gainNode),this.gainNode.connect(e.destination),this.elementVolume&&this.gainNode.gain.setTargetAtTime(this.elementVolume,0,.1),e.state!=="running"&&e.resume().then(()=>{e.state!=="running"&&this.emit(j.AudioPlaybackFailed,new Error("Audio Context couldn't be started automatically"))}).catch(i=>{this.emit(j.AudioPlaybackFailed,i)})}disconnectWebAudio(){var e,n;(e=this.gainNode)===null||e===void 0||e.disconnect(),(n=this.sourceNode)===null||n===void 0||n.disconnect(),this.gainNode=void 0,this.sourceNode=void 0}getReceiverStats(){return S(this,void 0,void 0,function*(){if(!this.receiver||!this.receiver.getStats)return;const e=yield this.receiver.getStats();let n;return e.forEach(r=>{r.type==="inbound-rtp"&&(n={type:"audio",streamId:r.id,timestamp:r.timestamp,jitter:r.jitter,bytesReceived:r.bytesReceived,concealedSamples:r.concealedSamples,concealmentEvents:r.concealmentEvents,silentConcealedSamples:r.silentConcealedSamples,silentConcealmentEvents:r.silentConcealmentEvents,totalAudioEnergy:r.totalAudioEnergy,totalSamplesDuration:r.totalSamplesDuration})}),n})}}const ff=100;class Lx extends Fy{constructor(e,n,r,i,s){super(e,n,L.Kind.Video,r,s),this.elementInfos=[],this.monitorReceiver=()=>S(this,void 0,void 0,function*(){if(!this.receiver){this._currentBitrate=0;return}const o=yield this.getReceiverStats();o&&this.prevStats&&this.receiver&&(this._currentBitrate=ul(o,this.prevStats)),this.prevStats=o}),this.debouncedHandleResize=tf(()=>{this.updateDimensions()},ff),this.adaptiveStreamSettings=i}get isAdaptiveStream(){return this.adaptiveStreamSettings!==void 0}get mediaStreamTrack(){return this._mediaStreamTrack}setMuted(e){super.setMuted(e),this.attachedElements.forEach(n=>{e?Ii(this._mediaStreamTrack,n):Ri(this._mediaStreamTrack,n)})}attach(e){if(e?super.attach(e):e=super.attach(),this.adaptiveStreamSettings&&this.elementInfos.find(n=>n.element===e)===void 0){const n=new Mx(e);this.observeElementInfo(n)}return e}observeElementInfo(e){this.adaptiveStreamSettings&&this.elementInfos.find(n=>n===e)===void 0?(e.handleResize=()=>{this.debouncedHandleResize()},e.handleVisibilityChanged=()=>{this.updateVisibility()},this.elementInfos.push(e),e.observe(),this.debouncedHandleResize(),this.updateVisibility()):this.log.warn("visibility resize observer not triggered",this.logContext)}stopObservingElementInfo(e){if(!this.isAdaptiveStream){this.log.warn("stopObservingElementInfo ignored",this.logContext);return}const n=this.elementInfos.filter(r=>r===e);for(const r of n)r.stopObserving();this.elementInfos=this.elementInfos.filter(r=>r!==e),this.updateVisibility(),this.debouncedHandleResize()}detach(e){let n=[];if(e)return this.stopObservingElement(e),super.detach(e);n=super.detach();for(const r of n)this.stopObservingElement(r);return n}getDecoderImplementation(){var e;return(e=this.prevStats)===null||e===void 0?void 0:e.decoderImplementation}getReceiverStats(){return S(this,void 0,void 0,function*(){if(!this.receiver||!this.receiver.getStats)return;const e=yield this.receiver.getStats();let n,r="",i=new Map;return e.forEach(s=>{s.type==="inbound-rtp"?(r=s.codecId,n={type:"video",streamId:s.id,framesDecoded:s.framesDecoded,framesDropped:s.framesDropped,framesReceived:s.framesReceived,packetsReceived:s.packetsReceived,packetsLost:s.packetsLost,frameWidth:s.frameWidth,frameHeight:s.frameHeight,pliCount:s.pliCount,firCount:s.firCount,nackCount:s.nackCount,jitter:s.jitter,timestamp:s.timestamp,bytesReceived:s.bytesReceived,decoderImplementation:s.decoderImplementation}):s.type==="codec"&&i.set(s.id,s)}),n&&r!==""&&i.get(r)&&(n.mimeType=i.get(r).mimeType),n})}stopObservingElement(e){const n=this.elementInfos.filter(r=>r.element===e);for(const r of n)this.stopObservingElementInfo(r)}handleAppVisibilityChanged(){const e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return S(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),this.isAdaptiveStream&&this.updateVisibility()})}updateVisibility(){var e,n;const r=this.elementInfos.reduce((a,l)=>Math.max(a,l.visibilityChangedAt||0),0),i=!((n=(e=this.adaptiveStreamSettings)===null||e===void 0?void 0:e.pauseVideoInBackground)!==null&&n!==void 0)||n?this.isInBackground:!1,s=this.elementInfos.some(a=>a.pictureInPicture),o=this.elementInfos.some(a=>a.visible)&&!i||s;if(this.lastVisible!==o){if(!o&&Date.now()-r<ff){Ge.setTimeout(()=>{this.updateVisibility()},ff);return}this.lastVisible=o,this.emit(j.VisibilityChanged,o,this)}}updateDimensions(){var e,n;let r=0,i=0;const s=this.getPixelDensity();for(const o of this.elementInfos){const a=o.width()*s,l=o.height()*s;a+l>r+i&&(r=a,i=l)}((e=this.lastDimensions)===null||e===void 0?void 0:e.width)===r&&((n=this.lastDimensions)===null||n===void 0?void 0:n.height)===i||(this.lastDimensions={width:r,height:i},this.emit(j.VideoDimensionsChanged,this.lastDimensions,this))}getPixelDensity(){var e;const n=(e=this.adaptiveStreamSettings)===null||e===void 0?void 0:e.pixelDensity;return n==="screen"?oy():n||(oy()>2?2:1)}}class Mx{get visible(){return this.isPiP||this.isIntersecting}get pictureInPicture(){return this.isPiP}constructor(e,n){this.onVisibilityChanged=r=>{var i;const{target:s,isIntersecting:o}=r;s===this.element&&(this.isIntersecting=o,this.isPiP=Zs(this.element),this.visibilityChangedAt=Date.now(),(i=this.handleVisibilityChanged)===null||i===void 0||i.call(this))},this.onEnterPiP=()=>{var r,i,s;(i=(r=window.documentPictureInPicture)===null||r===void 0?void 0:r.window)===null||i===void 0||i.addEventListener("pagehide",this.onLeavePiP),this.isPiP=Zs(this.element),(s=this.handleVisibilityChanged)===null||s===void 0||s.call(this)},this.onLeavePiP=()=>{var r;this.isPiP=Zs(this.element),(r=this.handleVisibilityChanged)===null||r===void 0||r.call(this)},this.element=e,this.isIntersecting=n??hf(e),this.isPiP=pt()&&Zs(e),this.visibilityChangedAt=0}width(){return this.element.clientWidth}height(){return this.element.clientHeight}observe(){var e,n,r;this.isIntersecting=hf(this.element),this.isPiP=Zs(this.element),this.element.handleResize=()=>{var i;(i=this.handleResize)===null||i===void 0||i.call(this)},this.element.handleVisibilityChanged=this.onVisibilityChanged,ly().observe(this.element),ay().observe(this.element),this.element.addEventListener("enterpictureinpicture",this.onEnterPiP),this.element.addEventListener("leavepictureinpicture",this.onLeavePiP),(e=window.documentPictureInPicture)===null||e===void 0||e.addEventListener("enter",this.onEnterPiP),(r=(n=window.documentPictureInPicture)===null||n===void 0?void 0:n.window)===null||r===void 0||r.addEventListener("pagehide",this.onLeavePiP)}stopObserving(){var e,n,r,i,s;(e=ly())===null||e===void 0||e.unobserve(this.element),(n=ay())===null||n===void 0||n.unobserve(this.element),this.element.removeEventListener("enterpictureinpicture",this.onEnterPiP),this.element.removeEventListener("leavepictureinpicture",this.onLeavePiP),(r=window.documentPictureInPicture)===null||r===void 0||r.removeEventListener("enter",this.onEnterPiP),(s=(i=window.documentPictureInPicture)===null||i===void 0?void 0:i.window)===null||s===void 0||s.removeEventListener("pagehide",this.onLeavePiP)}}function Zs(t){var e,n;return document.pictureInPictureElement===t?!0:!((e=window.documentPictureInPicture)===null||e===void 0)&&e.window?hf(t,(n=window.documentPictureInPicture)===null||n===void 0?void 0:n.window):!1}function hf(t,e){const n=e||window;let r=t.offsetTop,i=t.offsetLeft;const s=t.offsetWidth,o=t.offsetHeight,{hidden:a}=t,{display:l}=getComputedStyle(t);for(;t.offsetParent;)t=t.offsetParent,r+=t.offsetTop,i+=t.offsetLeft;return r<n.pageYOffset+n.innerHeight&&i<n.pageXOffset+n.innerWidth&&r+o>n.pageYOffset&&i+s>n.pageXOffset&&!a&&l!=="none"}class xn extends on.EventEmitter{constructor(e,n,r,i){var s;super(),this.metadataMuted=!1,this.encryption=St.NONE,this.log=X,this.handleMuted=()=>{this.emit(j.Muted)},this.handleUnmuted=()=>{this.emit(j.Unmuted)},this.log=Sn((s=i==null?void 0:i.loggerName)!==null&&s!==void 0?s:Ht.Publication),this.loggerContextCb=this.loggerContextCb,this.setMaxListeners(100),this.kind=e,this.trackSid=n,this.trackName=r,this.source=L.Source.Unknown}setTrack(e){this.track&&(this.track.off(j.Muted,this.handleMuted),this.track.off(j.Unmuted,this.handleUnmuted)),this.track=e,e&&(e.on(j.Muted,this.handleMuted),e.on(j.Unmuted,this.handleUnmuted))}get logContext(){var e;return Object.assign(Object.assign({},(e=this.loggerContextCb)===null||e===void 0?void 0:e.call(this)),le(this))}get isMuted(){return this.metadataMuted}get isEnabled(){return!0}get isSubscribed(){return this.track!==void 0}get isEncrypted(){return this.encryption!==St.NONE}get audioTrack(){if(Tn(this.track))return this.track}get videoTrack(){if(Mi(this.track))return this.track}updateInfo(e){this.trackSid=e.sid,this.trackName=e.name,this.source=L.sourceFromProto(e.source),this.mimeType=e.mimeType,this.kind===L.Kind.Video&&e.width>0&&(this.dimensions={width:e.width,height:e.height},this.simulcasted=e.simulcast),this.encryption=e.encryption,this.trackInfo=e,this.log.debug("update publication info",Object.assign(Object.assign({},this.logContext),{info:e}))}}(function(t){(function(e){e.Desired="desired",e.Subscribed="subscribed",e.Unsubscribed="unsubscribed"})(t.SubscriptionStatus||(t.SubscriptionStatus={})),function(e){e.Allowed="allowed",e.NotAllowed="not_allowed"}(t.PermissionStatus||(t.PermissionStatus={}))})(xn||(xn={}));class pf extends xn{get isUpstreamPaused(){var e;return(e=this.track)===null||e===void 0?void 0:e.isUpstreamPaused}constructor(e,n,r,i){super(e,n.sid,n.name,i),this.track=void 0,this.handleTrackEnded=()=>{this.emit(j.Ended)},this.updateInfo(n),this.setTrack(r)}setTrack(e){this.track&&this.track.off(j.Ended,this.handleTrackEnded),super.setTrack(e),e&&e.on(j.Ended,this.handleTrackEnded)}get isMuted(){return this.track?this.track.isMuted:super.isMuted}get audioTrack(){return super.audioTrack}get videoTrack(){return super.videoTrack}get isLocal(){return!0}mute(){return S(this,void 0,void 0,function*(){var e;return(e=this.track)===null||e===void 0?void 0:e.mute()})}unmute(){return S(this,void 0,void 0,function*(){var e;return(e=this.track)===null||e===void 0?void 0:e.unmute()})}pauseUpstream(){return S(this,void 0,void 0,function*(){var e;yield(e=this.track)===null||e===void 0?void 0:e.pauseUpstream()})}resumeUpstream(){return S(this,void 0,void 0,function*(){var e;yield(e=this.track)===null||e===void 0?void 0:e.resumeUpstream()})}getTrackFeatures(){var e;if(Tn(this.track)){const n=this.track.getSourceTrackSettings(),r=new Set;return n.autoGainControl&&r.add(rn.TF_AUTO_GAIN_CONTROL),n.echoCancellation&&r.add(rn.TF_ECHO_CANCELLATION),n.noiseSuppression&&r.add(rn.TF_NOISE_SUPPRESSION),n.channelCount&&n.channelCount>1&&r.add(rn.TF_STEREO),!((e=this.options)===null||e===void 0)&&e.dtx||r.add(rn.TF_NO_DTX),this.track.enhancedNoiseCancellation&&r.add(rn.TF_ENHANCED_NOISE_CANCELLATION),Array.from(r.values())}else return[]}}var lr;(function(t){t.Excellent="excellent",t.Good="good",t.Poor="poor",t.Lost="lost",t.Unknown="unknown"})(lr||(lr={}));function Nx(t){switch(t){case Bs.EXCELLENT:return lr.Excellent;case Bs.GOOD:return lr.Good;case Bs.POOR:return lr.Poor;case Bs.LOST:return lr.Lost;default:return lr.Unknown}}class By extends on.EventEmitter{get logContext(){var e,n;return Object.assign({},(n=(e=this.loggerOptions)===null||e===void 0?void 0:e.loggerContextCb)===null||n===void 0?void 0:n.call(e))}get isEncrypted(){return this.trackPublications.size>0&&Array.from(this.trackPublications.values()).every(e=>e.isEncrypted)}get isAgent(){var e;return((e=this.permissions)===null||e===void 0?void 0:e.agent)||this.kind===qa.AGENT}get kind(){return this._kind}get attributes(){return Object.freeze(Object.assign({},this._attributes))}constructor(e,n,r,i,s,o){let a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:qa.STANDARD;var l;super(),this.audioLevel=0,this.isSpeaking=!1,this._connectionQuality=lr.Unknown,this.log=X,this.log=Sn((l=o==null?void 0:o.loggerName)!==null&&l!==void 0?l:Ht.Participant),this.loggerOptions=o,this.setMaxListeners(100),this.sid=e,this.identity=n,this.name=r,this.metadata=i,this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.trackPublications=new Map,this._kind=a,this._attributes=s??{}}getTrackPublications(){return Array.from(this.trackPublications.values())}getTrackPublication(e){for(const[,n]of this.trackPublications)if(n.source===e)return n}getTrackPublicationByName(e){for(const[,n]of this.trackPublications)if(n.trackName===e)return n}get connectionQuality(){return this._connectionQuality}get isCameraEnabled(){var e;const n=this.getTrackPublication(L.Source.Camera);return!(!((e=n==null?void 0:n.isMuted)!==null&&e!==void 0)||e)}get isMicrophoneEnabled(){var e;const n=this.getTrackPublication(L.Source.Microphone);return!(!((e=n==null?void 0:n.isMuted)!==null&&e!==void 0)||e)}get isScreenShareEnabled(){return!!this.getTrackPublication(L.Source.ScreenShare)}get isLocal(){return!1}get joinedAt(){return this.participantInfo?new Date(Number.parseInt(this.participantInfo.joinedAt.toString())*1e3):new Date}updateInfo(e){return this.participantInfo&&this.participantInfo.sid===e.sid&&this.participantInfo.version>e.version?!1:(this.identity=e.identity,this.sid=e.sid,this._setName(e.name),this._setMetadata(e.metadata),this._setAttributes(e.attributes),e.permission&&this.setPermissions(e.permission),this.participantInfo=e,this.log.trace("update participant info",Object.assign(Object.assign({},this.logContext),{info:e})),!0)}_setMetadata(e){const n=this.metadata!==e,r=this.metadata;this.metadata=e,n&&this.emit(B.ParticipantMetadataChanged,r)}_setName(e){const n=this.name!==e;this.name=e,n&&this.emit(B.ParticipantNameChanged,e)}_setAttributes(e){const n=q2(this.attributes,e);this._attributes=e,Object.keys(n).length>0&&this.emit(B.AttributesChanged,n)}setPermissions(e){var n,r,i,s,o,a;const l=this.permissions,c=e.canPublish!==((n=this.permissions)===null||n===void 0?void 0:n.canPublish)||e.canSubscribe!==((r=this.permissions)===null||r===void 0?void 0:r.canSubscribe)||e.canPublishData!==((i=this.permissions)===null||i===void 0?void 0:i.canPublishData)||e.hidden!==((s=this.permissions)===null||s===void 0?void 0:s.hidden)||e.recorder!==((o=this.permissions)===null||o===void 0?void 0:o.recorder)||e.canPublishSources.length!==this.permissions.canPublishSources.length||e.canPublishSources.some((u,d)=>{var f;return u!==((f=this.permissions)===null||f===void 0?void 0:f.canPublishSources[d])})||e.canSubscribeMetrics!==((a=this.permissions)===null||a===void 0?void 0:a.canSubscribeMetrics);return this.permissions=e,c&&this.emit(B.ParticipantPermissionsChanged,l),c}setIsSpeaking(e){e!==this.isSpeaking&&(this.isSpeaking=e,e&&(this.lastSpokeAt=new Date),this.emit(B.IsSpeakingChanged,e))}setConnectionQuality(e){const n=this._connectionQuality;this._connectionQuality=Nx(e),n!==this._connectionQuality&&this.emit(B.ConnectionQualityChanged,this._connectionQuality)}setAudioContext(e){this.audioContext=e,this.audioTrackPublications.forEach(n=>Tn(n.track)&&n.track.setAudioContext(e))}addTrackPublication(e){e.on(j.Muted,()=>{this.emit(B.TrackMuted,e)}),e.on(j.Unmuted,()=>{this.emit(B.TrackUnmuted,e)});const n=e;switch(n.track&&(n.track.sid=e.trackSid),this.trackPublications.set(e.trackSid,e),e.kind){case L.Kind.Audio:this.audioTrackPublications.set(e.trackSid,e);break;case L.Kind.Video:this.videoTrackPublications.set(e.trackSid,e);break}}}function Dx(t){var e,n,r;if(!t.participantSid&&!t.participantIdentity)throw new Error("Invalid track permission, must provide at least one of participantIdentity and participantSid");return new i0({participantIdentity:(e=t.participantIdentity)!==null&&e!==void 0?e:"",participantSid:(n=t.participantSid)!==null&&n!==void 0?n:"",allTracks:(r=t.allowAll)!==null&&r!==void 0?r:!1,trackSids:t.allowedTrackSids||[]})}const pl=15e3;class Ax extends By{constructor(e,n,r,i,s){super(e,n,void 0,void 0,void 0,{loggerName:i.loggerName,loggerContextCb:()=>this.engine.logContext}),this.pendingPublishing=new Set,this.pendingPublishPromises=new Map,this.participantTrackPermissions=[],this.allParticipantsAllowedToSubscribe=!0,this.encryptionType=St.NONE,this.enabledPublishVideoCodecs=[],this.pendingAcks=new Map,this.pendingResponses=new Map,this.handleReconnecting=()=>{this.reconnectFuture||(this.reconnectFuture=new uy)},this.handleReconnected=()=>{var o,a;(a=(o=this.reconnectFuture)===null||o===void 0?void 0:o.resolve)===null||a===void 0||a.call(o),this.reconnectFuture=void 0,this.updateTrackSubscriptionPermissions()},this.handleDisconnected=()=>{var o,a;this.reconnectFuture&&(this.reconnectFuture.promise.catch(l=>this.log.warn(l.message,this.logContext)),(a=(o=this.reconnectFuture)===null||o===void 0?void 0:o.reject)===null||a===void 0||a.call(o,"Got disconnected during reconnection attempt"),this.reconnectFuture=void 0)},this.handleSignalRequestResponse=o=>{const{requestId:a,reason:l,message:c}=o,u=this.pendingSignalRequests.get(a);u&&(l!==bd.OK&&u.reject(new X0(c,l)),this.pendingSignalRequests.delete(a))},this.handleDataPacket=o=>{switch(o.value.case){case"rpcResponse":let a=o.value.value,l=null,c=null;a.value.case==="payload"?l=a.value.value:a.value.case==="error"&&(c=_e.fromProto(a.value.value)),this.handleIncomingRpcResponse(a.requestId,l,c);break;case"rpcAck":let u=o.value.value;this.handleIncomingRpcAck(u.requestId);break}},this.updateTrackSubscriptionPermissions=()=>{this.log.debug("updating track subscription permissions",Object.assign(Object.assign({},this.logContext),{allParticipantsAllowed:this.allParticipantsAllowedToSubscribe,participantTrackPermissions:this.participantTrackPermissions})),this.engine.client.sendUpdateSubscriptionPermissions(this.allParticipantsAllowedToSubscribe,this.participantTrackPermissions.map(o=>Dx(o)))},this.onTrackUnmuted=o=>{this.onTrackMuted(o,o.isUpstreamPaused)},this.onTrackMuted=(o,a)=>{if(a===void 0&&(a=!0),!o.sid){this.log.error("could not update mute status for unpublished track",Object.assign(Object.assign({},this.logContext),le(o)));return}this.engine.updateMuteStatus(o.sid,a)},this.onTrackUpstreamPaused=o=>{this.log.debug("upstream paused",Object.assign(Object.assign({},this.logContext),le(o))),this.onTrackMuted(o,!0)},this.onTrackUpstreamResumed=o=>{this.log.debug("upstream resumed",Object.assign(Object.assign({},this.logContext),le(o))),this.onTrackMuted(o,o.isMuted)},this.onTrackFeatureUpdate=o=>{const a=this.audioTrackPublications.get(o.sid);if(!a){this.log.warn("Could not update local audio track settings, missing publication for track ".concat(o.sid),this.logContext);return}this.engine.client.sendUpdateLocalAudioTrack(a.trackSid,a.getTrackFeatures())},this.handleSubscribedQualityUpdate=o=>S(this,void 0,void 0,function*(){var a,l,c,u,d,f;if(!(!((d=this.roomOptions)===null||d===void 0)&&d.dynacast))return;const h=this.videoTrackPublications.get(o.trackSid);if(!h){this.log.warn("received subscribed quality update for unknown track",Object.assign(Object.assign({},this.logContext),{trackSid:o.trackSid}));return}if(o.subscribedCodecs.length>0){if(!h.videoTrack)return;const m=yield h.videoTrack.setPublishingCodecs(o.subscribedCodecs);try{for(var v=!0,y=er(m),T;T=yield y.next(),a=T.done,!a;v=!0){u=T.value,v=!1;const b=u;x2(b)&&(this.log.debug("publish ".concat(b," for ").concat(h.videoTrack.sid),Object.assign(Object.assign({},this.logContext),le(h))),yield this.publishAdditionalCodecForTrack(h.videoTrack,b,h.options))}}catch(b){l={error:b}}finally{try{!v&&!a&&(c=y.return)&&(yield c.call(y))}finally{if(l)throw l.error}}}else o.subscribedQualities.length>0&&(yield(f=h.videoTrack)===null||f===void 0?void 0:f.setPublishingLayers(o.subscribedQualities))}),this.handleLocalTrackUnpublished=o=>{const a=this.trackPublications.get(o.trackSid);if(!a){this.log.warn("received unpublished event for unknown track",Object.assign(Object.assign({},this.logContext),{trackSid:o.trackSid}));return}this.unpublishTrack(a.track)},this.handleTrackEnded=o=>S(this,void 0,void 0,function*(){if(o.source===L.Source.ScreenShare||o.source===L.Source.ScreenShareAudio)this.log.debug("unpublishing local track due to TrackEnded",Object.assign(Object.assign({},this.logContext),le(o))),this.unpublishTrack(o);else if(o.isUserProvided)yield o.mute();else if(Ar(o)||or(o))try{if(pt())try{const a=yield navigator==null?void 0:navigator.permissions.query({name:o.source===L.Source.Camera?"camera":"microphone"});if(a&&a.state==="denied")throw this.log.warn("user has revoked access to ".concat(o.source),Object.assign(Object.assign({},this.logContext),le(o))),a.onchange=()=>{a.state!=="denied"&&(o.isMuted||o.restartTrack(),a.onchange=null)},new Error("GetUserMedia Permission denied")}catch{}o.isMuted||(this.log.debug("track ended, attempting to use a different device",Object.assign(Object.assign({},this.logContext),le(o))),Ar(o)?yield o.restartTrack({deviceId:"default"}):yield o.restartTrack())}catch{this.log.warn("could not restart track, muting instead",Object.assign(Object.assign({},this.logContext),le(o))),yield o.mute()}}),this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.trackPublications=new Map,this.engine=r,this.roomOptions=i,this.setupEngine(r),this.activeDeviceMap=new Map([["audioinput","default"],["videoinput","default"],["audiooutput","default"]]),this.pendingSignalRequests=new Map,this.rpcHandlers=s}get lastCameraError(){return this.cameraError}get lastMicrophoneError(){return this.microphoneError}get isE2EEEnabled(){return this.encryptionType!==St.NONE}getTrackPublication(e){const n=super.getTrackPublication(e);if(n)return n}getTrackPublicationByName(e){const n=super.getTrackPublicationByName(e);if(n)return n}setupEngine(e){this.engine=e,this.engine.on(F.RemoteMute,(n,r)=>{const i=this.trackPublications.get(n);!i||!i.track||(r?i.mute():i.unmute())}),this.engine.on(F.Connected,this.handleReconnected).on(F.SignalRestarted,this.handleReconnected).on(F.SignalResumed,this.handleReconnected).on(F.Restarting,this.handleReconnecting).on(F.Resuming,this.handleReconnecting).on(F.LocalTrackUnpublished,this.handleLocalTrackUnpublished).on(F.SubscribedQualityUpdate,this.handleSubscribedQualityUpdate).on(F.Disconnected,this.handleDisconnected).on(F.SignalRequestResponse,this.handleSignalRequestResponse).on(F.DataPacketReceived,this.handleDataPacket)}setMetadata(e){return S(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({metadata:e})})}setName(e){return S(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({name:e})})}setAttributes(e){return S(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({attributes:e})})}requestMetadataUpdate(e){return S(this,arguments,void 0,function(n){var r=this;let{metadata:i,name:s,attributes:o}=n;return function*(){return new Promise((a,l)=>S(r,void 0,void 0,function*(){var c,u;try{let d=!1;const f=yield this.engine.client.sendUpdateLocalMetadata((c=i??this.metadata)!==null&&c!==void 0?c:"",(u=s??this.name)!==null&&u!==void 0?u:"",o),h=performance.now();for(this.pendingSignalRequests.set(f,{resolve:a,reject:v=>{l(v),d=!0},values:{name:s,metadata:i,attributes:o}});performance.now()-h<5e3&&!d;){if((!s||this.name===s)&&(!i||this.metadata===i)&&(!o||Object.entries(o).every(v=>{let[y,T]=v;return this.attributes[y]===T||T===""&&!this.attributes[y]}))){this.pendingSignalRequests.delete(f),a();return}yield ht(50)}l(new X0("Request to update local metadata timed out","TimeoutError"))}catch(d){d instanceof Error&&l(d)}}))}()})}setCameraEnabled(e,n,r){return this.setTrackEnabled(L.Source.Camera,e,n,r)}setMicrophoneEnabled(e,n,r){return this.setTrackEnabled(L.Source.Microphone,e,n,r)}setScreenShareEnabled(e,n,r){return this.setTrackEnabled(L.Source.ScreenShare,e,n,r)}setPermissions(e){const n=this.permissions,r=super.setPermissions(e);return r&&n&&this.emit(B.ParticipantPermissionsChanged,n),r}setE2EEEnabled(e){return S(this,void 0,void 0,function*(){this.encryptionType=e?St.GCM:St.NONE,yield this.republishAllTracks(void 0,!1)})}setTrackEnabled(e,n,r,i){return S(this,void 0,void 0,function*(){var s,o;this.log.debug("setTrackEnabled",Object.assign(Object.assign({},this.logContext),{source:e,enabled:n})),this.republishPromise&&(yield this.republishPromise);let a=this.getTrackPublication(e);if(n)if(a)yield a.unmute();else{let l;if(this.pendingPublishing.has(e)){const c=yield this.waitForPendingPublicationOfSource(e);return c||this.log.info("waiting for pending publication promise timed out",Object.assign(Object.assign({},this.logContext),{source:e})),yield c==null?void 0:c.unmute(),c}this.pendingPublishing.add(e);try{switch(e){case L.Source.Camera:l=yield this.createTracks({video:(s=r)!==null&&s!==void 0?s:!0});break;case L.Source.Microphone:l=yield this.createTracks({audio:(o=r)!==null&&o!==void 0?o:!0});break;case L.Source.ScreenShare:l=yield this.createScreenTracks(Object.assign({},r));break;default:throw new wn(e)}}catch(c){throw l==null||l.forEach(u=>{u.stop()}),c instanceof Error&&this.emit(B.MediaDevicesError,c),this.pendingPublishing.delete(e),c}try{const c=[];for(const d of l)this.log.info("publishing track",Object.assign(Object.assign({},this.logContext),le(d))),c.push(this.publishTrack(d,i));[a]=yield Promise.all(c)}catch(c){throw l==null||l.forEach(u=>{u.stop()}),c}finally{this.pendingPublishing.delete(e)}}else if(!(a!=null&&a.track)&&this.pendingPublishing.has(e)&&(a=yield this.waitForPendingPublicationOfSource(e),a||this.log.info("waiting for pending publication promise timed out",Object.assign(Object.assign({},this.logContext),{source:e}))),a&&a.track)if(e===L.Source.ScreenShare){a=yield this.unpublishTrack(a.track);const l=this.getTrackPublication(L.Source.ScreenShareAudio);l&&l.track&&this.unpublishTrack(l.track)}else yield a.mute();return a})}enableCameraAndMicrophone(){return S(this,void 0,void 0,function*(){if(!(this.pendingPublishing.has(L.Source.Camera)||this.pendingPublishing.has(L.Source.Microphone))){this.pendingPublishing.add(L.Source.Camera),this.pendingPublishing.add(L.Source.Microphone);try{const e=yield this.createTracks({audio:!0,video:!0});yield Promise.all(e.map(n=>this.publishTrack(n)))}finally{this.pendingPublishing.delete(L.Source.Camera),this.pendingPublishing.delete(L.Source.Microphone)}}})}createTracks(e){return S(this,void 0,void 0,function*(){var n,r;e??(e={});const i=fy(e,(n=this.roomOptions)===null||n===void 0?void 0:n.audioCaptureDefaults,(r=this.roomOptions)===null||r===void 0?void 0:r.videoCaptureDefaults),{audioProcessor:s,videoProcessor:o,optionsWithoutProcessor:a}=Kd(i),l=al(a);let c;try{c=yield navigator.mediaDevices.getUserMedia(l)}catch(u){throw u instanceof Error&&(l.audio&&(this.microphoneError=u),l.video&&(this.cameraError=u)),u}return l.audio&&(this.microphoneError=void 0,this.emit(B.AudioStreamAcquired)),l.video&&(this.cameraError=void 0),Promise.all(c.getTracks().map(u=>S(this,void 0,void 0,function*(){const d=u.kind==="audio";let f;const h=d?l.audio:l.video;typeof h!="boolean"&&(f=h);const v=Iy(u,f,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});return v.kind===L.Kind.Video?v.source=L.Source.Camera:v.kind===L.Kind.Audio&&(v.source=L.Source.Microphone,v.setAudioContext(this.audioContext)),v.mediaStream=c,Tn(v)&&s?yield v.setProcessor(s):Mi(v)&&o&&(yield v.setProcessor(o)),v})))})}createScreenTracks(e){return S(this,void 0,void 0,function*(){if(e===void 0&&(e={}),navigator.mediaDevices.getDisplayMedia===void 0)throw new Id("getDisplayMedia not supported");e.resolution===void 0&&!O2()&&(e.resolution=Ad.h1080fps30.resolution);const n=z2(e),r=yield navigator.mediaDevices.getDisplayMedia(n),i=r.getVideoTracks();if(i.length===0)throw new wn("no video track found");const s=new hl(i[0],void 0,!1,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});s.source=L.Source.ScreenShare,e.contentHint&&(s.mediaStreamTrack.contentHint=e.contentHint);const o=[s];if(r.getAudioTracks().length>0){this.emit(B.AudioStreamAcquired);const a=new dl(r.getAudioTracks()[0],void 0,!1,this.audioContext,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});a.source=L.Source.ScreenShareAudio,o.push(a)}return o})}publishTrack(e,n){return S(this,void 0,void 0,function*(){return this.publishOrRepublishTrack(e,n)})}publishOrRepublishTrack(e,n){return S(this,arguments,void 0,function(r,i){var s=this;let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return function*(){var a,l,c,u;Ar(r)&&r.setAudioContext(s.audioContext),yield(a=s.reconnectFuture)===null||a===void 0?void 0:a.promise,s.republishPromise&&!o&&(yield s.republishPromise),Li(r)&&s.pendingPublishPromises.has(r)&&(yield s.pendingPublishPromises.get(r));let d;if(r instanceof MediaStreamTrack)d=r.getConstraints();else{d=r.constraints;let m;switch(r.source){case L.Source.Microphone:m="audioinput";break;case L.Source.Camera:m="videoinput"}m&&s.activeDeviceMap.has(m)&&(d=Object.assign(Object.assign({},d),{deviceId:s.activeDeviceMap.get(m)}))}if(r instanceof MediaStreamTrack)switch(r.kind){case"audio":r=new dl(r,d,!0,s.audioContext,{loggerName:s.roomOptions.loggerName,loggerContextCb:()=>s.logContext});break;case"video":r=new hl(r,d,!0,{loggerName:s.roomOptions.loggerName,loggerContextCb:()=>s.logContext});break;default:throw new wn("unsupported MediaStreamTrack kind ".concat(r.kind))}else r.updateLoggerOptions({loggerName:s.roomOptions.loggerName,loggerContextCb:()=>s.logContext});let f;if(s.trackPublications.forEach(m=>{m.track&&m.track===r&&(f=m)}),f)return s.log.warn("track has already been published, skipping",Object.assign(Object.assign({},s.logContext),le(f))),f;const h="channelCount"in r.mediaStreamTrack.getSettings()&&r.mediaStreamTrack.getSettings().channelCount===2||r.mediaStreamTrack.getConstraints().channelCount===2,v=(l=i==null?void 0:i.forceStereo)!==null&&l!==void 0?l:h;v&&(i||(i={}),i.dtx===void 0&&s.log.info("Opus DTX will be disabled for stereo tracks by default. Enable them explicitly to make it work.",Object.assign(Object.assign({},s.logContext),le(r))),i.red===void 0&&s.log.info("Opus RED will be disabled for stereo tracks by default. Enable them explicitly to make it work."),(c=i.dtx)!==null&&c!==void 0||(i.dtx=!1),(u=i.red)!==null&&u!==void 0||(i.red=!1));const y=Object.assign(Object.assign({},s.roomOptions.publishDefaults),i);!L2()&&s.roomOptions.e2ee&&(s.log.info("End-to-end encryption is set up, simulcast publishing will be disabled on Safari versions and iOS browsers running iOS < v17.2",Object.assign({},s.logContext)),y.simulcast=!1),y.source&&(r.source=y.source);const T=s.publish(r,y,v);s.pendingPublishPromises.set(r,T);try{return yield T}catch(m){throw m}finally{s.pendingPublishPromises.delete(r)}}()})}hasPermissionsToPublish(e){if(!this.permissions)return this.log.warn("no permissions present for publishing track",Object.assign(Object.assign({},this.logContext),le(e))),!1;const{canPublish:n,canPublishSources:r}=this.permissions;return n&&(r.length===0||r.map(i=>W2(i)).includes(e.source))?!0:(this.log.warn("insufficient permissions to publish",Object.assign(Object.assign({},this.logContext),le(e))),!1)}publish(e,n,r){return S(this,void 0,void 0,function*(){var i,s,o,a,l,c,u,d,f,h;if(!this.hasPermissionsToPublish(e))throw new m2("failed to publish track, insufficient permissions",403);Array.from(this.trackPublications.values()).find(C=>Li(e)&&C.source===e.source)&&e.source!==L.Source.Unknown&&this.log.info("publishing a second track with the same source: ".concat(e.source),Object.assign(Object.assign({},this.logContext),le(e))),n.stopMicTrackOnMute&&Tn(e)&&(e.stopOnMute=!0),e.source===L.Source.ScreenShare&&Oi()&&(n.simulcast=!1),n.videoCodec==="av1"&&!_2()&&(n.videoCodec=void 0),n.videoCodec==="vp9"&&!R2()&&(n.videoCodec=void 0),n.videoCodec===void 0&&(n.videoCodec=nf),this.enabledPublishVideoCodecs.length>0&&(this.enabledPublishVideoCodecs.some(C=>n.videoCodec===ll(C.mime))||(n.videoCodec=ll(this.enabledPublishVideoCodecs[0].mime)));const y=n.videoCodec;e.on(j.Muted,this.onTrackMuted),e.on(j.Unmuted,this.onTrackUnmuted),e.on(j.Ended,this.handleTrackEnded),e.on(j.UpstreamPaused,this.onTrackUpstreamPaused),e.on(j.UpstreamResumed,this.onTrackUpstreamResumed),e.on(j.AudioTrackFeatureUpdate,this.onTrackFeatureUpdate);const T=new pd({cid:e.mediaStreamTrack.id,name:n.name,type:L.kindToProto(e.kind),muted:e.isMuted,source:L.sourceToProto(e.source),disableDtx:!(!((i=n.dtx)!==null&&i!==void 0)||i),encryption:this.encryptionType,stereo:r,disableRed:this.isE2EEEnabled||!(!((s=n.red)!==null&&s!==void 0)||s),stream:n==null?void 0:n.stream,backupCodecPolicy:n==null?void 0:n.backupCodecPolicy});let m;if(e.kind===L.Kind.Video){let C={width:0,height:0};try{C=yield e.waitForDimensions()}catch{const x=(a=(o=this.roomOptions.videoCaptureDefaults)===null||o===void 0?void 0:o.resolution)!==null&&a!==void 0?a:qs.h720.resolution;C={width:x.width,height:x.height},this.log.error("could not determine track dimensions, using defaults",Object.assign(Object.assign(Object.assign({},this.logContext),le(e)),{dims:C}))}T.width=C.width,T.height=C.height,or(e)&&(Ws(y)&&(e.source===L.Source.ScreenShare&&(n.scalabilityMode="L1T3","contentHint"in e.mediaStreamTrack&&(e.mediaStreamTrack.contentHint="motion",this.log.info("forcing contentHint to motion for screenshare with SVC codecs",Object.assign(Object.assign({},this.logContext),le(e))))),n.scalabilityMode=(l=n.scalabilityMode)!==null&&l!==void 0?l:"L3T3_KEY"),T.simulcastCodecs=[new hd({codec:y,cid:e.mediaStreamTrack.id})],n.backupCodec===!0&&(n.backupCodec={codec:nf}),n.backupCodec&&y!==n.backupCodec.codec&&T.encryption===St.NONE&&(this.roomOptions.dynacast||(this.roomOptions.dynacast=!0),T.simulcastCodecs.push(new hd({codec:n.backupCodec.codec,cid:""})))),m=lf(e.source===L.Source.ScreenShare,T.width,T.height,n),T.layers=Dy(T.width,T.height,m,Ws(n.videoCodec))}else e.kind===L.Kind.Audio&&(m=[{maxBitrate:(c=n.audioPreset)===null||c===void 0?void 0:c.maxBitrate,priority:(d=(u=n.audioPreset)===null||u===void 0?void 0:u.priority)!==null&&d!==void 0?d:"high",networkPriority:(h=(f=n.audioPreset)===null||f===void 0?void 0:f.priority)!==null&&h!==void 0?h:"high"}]);if(!this.engine||this.engine.isClosed)throw new je("cannot publish track when not connected");const b=()=>S(this,void 0,void 0,function*(){var C,w,x;if(!this.engine.pcManager)throw new je("pcManager is not ready");if(e.sender=yield this.engine.createSender(e,n,m),or(e)&&((C=n.degradationPreference)!==null&&C!==void 0||(n.degradationPreference=kx(e)),e.setDegradationPreference(n.degradationPreference)),m)if(Oi()&&e.kind===L.Kind.Audio){let E;for(const I of this.engine.pcManager.publisher.getTransceivers())if(I.sender===e.sender){E=I;break}E&&this.engine.pcManager.publisher.setTrackCodecBitrate({transceiver:E,codec:"opus",maxbr:!((w=m[0])===null||w===void 0)&&w.maxBitrate?m[0].maxBitrate/1e3:0})}else e.codec&&Ws(e.codec)&&(!((x=m[0])===null||x===void 0)&&x.maxBitrate)&&this.engine.pcManager.publisher.setTrackCodecBitrate({cid:T.cid,codec:e.codec,maxbr:m[0].maxBitrate/1e3});yield this.engine.negotiate()});let p;if(this.enabledPublishVideoCodecs.length>0)p=(yield Promise.all([this.engine.addTrack(T),b()]))[0];else{p=yield this.engine.addTrack(T);let C;if(p.codecs.forEach(w=>{C===void 0&&(C=w.mimeType)}),C&&e.kind===L.Kind.Video){const w=ll(C);w!==y&&(this.log.debug("falling back to server selected codec",Object.assign(Object.assign(Object.assign({},this.logContext),le(e)),{codec:w})),n.videoCodec=w,m=lf(e.source===L.Source.ScreenShare,T.width,T.height,n))}yield b()}const k=new pf(e.kind,p,e,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});return k.options=n,e.sid=p.sid,this.log.debug("publishing ".concat(e.kind," with encodings"),Object.assign(Object.assign({},this.logContext),{encodings:m,trackInfo:p})),or(e)?e.startMonitor(this.engine.client):Ar(e)&&e.startMonitor(),this.addTrackPublication(k),this.emit(B.LocalTrackPublished,k),k})}get isLocal(){return!0}publishAdditionalCodecForTrack(e,n,r){return S(this,void 0,void 0,function*(){var i;if(this.encryptionType!==St.NONE)return;let s;if(this.trackPublications.forEach(h=>{h.track&&h.track===e&&(s=h)}),!s)throw new wn("track is not published");if(!or(e))throw new wn("track is not a video track");const o=Object.assign(Object.assign({},(i=this.roomOptions)===null||i===void 0?void 0:i.publishDefaults),r),a=vx(e,n,o);if(!a){this.log.info("backup codec has been disabled, ignoring request to add additional codec for track",Object.assign(Object.assign({},this.logContext),le(e)));return}const l=e.addSimulcastTrack(n,a);if(!l)return;const c=new pd({cid:l.mediaStreamTrack.id,type:L.kindToProto(e.kind),muted:e.isMuted,source:L.sourceToProto(e.source),sid:e.sid,simulcastCodecs:[{codec:o.videoCodec,cid:l.mediaStreamTrack.id}]});if(c.layers=Dy(c.width,c.height,a),!this.engine||this.engine.isClosed)throw new je("cannot publish track when not connected");const u=()=>S(this,void 0,void 0,function*(){yield this.engine.createSimulcastSender(e,l,o,a),yield this.engine.negotiate()}),f=(yield Promise.all([this.engine.addTrack(c),u()]))[0];this.log.debug("published ".concat(n," for track ").concat(e.sid),Object.assign(Object.assign({},this.logContext),{encodings:a,trackInfo:f}))})}unpublishTrack(e,n){return S(this,void 0,void 0,function*(){var r,i;if(Li(e)){const c=this.pendingPublishPromises.get(e);c&&(this.log.info("awaiting publish promise before attempting to unpublish",Object.assign(Object.assign({},this.logContext),le(e))),yield c)}const s=this.getPublicationForTrack(e),o=s?le(s):void 0;if(this.log.debug("unpublishing track",Object.assign(Object.assign({},this.logContext),o)),!s||!s.track){this.log.warn("track was not unpublished because no publication was found",Object.assign(Object.assign({},this.logContext),o));return}e=s.track,e.off(j.Muted,this.onTrackMuted),e.off(j.Unmuted,this.onTrackUnmuted),e.off(j.Ended,this.handleTrackEnded),e.off(j.UpstreamPaused,this.onTrackUpstreamPaused),e.off(j.UpstreamResumed,this.onTrackUpstreamResumed),e.off(j.AudioTrackFeatureUpdate,this.onTrackFeatureUpdate),n===void 0&&(n=(i=(r=this.roomOptions)===null||r===void 0?void 0:r.stopLocalTrackOnUnpublish)!==null&&i!==void 0?i:!0),n?e.stop():e.stopMonitor();let a=!1;const l=e.sender;if(e.sender=void 0,this.engine.pcManager&&this.engine.pcManager.currentState<Pe.FAILED&&l)try{for(const c of this.engine.pcManager.publisher.getTransceivers())c.sender===l&&(c.direction="inactive",a=!0);if(this.engine.removeTrack(l)&&(a=!0),or(e)){for(const[,c]of e.simulcastCodecs)c.sender&&(this.engine.removeTrack(c.sender)&&(a=!0),c.sender=void 0);e.simulcastCodecs.clear()}}catch(c){this.log.warn("failed to unpublish track",Object.assign(Object.assign(Object.assign({},this.logContext),o),{error:c}))}switch(this.trackPublications.delete(s.trackSid),s.kind){case L.Kind.Audio:this.audioTrackPublications.delete(s.trackSid);break;case L.Kind.Video:this.videoTrackPublications.delete(s.trackSid);break}return this.emit(B.LocalTrackUnpublished,s),s.setTrack(void 0),a&&(yield this.engine.negotiate()),s})}unpublishTracks(e){return S(this,void 0,void 0,function*(){return(yield Promise.all(e.map(r=>this.unpublishTrack(r)))).filter(r=>!!r)})}republishAllTracks(e){return S(this,arguments,void 0,function(n){var r=this;let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return function*(){r.republishPromise&&(yield r.republishPromise),r.republishPromise=new Promise((s,o)=>S(r,void 0,void 0,function*(){try{const a=[];this.trackPublications.forEach(l=>{l.track&&(n&&(l.options=Object.assign(Object.assign({},l.options),n)),a.push(l))}),yield Promise.all(a.map(l=>S(this,void 0,void 0,function*(){const c=l.track;yield this.unpublishTrack(c,!1),i&&!c.isMuted&&c.source!==L.Source.ScreenShare&&c.source!==L.Source.ScreenShareAudio&&(Ar(c)||or(c))&&!c.isUserProvided&&(this.log.debug("restarting existing track",Object.assign(Object.assign({},this.logContext),{track:l.trackSid})),yield c.restartTrack()),yield this.publishOrRepublishTrack(c,l.options,!0)}))),s()}catch(a){o(a)}finally{this.republishPromise=void 0}})),yield r.republishPromise}()})}publishData(e){return S(this,arguments,void 0,function(n){var r=this;let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return function*(){const s=i.reliable?re.RELIABLE:re.LOSSY,o=i.destinationIdentities,a=i.topic,l=new ft({kind:s,value:{case:"user",value:new Uv({participantIdentity:r.identity,payload:n,destinationIdentities:o,topic:a})}});yield r.engine.sendDataPacket(l,s)}()})}publishDtmf(e,n){return S(this,void 0,void 0,function*(){const r=new ft({kind:re.RELIABLE,value:{case:"sipDtmf",value:new Fv({code:e,digit:n})}});yield this.engine.sendDataPacket(r,re.RELIABLE)})}sendChatMessage(e,n){return S(this,void 0,void 0,function*(){const r={id:crypto.randomUUID(),message:e,timestamp:Date.now(),attachedFiles:n==null?void 0:n.attachments},i=new ft({value:{case:"chatMessage",value:new ad(Object.assign(Object.assign({},r),{timestamp:ye.parse(r.timestamp)}))}});return yield this.engine.sendDataPacket(i,re.RELIABLE),this.emit(B.ChatMessage,r),r})}editChatMessage(e,n){return S(this,void 0,void 0,function*(){const r=Object.assign(Object.assign({},n),{message:e,editTimestamp:Date.now()}),i=new ft({value:{case:"chatMessage",value:new ad(Object.assign(Object.assign({},r),{timestamp:ye.parse(r.timestamp),editTimestamp:ye.parse(r.editTimestamp)}))}});return yield this.engine.sendDataPacket(i,re.RELIABLE),this.emit(B.ChatMessage,r),r})}sendText(e,n){return S(this,void 0,void 0,function*(){var r;const i=crypto.randomUUID(),o=new TextEncoder().encode(e).byteLength,a=(r=n==null?void 0:n.attachments)===null||r===void 0?void 0:r.map(()=>crypto.randomUUID()),l=new Array(a?a.length+1:1).fill(0),c=(d,f)=>{var h;l[f]=d;const v=l.reduce((y,T)=>y+T,0);(h=n==null?void 0:n.onProgress)===null||h===void 0||h.call(n,v)},u=yield this.streamText({streamId:i,totalSize:o,destinationIdentities:n==null?void 0:n.destinationIdentities,topic:n==null?void 0:n.topic,attachedStreamIds:a,attributes:n==null?void 0:n.attributes});return yield u.write(e),c(1,0),yield u.close(),n!=null&&n.attachments&&a&&(yield Promise.all(n.attachments.map((d,f)=>S(this,void 0,void 0,function*(){return this._sendFile(a[f],d,{topic:n.topic,mimeType:d.type,onProgress:h=>{c(h,f+1)}})})))),u.info})}streamText(e){return S(this,void 0,void 0,function*(){var n,r;const i=(n=e==null?void 0:e.streamId)!==null&&n!==void 0?n:crypto.randomUUID(),s={id:i,mimeType:"text/plain",timestamp:Date.now(),topic:(r=e==null?void 0:e.topic)!==null&&r!==void 0?r:"",size:e==null?void 0:e.totalSize,attributes:e==null?void 0:e.attributes},o=new cd({streamId:i,mimeType:s.mimeType,topic:s.topic,timestamp:Dr(s.timestamp),totalLength:Dr(e==null?void 0:e.totalSize),attributes:s.attributes,contentHeader:{case:"textHeader",value:new Qv({version:e==null?void 0:e.version,attachedStreamIds:e==null?void 0:e.attachedStreamIds,replyToStreamId:e==null?void 0:e.replyToStreamId,operationType:(e==null?void 0:e.type)==="update"?ld.UPDATE:ld.CREATE})}}),a=e==null?void 0:e.destinationIdentities,l=new ft({destinationIdentities:a,value:{case:"streamHeader",value:o}});yield this.engine.sendDataPacket(l,re.RELIABLE);let c=0;const u=this,d=new WritableStream({write(v){return S(this,void 0,void 0,function*(){for(const y of V2(v,pl)){yield u.engine.waitForBufferStatusLow(re.RELIABLE);const T=new ud({content:y,streamId:i,chunkIndex:Dr(c)}),m=new ft({destinationIdentities:a,value:{case:"streamChunk",value:T}});yield u.engine.sendDataPacket(m,re.RELIABLE),c+=1}})},close(){return S(this,void 0,void 0,function*(){const v=new dd({streamId:i}),y=new ft({destinationIdentities:a,value:{case:"streamTrailer",value:v}});yield u.engine.sendDataPacket(y,re.RELIABLE)})},abort(v){console.log("Sink error:",v)}});let f=()=>S(this,void 0,void 0,function*(){yield h.close()});u.engine.once(F.Closing,f);const h=new Ix(d,s,()=>this.engine.off(F.Closing,f));return h})}sendFile(e,n){return S(this,void 0,void 0,function*(){const r=crypto.randomUUID();return yield this._sendFile(r,e,n),{id:r}})}_sendFile(e,n,r){return S(this,void 0,void 0,function*(){var i,s;const o=n.size,a=new cd({totalLength:Dr(o),mimeType:(i=r==null?void 0:r.mimeType)!==null&&i!==void 0?i:n.type,streamId:e,topic:r==null?void 0:r.topic,encryptionType:r==null?void 0:r.encryptionType,timestamp:Dr(Date.now()),contentHeader:{case:"byteHeader",value:new Jv({name:n.name})}}),l=r==null?void 0:r.destinationIdentities,c=new ft({destinationIdentities:l,value:{case:"streamHeader",value:a}});yield this.engine.sendDataPacket(c,re.RELIABLE);function u(v){return new Promise(y=>{const T=new FileReader;T.onload=()=>{y(new Uint8Array(T.result))},T.readAsArrayBuffer(v)})}const d=Math.ceil(o/pl);for(let v=0;v<d;v++){const y=yield u(n.slice(v*pl,Math.min((v+1)*pl,o)));yield this.engine.waitForBufferStatusLow(re.RELIABLE);const T=new ud({content:y,streamId:e,chunkIndex:Dr(v)}),m=new ft({destinationIdentities:l,value:{case:"streamChunk",value:T}});yield this.engine.sendDataPacket(m,re.RELIABLE),(s=r==null?void 0:r.onProgress)===null||s===void 0||s.call(r,(v+1)/d)}const f=new dd({streamId:e}),h=new ft({destinationIdentities:l,value:{case:"streamTrailer",value:f}});yield this.engine.sendDataPacket(h,re.RELIABLE)})}performRpc(e){return S(this,arguments,void 0,function(n){var r=this;let{destinationIdentity:i,method:s,payload:o,responseTimeout:a=1e4}=n;return function*(){return new Promise((c,u)=>S(r,void 0,void 0,function*(){var d,f,h,v;if(sf(o)>Py){u(_e.builtIn("REQUEST_PAYLOAD_TOO_LARGE"));return}if(!((f=(d=this.engine.latestJoinResponse)===null||d===void 0?void 0:d.serverInfo)===null||f===void 0)&&f.version&&Nr((v=(h=this.engine.latestJoinResponse)===null||h===void 0?void 0:h.serverInfo)===null||v===void 0?void 0:v.version,"1.8.0")<0){u(_e.builtIn("UNSUPPORTED_SERVER"));return}const y=crypto.randomUUID();yield this.publishRpcRequest(i,y,s,o,a-2e3);const T=setTimeout(()=>{this.pendingAcks.delete(y),u(_e.builtIn("CONNECTION_TIMEOUT")),this.pendingResponses.delete(y),clearTimeout(m)},2e3);this.pendingAcks.set(y,{resolve:()=>{clearTimeout(T)},participantIdentity:i});const m=setTimeout(()=>{this.pendingResponses.delete(y),u(_e.builtIn("RESPONSE_TIMEOUT"))},a);this.pendingResponses.set(y,{resolve:(b,p)=>{clearTimeout(m),this.pendingAcks.has(y)&&(console.warn("RPC response received before ack",y),this.pendingAcks.delete(y),clearTimeout(T)),p?u(p):c(b??"")},participantIdentity:i})}))}()})}registerRpcMethod(e,n){this.rpcHandlers.has(e)&&this.log.warn("you're overriding the RPC handler for method ".concat(e,", in the future this will throw an error")),this.rpcHandlers.set(e,n)}unregisterRpcMethod(e){this.rpcHandlers.delete(e)}setTrackSubscriptionPermissions(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];this.participantTrackPermissions=n,this.allParticipantsAllowedToSubscribe=e,this.engine.client.isDisconnected||this.updateTrackSubscriptionPermissions()}handleIncomingRpcAck(e){const n=this.pendingAcks.get(e);n?(n.resolve(),this.pendingAcks.delete(e)):console.error("Ack received for unexpected RPC request",e)}handleIncomingRpcResponse(e,n,r){const i=this.pendingResponses.get(e);i?(i.resolve(n,r),this.pendingResponses.delete(e)):console.error("Response received for unexpected RPC request",e)}publishRpcRequest(e,n,r,i,s){return S(this,void 0,void 0,function*(){const o=new ft({destinationIdentities:[e],kind:re.RELIABLE,value:{case:"rpcRequest",value:new Bv({id:n,method:r,payload:i,responseTimeoutMs:s,version:1})}});yield this.engine.sendDataPacket(o,re.RELIABLE)})}handleParticipantDisconnected(e){for(const[n,{participantIdentity:r}]of this.pendingAcks)r===e&&this.pendingAcks.delete(n);for(const[n,{participantIdentity:r,resolve:i}]of this.pendingResponses)r===e&&(i(null,_e.builtIn("RECIPIENT_DISCONNECTED")),this.pendingResponses.delete(n))}setEnabledPublishCodecs(e){this.enabledPublishVideoCodecs=e.filter(n=>n.mime.split("/")[0].toLowerCase()==="video")}updateInfo(e){return e.sid!==this.sid||!super.updateInfo(e)?!1:(e.tracks.forEach(n=>{var r,i;const s=this.trackPublications.get(n.sid);if(s){const o=s.isMuted||((i=(r=s.track)===null||r===void 0?void 0:r.isUpstreamPaused)!==null&&i!==void 0?i:!1);o!==n.muted&&(this.log.debug("updating server mute state after reconcile",Object.assign(Object.assign(Object.assign({},this.logContext),le(s)),{mutedOnServer:o})),this.engine.client.sendMuteTrack(n.sid,o))}}),!0)}getPublicationForTrack(e){let n;return this.trackPublications.forEach(r=>{const i=r.track;i&&(e instanceof MediaStreamTrack?(Ar(i)||or(i))&&i.mediaStreamTrack===e&&(n=r):e===i&&(n=r))}),n}waitForPendingPublicationOfSource(e){return S(this,void 0,void 0,function*(){const r=Date.now();for(;Date.now()<r+1e4;){const i=Array.from(this.pendingPublishPromises.entries()).find(s=>{let[o]=s;return o.source===e});if(i)return i[1];yield ht(20)}})}}class jx extends xn{constructor(e,n,r,i){super(e,n.sid,n.name,i),this.track=void 0,this.allowed=!0,this.disabled=!1,this.currentVideoQuality=It.HIGH,this.handleEnded=s=>{this.setTrack(void 0),this.emit(j.Ended,s)},this.handleVisibilityChange=s=>{this.log.debug("adaptivestream video visibility ".concat(this.trackSid,", visible=").concat(s),this.logContext),this.disabled=!s,this.emitTrackUpdate()},this.handleVideoDimensionsChange=s=>{this.log.debug("adaptivestream video dimensions ".concat(s.width,"x").concat(s.height),this.logContext),this.videoDimensions=s,this.emitTrackUpdate()},this.subscribed=r,this.updateInfo(n)}setSubscribed(e){const n=this.subscriptionStatus,r=this.permissionStatus;this.subscribed=e,e&&(this.allowed=!0);const i=new Wa({trackSids:[this.trackSid],subscribe:this.subscribed,participantTracks:[new $v({participantSid:"",trackSids:[this.trackSid]})]});this.emit(j.UpdateSubscription,i),this.emitSubscriptionUpdateIfChanged(n),this.emitPermissionUpdateIfChanged(r)}get subscriptionStatus(){return this.subscribed===!1?xn.SubscriptionStatus.Unsubscribed:super.isSubscribed?xn.SubscriptionStatus.Subscribed:xn.SubscriptionStatus.Desired}get permissionStatus(){return this.allowed?xn.PermissionStatus.Allowed:xn.PermissionStatus.NotAllowed}get isSubscribed(){return this.subscribed===!1?!1:super.isSubscribed}get isDesired(){return this.subscribed!==!1}get isEnabled(){return!this.disabled}get isLocal(){return!1}setEnabled(e){!this.isManualOperationAllowed()||this.disabled===!e||(this.disabled=!e,this.emitTrackUpdate())}setVideoQuality(e){!this.isManualOperationAllowed()||this.currentVideoQuality===e||(this.currentVideoQuality=e,this.videoDimensions=void 0,this.emitTrackUpdate())}setVideoDimensions(e){var n,r;this.isManualOperationAllowed()&&(((n=this.videoDimensions)===null||n===void 0?void 0:n.width)===e.width&&((r=this.videoDimensions)===null||r===void 0?void 0:r.height)===e.height||(Wd(this.track)&&(this.videoDimensions=e),this.currentVideoQuality=void 0,this.emitTrackUpdate()))}setVideoFPS(e){this.isManualOperationAllowed()&&Wd(this.track)&&this.fps!==e&&(this.fps=e,this.emitTrackUpdate())}get videoQuality(){return this.currentVideoQuality}setTrack(e){const n=this.subscriptionStatus,r=this.permissionStatus,i=this.track;i!==e&&(i&&(i.off(j.VideoDimensionsChanged,this.handleVideoDimensionsChange),i.off(j.VisibilityChanged,this.handleVisibilityChange),i.off(j.Ended,this.handleEnded),i.detach(),i.stopMonitor(),this.emit(j.Unsubscribed,i)),super.setTrack(e),e&&(e.sid=this.trackSid,e.on(j.VideoDimensionsChanged,this.handleVideoDimensionsChange),e.on(j.VisibilityChanged,this.handleVisibilityChange),e.on(j.Ended,this.handleEnded),this.emit(j.Subscribed,e)),this.emitPermissionUpdateIfChanged(r),this.emitSubscriptionUpdateIfChanged(n))}setAllowed(e){const n=this.subscriptionStatus,r=this.permissionStatus;this.allowed=e,this.emitPermissionUpdateIfChanged(r),this.emitSubscriptionUpdateIfChanged(n)}setSubscriptionError(e){this.emit(j.SubscriptionFailed,e)}updateInfo(e){super.updateInfo(e);const n=this.metadataMuted;this.metadataMuted=e.muted,this.track?this.track.setMuted(e.muted):n!==e.muted&&this.emit(e.muted?j.Muted:j.Unmuted)}emitSubscriptionUpdateIfChanged(e){const n=this.subscriptionStatus;e!==n&&this.emit(j.SubscriptionStatusChanged,n,e)}emitPermissionUpdateIfChanged(e){this.permissionStatus!==e&&this.emit(j.SubscriptionPermissionChanged,this.permissionStatus,e)}isManualOperationAllowed(){return this.kind===L.Kind.Video&&this.isAdaptiveStream?(this.log.warn("adaptive stream is enabled, cannot change video track settings",this.logContext),!1):this.isDesired?!0:(this.log.warn("cannot update track settings when not subscribed",this.logContext),!1)}get isAdaptiveStream(){return Wd(this.track)&&this.track.isAdaptiveStream}emitTrackUpdate(){const e=new Xv({trackSids:[this.trackSid],disabled:this.disabled,fps:this.fps});this.videoDimensions?(e.width=Math.ceil(this.videoDimensions.width),e.height=Math.ceil(this.videoDimensions.height)):this.currentVideoQuality!==void 0?e.quality=this.currentVideoQuality:e.quality=It.HIGH,this.emit(j.UpdateSettings,e)}}class ml extends By{static fromParticipantInfo(e,n,r){return new ml(e,n.sid,n.identity,n.name,n.metadata,n.attributes,r,n.kind)}get logContext(){return Object.assign(Object.assign({},super.logContext),{rpID:this.sid,remoteParticipant:this.identity})}constructor(e,n,r,i,s,o,a){let l=arguments.length>7&&arguments[7]!==void 0?arguments[7]:qa.STANDARD;super(n,r||"",i,s,o,a,l),this.signalClient=e,this.trackPublications=new Map,this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.volumeMap=new Map}addTrackPublication(e){super.addTrackPublication(e),e.on(j.UpdateSettings,n=>{this.log.debug("send update settings",Object.assign(Object.assign({},this.logContext),le(e))),this.signalClient.sendUpdateTrackSettings(n)}),e.on(j.UpdateSubscription,n=>{n.participantTracks.forEach(r=>{r.participantSid=this.sid}),this.signalClient.sendUpdateSubscription(n)}),e.on(j.SubscriptionPermissionChanged,n=>{this.emit(B.TrackSubscriptionPermissionChanged,e,n)}),e.on(j.SubscriptionStatusChanged,n=>{this.emit(B.TrackSubscriptionStatusChanged,e,n)}),e.on(j.Subscribed,n=>{this.emit(B.TrackSubscribed,n,e)}),e.on(j.Unsubscribed,n=>{this.emit(B.TrackUnsubscribed,n,e)}),e.on(j.SubscriptionFailed,n=>{this.emit(B.TrackSubscriptionFailed,e.trackSid,n)})}getTrackPublication(e){const n=super.getTrackPublication(e);if(n)return n}getTrackPublicationByName(e){const n=super.getTrackPublicationByName(e);if(n)return n}setVolume(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:L.Source.Microphone;this.volumeMap.set(n,e);const r=this.getTrackPublication(n);r&&r.track&&r.track.setVolume(e)}getVolume(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:L.Source.Microphone;const n=this.getTrackPublication(e);return n&&n.track?n.track.getVolume():this.volumeMap.get(e)}addSubscribedMediaTrack(e,n,r,i,s,o){let a=this.getTrackPublicationBySid(n);if(a||n.startsWith("TR")||this.trackPublications.forEach(u=>{!a&&e.kind===u.kind.toString()&&(a=u)}),!a){if(o===0){this.log.error("could not find published track",Object.assign(Object.assign({},this.logContext),{trackSid:n})),this.emit(B.TrackSubscriptionFailed,n);return}o===void 0&&(o=20),setTimeout(()=>{this.addSubscribedMediaTrack(e,n,r,i,s,o-1)},150);return}if(e.readyState==="ended"){this.log.error("unable to subscribe because MediaStreamTrack is ended. Do not call MediaStreamTrack.stop()",Object.assign(Object.assign({},this.logContext),le(a))),this.emit(B.TrackSubscriptionFailed,n);return}const l=e.kind==="video";let c;return l?c=new Lx(e,n,i,s):c=new Ox(e,n,i,this.audioContext,this.audioOutput),c.source=a.source,c.isMuted=a.isMuted,c.setMediaStream(r),c.start(),a.setTrack(c),this.volumeMap.has(a.source)&&qd(c)&&Tn(c)&&c.setVolume(this.volumeMap.get(a.source)),a}get hasMetadata(){return!!this.participantInfo}getTrackPublicationBySid(e){return this.trackPublications.get(e)}updateInfo(e){if(!super.updateInfo(e))return!1;const n=new Map,r=new Map;return e.tracks.forEach(i=>{var s,o;let a=this.getTrackPublicationBySid(i.sid);if(a)a.updateInfo(i);else{const l=L.kindFromProto(i.type);if(!l)return;a=new jx(l,i,(s=this.signalClient.connectOptions)===null||s===void 0?void 0:s.autoSubscribe,{loggerContextCb:()=>this.logContext,loggerName:(o=this.loggerOptions)===null||o===void 0?void 0:o.loggerName}),a.updateInfo(i),r.set(i.sid,a);const c=Array.from(this.trackPublications.values()).find(u=>u.source===(a==null?void 0:a.source));c&&a.source!==L.Source.Unknown&&this.log.debug("received a second track publication for ".concat(this.identity," with the same source: ").concat(a.source),Object.assign(Object.assign({},this.logContext),{oldTrack:le(c),newTrack:le(a)})),this.addTrackPublication(a)}n.set(i.sid,a)}),this.trackPublications.forEach(i=>{n.has(i.trackSid)||(this.log.trace("detected removed track on remote participant, unpublishing",Object.assign(Object.assign({},this.logContext),le(i))),this.unpublishTrack(i.trackSid,!0))}),r.forEach(i=>{this.emit(B.TrackPublished,i)}),!0}unpublishTrack(e,n){const r=this.trackPublications.get(e);if(!r)return;const{track:i}=r;switch(i&&(i.stop(),r.setTrack(void 0)),this.trackPublications.delete(e),r.kind){case L.Kind.Audio:this.audioTrackPublications.delete(e);break;case L.Kind.Video:this.videoTrackPublications.delete(e);break}n&&this.emit(B.TrackUnpublished,r)}setAudioOutput(e){return S(this,void 0,void 0,function*(){this.audioOutput=e;const n=[];this.audioTrackPublications.forEach(r=>{var i;Tn(r.track)&&qd(r.track)&&n.push(r.track.setSinkId((i=e.deviceId)!==null&&i!==void 0?i:"default"))}),yield Promise.all(n)})}emit(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return this.log.trace("participant event",Object.assign(Object.assign({},this.logContext),{event:e,args:r})),super.emit(e,...r)}}var ie;(function(t){t.Disconnected="disconnected",t.Connecting="connecting",t.Connected="connected",t.Reconnecting="reconnecting",t.SignalReconnecting="signalReconnecting"})(ie||(ie={}));const Ux=4*1e3;class Ai extends on.EventEmitter{constructor(e){var n,r,i,s;if(super(),n=this,this.state=ie.Disconnected,this.activeSpeakers=[],this.isE2EEEnabled=!1,this.audioEnabled=!0,this.isVideoPlaybackBlocked=!1,this.log=X,this.bufferedEvents=[],this.isResuming=!1,this.byteStreamControllers=new Map,this.textStreamControllers=new Map,this.byteStreamHandlers=new Map,this.textStreamHandlers=new Map,this.rpcHandlers=new Map,this.connect=(o,a,l)=>S(this,void 0,void 0,function*(){var c;if(!I2())throw an()?Error("WebRTC isn't detected, have you called registerGlobals?"):Error("LiveKit doesn't seem to be supported on this browser. Try to update your browser and make sure no browser extensions are disabling webRTC.");const u=yield this.disconnectLock.lock();if(this.state===ie.Connected)return this.log.info("already connected to room ".concat(this.name),this.logContext),u(),Promise.resolve();if(this.connectFuture)return u(),this.connectFuture.promise;this.setAndEmitConnectionState(ie.Connecting),((c=this.regionUrlProvider)===null||c===void 0?void 0:c.getServerUrl().toString())!==o&&(this.regionUrl=void 0,this.regionUrlProvider=void 0),Bd(new URL(o))&&(this.regionUrlProvider===void 0?this.regionUrlProvider=new df(o,a):this.regionUrlProvider.updateToken(a),this.regionUrlProvider.fetchRegionSettings().then(h=>{var v;(v=this.regionUrlProvider)===null||v===void 0||v.setServerReportedRegions(h)}).catch(h=>{this.log.warn("could not fetch region settings",Object.assign(Object.assign({},this.logContext),{error:h}))}));const d=(h,v,y)=>S(this,void 0,void 0,function*(){var T,m;this.abortController&&this.abortController.abort();const b=new AbortController;this.abortController=b,u==null||u();try{yield this.attemptConnection(y??o,a,l,b),this.abortController=void 0,h()}catch(p){if(this.regionUrlProvider&&p instanceof he&&p.reason!==te.Cancelled&&p.reason!==te.NotAllowed){let k=null;try{k=yield this.regionUrlProvider.getNextBestRegionUrl((T=this.abortController)===null||T===void 0?void 0:T.signal)}catch(C){if(C instanceof he&&(C.status===401||C.reason===te.Cancelled)){this.handleDisconnect(this.options.stopLocalTrackOnUnpublish),v(C);return}}k&&!(!((m=this.abortController)===null||m===void 0)&&m.signal.aborted)?(this.log.info("Initial connection failed with ConnectionError: ".concat(p.message,". Retrying with another region: ").concat(k),this.logContext),this.recreateEngine(),yield d(h,v,k)):(this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,dy(p)),v(p))}else{let k=Vt.UNKNOWN_REASON;p instanceof he&&(k=dy(p)),this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,k),v(p)}}}),f=this.regionUrl;return this.regionUrl=void 0,this.connectFuture=new uy((h,v)=>{d(h,v,f)},()=>{this.clearConnectionFutures()}),this.connectFuture.promise}),this.connectSignal=(o,a,l,c,u,d)=>S(this,void 0,void 0,function*(){var f,h,v;const y=yield l.join(o,a,{autoSubscribe:c.autoSubscribe,adaptiveStream:typeof u.adaptiveStream=="object"?!0:u.adaptiveStream,maxRetries:c.maxRetries,e2eeEnabled:!!this.e2eeManager,websocketTimeout:c.websocketTimeout},d.signal);let T=y.serverInfo;if(T||(T={version:y.serverVersion,region:y.serverRegion}),this.serverInfo=T,this.log.debug("connected to Livekit Server ".concat(Object.entries(T).map(m=>{let[b,p]=m;return"".concat(b,": ").concat(p)}).join(", ")),{room:(f=y.room)===null||f===void 0?void 0:f.name,roomSid:(h=y.room)===null||h===void 0?void 0:h.sid,identity:(v=y.participant)===null||v===void 0?void 0:v.identity}),!T.version)throw new p2("unknown server version");return T.version==="0.15.1"&&this.options.dynacast&&(this.log.debug("disabling dynacast due to server version",this.logContext),u.dynacast=!1),y}),this.applyJoinResponse=o=>{const a=o.participant;if(this.localParticipant.sid=a.sid,this.localParticipant.identity=a.identity,this.localParticipant.setEnabledPublishCodecs(o.enabledPublishCodecs),this.options.e2ee&&this.e2eeManager)try{this.e2eeManager.setSifTrailer(o.sifTrailer)}catch(l){this.log.error(l instanceof Error?l.message:"Could not set SifTrailer",Object.assign(Object.assign({},this.logContext),{error:l}))}this.handleParticipantUpdates([a,...o.otherParticipants]),o.room&&this.handleRoomUpdate(o.room)},this.attemptConnection=(o,a,l,c)=>S(this,void 0,void 0,function*(){var u,d;this.state===ie.Reconnecting||this.isResuming||!((u=this.engine)===null||u===void 0)&&u.pendingReconnect?(this.log.info("Reconnection attempt replaced by new connection attempt",this.logContext),this.recreateEngine()):this.maybeCreateEngine(),!((d=this.regionUrlProvider)===null||d===void 0)&&d.isCloud()&&this.engine.setRegionUrlProvider(this.regionUrlProvider),this.acquireAudioContext(),this.connOptions=Object.assign(Object.assign({},rf),l),this.connOptions.rtcConfig&&(this.engine.rtcConfig=this.connOptions.rtcConfig),this.connOptions.peerConnectionTimeout&&(this.engine.peerConnectionTimeout=this.connOptions.peerConnectionTimeout);try{const f=yield this.connectSignal(o,a,this.engine,this.connOptions,this.options,c);this.applyJoinResponse(f),this.setupLocalParticipantEvents(),this.emit(A.SignalConnected)}catch(f){yield this.engine.close(),this.recreateEngine();const h=new he("could not establish signal connection",te.ServerUnreachable);throw f instanceof Error&&(h.message="".concat(h.message,": ").concat(f.message)),f instanceof he&&(h.reason=f.reason,h.status=f.status),this.log.debug("error trying to establish signal connection",Object.assign(Object.assign({},this.logContext),{error:f})),h}if(c.signal.aborted)throw yield this.engine.close(),this.recreateEngine(),new he("Connection attempt aborted",te.Cancelled);try{yield this.engine.waitForPCInitialConnection(this.connOptions.peerConnectionTimeout,c)}catch(f){throw yield this.engine.close(),this.recreateEngine(),f}pt()&&this.options.disconnectOnPageLeave&&(window.addEventListener("pagehide",this.onPageLeave),window.addEventListener("beforeunload",this.onPageLeave)),pt()&&document.addEventListener("freeze",this.onPageLeave),this.setAndEmitConnectionState(ie.Connected),this.emit(A.Connected),this.registerConnectionReconcile()}),this.disconnect=function(){for(var o=arguments.length,a=new Array(o),l=0;l<o;l++)a[l]=arguments[l];return S(n,[...a],void 0,function(){var c=this;let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return function*(){var d,f,h,v;const y=yield c.disconnectLock.lock();try{if(c.state===ie.Disconnected){c.log.debug("already disconnected",c.logContext);return}c.log.info("disconnect from room",Object.assign({},c.logContext)),(c.state===ie.Connecting||c.state===ie.Reconnecting||c.isResuming)&&(c.log.warn("abort connection attempt",c.logContext),(d=c.abortController)===null||d===void 0||d.abort(),(h=(f=c.connectFuture)===null||f===void 0?void 0:f.reject)===null||h===void 0||h.call(f,new he("Client initiated disconnect",te.Cancelled)),c.connectFuture=void 0),!((v=c.engine)===null||v===void 0)&&v.client.isDisconnected||(yield c.engine.client.sendLeave()),c.engine&&(yield c.engine.close()),c.handleDisconnect(u,Vt.CLIENT_INITIATED),c.engine=void 0}finally{y()}}()})},this.onPageLeave=()=>S(this,void 0,void 0,function*(){this.log.info("Page leave detected, disconnecting",this.logContext),yield this.disconnect()}),this.startAudio=()=>S(this,void 0,void 0,function*(){const o=[],a=$t();if(a&&a.os==="iOS"){const l="livekit-dummy-audio-el";let c=document.getElementById(l);if(!c){c=document.createElement("audio"),c.id=l,c.autoplay=!0,c.hidden=!0;const u=Hd();u.enabled=!0;const d=new MediaStream([u]);c.srcObject=d,document.addEventListener("visibilitychange",()=>{c&&(c.srcObject=document.hidden?null:d,document.hidden||(this.log.debug("page visible again, triggering startAudio to resume playback and update playback status",this.logContext),this.startAudio()))}),document.body.append(c),this.once(A.Disconnected,()=>{c==null||c.remove(),c=null})}o.push(c)}this.remoteParticipants.forEach(l=>{l.audioTrackPublications.forEach(c=>{c.track&&c.track.attachedElements.forEach(u=>{o.push(u)})})});try{yield Promise.all([this.acquireAudioContext(),...o.map(l=>(l.muted=!1,l.play()))]),this.handleAudioPlaybackStarted()}catch(l){throw this.handleAudioPlaybackFailed(l),l}}),this.startVideo=()=>S(this,void 0,void 0,function*(){const o=[];for(const a of this.remoteParticipants.values())a.videoTrackPublications.forEach(l=>{var c;(c=l.track)===null||c===void 0||c.attachedElements.forEach(u=>{o.includes(u)||o.push(u)})});yield Promise.all(o.map(a=>a.play())).then(()=>{this.handleVideoPlaybackStarted()}).catch(a=>{a.name==="NotAllowedError"?this.handleVideoPlaybackFailed():this.log.warn("Resuming video playback failed, make sure you call `startVideo` directly in a user gesture handler",this.logContext)})}),this.handleRestarting=()=>{this.clearConnectionReconcile(),this.isResuming=!1;for(const o of this.remoteParticipants.values())this.handleParticipantDisconnected(o.identity,o);this.setAndEmitConnectionState(ie.Reconnecting)&&this.emit(A.Reconnecting)},this.handleSignalRestarted=o=>S(this,void 0,void 0,function*(){this.log.debug("signal reconnected to server, region ".concat(o.serverRegion),Object.assign(Object.assign({},this.logContext),{region:o.serverRegion})),this.bufferedEvents=[],this.applyJoinResponse(o);try{yield this.localParticipant.republishAllTracks(void 0,!0)}catch(a){this.log.error("error trying to re-publish tracks after reconnection",Object.assign(Object.assign({},this.logContext),{error:a}))}try{yield this.engine.waitForRestarted(),this.log.debug("fully reconnected to server",Object.assign(Object.assign({},this.logContext),{region:o.serverRegion}))}catch{return}this.setAndEmitConnectionState(ie.Connected),this.emit(A.Reconnected),this.registerConnectionReconcile(),this.emitBufferedEvents()}),this.handleParticipantUpdates=o=>{o.forEach(a=>{var l;if(a.identity===this.localParticipant.identity){this.localParticipant.updateInfo(a);return}a.identity===""&&(a.identity=(l=this.sidToIdentity.get(a.sid))!==null&&l!==void 0?l:"");let c=this.remoteParticipants.get(a.identity);a.state===od.DISCONNECTED?this.handleParticipantDisconnected(a.identity,c):c=this.getOrCreateParticipant(a.identity,a)})},this.handleActiveSpeakersUpdate=o=>{const a=[],l={};o.forEach(c=>{if(l[c.sid]=!0,c.sid===this.localParticipant.sid)this.localParticipant.audioLevel=c.level,this.localParticipant.setIsSpeaking(!0),a.push(this.localParticipant);else{const u=this.getRemoteParticipantBySid(c.sid);u&&(u.audioLevel=c.level,u.setIsSpeaking(!0),a.push(u))}}),l[this.localParticipant.sid]||(this.localParticipant.audioLevel=0,this.localParticipant.setIsSpeaking(!1)),this.remoteParticipants.forEach(c=>{l[c.sid]||(c.audioLevel=0,c.setIsSpeaking(!1))}),this.activeSpeakers=a,this.emitWhenConnected(A.ActiveSpeakersChanged,a)},this.handleSpeakersChanged=o=>{const a=new Map;this.activeSpeakers.forEach(c=>{const u=this.remoteParticipants.get(c.identity);u&&u.sid!==c.sid||a.set(c.sid,c)}),o.forEach(c=>{let u=this.getRemoteParticipantBySid(c.sid);c.sid===this.localParticipant.sid&&(u=this.localParticipant),u&&(u.audioLevel=c.level,u.setIsSpeaking(c.active),c.active?a.set(c.sid,u):a.delete(c.sid))});const l=Array.from(a.values());l.sort((c,u)=>u.audioLevel-c.audioLevel),this.activeSpeakers=l,this.emitWhenConnected(A.ActiveSpeakersChanged,l)},this.handleStreamStateUpdate=o=>{o.streamStates.forEach(a=>{const l=this.getRemoteParticipantBySid(a.participantSid);if(!l)return;const c=l.getTrackPublicationBySid(a.trackSid);if(!c||!c.track)return;const u=L.streamStateFromProto(a.state);u!==c.track.streamState&&(c.track.streamState=u,l.emit(B.TrackStreamStateChanged,c,c.track.streamState),this.emitWhenConnected(A.TrackStreamStateChanged,c,c.track.streamState,l))})},this.handleSubscriptionPermissionUpdate=o=>{const a=this.getRemoteParticipantBySid(o.participantSid);if(!a)return;const l=a.getTrackPublicationBySid(o.trackSid);l&&l.setAllowed(o.allowed)},this.handleSubscriptionError=o=>{const a=Array.from(this.remoteParticipants.values()).find(c=>c.trackPublications.has(o.trackSid));if(!a)return;const l=a.getTrackPublicationBySid(o.trackSid);l&&l.setSubscriptionError(o.err)},this.handleDataPacket=o=>{const a=this.remoteParticipants.get(o.participantIdentity);if(o.value.case==="user")this.handleUserPacket(a,o.value.value,o.kind);else if(o.value.case==="transcription")this.handleTranscription(a,o.value.value);else if(o.value.case==="sipDtmf")this.handleSipDtmf(a,o.value.value);else if(o.value.case==="chatMessage")this.handleChatMessage(a,o.value.value);else if(o.value.case==="metrics")this.handleMetrics(o.value.value,a);else if(o.value.case==="streamHeader")this.handleStreamHeader(o.value.value,o.participantIdentity);else if(o.value.case==="streamChunk")this.handleStreamChunk(o.value.value);else if(o.value.case==="streamTrailer")this.handleStreamTrailer(o.value.value);else if(o.value.case==="rpcRequest"){const l=o.value.value;this.handleIncomingRpcRequest(o.participantIdentity,l.id,l.method,l.payload,l.responseTimeoutMs,l.version)}},this.handleUserPacket=(o,a,l)=>{this.emit(A.DataReceived,a.payload,o,l,a.topic),o==null||o.emit(B.DataReceived,a.payload,l)},this.handleSipDtmf=(o,a)=>{this.emit(A.SipDTMFReceived,a,o),o==null||o.emit(B.SipDTMFReceived,a)},this.bufferedSegments=new Map,this.handleTranscription=(o,a)=>{const l=a.transcribedParticipantIdentity===this.localParticipant.identity?this.localParticipant:this.getParticipantByIdentity(a.transcribedParticipantIdentity),c=l==null?void 0:l.trackPublications.get(a.trackId),u=j2(a,this.transcriptionReceivedTimes);c==null||c.emit(j.TranscriptionReceived,u),l==null||l.emit(B.TranscriptionReceived,u,c),this.emit(A.TranscriptionReceived,u,l,c)},this.handleChatMessage=(o,a)=>{const l=U2(a);this.emit(A.ChatMessage,l,o)},this.handleMetrics=(o,a)=>{this.emit(A.MetricsReceived,o,a)},this.handleAudioPlaybackStarted=()=>{this.canPlaybackAudio||(this.audioEnabled=!0,this.emit(A.AudioPlaybackStatusChanged,!0))},this.handleAudioPlaybackFailed=o=>{this.log.warn("could not playback audio",Object.assign(Object.assign({},this.logContext),{error:o})),this.canPlaybackAudio&&(this.audioEnabled=!1,this.emit(A.AudioPlaybackStatusChanged,!1))},this.handleVideoPlaybackStarted=()=>{this.isVideoPlaybackBlocked&&(this.isVideoPlaybackBlocked=!1,this.emit(A.VideoPlaybackStatusChanged,!0))},this.handleVideoPlaybackFailed=()=>{this.isVideoPlaybackBlocked||(this.isVideoPlaybackBlocked=!0,this.emit(A.VideoPlaybackStatusChanged,!1))},this.handleDeviceChange=()=>S(this,void 0,void 0,function*(){var o,a;const l=Ve.getInstance().previousDevices,c=yield Ve.getInstance().getDevices(void 0,!1),u=$t();if((u==null?void 0:u.name)==="Chrome"&&u.os!=="iOS")for(let f of c){const h=l.find(v=>v.deviceId===f.deviceId);h&&h.label!==""&&h.kind===f.kind&&h.label!==f.label&&this.getActiveDevice(f.kind)==="default"&&this.emit(A.ActiveDeviceChanged,f.kind,f.deviceId)}const d=["audiooutput","audioinput","videoinput"];for(let f of d){const h=c.filter(y=>y.kind===f),v=this.getActiveDevice(f);if(v===((o=l.filter(y=>y.kind===f)[0])===null||o===void 0?void 0:o.deviceId)&&h.length>0&&((a=h[0])===null||a===void 0?void 0:a.deviceId)!==v){yield this.switchActiveDevice(f,h[0].deviceId);continue}f==="audioinput"&&!ir()||f==="videoinput"||h.length>0&&!h.find(y=>y.deviceId===this.getActiveDevice(f))&&(yield this.switchActiveDevice(f,h[0].deviceId))}this.emit(A.MediaDevicesChanged)}),this.handleRoomUpdate=o=>{const a=this.roomInfo;this.roomInfo=o,a&&a.metadata!==o.metadata&&this.emitWhenConnected(A.RoomMetadataChanged,o.metadata),(a==null?void 0:a.activeRecording)!==o.activeRecording&&this.emitWhenConnected(A.RecordingStatusChanged,o.activeRecording)},this.handleConnectionQualityUpdate=o=>{o.updates.forEach(a=>{if(a.participantSid===this.localParticipant.sid){this.localParticipant.setConnectionQuality(a.quality);return}const l=this.getRemoteParticipantBySid(a.participantSid);l&&l.setConnectionQuality(a.quality)})},this.onLocalParticipantMetadataChanged=o=>{this.emit(A.ParticipantMetadataChanged,o,this.localParticipant)},this.onLocalParticipantNameChanged=o=>{this.emit(A.ParticipantNameChanged,o,this.localParticipant)},this.onLocalAttributesChanged=o=>{this.emit(A.ParticipantAttributesChanged,o,this.localParticipant)},this.onLocalTrackMuted=o=>{this.emit(A.TrackMuted,o,this.localParticipant)},this.onLocalTrackUnmuted=o=>{this.emit(A.TrackUnmuted,o,this.localParticipant)},this.onTrackProcessorUpdate=o=>{var a;(a=o==null?void 0:o.onPublish)===null||a===void 0||a.call(o,this)},this.onLocalTrackPublished=o=>S(this,void 0,void 0,function*(){var a,l,c,u,d,f;(a=o.track)===null||a===void 0||a.on(j.TrackProcessorUpdate,this.onTrackProcessorUpdate),(l=o.track)===null||l===void 0||l.on(j.Restarted,this.onLocalTrackRestarted),(d=(u=(c=o.track)===null||c===void 0?void 0:c.getProcessor())===null||u===void 0?void 0:u.onPublish)===null||d===void 0||d.call(u,this),this.emit(A.LocalTrackPublished,o,this.localParticipant),Ar(o.track)&&(yield o.track.checkForSilence())&&this.emit(A.LocalAudioSilenceDetected,o);const h=yield(f=o.track)===null||f===void 0?void 0:f.getDeviceId(!1),v=my(o.source);v&&h&&h!==this.localParticipant.activeDeviceMap.get(v)&&(this.localParticipant.activeDeviceMap.set(v,h),this.emit(A.ActiveDeviceChanged,v,h))}),this.onLocalTrackUnpublished=o=>{var a,l;(a=o.track)===null||a===void 0||a.off(j.TrackProcessorUpdate,this.onTrackProcessorUpdate),(l=o.track)===null||l===void 0||l.off(j.Restarted,this.onLocalTrackRestarted),this.emit(A.LocalTrackUnpublished,o,this.localParticipant)},this.onLocalTrackRestarted=o=>S(this,void 0,void 0,function*(){const a=yield o.getDeviceId(!1),l=my(o.source);l&&a&&a!==this.localParticipant.activeDeviceMap.get(l)&&(this.log.debug("local track restarted, setting ".concat(l," ").concat(a," active"),this.logContext),this.localParticipant.activeDeviceMap.set(l,a),this.emit(A.ActiveDeviceChanged,l,a))}),this.onLocalConnectionQualityChanged=o=>{this.emit(A.ConnectionQualityChanged,o,this.localParticipant)},this.onMediaDevicesError=o=>{this.emit(A.MediaDevicesError,o)},this.onLocalParticipantPermissionsChanged=o=>{this.emit(A.ParticipantPermissionsChanged,o,this.localParticipant)},this.onLocalChatMessageSent=o=>{this.emit(A.ChatMessage,o,this.localParticipant)},this.setMaxListeners(100),this.remoteParticipants=new Map,this.sidToIdentity=new Map,this.options=Object.assign(Object.assign({},lx),e),this.log=Sn((r=this.options.loggerName)!==null&&r!==void 0?r:Ht.Room),this.transcriptionReceivedTimes=new Map,this.options.audioCaptureDefaults=Object.assign(Object.assign({},xy),e==null?void 0:e.audioCaptureDefaults),this.options.videoCaptureDefaults=Object.assign(Object.assign({},Ey),e==null?void 0:e.videoCaptureDefaults),this.options.publishDefaults=Object.assign(Object.assign({},ax),e==null?void 0:e.publishDefaults),this.maybeCreateEngine(),this.disconnectLock=new Ct,this.localParticipant=new Ax("","",this.engine,this.options,this.rpcHandlers),this.options.videoCaptureDefaults.deviceId&&this.localParticipant.activeDeviceMap.set("videoinput",sr(this.options.videoCaptureDefaults.deviceId)),this.options.audioCaptureDefaults.deviceId&&this.localParticipant.activeDeviceMap.set("audioinput",sr(this.options.audioCaptureDefaults.deviceId)),!((i=this.options.audioOutput)===null||i===void 0)&&i.deviceId&&this.switchActiveDevice("audiooutput",sr(this.options.audioOutput.deviceId)).catch(o=>this.log.warn("Could not set audio output: ".concat(o.message),this.logContext)),this.options.e2ee&&this.setupE2EE(),pt()){const o=new AbortController;(s=navigator.mediaDevices)===null||s===void 0||s.addEventListener("devicechange",this.handleDeviceChange,{signal:o.signal}),Ai.cleanupRegistry&&Ai.cleanupRegistry.register(this,()=>{o.abort()})}}registerTextStreamHandler(e,n){if(this.textStreamHandlers.has(e))throw new TypeError('A text stream handler for topic "'.concat(e,'" has already been set.'));this.textStreamHandlers.set(e,n)}unregisterTextStreamHandler(e){this.textStreamHandlers.delete(e)}registerByteStreamHandler(e,n){if(this.byteStreamHandlers.has(e))throw new TypeError('A byte stream handler for topic "'.concat(e,'" has already been set.'));this.byteStreamHandlers.set(e,n)}unregisterByteStreamHandler(e){this.byteStreamHandlers.delete(e)}registerRpcMethod(e,n){if(this.rpcHandlers.has(e))throw Error("RPC handler already registered for method ".concat(e,", unregisterRpcMethod before trying to register again"));this.rpcHandlers.set(e,n)}unregisterRpcMethod(e){this.rpcHandlers.delete(e)}handleIncomingRpcRequest(e,n,r,i,s,o){return S(this,void 0,void 0,function*(){if(yield this.engine.publishRpcAck(e,n),o!==1){yield this.engine.publishRpcResponse(e,n,null,_e.builtIn("UNSUPPORTED_VERSION"));return}const a=this.rpcHandlers.get(r);if(!a){yield this.engine.publishRpcResponse(e,n,null,_e.builtIn("UNSUPPORTED_METHOD"));return}let l=null,c=null;try{const u=yield a({requestId:n,callerIdentity:e,payload:i,responseTimeout:s});sf(u)>Py?(l=_e.builtIn("RESPONSE_PAYLOAD_TOO_LARGE"),console.warn("RPC Response payload too large for ".concat(r))):c=u}catch(u){u instanceof _e?l=u:(console.warn("Uncaught error returned by RPC handler for ".concat(r,". Returning APPLICATION_ERROR instead."),u),l=_e.builtIn("APPLICATION_ERROR"))}yield this.engine.publishRpcResponse(e,n,c,l)})}setE2EEEnabled(e){return S(this,void 0,void 0,function*(){if(this.e2eeManager)yield Promise.all([this.localParticipant.setE2EEEnabled(e)]),this.localParticipant.identity!==""&&this.e2eeManager.setParticipantCryptorEnabled(e,this.localParticipant.identity);else throw Error("e2ee not configured, please set e2ee settings within the room options")})}setupE2EE(){var e;this.options.e2ee&&("e2eeManager"in this.options.e2ee?this.e2eeManager=this.options.e2ee.e2eeManager:this.e2eeManager=new G2(this.options.e2ee),this.e2eeManager.on(nr.ParticipantEncryptionStatusChanged,(n,r)=>{B2(r)&&(this.isE2EEEnabled=n),this.emit(A.ParticipantEncryptionStatusChanged,n,r)}),this.e2eeManager.on(nr.EncryptionError,n=>this.emit(A.EncryptionError,n)),(e=this.e2eeManager)===null||e===void 0||e.setup(this))}get logContext(){var e;return{room:this.name,roomID:(e=this.roomInfo)===null||e===void 0?void 0:e.sid,participant:this.localParticipant.identity,pID:this.localParticipant.sid}}get isRecording(){var e,n;return(n=(e=this.roomInfo)===null||e===void 0?void 0:e.activeRecording)!==null&&n!==void 0?n:!1}getSid(){return S(this,void 0,void 0,function*(){return this.state===ie.Disconnected?"":this.roomInfo&&this.roomInfo.sid!==""?this.roomInfo.sid:new Promise((e,n)=>{const r=i=>{i.sid!==""&&(this.engine.off(F.RoomUpdate,r),e(i.sid))};this.engine.on(F.RoomUpdate,r),this.once(A.Disconnected,()=>{this.engine.off(F.RoomUpdate,r),n("Room disconnected before room server id was available")})})})}get name(){var e,n;return(n=(e=this.roomInfo)===null||e===void 0?void 0:e.name)!==null&&n!==void 0?n:""}get metadata(){var e;return(e=this.roomInfo)===null||e===void 0?void 0:e.metadata}get numParticipants(){var e,n;return(n=(e=this.roomInfo)===null||e===void 0?void 0:e.numParticipants)!==null&&n!==void 0?n:0}get numPublishers(){var e,n;return(n=(e=this.roomInfo)===null||e===void 0?void 0:e.numPublishers)!==null&&n!==void 0?n:0}maybeCreateEngine(){this.engine&&!this.engine.isClosed||(this.engine=new wx(this.options),this.engine.on(F.ParticipantUpdate,this.handleParticipantUpdates).on(F.RoomUpdate,this.handleRoomUpdate).on(F.SpeakersChanged,this.handleSpeakersChanged).on(F.StreamStateChanged,this.handleStreamStateUpdate).on(F.ConnectionQualityUpdate,this.handleConnectionQualityUpdate).on(F.SubscriptionError,this.handleSubscriptionError).on(F.SubscriptionPermissionUpdate,this.handleSubscriptionPermissionUpdate).on(F.MediaTrackAdded,(e,n,r)=>{this.onTrackAdded(e,n,r)}).on(F.Disconnected,e=>{this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,e)}).on(F.ActiveSpeakersUpdate,this.handleActiveSpeakersUpdate).on(F.DataPacketReceived,this.handleDataPacket).on(F.Resuming,()=>{this.clearConnectionReconcile(),this.isResuming=!0,this.log.info("Resuming signal connection",this.logContext),this.setAndEmitConnectionState(ie.SignalReconnecting)&&this.emit(A.SignalReconnecting)}).on(F.Resumed,()=>{this.registerConnectionReconcile(),this.isResuming=!1,this.log.info("Resumed signal connection",this.logContext),this.updateSubscriptions(),this.emitBufferedEvents(),this.setAndEmitConnectionState(ie.Connected)&&this.emit(A.Reconnected)}).on(F.SignalResumed,()=>{this.bufferedEvents=[],(this.state===ie.Reconnecting||this.isResuming)&&this.sendSyncState()}).on(F.Restarting,this.handleRestarting).on(F.SignalRestarted,this.handleSignalRestarted).on(F.Offline,()=>{this.setAndEmitConnectionState(ie.Reconnecting)&&this.emit(A.Reconnecting)}).on(F.DCBufferStatusChanged,(e,n)=>{this.emit(A.DCBufferStatusChanged,e,n)}).on(F.LocalTrackSubscribed,e=>{const n=this.localParticipant.getTrackPublications().find(r=>{let{trackSid:i}=r;return i===e});if(!n){this.log.warn("could not find local track subscription for subscribed event",this.logContext);return}this.localParticipant.emit(B.LocalTrackSubscribed,n),this.emitWhenConnected(A.LocalTrackSubscribed,n,this.localParticipant)}),this.localParticipant&&this.localParticipant.setupEngine(this.engine),this.e2eeManager&&this.e2eeManager.setupEngine(this.engine))}static getLocalDevices(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Ve.getInstance().getDevices(e,n)}prepareConnection(e,n){return S(this,void 0,void 0,function*(){if(this.state===ie.Disconnected){this.log.debug("prepareConnection to ".concat(e),this.logContext);try{if(Bd(new URL(e))&&n){this.regionUrlProvider=new df(e,n);const r=yield this.regionUrlProvider.getNextBestRegionUrl();r&&this.state===ie.Disconnected&&(this.regionUrl=r,yield fetch($d(r),{method:"HEAD"}),this.log.debug("prepared connection to ".concat(r),this.logContext))}else yield fetch($d(e),{method:"HEAD"})}catch(r){this.log.warn("could not prepare connection",Object.assign(Object.assign({},this.logContext),{error:r}))}}})}getParticipantByIdentity(e){return this.localParticipant.identity===e?this.localParticipant:this.remoteParticipants.get(e)}clearConnectionFutures(){this.connectFuture=void 0}simulateScenario(e,n){return S(this,void 0,void 0,function*(){let r=()=>{},i;switch(e){case"signal-reconnect":yield this.engine.client.handleOnClose("simulate disconnect");break;case"speaker":i=new sn({scenario:{case:"speakerUpdate",value:3}});break;case"node-failure":i=new sn({scenario:{case:"nodeFailure",value:!0}});break;case"server-leave":i=new sn({scenario:{case:"serverLeave",value:!0}});break;case"migration":i=new sn({scenario:{case:"migration",value:!0}});break;case"resume-reconnect":this.engine.failNext(),yield this.engine.client.handleOnClose("simulate resume-disconnect");break;case"disconnect-signal-on-resume":r=()=>S(this,void 0,void 0,function*(){yield this.engine.client.handleOnClose("simulate resume-disconnect")}),i=new sn({scenario:{case:"disconnectSignalOnResume",value:!0}});break;case"disconnect-signal-on-resume-no-messages":r=()=>S(this,void 0,void 0,function*(){yield this.engine.client.handleOnClose("simulate resume-disconnect")}),i=new sn({scenario:{case:"disconnectSignalOnResumeNoMessages",value:!0}});break;case"full-reconnect":this.engine.fullReconnectOnNext=!0,yield this.engine.client.handleOnClose("simulate full-reconnect");break;case"force-tcp":case"force-tls":i=new sn({scenario:{case:"switchCandidateProtocol",value:e==="force-tls"?2:1}}),r=()=>S(this,void 0,void 0,function*(){const s=this.engine.client.onLeave;s&&s(new Ga({reason:Vt.CLIENT_INITIATED,action:Pi.RECONNECT}))});break;case"subscriber-bandwidth":if(n===void 0||typeof n!="number")throw new Error("subscriber-bandwidth requires a number as argument");i=new sn({scenario:{case:"subscriberBandwidth",value:Dr(n)}});break;case"leave-full-reconnect":i=new sn({scenario:{case:"leaveRequestFullReconnect",value:!0}})}i&&(yield this.engine.client.sendSimulateScenario(i),yield r())})}get canPlaybackAudio(){return this.audioEnabled}get canPlaybackVideo(){return!this.isVideoPlaybackBlocked}getActiveDevice(e){return this.localParticipant.activeDeviceMap.get(e)}switchActiveDevice(e,n){return S(this,arguments,void 0,function(r,i){var s=this;let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return function*(){var a,l,c,u,d,f,h,v;let y=!0,T=!1;const m=o?{exact:i}:i;if(r==="audioinput"){T=s.localParticipant.audioTrackPublications.size===0;const b=(a=s.getActiveDevice(r))!==null&&a!==void 0?a:s.options.audioCaptureDefaults.deviceId;s.options.audioCaptureDefaults.deviceId=m;const p=Array.from(s.localParticipant.audioTrackPublications.values()).filter(k=>k.source===L.Source.Microphone);try{y=(yield Promise.all(p.map(k=>{var C;return(C=k.audioTrack)===null||C===void 0?void 0:C.setDeviceId(m)}))).every(k=>k===!0)}catch(k){throw s.options.audioCaptureDefaults.deviceId=b,k}}else if(r==="videoinput"){T=s.localParticipant.videoTrackPublications.size===0;const b=(l=s.getActiveDevice(r))!==null&&l!==void 0?l:s.options.videoCaptureDefaults.deviceId;s.options.videoCaptureDefaults.deviceId=m;const p=Array.from(s.localParticipant.videoTrackPublications.values()).filter(k=>k.source===L.Source.Camera);try{y=(yield Promise.all(p.map(k=>{var C;return(C=k.videoTrack)===null||C===void 0?void 0:C.setDeviceId(m)}))).every(k=>k===!0)}catch(k){throw s.options.videoCaptureDefaults.deviceId=b,k}}else if(r==="audiooutput"){if(!Fd()&&!s.options.webAudioMix||s.options.webAudioMix&&s.audioContext&&!("setSinkId"in s.audioContext))throw new Error("cannot switch audio output, setSinkId not supported");s.options.webAudioMix&&(i=(c=yield Ve.getInstance().normalizeDeviceId("audiooutput",i))!==null&&c!==void 0?c:""),(u=(v=s.options).audioOutput)!==null&&u!==void 0||(v.audioOutput={});const b=(d=s.getActiveDevice(r))!==null&&d!==void 0?d:s.options.audioOutput.deviceId;s.options.audioOutput.deviceId=i;try{s.options.webAudioMix&&((f=s.audioContext)===null||f===void 0||f.setSinkId(i)),yield Promise.all(Array.from(s.remoteParticipants.values()).map(p=>p.setAudioOutput({deviceId:i})))}catch(p){throw s.options.audioOutput.deviceId=b,p}}return(T||r==="audiooutput")&&(s.localParticipant.activeDeviceMap.set(r,r==="audiooutput"&&((h=s.options.audioOutput)===null||h===void 0?void 0:h.deviceId)||i),s.emit(A.ActiveDeviceChanged,r,i)),y}()})}setupLocalParticipantEvents(){this.localParticipant.on(B.ParticipantMetadataChanged,this.onLocalParticipantMetadataChanged).on(B.ParticipantNameChanged,this.onLocalParticipantNameChanged).on(B.AttributesChanged,this.onLocalAttributesChanged).on(B.TrackMuted,this.onLocalTrackMuted).on(B.TrackUnmuted,this.onLocalTrackUnmuted).on(B.LocalTrackPublished,this.onLocalTrackPublished).on(B.LocalTrackUnpublished,this.onLocalTrackUnpublished).on(B.ConnectionQualityChanged,this.onLocalConnectionQualityChanged).on(B.MediaDevicesError,this.onMediaDevicesError).on(B.AudioStreamAcquired,this.startAudio).on(B.ChatMessage,this.onLocalChatMessageSent).on(B.ParticipantPermissionsChanged,this.onLocalParticipantPermissionsChanged)}recreateEngine(){var e;(e=this.engine)===null||e===void 0||e.close(),this.engine=void 0,this.isResuming=!1,this.remoteParticipants.clear(),this.sidToIdentity.clear(),this.bufferedEvents=[],this.maybeCreateEngine()}onTrackAdded(e,n,r){if(this.state===ie.Connecting||this.state===ie.Reconnecting){const u=()=>{this.onTrackAdded(e,n,r),d()},d=()=>{this.off(A.Reconnected,u),this.off(A.Connected,u),this.off(A.Disconnected,d)};this.once(A.Reconnected,u),this.once(A.Connected,u),this.once(A.Disconnected,d);return}if(this.state===ie.Disconnected){this.log.warn("skipping incoming track after Room disconnected",this.logContext);return}if(e.readyState==="ended"){this.log.info("skipping incoming track as it already ended",this.logContext);return}const i=P2(n.id),s=i[0];let o=i[1],a=e.id;if(o&&o.startsWith("TR")&&(a=o),s===this.localParticipant.sid){this.log.warn("tried to create RemoteParticipant for local participant",this.logContext);return}const l=Array.from(this.remoteParticipants.values()).find(u=>u.sid===s);if(!l){this.log.error("Tried to add a track for a participant, that's not present. Sid: ".concat(s),this.logContext);return}let c;this.options.adaptiveStream&&(typeof this.options.adaptiveStream=="object"?c=this.options.adaptiveStream:c={}),l.addSubscribedMediaTrack(e,a,n,r,c)}handleDisconnect(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,n=arguments.length>1?arguments[1]:void 0;var r;if(this.clearConnectionReconcile(),this.isResuming=!1,this.bufferedEvents=[],this.transcriptionReceivedTimes.clear(),this.state!==ie.Disconnected){this.regionUrl=void 0;try{this.remoteParticipants.forEach(i=>{i.trackPublications.forEach(s=>{i.unpublishTrack(s.trackSid)})}),this.localParticipant.trackPublications.forEach(i=>{var s,o,a;i.track&&this.localParticipant.unpublishTrack(i.track,e),e?((s=i.track)===null||s===void 0||s.detach(),(o=i.track)===null||o===void 0||o.stop()):(a=i.track)===null||a===void 0||a.stopMonitor()}),this.localParticipant.off(B.ParticipantMetadataChanged,this.onLocalParticipantMetadataChanged).off(B.ParticipantNameChanged,this.onLocalParticipantNameChanged).off(B.AttributesChanged,this.onLocalAttributesChanged).off(B.TrackMuted,this.onLocalTrackMuted).off(B.TrackUnmuted,this.onLocalTrackUnmuted).off(B.LocalTrackPublished,this.onLocalTrackPublished).off(B.LocalTrackUnpublished,this.onLocalTrackUnpublished).off(B.ConnectionQualityChanged,this.onLocalConnectionQualityChanged).off(B.MediaDevicesError,this.onMediaDevicesError).off(B.AudioStreamAcquired,this.startAudio).off(B.ChatMessage,this.onLocalChatMessageSent).off(B.ParticipantPermissionsChanged,this.onLocalParticipantPermissionsChanged),this.localParticipant.trackPublications.clear(),this.localParticipant.videoTrackPublications.clear(),this.localParticipant.audioTrackPublications.clear(),this.remoteParticipants.clear(),this.sidToIdentity.clear(),this.activeSpeakers=[],this.audioContext&&typeof this.options.webAudioMix=="boolean"&&(this.audioContext.close(),this.audioContext=void 0),pt()&&(window.removeEventListener("beforeunload",this.onPageLeave),window.removeEventListener("pagehide",this.onPageLeave),window.removeEventListener("freeze",this.onPageLeave),(r=navigator.mediaDevices)===null||r===void 0||r.removeEventListener("devicechange",this.handleDeviceChange))}finally{this.setAndEmitConnectionState(ie.Disconnected),this.emit(A.Disconnected,n)}}}handleParticipantDisconnected(e,n){var r;this.remoteParticipants.delete(e),n&&(n.trackPublications.forEach(i=>{n.unpublishTrack(i.trackSid,!0)}),this.emit(A.ParticipantDisconnected,n),(r=this.localParticipant)===null||r===void 0||r.handleParticipantDisconnected(n.identity))}handleStreamHeader(e,n){return S(this,void 0,void 0,function*(){var r;if(e.contentHeader.case==="byteHeader"){const i=this.byteStreamHandlers.get(e.topic);if(!i){this.log.debug("ignoring incoming byte stream due to no handler for topic",e.topic);return}let s;const o={id:e.streamId,name:(r=e.contentHeader.value.name)!==null&&r!==void 0?r:"unknown",mimeType:e.mimeType,size:e.totalLength?Number(e.totalLength):void 0,topic:e.topic,timestamp:ol(e.timestamp),attributes:e.attributes},a=new ReadableStream({start:l=>{s=l,this.byteStreamControllers.set(e.streamId,{info:o,controller:s,startTime:Date.now()})}});i(new Px(o,a,ol(e.totalLength)),{identity:n})}else if(e.contentHeader.case==="textHeader"){const i=this.textStreamHandlers.get(e.topic);if(!i){this.log.debug("ignoring incoming text stream due to no handler for topic",e.topic);return}let s;const o={id:e.streamId,mimeType:e.mimeType,size:e.totalLength?Number(e.totalLength):void 0,topic:e.topic,timestamp:Number(e.timestamp),attributes:e.attributes},a=new ReadableStream({start:l=>{s=l,this.textStreamControllers.set(e.streamId,{info:o,controller:s,startTime:Date.now()})}});i(new _x(o,a,ol(e.totalLength)),{identity:n})}})}handleStreamChunk(e){const n=this.byteStreamControllers.get(e.streamId);n&&e.content.length>0&&n.controller.enqueue(e);const r=this.textStreamControllers.get(e.streamId);r&&e.content.length>0&&r.controller.enqueue(e)}handleStreamTrailer(e){const n=this.textStreamControllers.get(e.streamId);n&&(n.info.attributes=Object.assign(Object.assign({},n.info.attributes),e.attributes),n.controller.close(),this.textStreamControllers.delete(e.streamId));const r=this.byteStreamControllers.get(e.streamId);r&&(r.info.attributes=Object.assign(Object.assign({},r.info.attributes),e.attributes),r.controller.close(),this.byteStreamControllers.delete(e.streamId))}acquireAudioContext(){return S(this,void 0,void 0,function*(){var e,n;if(typeof this.options.webAudioMix!="boolean"&&this.options.webAudioMix.audioContext?this.audioContext=this.options.webAudioMix.audioContext:(!this.audioContext||this.audioContext.state==="closed")&&(this.audioContext=(e=py())!==null&&e!==void 0?e:void 0),this.options.webAudioMix&&this.remoteParticipants.forEach(i=>i.setAudioContext(this.audioContext)),this.localParticipant.setAudioContext(this.audioContext),this.audioContext&&this.audioContext.state==="suspended")try{yield Promise.race([this.audioContext.resume(),ht(200)])}catch(i){this.log.warn("Could not resume audio context",Object.assign(Object.assign({},this.logContext),{error:i}))}const r=((n=this.audioContext)===null||n===void 0?void 0:n.state)==="running";r!==this.canPlaybackAudio&&(this.audioEnabled=r,this.emit(A.AudioPlaybackStatusChanged,r))})}createParticipant(e,n){var r;let i;return n?i=ml.fromParticipantInfo(this.engine.client,n,{loggerContextCb:()=>this.logContext,loggerName:this.options.loggerName}):i=new ml(this.engine.client,"",e,void 0,void 0,void 0,{loggerContextCb:()=>this.logContext,loggerName:this.options.loggerName}),this.options.webAudioMix&&i.setAudioContext(this.audioContext),!((r=this.options.audioOutput)===null||r===void 0)&&r.deviceId&&i.setAudioOutput(this.options.audioOutput).catch(s=>this.log.warn("Could not set audio output: ".concat(s.message),this.logContext)),i}getOrCreateParticipant(e,n){if(this.remoteParticipants.has(e)){const i=this.remoteParticipants.get(e);return n&&i.updateInfo(n)&&this.sidToIdentity.set(n.sid,n.identity),i}const r=this.createParticipant(e,n);return this.remoteParticipants.set(e,r),this.sidToIdentity.set(n.sid,n.identity),this.emitWhenConnected(A.ParticipantConnected,r),r.on(B.TrackPublished,i=>{this.emitWhenConnected(A.TrackPublished,i,r)}).on(B.TrackSubscribed,(i,s)=>{i.kind===L.Kind.Audio?(i.on(j.AudioPlaybackStarted,this.handleAudioPlaybackStarted),i.on(j.AudioPlaybackFailed,this.handleAudioPlaybackFailed)):i.kind===L.Kind.Video&&(i.on(j.VideoPlaybackFailed,this.handleVideoPlaybackFailed),i.on(j.VideoPlaybackStarted,this.handleVideoPlaybackStarted)),this.emit(A.TrackSubscribed,i,s,r)}).on(B.TrackUnpublished,i=>{this.emit(A.TrackUnpublished,i,r)}).on(B.TrackUnsubscribed,(i,s)=>{this.emit(A.TrackUnsubscribed,i,s,r)}).on(B.TrackMuted,i=>{this.emitWhenConnected(A.TrackMuted,i,r)}).on(B.TrackUnmuted,i=>{this.emitWhenConnected(A.TrackUnmuted,i,r)}).on(B.ParticipantMetadataChanged,i=>{this.emitWhenConnected(A.ParticipantMetadataChanged,i,r)}).on(B.ParticipantNameChanged,i=>{this.emitWhenConnected(A.ParticipantNameChanged,i,r)}).on(B.AttributesChanged,i=>{this.emitWhenConnected(A.ParticipantAttributesChanged,i,r)}).on(B.ConnectionQualityChanged,i=>{this.emitWhenConnected(A.ConnectionQualityChanged,i,r)}).on(B.ParticipantPermissionsChanged,i=>{this.emitWhenConnected(A.ParticipantPermissionsChanged,i,r)}).on(B.TrackSubscriptionStatusChanged,(i,s)=>{this.emitWhenConnected(A.TrackSubscriptionStatusChanged,i,s,r)}).on(B.TrackSubscriptionFailed,(i,s)=>{this.emit(A.TrackSubscriptionFailed,i,r,s)}).on(B.TrackSubscriptionPermissionChanged,(i,s)=>{this.emitWhenConnected(A.TrackSubscriptionPermissionChanged,i,s,r)}),n&&r.updateInfo(n),r}sendSyncState(){const e=Array.from(this.remoteParticipants.values()).reduce((r,i)=>(r.push(...i.getTrackPublications()),r),[]),n=this.localParticipant.getTrackPublications();this.engine.sendSyncState(e,n)}updateSubscriptions(){for(const e of this.remoteParticipants.values())for(const n of e.videoTrackPublications.values())n.isSubscribed&&F2(n)&&n.emitTrackUpdate()}getRemoteParticipantBySid(e){const n=this.sidToIdentity.get(e);if(n)return this.remoteParticipants.get(n)}registerConnectionReconcile(){this.clearConnectionReconcile();let e=0;this.connectionReconcileInterval=Ge.setInterval(()=>{!this.engine||this.engine.isClosed||!this.engine.verifyTransport()?(e++,this.log.warn("detected connection state mismatch",Object.assign(Object.assign({},this.logContext),{numFailures:e,engine:this.engine?{closed:this.engine.isClosed,transportsConnected:this.engine.verifyTransport()}:void 0})),e>=3&&(this.recreateEngine(),this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,Vt.STATE_MISMATCH))):e=0},Ux)}clearConnectionReconcile(){this.connectionReconcileInterval&&Ge.clearInterval(this.connectionReconcileInterval)}setAndEmitConnectionState(e){return e===this.state?!1:(this.state=e,this.emit(A.ConnectionStateChanged,this.state),!0)}emitBufferedEvents(){this.bufferedEvents.forEach(e=>{let[n,r]=e;this.emit(n,...r)}),this.bufferedEvents=[]}emitWhenConnected(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];if(this.state===ie.Reconnecting||this.isResuming||!this.engine||this.engine.pendingReconnect)this.bufferedEvents.push([e,r]);else if(this.state===ie.Connected)return this.emit(e,...r);return!1}simulateParticipants(e){return S(this,void 0,void 0,function*(){var n,r;const i=Object.assign({audio:!0,video:!0,useRealTracks:!1},e.publish),s=Object.assign({count:9,audio:!1,video:!0,aspectRatios:[1.66,1.7,1.3]},e.participants);if(this.handleDisconnect(),this.roomInfo=new sd({sid:"RM_SIMULATED",name:"simulated-room",emptyTimeout:0,maxParticipants:0,creationTime:ye.parse(new Date().getTime()),metadata:"",numParticipants:1,numPublishers:1,turnPassword:"",enabledCodecs:[],activeRecording:!1}),this.localParticipant.updateInfo(new zs({identity:"simulated-local",name:"local-name"})),this.setupLocalParticipantEvents(),this.emit(A.SignalConnected),this.emit(A.Connected),this.setAndEmitConnectionState(ie.Connected),i.video){const o=new pf(L.Kind.Video,new Ei({source:Me.CAMERA,sid:Math.floor(Math.random()*1e4).toString(),type:Bt.AUDIO,name:"video-dummy"}),new hl(i.useRealTracks?(yield window.navigator.mediaDevices.getUserMedia({video:!0})).getVideoTracks()[0]:cy(160*((n=s.aspectRatios[0])!==null&&n!==void 0?n:1),160,!0,!0),void 0,!1,{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext}),{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext});this.localParticipant.addTrackPublication(o),this.localParticipant.emit(B.LocalTrackPublished,o)}if(i.audio){const o=new pf(L.Kind.Audio,new Ei({source:Me.MICROPHONE,sid:Math.floor(Math.random()*1e4).toString(),type:Bt.AUDIO}),new dl(i.useRealTracks?(yield navigator.mediaDevices.getUserMedia({audio:!0})).getAudioTracks()[0]:Hd(),void 0,!1,this.audioContext,{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext}),{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext});this.localParticipant.addTrackPublication(o),this.localParticipant.emit(B.LocalTrackPublished,o)}for(let o=0;o<s.count-1;o+=1){let a=new zs({sid:Math.floor(Math.random()*1e4).toString(),identity:"simulated-".concat(o),state:od.ACTIVE,tracks:[],joinedAt:ye.parse(Date.now())});const l=this.getOrCreateParticipant(a.identity,a);if(s.video){const c=cy(160*((r=s.aspectRatios[o%s.aspectRatios.length])!==null&&r!==void 0?r:1),160,!1,!0),u=new Ei({source:Me.CAMERA,sid:Math.floor(Math.random()*1e4).toString(),type:Bt.AUDIO});l.addSubscribedMediaTrack(c,u.sid,new MediaStream([c]),new RTCRtpReceiver),a.tracks=[...a.tracks,u]}if(s.audio){const c=Hd(),u=new Ei({source:Me.MICROPHONE,sid:Math.floor(Math.random()*1e4).toString(),type:Bt.AUDIO});l.addSubscribedMediaTrack(c,u.sid,new MediaStream([c]),new RTCRtpReceiver),a.tracks=[...a.tracks,u]}l.updateInfo(a)}})}emit(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];if(e!==A.ActiveSpeakersChanged&&e!==A.TranscriptionReceived){const s=Vy(r).filter(o=>o!==void 0);this.log.debug("room event ".concat(e),Object.assign(Object.assign({},this.logContext),{event:e,args:s}))}return super.emit(e,...r)}}Ai.cleanupRegistry=typeof FinalizationRegistry<"u"&&new FinalizationRegistry(t=>{t()});function Vy(t){return t.map(e=>{if(e)return Array.isArray(e)?Vy(e):typeof e=="object"?"logContext"in e?e.logContext:void 0:e})}var Gt;(function(t){t[t.IDLE=0]="IDLE",t[t.RUNNING=1]="RUNNING",t[t.SKIPPED=2]="SKIPPED",t[t.SUCCESS=3]="SUCCESS",t[t.FAILED=4]="FAILED"})(Gt||(Gt={}));class cr extends on.EventEmitter{constructor(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};super(),this.status=Gt.IDLE,this.logs=[],this.options={},this.url=e,this.token=n,this.name=this.constructor.name,this.room=new Ai(r.roomOptions),this.connectOptions=r.connectOptions,this.options=r}run(e){return S(this,void 0,void 0,function*(){if(this.status!==Gt.IDLE)throw Error("check is running already");this.setStatus(Gt.RUNNING);try{yield this.perform()}catch(n){n instanceof Error&&(this.options.errorsAsWarnings?this.appendWarning(n.message):this.appendError(n.message))}return yield this.disconnect(),yield new Promise(n=>setTimeout(n,500)),this.status!==Gt.SKIPPED&&this.setStatus(this.isSuccess()?Gt.SUCCESS:Gt.FAILED),e&&e(),this.getInfo()})}isSuccess(){return!this.logs.some(e=>e.level==="error")}connect(e){return S(this,void 0,void 0,function*(){return this.room.state===ie.Connected?this.room:(e||(e=this.url),yield this.room.connect(e,this.token,this.connectOptions),this.room)})}disconnect(){return S(this,void 0,void 0,function*(){this.room&&this.room.state!==ie.Disconnected&&(yield this.room.disconnect(),yield new Promise(e=>setTimeout(e,500)))})}skip(){this.setStatus(Gt.SKIPPED)}switchProtocol(e){return S(this,void 0,void 0,function*(){let n=!1,r=!1;if(this.room.on(A.Reconnecting,()=>{n=!0}),this.room.once(A.Reconnected,()=>{r=!0}),this.room.simulateScenario("force-".concat(e)),yield new Promise(s=>setTimeout(s,1e3)),!n)return;const i=Date.now()+1e4;for(;Date.now()<i;){if(r)return;yield ht(100)}throw new Error("Could not reconnect using ".concat(e," protocol after 10 seconds"))})}appendMessage(e){this.logs.push({level:"info",message:e}),this.emit("update",this.getInfo())}appendWarning(e){this.logs.push({level:"warning",message:e}),this.emit("update",this.getInfo())}appendError(e){this.logs.push({level:"error",message:e}),this.emit("update",this.getInfo())}setStatus(e){this.status=e,this.emit("update",this.getInfo())}get engine(){var e;return(e=this.room)===null||e===void 0?void 0:e.engine}getInfo(){return{logs:this.logs,name:this.name,status:this.status,description:this.description}}}class Fx extends cr{get description(){return"Cloud regions"}perform(){return S(this,void 0,void 0,function*(){const e=new df(this.url,this.token);if(!e.isCloud()){this.skip();return}const n=[],r=new Set;for(let s=0;s<3;s++){const o=yield e.getNextBestRegionUrl();if(!o)break;if(r.has(o))continue;r.add(o);const a=yield this.checkCloudRegion(o);this.appendMessage("".concat(a.region," RTT: ").concat(a.rtt,"ms, duration: ").concat(a.duration,"ms")),n.push(a)}n.sort((s,o)=>(s.duration-o.duration)*.5+(s.rtt-o.rtt)*.5);const i=n[0];this.bestStats=i,this.appendMessage("best Cloud region: ".concat(i.region))})}getInfo(){const e=super.getInfo();return e.data=this.bestStats,e}checkCloudRegion(e){return S(this,void 0,void 0,function*(){var n,r;yield this.connect(e),this.options.protocol==="tcp"&&(yield this.switchProtocol("tcp"));const i=(n=this.room.serverInfo)===null||n===void 0?void 0:n.region;if(!i)throw new Error("Region not found");const s=yield this.room.localParticipant.streamText({topic:"test"}),o=1e3,l=1e6/o,c="A".repeat(o),u=Date.now();for(let v=0;v<l;v++)yield s.write(c);yield s.close();const d=Date.now(),f=yield(r=this.room.engine.pcManager)===null||r===void 0?void 0:r.publisher.getStats(),h={region:i,rtt:1e4,duration:d-u};return f==null||f.forEach(v=>{v.type==="candidate-pair"&&v.nominated&&(h.rtt=v.currentRoundTripTime*1e3)}),yield this.disconnect(),h})}}const mf=1e4;class Bx extends cr{get description(){return"Connection via UDP vs TCP"}perform(){return S(this,void 0,void 0,function*(){const e=yield this.checkConnectionProtocol("udp"),n=yield this.checkConnectionProtocol("tcp");this.bestStats=e,e.qualityLimitationDurations.bandwidth-n.qualityLimitationDurations.bandwidth>.5||(e.packetsLost-n.packetsLost)/e.packetsSent>.01?(this.appendMessage("best connection quality via tcp"),this.bestStats=n):this.appendMessage("best connection quality via udp");const r=this.bestStats;this.appendMessage("upstream bitrate: ".concat((r.bitrateTotal/r.count/1e3/1e3).toFixed(2)," mbps")),this.appendMessage("RTT: ".concat((r.rttTotal/r.count*1e3).toFixed(2)," ms")),this.appendMessage("jitter: ".concat((r.jitterTotal/r.count*1e3).toFixed(2)," ms")),r.packetsLost>0&&this.appendWarning("packets lost: ".concat((r.packetsLost/r.packetsSent*100).toFixed(2),"%")),r.qualityLimitationDurations.bandwidth>1&&this.appendWarning("bandwidth limited ".concat((r.qualityLimitationDurations.bandwidth/(mf/1e3)*100).toFixed(2),"%")),r.qualityLimitationDurations.cpu>0&&this.appendWarning("cpu limited ".concat((r.qualityLimitationDurations.cpu/(mf/1e3)*100).toFixed(2),"%"))})}getInfo(){const e=super.getInfo();return e.data=this.bestStats,e}checkConnectionProtocol(e){return S(this,void 0,void 0,function*(){yield this.connect(),e==="tcp"?yield this.switchProtocol("tcp"):yield this.switchProtocol("udp");const n=document.createElement("canvas");n.width=1280,n.height=720;const r=n.getContext("2d");if(!r)throw new Error("Could not get canvas context");let i=0;const s=()=>{i=(i+1)%360,r.fillStyle="hsl(".concat(i,", 100%, 50%)"),r.fillRect(0,0,n.width,n.height),requestAnimationFrame(s)};s();const a=n.captureStream(30).getVideoTracks()[0],c=(yield this.room.localParticipant.publishTrack(a,{simulcast:!1,degradationPreference:"maintain-resolution",videoEncoding:{maxBitrate:2e6}})).track,u={protocol:e,packetsLost:0,packetsSent:0,qualityLimitationDurations:{},rttTotal:0,jitterTotal:0,bitrateTotal:0,count:0},d=setInterval(()=>S(this,void 0,void 0,function*(){const f=yield c.getRTCStatsReport();f==null||f.forEach(h=>{h.type==="outbound-rtp"?(u.packetsSent=h.packetsSent,u.qualityLimitationDurations=h.qualityLimitationDurations,u.bitrateTotal+=h.targetBitrate,u.count++):h.type==="remote-inbound-rtp"&&(u.packetsLost=h.packetsLost,u.rttTotal+=h.roundTripTime,u.jitterTotal+=h.jitter)})}),1e3);return yield new Promise(f=>setTimeout(f,mf)),clearInterval(d),a.stop(),n.remove(),yield this.disconnect(),u})}}function zy(t){return S(this,void 0,void 0,function*(){var e,n;t??(t={}),(e=t.audio)!==null&&e!==void 0||(t.audio={deviceId:"default"}),(n=t.video)!==null&&n!==void 0||(t.video={deviceId:"default"});const{audioProcessor:r,videoProcessor:i}=Kd(t),s=fy(t,xy,Ey),o=al(s),a=navigator.mediaDevices.getUserMedia(o);t.audio&&(Ve.userMediaPromiseMap.set("audioinput",a),a.catch(()=>Ve.userMediaPromiseMap.delete("audioinput"))),t.video&&(Ve.userMediaPromiseMap.set("videoinput",a),a.catch(()=>Ve.userMediaPromiseMap.delete("videoinput")));const l=yield a;return Promise.all(l.getTracks().map(c=>S(this,void 0,void 0,function*(){const u=c.kind==="audio";u?s.audio:s.video;let d;const f=u?o.audio:o.video;typeof f!="boolean"&&(d=f);const h=c.getSettings().deviceId;d!=null&&d.deviceId&&sr(d.deviceId)!==h?d.deviceId=h:d||(d={deviceId:h});const v=Iy(c,d);return v.kind===L.Kind.Video?v.source=L.Source.Camera:v.kind===L.Kind.Audio&&(v.source=L.Source.Microphone),v.mediaStream=l,Tn(v)&&r?yield v.setProcessor(r):Mi(v)&&i&&(yield v.setProcessor(i)),v})))})}function Vx(t){return S(this,void 0,void 0,function*(){return(yield zy({audio:!1,video:t}))[0]})}function zx(t){return S(this,void 0,void 0,function*(){return(yield zy({audio:t,video:!1}))[0]})}class Hx extends cr{get description(){return"Can publish audio"}perform(){return S(this,void 0,void 0,function*(){var e;const n=yield this.connect(),r=yield zx();if(yield hy(r,1e3))throw new Error("unable to detect audio from microphone");this.appendMessage("detected audio from microphone"),n.localParticipant.publishTrack(r),yield new Promise(a=>setTimeout(a,3e3));const s=yield(e=r.sender)===null||e===void 0?void 0:e.getStats();if(!s)throw new Error("Could not get RTCStats");let o=0;if(s.forEach(a=>{a.type==="outbound-rtp"&&(a.kind==="audio"||!a.kind&&a.mediaType==="audio")&&(o=a.packetsSent)}),o===0)throw new Error("Could not determine packets are sent");this.appendMessage("published ".concat(o," audio packets"))})}}class $x extends cr{get description(){return"Can publish video"}perform(){return S(this,void 0,void 0,function*(){var e;const n=yield this.connect(),r=yield Vx();yield this.checkForVideo(r.mediaStreamTrack),n.localParticipant.publishTrack(r),yield new Promise(o=>setTimeout(o,5e3));const i=yield(e=r.sender)===null||e===void 0?void 0:e.getStats();if(!i)throw new Error("Could not get RTCStats");let s=0;if(i.forEach(o=>{o.type==="outbound-rtp"&&(o.kind==="video"||!o.kind&&o.mediaType==="video")&&(s+=o.packetsSent)}),s===0)throw new Error("Could not determine packets are sent");this.appendMessage("published ".concat(s," video packets"))})}checkForVideo(e){return S(this,void 0,void 0,function*(){const n=new MediaStream;n.addTrack(e.clone());const r=document.createElement("video");r.srcObject=n,r.muted=!0,yield new Promise(i=>{r.onplay=()=>{setTimeout(()=>{var s,o,a,l;const c=document.createElement("canvas"),u=e.getSettings(),d=(o=(s=u.width)!==null&&s!==void 0?s:r.videoWidth)!==null&&o!==void 0?o:1280,f=(l=(a=u.height)!==null&&a!==void 0?a:r.videoHeight)!==null&&l!==void 0?l:720;c.width=d,c.height=f;const h=c.getContext("2d");h.drawImage(r,0,0);const y=h.getImageData(0,0,c.width,c.height).data;let T=!0;for(let m=0;m<y.length;m+=4)if(y[m]!==0||y[m+1]!==0||y[m+2]!==0){T=!1;break}T?this.appendError("camera appears to be producing only black frames"):this.appendMessage("received video frames"),i()},1e3)},r.play()}),r.remove()})}}class qx extends cr{get description(){return"Resuming connection after interruption"}perform(){return S(this,void 0,void 0,function*(){var e;const n=yield this.connect();let r=!1,i=!1,s;const o=new Promise(c=>{setTimeout(c,5e3),s=c}),a=()=>{r=!0};n.on(A.SignalReconnecting,a).on(A.Reconnecting,a).on(A.Reconnected,()=>{i=!0,s(!0)}),(e=n.engine.client.ws)===null||e===void 0||e.close();const l=n.engine.client.onClose;if(l&&l(""),yield o,r){if(!i||n.state!==ie.Connected)throw this.appendWarning("reconnection is only possible in Redis-based configurations"),new Error("Not able to reconnect")}else throw new Error("Did not attempt to reconnect")})}}class Wx extends cr{get description(){return"Can connect via TURN"}perform(){return S(this,void 0,void 0,function*(){var e,n;const r=new Qd,i=yield r.join(this.url,this.token,{autoSubscribe:!0,maxRetries:0,e2eeEnabled:!1,websocketTimeout:15e3});let s=!1,o=!1,a=!1;for(let l of i.iceServers)for(let c of l.urls)c.startsWith("turn:")?(o=!0,a=!0):c.startsWith("turns:")&&(o=!0,a=!0,s=!0),c.startsWith("stun:")&&(a=!0);a?o&&!s&&this.appendWarning("TURN is configured server side, but TURN/TLS is unavailable."):this.appendWarning("No STUN servers configured on server side."),yield r.close(),!((n=(e=this.connectOptions)===null||e===void 0?void 0:e.rtcConfig)===null||n===void 0)&&n.iceServers||o?yield this.room.connect(this.url,this.token,{rtcConfig:{iceTransportPolicy:"relay"}}):(this.appendWarning("No TURN servers configured."),this.skip(),yield new Promise(l=>setTimeout(l,0)))})}}class Gx extends cr{get description(){return"Establishing WebRTC connection"}perform(){return S(this,void 0,void 0,function*(){let e=!1,n=!1;this.room.on(A.SignalConnected,()=>{const r=this.room.engine.client.onTrickle;this.room.engine.client.onTrickle=(i,s)=>{if(i.candidate){const o=new RTCIceCandidate(i);let a="".concat(o.protocol," ").concat(o.address,":").concat(o.port," ").concat(o.type);o.address&&(Kx(o.address)?a+=" (private)":o.protocol==="tcp"&&o.tcpType==="passive"?(e=!0,a+=" (passive)"):o.protocol==="udp"&&(n=!0)),this.appendMessage(a)}r&&r(i,s)},this.room.engine.pcManager&&(this.room.engine.pcManager.subscriber.onIceCandidateError=i=>{i instanceof RTCPeerConnectionIceErrorEvent&&this.appendWarning("error with ICE candidate: ".concat(i.errorCode," ").concat(i.errorText," ").concat(i.url))})});try{yield this.connect(),X.info("now the room is connected")}catch(r){throw this.appendWarning("ports need to be open on firewall in order to connect."),r}e||this.appendWarning("Server is not configured for ICE/TCP"),n||this.appendWarning("No public IPv4 UDP candidates were found. Your server is likely not configured correctly")})}}function Kx(t){const e=t.split(".");if(e.length===4){if(e[0]==="10")return!0;if(e[0]==="192"&&e[1]==="168")return!0;if(e[0]==="172"){const n=parseInt(e[1],10);if(n>=16&&n<=31)return!0}}return!1}class Zx extends cr{get description(){return"Connecting to signal connection via WebSocket"}perform(){return S(this,void 0,void 0,function*(){var e,n,r;(this.url.startsWith("ws:")||this.url.startsWith("http:"))&&this.appendWarning("Server is insecure, clients may block connections to it");let i=new Qd;const s=yield i.join(this.url,this.token,{autoSubscribe:!0,maxRetries:0,e2eeEnabled:!1,websocketTimeout:15e3});this.appendMessage("Connected to server, version ".concat(s.serverVersion,".")),((e=s.serverInfo)===null||e===void 0?void 0:e.edition)===qv.Cloud&&(!((n=s.serverInfo)===null||n===void 0)&&n.region)&&this.appendMessage("LiveKit Cloud: ".concat((r=s.serverInfo)===null||r===void 0?void 0:r.region)),yield i.close()})}}class F_ extends on.EventEmitter{constructor(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};super(),this.options={},this.checkResults=new Map,this.url=e,this.token=n,this.options=r}getNextCheckId(){const e=this.checkResults.size;return this.checkResults.set(e,{logs:[],status:Gt.IDLE,name:"",description:""}),e}updateCheck(e,n){this.checkResults.set(e,n),this.emit("checkUpdate",e,n)}isSuccess(){return Array.from(this.checkResults.values()).every(e=>e.status!==Gt.FAILED)}getResults(){return Array.from(this.checkResults.values())}createAndRunCheck(e){return S(this,void 0,void 0,function*(){const n=this.getNextCheckId(),r=new e(this.url,this.token,this.options),i=o=>{this.updateCheck(n,o)};r.on("update",i);const s=yield r.run();return r.off("update",i),s})}checkWebsocket(){return S(this,void 0,void 0,function*(){return this.createAndRunCheck(Zx)})}checkWebRTC(){return S(this,void 0,void 0,function*(){return this.createAndRunCheck(Gx)})}checkTURN(){return S(this,void 0,void 0,function*(){return this.createAndRunCheck(Wx)})}checkReconnect(){return S(this,void 0,void 0,function*(){return this.createAndRunCheck(qx)})}checkPublishAudio(){return S(this,void 0,void 0,function*(){return this.createAndRunCheck(Hx)})}checkPublishVideo(){return S(this,void 0,void 0,function*(){return this.createAndRunCheck($x)})}checkConnectionProtocol(){return S(this,void 0,void 0,function*(){const e=yield this.createAndRunCheck(Bx);if(e.data&&"protocol"in e.data){const n=e.data;this.options.protocol=n.protocol}return e})}checkCloudRegion(){return S(this,void 0,void 0,function*(){return this.createAndRunCheck(Fx)})}}const Qx=t=>{const e=new TextDecoder().decode(t);if(e!==null&&typeof e=="object")return e;try{const n=JSON.parse(e);if(n===null||typeof n!="object")throw new Error("Invalid parsed");return n}catch{return null}},Hy=({active:t,micEnabled:e,speakersEnabled:n,handler:r,context:i})=>{const s=D.useRef(null),[o,a]=D.useState("inactive"),[l,c]=Yg(!1,100),[u,d]=D.useState(null),f=D.useRef(null),[h,v]=D.useState(null),[y,T]=D.useState(null),[m,b]=D.useState(null);D.useEffect(()=>{const I=s.current;I!=null&&I.localParticipant.setMicrophoneEnabled(e).catch(_=>{console.warn(_)})},[e]);const p=D.useCallback(async()=>{try{const I=await navigator.mediaDevices.getUserMedia({audio:!0}),_=await navigator.mediaDevices.enumerateDevices(),U=_.filter($=>$.kind==="audiooutput").map($=>$.label);T({micAllowed:!0,micNames:_.filter($=>$.kind==="audioinput").map($=>$.label),speakerNames:U.length>0?U:["System Default Speaker Device"]}),d(I)}catch(I){console.warn(I),T({micAllowed:!1,micNames:[],speakerNames:[]})}},[T,d]);D.useEffect(()=>()=>{if(u==null)return;u.getTracks().forEach(_=>{_.stop(),u==null||u.removeTrack(_)})},[u]),D.useEffect(()=>{if(h==null)return;const I=n?1:0;h.volume=I},[h,n]),D.useEffect(()=>{p()},[p]);const[k,C]=Yg(!1,600),w=D.useCallback(()=>{const I=s.current;I!=null&&(I.disconnect().catch(_=>{console.warn(_)}),r.terminateVoiceCall(),f.current!=null&&(f.current.stop(),f.current=null),v(null),s.current=null,b(null))},[b,v]);D.useEffect(()=>{const I=()=>{w()};return window.addEventListener("beforeunload",I),()=>{window.removeEventListener("beforeunload",I)}},[w]);const x=D.useCallback(async()=>{try{a("pending");const I=await r.getVoiceCredentials(i),_=G=>{const R=G.some(H=>H.isAgent),W=G.some(H=>H.isLocal);C(R),c(W)},U=G=>{if(G.kind===L.Kind.Audio){f.current=G;const R=G.attach();v(R),R.play()}},$=G=>{c(G)},V=new Ai;s.current=V,await V.prepareConnection(I.url,I.token),V.on(A.TrackSubscribed,U),V.on(A.ActiveSpeakersChanged,_),V.localParticipant.on(B.IsSpeakingChanged,$),V.on(A.Disconnected,()=>{a("terminated"),c(!1),C(!1),w()}),V.on(A.DataReceived,(G,R)=>{b({modalities:Qx(G)??{},from:R==null?void 0:R.identity,timestamp:Date.now()})}),await V.connect(I.url,I.token,{autoSubscribe:!0}),await V.localParticipant.setMicrophoneEnabled(!0),await V.startAudio(),a("active")}catch(I){a("error"),console.warn(I),r.terminateVoiceCall().catch(_=>{console.warn(_)})}},[a,r,c,C,v]),E=D.useCallback(()=>{p()},[p]);return D.useEffect(()=>(t&&x(),w),[t,w,x]),{roomState:o,isUserSpeaking:l,isApplicationSpeaking:k,soundCheck:y,retrySoundCheck:E,roomData:m}},Jx=({soundCheck:t})=>g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"flex items-center gap-2 text-primary-80",children:[g.jsx("span",{className:J("block w-10 h-10 p-2 flex-none",t.micAllowed?"":"text-error-primary"),children:t.micAllowed?g.jsx(Ns,{}):g.jsx(Ju,{})}),g.jsx("input",{className:"px-3 py-2 rounded-inner bg-primary-5 w-full flex-grow text-primary-80",value:t.micNames[0],placeholder:"Mic not found",disabled:!0})]}),g.jsxs("div",{className:"flex items-center gap-2 text-primary-80",children:[g.jsx("span",{className:J("block w-10 h-10 p-2 flex-none",t.speakerNames[0]!=null?"":"text-error-primary"),children:t.speakerNames[0]!=null?g.jsx(Ds,{}):g.jsx(Ia,{})}),g.jsx("input",{className:"px-3 py-2 rounded-inner bg-primary-5 w-full flex-grow text-primary-80",value:t.speakerNames[0],placeholder:"Speaker not found",disabled:!0})]})]}),$y=({soundCheck:t})=>{const[e,n]=D.useState(!1),r=t==null;return D.useEffect(()=>{if(!r){n(!1);return}const i=setTimeout(()=>{n(!0)},3e3);return()=>{clearTimeout(i)}},[r,n]),g.jsxs("div",{className:"space-y-4 text-primary-80",children:[g.jsx("p",{className:"px-1",children:"Get ready to join a voice experience. Please ensure your microphone and speakers are turned on and enabled on this page."}),t!=null?g.jsx(Jx,{soundCheck:t}):e?g.jsxs("div",{className:"flex gap-2 bg-primary-10 rounded-outer p-2",children:[g.jsx("span",{className:"text-accent inline-block flex-none w-5 h-5",children:g.jsx(Na,{})}),g.jsx("p",{className:"text-base",children:"I cannot access your microphone. Check your browser settings and refresh the page."})]}):null]})},Qs=({className:t,children:e})=>g.jsx("div",{className:J("relative flex flex-col items-center justify-center",t),children:e}),qy=({Wrapper:t,roomData:e,customModalities:n,handler:r})=>{const s=Object.entries(e.modalities).map(([o,a])=>{const l=n[o];return l!=null?g.jsx(l,{data:a,conversationHandler:r,enabled:!0},o):null}).filter(Boolean);if(s.length>0)return t==null?s:g.jsx(t,{children:s})},Yx=({children:t})=>g.jsx("div",{className:"absolute top-4 left-4 right-4",children:t}),Xx=({handler:t,speakersEnabled:e,colorMode:n,brandIcon:r,className:i,active:s,setActive:o,initializeConversation:a,context:l,customModalities:c={}})=>{const[u,d]=D.useState(!0),{roomState:f,soundCheck:h,isUserSpeaking:v,isApplicationSpeaking:y,retrySoundCheck:T,roomData:m}=Hy({active:s,micEnabled:u,speakersEnabled:e,handler:t,context:l});return s?f==="pending"?g.jsx(Qs,{className:i,children:g.jsx(rv,{})}):f==="error"?g.jsx(Qs,{className:i,children:g.jsx(tv,{})}):f==="terminated"?g.jsx(Qs,{className:i,children:g.jsxs("div",{className:J("flex-grow flex flex-col items-center justify-center gap-6 text-primary-80"),children:[g.jsx(Ls,{className:"w-20 h-20 text-primary-20"}),g.jsxs("div",{className:"text-center",children:[g.jsx("h3",{className:"text-xl mb-2",children:"The conversation has ended"}),g.jsx("p",{children:"You can close this panel now or restart."})]})]})}):g.jsxs(Qs,{className:i,children:[g.jsxs("div",{className:"rounded-full w-fit relative",children:[g.jsx("div",{className:J("w-[128px] h-[128px] p-4 z-10 relative rounded-full overflow-hidden bg-cover bg-center",r!=null?"":n==="dark"?"bg-[rgb(40,41,47)]":"bg-[rgb(175,175,175)]"),style:r!=null?{backgroundImage:`url(${r})`}:{},children:r==null?g.jsx(Ls,{className:"w-full h-full text-primary-40"}):null}),y?g.jsx(Ci,{className:"rounded-full"}):null]}),m!=null?g.jsx(qy,{Wrapper:Yx,roomData:m,customModalities:c,handler:t}):null,g.jsxs("div",{className:"w-fit flex-none absolute bottom-4 left-1/2 transform -translate-x-1/2",children:[v?g.jsx(Ci,{className:"rounded-inner"}):null,g.jsx(Be,{Icon:u?Ns:Ju,label:"Voice",type:u?"activated":"ghost",onClick:()=>{d(b=>!b)}})]})]}):g.jsx(Qs,{className:i,children:g.jsxs("div",{className:"p-4 h-full flex flex-col justify-between",children:[g.jsx($y,{soundCheck:h}),h!=null?h.micAllowed?g.jsx(kn,{type:"main",label:"I'm ready",Icon:bi,onClick:()=>{o(!0),a(t,l)}}):g.jsx(kn,{type:"ghost",label:"Retry sound check",Icon:Oa,onClick:T}):null]})})},Wy=({onClose:t,handler:e,reset:n,className:r})=>g.jsxs("div",{className:J("p-2 md:p-3 flex flex-col flex-grow justify-center gap-2",r),children:[g.jsx(kn,{label:"Restart conversation",Icon:Oa,type:"ghost",onClick:n}),g.jsx(kn,{label:"Talk to an agent",Icon:Fg,type:"ghost",onClick:()=>{e.sendIntent("NLX.Escalation"),t()}})]});function gf(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let jr=gf();function Gy(t){jr=t}const Js={exec:()=>null};function fe(t,e=""){let n=typeof t=="string"?t:t.source;const r={replace:(i,s)=>{let o=typeof s=="string"?s:s.source;return o=o.replace(it.caret,"$1"),n=n.replace(i,o),r},getRegex:()=>new RegExp(n,e)};return r}const it={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),htmlBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i")},eE=/^(?:[ \t]*(?:\n|$))+/,tE=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,nE=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Ys=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,rE=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Ky=/(?:[*+-]|\d{1,9}[.)])/,Zy=fe(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,Ky).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),vf=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,iE=/^[^\n]+/,yf=/(?!\s*\])(?:\\.|[^\[\]\\])+/,sE=fe(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",yf).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),oE=fe(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Ky).getRegex(),gl="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",bf=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,aE=fe("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",bf).replace("tag",gl).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Qy=fe(vf).replace("hr",Ys).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",gl).getRegex(),kf={blockquote:fe(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Qy).getRegex(),code:tE,def:sE,fences:nE,heading:rE,hr:Ys,html:aE,lheading:Zy,list:oE,newline:eE,paragraph:Qy,table:Js,text:iE},Jy=fe("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Ys).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",gl).getRegex(),lE={...kf,table:Jy,paragraph:fe(vf).replace("hr",Ys).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Jy).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",gl).getRegex()},cE={...kf,html:fe(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",bf).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Js,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:fe(vf).replace("hr",Ys).replace("heading",` *#{1,6} *[^
|
|
101
|
+
`},ef}var Cy;function rx(){if(Cy)return qt;Cy=1;var t=tx(),e=nx(),n=Xd();return qt.grammar=n,qt.write=e,qt.parse=t.parse,qt.parseParams=t.parseParams,qt.parseFmtpConfig=t.parseFmtpConfig,qt.parsePayloads=t.parsePayloads,qt.parseRemoteCandidates=t.parseRemoteCandidates,qt.parseImageAttributes=t.parseImageAttributes,qt.parseSimulcastStreamList=t.parseSimulcastStreamList,qt}var ar=rx();function tf(t,e,n){var r,i,s;e===void 0&&(e=50),n===void 0&&(n={});var o=(r=n.isImmediate)!=null&&r,a=(i=n.callback)!=null&&i,l=n.maxWait,c=Date.now(),u=[];function d(){if(l!==void 0){var h=Date.now()-c;if(h+e>=l)return l-h}return e}var f=function(){var h=[].slice.call(arguments),v=this;return new Promise(function(y,T){var m=o&&s===void 0;if(s!==void 0&&clearTimeout(s),s=setTimeout(function(){if(s=void 0,c=Date.now(),!o){var p=t.apply(v,h);a&&a(p),u.forEach(function(k){return(0,k.resolve)(p)}),u=[]}},d()),m){var b=t.apply(v,h);return a&&a(b),y(b)}u.push({resolve:y,reject:T})})};return f.cancel=function(h){s!==void 0&&clearTimeout(s),u.forEach(function(v){return(0,v.reject)(h)}),u=[]},f}const ix=.7,sx=20,Ni={NegotiationStarted:"negotiationStarted",NegotiationComplete:"negotiationComplete",RTPVideoPayloadTypes:"rtpVideoPayloadTypes"};class Sy extends on.EventEmitter{get pc(){return this._pc||(this._pc=this.createPC()),this._pc}constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r;super(),this.log=X,this.ddExtID=0,this.pendingCandidates=[],this.restartingIce=!1,this.renegotiate=!1,this.trackBitrates=[],this.remoteStereoMids=[],this.remoteNackMids=[],this.negotiate=tf(i=>S(this,void 0,void 0,function*(){this.emit(Ni.NegotiationStarted);try{yield this.createAndSendOffer()}catch(s){if(i)i(s);else throw s}}),sx),this.close=()=>{this._pc&&(this._pc.close(),this._pc.onconnectionstatechange=null,this._pc.oniceconnectionstatechange=null,this._pc.onicegatheringstatechange=null,this._pc.ondatachannel=null,this._pc.onnegotiationneeded=null,this._pc.onsignalingstatechange=null,this._pc.onicecandidate=null,this._pc.ondatachannel=null,this._pc.ontrack=null,this._pc.onconnectionstatechange=null,this._pc.oniceconnectionstatechange=null,this._pc=null)},this.log=Sn((r=n.loggerName)!==null&&r!==void 0?r:Ht.PCTransport),this.loggerOptions=n,this.config=e,this._pc=this.createPC()}createPC(){const e=new RTCPeerConnection(this.config);return e.onicecandidate=n=>{var r;n.candidate&&((r=this.onIceCandidate)===null||r===void 0||r.call(this,n.candidate))},e.onicecandidateerror=n=>{var r;(r=this.onIceCandidateError)===null||r===void 0||r.call(this,n)},e.oniceconnectionstatechange=()=>{var n;(n=this.onIceConnectionStateChange)===null||n===void 0||n.call(this,e.iceConnectionState)},e.onsignalingstatechange=()=>{var n;(n=this.onSignalingStatechange)===null||n===void 0||n.call(this,e.signalingState)},e.onconnectionstatechange=()=>{var n;(n=this.onConnectionStateChange)===null||n===void 0||n.call(this,e.connectionState)},e.ondatachannel=n=>{var r;(r=this.onDataChannel)===null||r===void 0||r.call(this,n)},e.ontrack=n=>{var r;(r=this.onTrack)===null||r===void 0||r.call(this,n)},e}get logContext(){var e,n;return Object.assign({},(n=(e=this.loggerOptions).loggerContextCb)===null||n===void 0?void 0:n.call(e))}get isICEConnected(){return this._pc!==null&&(this.pc.iceConnectionState==="connected"||this.pc.iceConnectionState==="completed")}addIceCandidate(e){return S(this,void 0,void 0,function*(){if(this.pc.remoteDescription&&!this.restartingIce)return this.pc.addIceCandidate(e);this.pendingCandidates.push(e)})}setRemoteDescription(e){return S(this,void 0,void 0,function*(){var n;let r;if(e.type==="offer"){let{stereoMids:i,nackMids:s}=ox(e);this.remoteStereoMids=i,this.remoteNackMids=s}else if(e.type==="answer"){const i=ar.parse((n=e.sdp)!==null&&n!==void 0?n:"");i.media.forEach(s=>{s.type==="audio"&&this.trackBitrates.some(o=>{if(!o.transceiver||s.mid!=o.transceiver.mid)return!1;let a=0;if(s.rtp.some(c=>c.codec.toUpperCase()===o.codec.toUpperCase()?(a=c.payload,!0):!1),a===0)return!0;let l=!1;for(const c of s.fmtp)if(c.payload===a){c.config=c.config.split(";").filter(u=>!u.includes("maxaveragebitrate")).join(";"),o.maxbr>0&&(c.config+=";maxaveragebitrate=".concat(o.maxbr*1e3)),l=!0;break}return l||o.maxbr>0&&s.fmtp.push({payload:a,config:"maxaveragebitrate=".concat(o.maxbr*1e3)}),!0})}),r=ar.write(i)}yield this.setMungedSDP(e,r,!0),this.pendingCandidates.forEach(i=>{this.pc.addIceCandidate(i)}),this.pendingCandidates=[],this.restartingIce=!1,this.renegotiate?(this.renegotiate=!1,yield this.createAndSendOffer()):e.type==="answer"&&(this.emit(Ni.NegotiationComplete),e.sdp&&ar.parse(e.sdp).media.forEach(s=>{s.type==="video"&&this.emit(Ni.RTPVideoPayloadTypes,s.rtp)}))})}createAndSendOffer(e){return S(this,void 0,void 0,function*(){var n;if(this.onOffer===void 0)return;if(e!=null&&e.iceRestart&&(this.log.debug("restarting ICE",this.logContext),this.restartingIce=!0),this._pc&&this._pc.signalingState==="have-local-offer"){const s=this._pc.remoteDescription;if(e!=null&&e.iceRestart&&s)yield this._pc.setRemoteDescription(s);else{this.renegotiate=!0;return}}else if(!this._pc||this._pc.signalingState==="closed"){this.log.warn("could not createOffer with closed peer connection",this.logContext);return}this.log.debug("starting to negotiate",this.logContext);const r=yield this.pc.createOffer(e);this.log.debug("original offer",Object.assign({sdp:r.sdp},this.logContext));const i=ar.parse((n=r.sdp)!==null&&n!==void 0?n:"");i.media.forEach(s=>{Ty(s),s.type==="audio"?wy(s,[],[]):s.type==="video"&&this.trackBitrates.some(o=>{if(!s.msid||!o.cid||!s.msid.includes(o.cid))return!1;let a=0;if(s.rtp.some(c=>c.codec.toUpperCase()===o.codec.toUpperCase()?(a=c.payload,!0):!1),a===0||(Ws(o.codec)&&this.ensureVideoDDExtensionForSVC(s,i),o.codec!=="av1"))return!0;const l=Math.round(o.maxbr*ix);for(const c of s.fmtp)if(c.payload===a){c.config.includes("x-google-start-bitrate")||(c.config+=";x-google-start-bitrate=".concat(l));break}return!0})}),yield this.setMungedSDP(r,ar.write(i)),this.onOffer(r)})}createAndSetAnswer(){return S(this,void 0,void 0,function*(){var e;const n=yield this.pc.createAnswer(),r=ar.parse((e=n.sdp)!==null&&e!==void 0?e:"");return r.media.forEach(i=>{Ty(i),i.type==="audio"&&wy(i,this.remoteStereoMids,this.remoteNackMids)}),yield this.setMungedSDP(n,ar.write(r)),n})}createDataChannel(e,n){return this.pc.createDataChannel(e,n)}addTransceiver(e,n){return this.pc.addTransceiver(e,n)}addTrack(e){if(!this._pc)throw new je("PC closed, cannot add track");return this._pc.addTrack(e)}setTrackCodecBitrate(e){this.trackBitrates.push(e)}setConfiguration(e){var n;if(!this._pc)throw new je("PC closed, cannot configure");return(n=this._pc)===null||n===void 0?void 0:n.setConfiguration(e)}canRemoveTrack(){var e;return!!(!((e=this._pc)===null||e===void 0)&&e.removeTrack)}removeTrack(e){var n;return(n=this._pc)===null||n===void 0?void 0:n.removeTrack(e)}getConnectionState(){var e,n;return(n=(e=this._pc)===null||e===void 0?void 0:e.connectionState)!==null&&n!==void 0?n:"closed"}getICEConnectionState(){var e,n;return(n=(e=this._pc)===null||e===void 0?void 0:e.iceConnectionState)!==null&&n!==void 0?n:"closed"}getSignallingState(){var e,n;return(n=(e=this._pc)===null||e===void 0?void 0:e.signalingState)!==null&&n!==void 0?n:"closed"}getTransceivers(){var e,n;return(n=(e=this._pc)===null||e===void 0?void 0:e.getTransceivers())!==null&&n!==void 0?n:[]}getSenders(){var e,n;return(n=(e=this._pc)===null||e===void 0?void 0:e.getSenders())!==null&&n!==void 0?n:[]}getLocalDescription(){var e;return(e=this._pc)===null||e===void 0?void 0:e.localDescription}getRemoteDescription(){var e;return(e=this.pc)===null||e===void 0?void 0:e.remoteDescription}getStats(){return this.pc.getStats()}getConnectedAddress(){return S(this,void 0,void 0,function*(){var e;if(!this._pc)return;let n="";const r=new Map,i=new Map;if((yield this._pc.getStats()).forEach(a=>{switch(a.type){case"transport":n=a.selectedCandidatePairId;break;case"candidate-pair":n===""&&a.selected&&(n=a.id),r.set(a.id,a);break;case"remote-candidate":i.set(a.id,"".concat(a.address,":").concat(a.port));break}}),n==="")return;const o=(e=r.get(n))===null||e===void 0?void 0:e.remoteCandidateId;if(o!==void 0)return i.get(o)})}setMungedSDP(e,n,r){return S(this,void 0,void 0,function*(){if(n){const i=e.sdp;e.sdp=n;try{this.log.debug("setting munged ".concat(r?"remote":"local"," description"),this.logContext),r?yield this.pc.setRemoteDescription(e):yield this.pc.setLocalDescription(e);return}catch(s){this.log.warn("not able to set ".concat(e.type,", falling back to unmodified sdp"),Object.assign(Object.assign({},this.logContext),{error:s,sdp:n})),e.sdp=i}}try{r?yield this.pc.setRemoteDescription(e):yield this.pc.setLocalDescription(e)}catch(i){let s="unknown error";i instanceof Error?s=i.message:typeof i=="string"&&(s=i);const o={error:s,sdp:e.sdp};throw!r&&this.pc.remoteDescription&&(o.remoteSdp=this.pc.remoteDescription),this.log.error("unable to set ".concat(e.type),Object.assign(Object.assign({},this.logContext),{fields:o})),new Od(s)}})}ensureVideoDDExtensionForSVC(e,n){var r,i;if(!((r=e.ext)===null||r===void 0?void 0:r.some(o=>o.uri===ny))){if(this.ddExtID===0){let o=0;n.media.forEach(a=>{var l;a.type==="video"&&((l=a.ext)===null||l===void 0||l.forEach(c=>{c.value>o&&(o=c.value)}))}),this.ddExtID=o+1}(i=e.ext)===null||i===void 0||i.push({value:this.ddExtID,uri:ny})}}}function wy(t,e,n){let r=0;t.rtp.some(i=>i.codec==="opus"?(r=i.payload,!0):!1),r>0&&(t.rtcpFb||(t.rtcpFb=[]),n.includes(t.mid)&&!t.rtcpFb.some(i=>i.payload===r&&i.type==="nack")&&t.rtcpFb.push({payload:r,type:"nack"}),e.includes(t.mid)&&t.fmtp.some(i=>i.payload===r?(i.config.includes("stereo=1")||(i.config+=";stereo=1"),!0):!1))}function ox(t){var e;const n=[],r=[],i=ar.parse((e=t.sdp)!==null&&e!==void 0?e:"");let s=0;return i.media.forEach(o=>{var a;o.type==="audio"&&(o.rtp.some(l=>l.codec==="opus"?(s=l.payload,!0):!1),!((a=o.rtcpFb)===null||a===void 0)&&a.some(l=>l.payload===s&&l.type==="nack")&&r.push(o.mid),o.fmtp.some(l=>l.payload===s?(l.config.includes("sprop-stereo=1")&&n.push(o.mid),!0):!1))}),{stereoMids:n,nackMids:r}}function Ty(t){if(t.connection){const e=t.connection.ip.indexOf(":")>=0;(t.connection.version===4&&e||t.connection.version===6&&!e)&&(t.connection.ip="0.0.0.0",t.connection.version=4)}}const nf="vp8",ax={audioPreset:Nd.music,dtx:!0,red:!0,forceStereo:!1,simulcast:!0,screenShareEncoding:Ad.h1080fps15.encoding,stopMicTrackOnMute:!1,videoCodec:nf,backupCodec:!0},xy={deviceId:"default",autoGainControl:!0,echoCancellation:!0,noiseSuppression:!0,voiceIsolation:!0},Ey={deviceId:"default",resolution:qs.h720.resolution},lx={adaptiveStream:!1,dynacast:!1,stopLocalTrackOnUnpublish:!0,reconnectPolicy:new XT,disconnectOnPageLeave:!0,webAudioMix:!1},rf={autoSubscribe:!0,maxRetries:1,peerConnectionTimeout:15e3,websocketTimeout:15e3};var Pe;(function(t){t[t.NEW=0]="NEW",t[t.CONNECTING=1]="CONNECTING",t[t.CONNECTED=2]="CONNECTED",t[t.FAILED=3]="FAILED",t[t.CLOSING=4]="CLOSING",t[t.CLOSED=5]="CLOSED"})(Pe||(Pe={}));class cx{get needsPublisher(){return this.isPublisherConnectionRequired}get needsSubscriber(){return this.isSubscriberConnectionRequired}get currentState(){return this.state}constructor(e,n,r){var i;this.peerConnectionTimeout=rf.peerConnectionTimeout,this.log=X,this.updateState=()=>{var s;const o=this.state,a=this.requiredTransports.map(l=>l.getConnectionState());a.every(l=>l==="connected")?this.state=Pe.CONNECTED:a.some(l=>l==="failed")?this.state=Pe.FAILED:a.some(l=>l==="connecting")?this.state=Pe.CONNECTING:a.every(l=>l==="closed")?this.state=Pe.CLOSED:a.some(l=>l==="closed")?this.state=Pe.CLOSING:a.every(l=>l==="new")&&(this.state=Pe.NEW),o!==this.state&&(this.log.debug("pc state change: from ".concat(Pe[o]," to ").concat(Pe[this.state]),this.logContext),(s=this.onStateChange)===null||s===void 0||s.call(this,this.state,this.publisher.getConnectionState(),this.subscriber.getConnectionState()))},this.log=Sn((i=r.loggerName)!==null&&i!==void 0?i:Ht.PCManager),this.loggerOptions=r,this.isPublisherConnectionRequired=!n,this.isSubscriberConnectionRequired=n,this.publisher=new Sy(e,r),this.subscriber=new Sy(e,r),this.publisher.onConnectionStateChange=this.updateState,this.subscriber.onConnectionStateChange=this.updateState,this.publisher.onIceConnectionStateChange=this.updateState,this.subscriber.onIceConnectionStateChange=this.updateState,this.publisher.onSignalingStatechange=this.updateState,this.subscriber.onSignalingStatechange=this.updateState,this.publisher.onIceCandidate=s=>{var o;(o=this.onIceCandidate)===null||o===void 0||o.call(this,s,zt.PUBLISHER)},this.subscriber.onIceCandidate=s=>{var o;(o=this.onIceCandidate)===null||o===void 0||o.call(this,s,zt.SUBSCRIBER)},this.subscriber.onDataChannel=s=>{var o;(o=this.onDataChannel)===null||o===void 0||o.call(this,s)},this.subscriber.onTrack=s=>{var o;(o=this.onTrack)===null||o===void 0||o.call(this,s)},this.publisher.onOffer=s=>{var o;(o=this.onPublisherOffer)===null||o===void 0||o.call(this,s)},this.state=Pe.NEW,this.connectionLock=new Ct,this.remoteOfferLock=new Ct}get logContext(){var e,n;return Object.assign({},(n=(e=this.loggerOptions).loggerContextCb)===null||n===void 0?void 0:n.call(e))}requirePublisher(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.isPublisherConnectionRequired=e,this.updateState()}requireSubscriber(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.isSubscriberConnectionRequired=e,this.updateState()}createAndSendPublisherOffer(e){return this.publisher.createAndSendOffer(e)}setPublisherAnswer(e){return this.publisher.setRemoteDescription(e)}removeTrack(e){return this.publisher.removeTrack(e)}close(){return S(this,void 0,void 0,function*(){if(this.publisher&&this.publisher.getSignallingState()!=="closed"){const e=this.publisher;for(const n of e.getSenders())try{e.canRemoveTrack()&&e.removeTrack(n)}catch(r){this.log.warn("could not removeTrack",Object.assign(Object.assign({},this.logContext),{error:r}))}}yield Promise.all([this.publisher.close(),this.subscriber.close()]),this.updateState()})}triggerIceRestart(){return S(this,void 0,void 0,function*(){this.subscriber.restartingIce=!0,this.needsPublisher&&(yield this.createAndSendPublisherOffer({iceRestart:!0}))})}addIceCandidate(e,n){return S(this,void 0,void 0,function*(){n===zt.PUBLISHER?yield this.publisher.addIceCandidate(e):yield this.subscriber.addIceCandidate(e)})}createSubscriberAnswerFromOffer(e){return S(this,void 0,void 0,function*(){this.log.debug("received server offer",Object.assign(Object.assign({},this.logContext),{RTCSdpType:e.type,sdp:e.sdp,signalingState:this.subscriber.getSignallingState().toString()}));const n=yield this.remoteOfferLock.lock();try{return yield this.subscriber.setRemoteDescription(e),yield this.subscriber.createAndSetAnswer()}finally{n()}})}updateConfiguration(e,n){this.publisher.setConfiguration(e),this.subscriber.setConfiguration(e),n&&this.triggerIceRestart()}ensurePCTransportConnection(e,n){return S(this,void 0,void 0,function*(){var r;const i=yield this.connectionLock.lock();try{this.isPublisherConnectionRequired&&this.publisher.getConnectionState()!=="connected"&&this.publisher.getConnectionState()!=="connecting"&&(this.log.debug("negotiation required, start negotiating",this.logContext),this.publisher.negotiate()),yield Promise.all((r=this.requiredTransports)===null||r===void 0?void 0:r.map(s=>this.ensureTransportConnected(s,e,n)))}finally{i()}})}negotiate(e){return S(this,void 0,void 0,function*(){return new Promise((n,r)=>S(this,void 0,void 0,function*(){const i=setTimeout(()=>{r("negotiation timed out")},this.peerConnectionTimeout),s=()=>{clearTimeout(i),r("negotiation aborted")};e.signal.addEventListener("abort",s),this.publisher.once(Ni.NegotiationStarted,()=>{e.signal.aborted||this.publisher.once(Ni.NegotiationComplete,()=>{clearTimeout(i),n()})}),yield this.publisher.negotiate(o=>{clearTimeout(i),r(o)})}))})}addPublisherTransceiver(e,n){return this.publisher.addTransceiver(e,n)}addPublisherTrack(e){return this.publisher.addTrack(e)}createPublisherDataChannel(e,n){return this.publisher.createDataChannel(e,n)}getConnectedAddress(e){return e===zt.PUBLISHER?this.publisher.getConnectedAddress():e===zt.SUBSCRIBER?this.publisher.getConnectedAddress():this.requiredTransports[0].getConnectedAddress()}get requiredTransports(){const e=[];return this.isPublisherConnectionRequired&&e.push(this.publisher),this.isSubscriberConnectionRequired&&e.push(this.subscriber),e}ensureTransportConnected(e,n){return S(this,arguments,void 0,function(r,i){var s=this;let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.peerConnectionTimeout;return function*(){if(r.getConnectionState()!=="connected")return new Promise((l,c)=>S(s,void 0,void 0,function*(){const u=()=>{this.log.warn("abort transport connection",this.logContext),Ge.clearTimeout(d),c(new he("room connection has been cancelled",te.Cancelled))};i!=null&&i.signal.aborted&&u(),i==null||i.signal.addEventListener("abort",u);const d=Ge.setTimeout(()=>{i==null||i.signal.removeEventListener("abort",u),c(new he("could not establish pc connection",te.InternalError))},o);for(;this.state!==Pe.CONNECTED;)if(yield ht(50),i!=null&&i.signal.aborted){c(new he("room connection has been cancelled",te.Cancelled));return}Ge.clearTimeout(d),i==null||i.signal.removeEventListener("abort",u),l()}))}()})}}class _e extends Error{constructor(e,n,r){super(n),this.code=e,this.message=_y(n,_e.MAX_MESSAGE_BYTES),this.data=r?_y(r,_e.MAX_DATA_BYTES):void 0}static fromProto(e){return new _e(e.code,e.message,e.data)}toProto(){return new Hv({code:this.code,message:this.message,data:this.data})}static builtIn(e,n){return new _e(_e.ErrorCode[e],_e.ErrorMessage[e],n)}}_e.MAX_MESSAGE_BYTES=256,_e.MAX_DATA_BYTES=15360,_e.ErrorCode={APPLICATION_ERROR:1500,CONNECTION_TIMEOUT:1501,RESPONSE_TIMEOUT:1502,RECIPIENT_DISCONNECTED:1503,RESPONSE_PAYLOAD_TOO_LARGE:1504,SEND_FAILED:1505,UNSUPPORTED_METHOD:1400,RECIPIENT_NOT_FOUND:1401,REQUEST_PAYLOAD_TOO_LARGE:1402,UNSUPPORTED_SERVER:1403,UNSUPPORTED_VERSION:1404},_e.ErrorMessage={APPLICATION_ERROR:"Application error in method handler",CONNECTION_TIMEOUT:"Connection timeout",RESPONSE_TIMEOUT:"Response timeout",RECIPIENT_DISCONNECTED:"Recipient disconnected",RESPONSE_PAYLOAD_TOO_LARGE:"Response payload too large",SEND_FAILED:"Failed to send",UNSUPPORTED_METHOD:"Method not supported at destination",RECIPIENT_NOT_FOUND:"Recipient not found",REQUEST_PAYLOAD_TOO_LARGE:"Request payload too large",UNSUPPORTED_SERVER:"RPC not supported by server",UNSUPPORTED_VERSION:"Unsupported RPC version"};const Py=15360;function sf(t){return new TextEncoder().encode(t).length}function _y(t,e){if(sf(t)<=e)return t;let n=0,r=t.length;const i=new TextEncoder;for(;n<r;){const s=Math.floor((n+r+1)/2);i.encode(t.slice(0,s)).length<=e?n=s:r=s-1}return t.slice(0,n)}const of=2e3;function ul(t,e){if(!e)return 0;let n,r;return"bytesReceived"in t?(n=t.bytesReceived,r=e.bytesReceived):"bytesSent"in t&&(n=t.bytesSent,r=e.bytesSent),n===void 0||r===void 0||t.timestamp===void 0||e.timestamp===void 0?0:(n-r)*8*1e3/(t.timestamp-e.timestamp)}const ux=1e3;class Ry extends L{get sender(){return this._sender}set sender(e){this._sender=e}get constraints(){return this._constraints}constructor(e,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,s=arguments.length>4?arguments[4]:void 0;super(e,n,s),this.manuallyStopped=!1,this._isUpstreamPaused=!1,this.handleTrackMuteEvent=()=>this.debouncedTrackMuteHandler().catch(()=>this.log.debug("track mute bounce got cancelled by an unmute event",this.logContext)),this.debouncedTrackMuteHandler=tf(()=>S(this,void 0,void 0,function*(){yield this.pauseUpstream()}),5e3),this.handleTrackUnmuteEvent=()=>S(this,void 0,void 0,function*(){this.debouncedTrackMuteHandler.cancel("unmute"),yield this.resumeUpstream()}),this.handleEnded=()=>{this.isInBackground&&(this.reacquireTrack=!0),this._mediaStreamTrack.removeEventListener("mute",this.handleTrackMuteEvent),this._mediaStreamTrack.removeEventListener("unmute",this.handleTrackUnmuteEvent),this.emit(j.Ended,this)},this.reacquireTrack=!1,this.providedByUser=i,this.muteLock=new Ct,this.pauseUpstreamLock=new Ct,this.processorLock=new Ct,this.restartLock=new Ct,this.setMediaStreamTrack(e,!0),this._constraints=e.getConstraints(),r&&(this._constraints=r)}get id(){return this._mediaStreamTrack.id}get dimensions(){if(this.kind!==L.Kind.Video)return;const{width:e,height:n}=this._mediaStreamTrack.getSettings();if(e&&n)return{width:e,height:n}}get isUpstreamPaused(){return this._isUpstreamPaused}get isUserProvided(){return this.providedByUser}get mediaStreamTrack(){var e,n;return(n=(e=this.processor)===null||e===void 0?void 0:e.processedTrack)!==null&&n!==void 0?n:this._mediaStreamTrack}get isLocal(){return!0}getSourceTrackSettings(){return this._mediaStreamTrack.getSettings()}setMediaStreamTrack(e,n){return S(this,void 0,void 0,function*(){var r;if(e===this._mediaStreamTrack&&!n)return;this._mediaStreamTrack&&(this.attachedElements.forEach(s=>{Ii(this._mediaStreamTrack,s)}),this.debouncedTrackMuteHandler.cancel("new-track"),this._mediaStreamTrack.removeEventListener("ended",this.handleEnded),this._mediaStreamTrack.removeEventListener("mute",this.handleTrackMuteEvent),this._mediaStreamTrack.removeEventListener("unmute",this.handleTrackUnmuteEvent)),this.mediaStream=new MediaStream([e]),e&&(e.addEventListener("ended",this.handleEnded),e.addEventListener("mute",this.handleTrackMuteEvent),e.addEventListener("unmute",this.handleTrackUnmuteEvent),this._constraints=e.getConstraints());let i;if(this.processor&&e){const s=yield this.processorLock.lock();try{if(this.log.debug("restarting processor",this.logContext),this.kind==="unknown")throw TypeError("cannot set processor on track of unknown kind");this.processorElement&&(Ri(e,this.processorElement),this.processorElement.muted=!0),yield this.processor.restart({track:e,kind:this.kind,element:this.processorElement}),i=this.processor.processedTrack}finally{s()}}this.sender&&((r=this.sender.transport)===null||r===void 0?void 0:r.state)!=="closed"&&(yield this.sender.replaceTrack(i??e)),!this.providedByUser&&this._mediaStreamTrack!==e&&this._mediaStreamTrack.stop(),this._mediaStreamTrack=e,e&&(this._mediaStreamTrack.enabled=!this.isMuted,yield this.resumeUpstream(),this.attachedElements.forEach(s=>{Ri(i??e,s)}))})}waitForDimensions(){return S(this,arguments,void 0,function(){var e=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ux;return function*(){var r;if(e.kind===L.Kind.Audio)throw new Error("cannot get dimensions for audio tracks");((r=$t())===null||r===void 0?void 0:r.os)==="iOS"&&(yield ht(10));const i=Date.now();for(;Date.now()-i<n;){const s=e.dimensions;if(s)return s;yield ht(50)}throw new wn("unable to get track dimensions after timeout")}()})}setDeviceId(e){return S(this,void 0,void 0,function*(){return this._constraints.deviceId===e&&this._mediaStreamTrack.getSettings().deviceId===sr(e)||(this._constraints.deviceId=e,this.isMuted)?!0:(yield this.restartTrack(),sr(e)===this._mediaStreamTrack.getSettings().deviceId)})}getDeviceId(){return S(this,arguments,void 0,function(){var e=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return function*(){if(e.source===L.Source.ScreenShare)return;const{deviceId:r,groupId:i}=e._mediaStreamTrack.getSettings(),s=e.kind===L.Kind.Audio?"audioinput":"videoinput";return n?Ve.getInstance().normalizeDeviceId(s,r,i):r}()})}mute(){return S(this,void 0,void 0,function*(){return this.setTrackMuted(!0),this})}unmute(){return S(this,void 0,void 0,function*(){return this.setTrackMuted(!1),this})}replaceTrack(e,n){return S(this,void 0,void 0,function*(){if(!this.sender)throw new wn("unable to replace an unpublished track");let r,i;return typeof n=="boolean"?r=n:n!==void 0&&(r=n.userProvidedTrack,i=n.stopProcessor),this.providedByUser=r??!0,this.log.debug("replace MediaStreamTrack",this.logContext),yield this.setMediaStreamTrack(e),i&&this.processor&&(yield this.stopProcessor()),this})}restart(e){return S(this,void 0,void 0,function*(){this.manuallyStopped=!1;const n=yield this.restartLock.lock();try{e||(e=this._constraints);const{deviceId:r,facingMode:i}=e,s=e2(e,["deviceId","facingMode"]);this.log.debug("restarting track with constraints",Object.assign(Object.assign({},this.logContext),{constraints:e}));const o={audio:!1,video:!1};this.kind===L.Kind.Video?o.video=r||i?{deviceId:r,facingMode:i}:!0:o.audio=r?{deviceId:r}:!0,this.attachedElements.forEach(c=>{Ii(this.mediaStreamTrack,c)}),this._mediaStreamTrack.removeEventListener("ended",this.handleEnded),this._mediaStreamTrack.stop();const l=(yield navigator.mediaDevices.getUserMedia(o)).getTracks()[0];return yield l.applyConstraints(s),l.addEventListener("ended",this.handleEnded),this.log.debug("re-acquired MediaStreamTrack",this.logContext),yield this.setMediaStreamTrack(l),this._constraints=e,this.emit(j.Restarted,this),this.manuallyStopped&&(this.log.warn("track was stopped during a restart, stopping restarted track",this.logContext),this.stop()),this}finally{n()}})}setTrackMuted(e){this.log.debug("setting ".concat(this.kind," track ").concat(e?"muted":"unmuted"),this.logContext),!(this.isMuted===e&&this._mediaStreamTrack.enabled!==e)&&(this.isMuted=e,this._mediaStreamTrack.enabled=!e,this.emit(e?j.Muted:j.Unmuted,this))}get needsReAcquisition(){return this._mediaStreamTrack.readyState!=="live"||this._mediaStreamTrack.muted||!this._mediaStreamTrack.enabled||this.reacquireTrack}handleAppVisibilityChanged(){const e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return S(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),ry()&&(this.log.debug("visibility changed, is in Background: ".concat(this.isInBackground),this.logContext),!this.isInBackground&&this.needsReAcquisition&&!this.isUserProvided&&!this.isMuted&&(this.log.debug("track needs to be reacquired, restarting ".concat(this.source),this.logContext),yield this.restart(),this.reacquireTrack=!1))})}stop(){var e;this.manuallyStopped=!0,super.stop(),this._mediaStreamTrack.removeEventListener("ended",this.handleEnded),this._mediaStreamTrack.removeEventListener("mute",this.handleTrackMuteEvent),this._mediaStreamTrack.removeEventListener("unmute",this.handleTrackUnmuteEvent),(e=this.processor)===null||e===void 0||e.destroy(),this.processor=void 0}pauseUpstream(){return S(this,void 0,void 0,function*(){var e;const n=yield this.pauseUpstreamLock.lock();try{if(this._isUpstreamPaused===!0)return;if(!this.sender){this.log.warn("unable to pause upstream for an unpublished track",this.logContext);return}this._isUpstreamPaused=!0,this.emit(j.UpstreamPaused,this);const r=$t();if((r==null?void 0:r.name)==="Safari"&&Nr(r.version,"12.0")<0)throw new Id("pauseUpstream is not supported on Safari < 12.");((e=this.sender.transport)===null||e===void 0?void 0:e.state)!=="closed"&&(yield this.sender.replaceTrack(null))}finally{n()}})}resumeUpstream(){return S(this,void 0,void 0,function*(){var e;const n=yield this.pauseUpstreamLock.lock();try{if(this._isUpstreamPaused===!1)return;if(!this.sender){this.log.warn("unable to resume upstream for an unpublished track",this.logContext);return}this._isUpstreamPaused=!1,this.emit(j.UpstreamResumed,this),((e=this.sender.transport)===null||e===void 0?void 0:e.state)!=="closed"&&(yield this.sender.replaceTrack(this.mediaStreamTrack))}finally{n()}})}getRTCStatsReport(){return S(this,void 0,void 0,function*(){var e;return!((e=this.sender)===null||e===void 0)&&e.getStats?yield this.sender.getStats():void 0})}setProcessor(e){return S(this,arguments,void 0,function(n){var r=this;let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return function*(){var s;const o=yield r.processorLock.lock();try{r.log.debug("setting up processor",r.logContext);const a=document.createElement(r.kind),l={kind:r.kind,track:r._mediaStreamTrack,element:a,audioContext:r.audioContext};if(yield n.init(l),r.log.debug("processor initialized",r.logContext),r.processor&&(yield r.stopProcessor()),r.kind==="unknown")throw TypeError("cannot set processor on track of unknown kind");if(Ri(r._mediaStreamTrack,a),a.muted=!0,a.play().catch(c=>r.log.error("failed to play processor element",Object.assign(Object.assign({},r.logContext),{error:c}))),r.processor=n,r.processorElement=a,r.processor.processedTrack){for(const c of r.attachedElements)c!==r.processorElement&&i&&(Ii(r._mediaStreamTrack,c),Ri(r.processor.processedTrack,c));yield(s=r.sender)===null||s===void 0?void 0:s.replaceTrack(r.processor.processedTrack)}r.emit(j.TrackProcessorUpdate,r.processor)}finally{o()}}()})}getProcessor(){return this.processor}stopProcessor(){return S(this,arguments,void 0,function(){var e=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return function*(){var r,i;e.processor&&(e.log.debug("stopping processor",e.logContext),(r=e.processor.processedTrack)===null||r===void 0||r.stop(),yield e.processor.destroy(),e.processor=void 0,n||((i=e.processorElement)===null||i===void 0||i.remove(),e.processorElement=void 0),yield e._mediaStreamTrack.applyConstraints(e._constraints),yield e.setMediaStreamTrack(e._mediaStreamTrack,!0),e.emit(j.TrackProcessorUpdate))}()})}}class dl extends Ry{get enhancedNoiseCancellation(){return this.isKrispNoiseFilterEnabled}constructor(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,i=arguments.length>3?arguments[3]:void 0,s=arguments.length>4?arguments[4]:void 0;super(e,L.Kind.Audio,n,r,s),this.stopOnMute=!1,this.isKrispNoiseFilterEnabled=!1,this.monitorSender=()=>S(this,void 0,void 0,function*(){if(!this.sender){this._currentBitrate=0;return}let o;try{o=yield this.getSenderStats()}catch(a){this.log.error("could not get audio sender stats",Object.assign(Object.assign({},this.logContext),{error:a}));return}o&&this.prevStats&&(this._currentBitrate=ul(o,this.prevStats)),this.prevStats=o}),this.handleKrispNoiseFilterEnable=()=>{this.isKrispNoiseFilterEnabled=!0,this.log.debug("Krisp noise filter enabled",this.logContext),this.emit(j.AudioTrackFeatureUpdate,this,rn.TF_ENHANCED_NOISE_CANCELLATION,!0)},this.handleKrispNoiseFilterDisable=()=>{this.isKrispNoiseFilterEnabled=!1,this.log.debug("Krisp noise filter disabled",this.logContext),this.emit(j.AudioTrackFeatureUpdate,this,rn.TF_ENHANCED_NOISE_CANCELLATION,!1)},this.audioContext=i,this.checkForSilence()}mute(){const e=Object.create(null,{mute:{get:()=>super.mute}});return S(this,void 0,void 0,function*(){const n=yield this.muteLock.lock();try{return this.isMuted?(this.log.debug("Track already muted",this.logContext),this):(this.source===L.Source.Microphone&&this.stopOnMute&&!this.isUserProvided&&(this.log.debug("stopping mic track",this.logContext),this._mediaStreamTrack.stop()),yield e.mute.call(this),this)}finally{n()}})}unmute(){const e=Object.create(null,{unmute:{get:()=>super.unmute}});return S(this,void 0,void 0,function*(){const n=yield this.muteLock.lock();try{if(!this.isMuted)return this.log.debug("Track already unmuted",this.logContext),this;const r=this._constraints.deviceId&&this._mediaStreamTrack.getSettings().deviceId!==sr(this._constraints.deviceId);return this.source===L.Source.Microphone&&(this.stopOnMute||this._mediaStreamTrack.readyState==="ended"||r)&&!this.isUserProvided&&(this.log.debug("reacquiring mic track",this.logContext),yield this.restartTrack()),yield e.unmute.call(this),this}finally{n()}})}restartTrack(e){return S(this,void 0,void 0,function*(){let n;if(e){const r=al({audio:e});typeof r.audio!="boolean"&&(n=r.audio)}yield this.restart(n)})}restart(e){const n=Object.create(null,{restart:{get:()=>super.restart}});return S(this,void 0,void 0,function*(){const r=yield n.restart.call(this,e);return this.checkForSilence(),r})}startMonitor(){pt()&&(this.monitorInterval||(this.monitorInterval=setInterval(()=>{this.monitorSender()},of)))}setProcessor(e){return S(this,void 0,void 0,function*(){var n;const r=yield this.processorLock.lock();try{if(!an()&&!this.audioContext)throw Error("Audio context needs to be set on LocalAudioTrack in order to enable processors");this.processor&&(yield this.stopProcessor());const i={kind:this.kind,track:this._mediaStreamTrack,audioContext:this.audioContext};this.log.debug("setting up audio processor ".concat(e.name),this.logContext),yield e.init(i),this.processor=e,this.processor.processedTrack&&(yield(n=this.sender)===null||n===void 0?void 0:n.replaceTrack(this.processor.processedTrack),this.processor.processedTrack.addEventListener("enable-lk-krisp-noise-filter",this.handleKrispNoiseFilterEnable),this.processor.processedTrack.addEventListener("disable-lk-krisp-noise-filter",this.handleKrispNoiseFilterDisable)),this.emit(j.TrackProcessorUpdate,this.processor)}finally{r()}})}setAudioContext(e){this.audioContext=e}getSenderStats(){return S(this,void 0,void 0,function*(){var e;if(!(!((e=this.sender)===null||e===void 0)&&e.getStats))return;const n=yield this.sender.getStats();let r;return n.forEach(i=>{i.type==="outbound-rtp"&&(r={type:"audio",streamId:i.id,packetsSent:i.packetsSent,packetsLost:i.packetsLost,bytesSent:i.bytesSent,timestamp:i.timestamp,roundTripTime:i.roundTripTime,jitter:i.jitter})}),r})}checkForSilence(){return S(this,void 0,void 0,function*(){const e=yield hy(this);return e&&(this.isMuted||this.log.warn("silence detected on local audio track",this.logContext),this.emit(j.AudioSilenceDetected)),e})}}function Iy(t,e,n){switch(t.kind){case"audio":return new dl(t,e,!1,void 0,n);case"video":return new hl(t,e,!1,n);default:throw new wn("unsupported track type: ".concat(t.kind))}}const dx=Object.values(qs),fx=Object.values(Dd),hx=Object.values(Ad),px=[qs.h180,qs.h360],mx=[Dd.h180,Dd.h360],gx=t=>[{scaleResolutionDownBy:2,fps:t.encoding.maxFramerate}].map(n=>{var r,i;return new de(Math.floor(t.width/n.scaleResolutionDownBy),Math.floor(t.height/n.scaleResolutionDownBy),Math.max(15e4,Math.floor(t.encoding.maxBitrate/(Math.pow(n.scaleResolutionDownBy,2)*(((r=t.encoding.maxFramerate)!==null&&r!==void 0?r:30)/((i=n.fps)!==null&&i!==void 0?i:30))))),n.fps,t.encoding.priority)}),af=["q","h","f"];function lf(t,e,n,r){var i,s;let o=r==null?void 0:r.videoEncoding;t&&(o=r==null?void 0:r.screenShareEncoding);const a=r==null?void 0:r.simulcast,l=r==null?void 0:r.scalabilityMode,c=r==null?void 0:r.videoCodec;if(!o&&!a&&!l||!e||!n)return[{}];o||(o=yx(t,e,n,c),X.debug("using video encoding",o));const u=o.maxFramerate,d=new de(e,n,o.maxBitrate,o.maxFramerate,o.priority);if(l&&Ws(c)){const v=new fl(l),y=[];if(v.spatial>3)throw new Error("unsupported scalabilityMode: ".concat(l));const T=$t();if(ir()||an()||(T==null?void 0:T.name)==="Chrome"&&Nr(T==null?void 0:T.version,"113")<0){const m=v.suffix=="h"?2:3;for(let b=0;b<v.spatial;b+=1)y.push({rid:af[2-b],maxBitrate:o.maxBitrate/Math.pow(m,b),maxFramerate:d.encoding.maxFramerate});y[0].scalabilityMode=l}else y.push({maxBitrate:o.maxBitrate,maxFramerate:d.encoding.maxFramerate,scalabilityMode:l});return d.encoding.priority&&(y[0].priority=d.encoding.priority,y[0].networkPriority=d.encoding.priority),X.debug("using svc encoding",{encodings:y}),y}if(!a)return[o];let f=[];t?f=(i=Ly(r==null?void 0:r.screenShareSimulcastLayers))!==null&&i!==void 0?i:Oy(t,d):f=(s=Ly(r==null?void 0:r.videoSimulcastLayers))!==null&&s!==void 0?s:Oy(t,d);let h;if(f.length>0){const v=f[0];f.length>1&&([,h]=f);const y=Math.max(e,n);if(y>=960&&h)return cf(e,n,[v,h,d],u);if(y>=480)return cf(e,n,[v,d],u)}return cf(e,n,[d])}function vx(t,e,n){var r,i,s,o;if(!n.backupCodec||n.backupCodec===!0||n.backupCodec.codec===n.videoCodec)return;e!==n.backupCodec.codec&&X.warn("requested a different codec than specified as backup",{serverRequested:e,backup:n.backupCodec.codec}),n.videoCodec=e,n.videoEncoding=n.backupCodec.encoding;const a=t.mediaStreamTrack.getSettings(),l=(r=a.width)!==null&&r!==void 0?r:(i=t.dimensions)===null||i===void 0?void 0:i.width,c=(s=a.height)!==null&&s!==void 0?s:(o=t.dimensions)===null||o===void 0?void 0:o.height;return t.source===L.Source.ScreenShare&&n.simulcast&&(n.simulcast=!1),lf(t.source===L.Source.ScreenShare,l,c,n)}function yx(t,e,n,r){const i=bx(t,e,n);let{encoding:s}=i[0];const o=Math.max(e,n);for(let a=0;a<i.length;a+=1){const l=i[a];if(s=l.encoding,l.width>=o)break}if(r)switch(r){case"av1":s=Object.assign({},s),s.maxBitrate=s.maxBitrate*.7;break;case"vp9":s=Object.assign({},s),s.maxBitrate=s.maxBitrate*.85;break}return s}function bx(t,e,n){if(t)return hx;const r=e>n?e/n:n/e;return Math.abs(r-16/9)<Math.abs(r-4/3)?dx:fx}function Oy(t,e){if(t)return gx(e);const{width:n,height:r}=e,i=n>r?n/r:r/n;return Math.abs(i-16/9)<Math.abs(i-4/3)?px:mx}function cf(t,e,n,r){const i=[];if(n.forEach((s,o)=>{if(o>=af.length)return;const a=Math.min(t,e),c={rid:af[o],scaleResolutionDownBy:Math.max(1,a/Math.min(s.width,s.height)),maxBitrate:s.encoding.maxBitrate},u=r&&s.encoding.maxFramerate?Math.min(r,s.encoding.maxFramerate):s.encoding.maxFramerate;u&&(c.maxFramerate=u);const d=Oi()||o===0;s.encoding.priority&&d&&(c.priority=s.encoding.priority,c.networkPriority=s.encoding.priority),i.push(c)}),an()&&sy()==="ios"){let s;i.forEach(a=>{s?a.maxFramerate&&a.maxFramerate>s&&(s=a.maxFramerate):s=a.maxFramerate});let o=!0;i.forEach(a=>{var l;a.maxFramerate!=s&&(o&&(o=!1,X.info("Simulcast on iOS React-Native requires all encodings to share the same framerate.")),X.info('Setting framerate of encoding "'.concat((l=a.rid)!==null&&l!==void 0?l:"",'" to ').concat(s)),a.maxFramerate=s)})}return i}function Ly(t){if(t)return t.sort((e,n)=>{const{encoding:r}=e,{encoding:i}=n;return r.maxBitrate>i.maxBitrate?1:r.maxBitrate<i.maxBitrate?-1:r.maxBitrate===i.maxBitrate&&r.maxFramerate&&i.maxFramerate?r.maxFramerate>i.maxFramerate?1:-1:0})}class fl{constructor(e){const n=e.match(/^L(\d)T(\d)(h|_KEY|_KEY_SHIFT){0,1}$/);if(!n)throw new Error("invalid scalability mode");if(this.spatial=parseInt(n[1]),this.temporal=parseInt(n[2]),n.length>3)switch(n[3]){case"h":case"_KEY":case"_KEY_SHIFT":this.suffix=n[3]}}toString(){var e;return"L".concat(this.spatial,"T").concat(this.temporal).concat((e=this.suffix)!==null&&e!==void 0?e:"")}}function kx(t){return t.source===L.Source.ScreenShare||t.constraints.height&&sr(t.constraints.height)>=1080?"maintain-resolution":"balanced"}const Cx=5e3;class hl extends Ry{get sender(){return this._sender}set sender(e){this._sender=e,this.degradationPreference&&this.setDegradationPreference(this.degradationPreference)}constructor(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,i=arguments.length>3?arguments[3]:void 0;super(e,L.Kind.Video,n,r,i),this.simulcastCodecs=new Map,this.degradationPreference="balanced",this.monitorSender=()=>S(this,void 0,void 0,function*(){if(!this.sender){this._currentBitrate=0;return}let s;try{s=yield this.getSenderStats()}catch(a){this.log.error("could not get audio sender stats",Object.assign(Object.assign({},this.logContext),{error:a}));return}const o=new Map(s.map(a=>[a.rid,a]));if(this.prevStats){let a=0;o.forEach((l,c)=>{var u;const d=(u=this.prevStats)===null||u===void 0?void 0:u.get(c);a+=ul(l,d)}),this._currentBitrate=a}this.prevStats=o}),this.senderLock=new Ct}get isSimulcast(){return!!(this.sender&&this.sender.getParameters().encodings.length>1)}startMonitor(e){var n;if(this.signalClient=e,!pt())return;const r=(n=this.sender)===null||n===void 0?void 0:n.getParameters();r&&(this.encodings=r.encodings),!this.monitorInterval&&(this.monitorInterval=setInterval(()=>{this.monitorSender()},of))}stop(){this._mediaStreamTrack.getConstraints(),this.simulcastCodecs.forEach(e=>{e.mediaStreamTrack.stop()}),super.stop()}pauseUpstream(){const e=Object.create(null,{pauseUpstream:{get:()=>super.pauseUpstream}});return S(this,void 0,void 0,function*(){var n,r,i,s,o;yield e.pauseUpstream.call(this);try{for(var a=!0,l=er(this.simulcastCodecs.values()),c;c=yield l.next(),n=c.done,!n;a=!0)s=c.value,a=!1,yield(o=s.sender)===null||o===void 0?void 0:o.replaceTrack(null)}catch(u){r={error:u}}finally{try{!a&&!n&&(i=l.return)&&(yield i.call(l))}finally{if(r)throw r.error}}})}resumeUpstream(){const e=Object.create(null,{resumeUpstream:{get:()=>super.resumeUpstream}});return S(this,void 0,void 0,function*(){var n,r,i,s,o;yield e.resumeUpstream.call(this);try{for(var a=!0,l=er(this.simulcastCodecs.values()),c;c=yield l.next(),n=c.done,!n;a=!0){s=c.value,a=!1;const u=s;yield(o=u.sender)===null||o===void 0?void 0:o.replaceTrack(u.mediaStreamTrack)}}catch(u){r={error:u}}finally{try{!a&&!n&&(i=l.return)&&(yield i.call(l))}finally{if(r)throw r.error}}})}mute(){const e=Object.create(null,{mute:{get:()=>super.mute}});return S(this,void 0,void 0,function*(){const n=yield this.muteLock.lock();try{return this.isMuted?(this.log.debug("Track already muted",this.logContext),this):(this.source===L.Source.Camera&&!this.isUserProvided&&(this.log.debug("stopping camera track",this.logContext),this._mediaStreamTrack.stop()),yield e.mute.call(this),this)}finally{n()}})}unmute(){const e=Object.create(null,{unmute:{get:()=>super.unmute}});return S(this,void 0,void 0,function*(){const n=yield this.muteLock.lock();try{return this.isMuted?(this.source===L.Source.Camera&&!this.isUserProvided&&(this.log.debug("reacquiring camera track",this.logContext),yield this.restartTrack()),yield e.unmute.call(this),this):(this.log.debug("Track already unmuted",this.logContext),this)}finally{n()}})}setTrackMuted(e){super.setTrackMuted(e);for(const n of this.simulcastCodecs.values())n.mediaStreamTrack.enabled=!e}getSenderStats(){return S(this,void 0,void 0,function*(){var e;if(!(!((e=this.sender)===null||e===void 0)&&e.getStats))return[];const n=[],r=yield this.sender.getStats();return r.forEach(i=>{var s;if(i.type==="outbound-rtp"){const o={type:"video",streamId:i.id,frameHeight:i.frameHeight,frameWidth:i.frameWidth,framesPerSecond:i.framesPerSecond,framesSent:i.framesSent,firCount:i.firCount,pliCount:i.pliCount,nackCount:i.nackCount,packetsSent:i.packetsSent,bytesSent:i.bytesSent,qualityLimitationReason:i.qualityLimitationReason,qualityLimitationDurations:i.qualityLimitationDurations,qualityLimitationResolutionChanges:i.qualityLimitationResolutionChanges,rid:(s=i.rid)!==null&&s!==void 0?s:i.id,retransmittedPacketsSent:i.retransmittedPacketsSent,targetBitrate:i.targetBitrate,timestamp:i.timestamp},a=r.get(i.remoteId);a&&(o.jitter=a.jitter,o.packetsLost=a.packetsLost,o.roundTripTime=a.roundTripTime),n.push(o)}}),n.sort((i,s)=>{var o,a;return((o=s.frameWidth)!==null&&o!==void 0?o:0)-((a=i.frameWidth)!==null&&a!==void 0?a:0)}),n})}setPublishingQuality(e){const n=[];for(let r=It.LOW;r<=It.HIGH;r+=1)n.push(new yd({quality:r,enabled:r<=e}));this.log.debug("setting publishing quality. max quality ".concat(e),this.logContext),this.setPublishingLayers(n)}restartTrack(e){return S(this,void 0,void 0,function*(){var n,r,i,s,o;let a;if(e){const d=al({video:e});typeof d.video!="boolean"&&(a=d.video)}yield this.restart(a);try{for(var l=!0,c=er(this.simulcastCodecs.values()),u;u=yield c.next(),n=u.done,!n;l=!0){s=u.value,l=!1;const d=s;d.sender&&((o=d.sender.transport)===null||o===void 0?void 0:o.state)!=="closed"&&(d.mediaStreamTrack=this.mediaStreamTrack.clone(),yield d.sender.replaceTrack(d.mediaStreamTrack))}}catch(d){r={error:d}}finally{try{!l&&!n&&(i=c.return)&&(yield i.call(c))}finally{if(r)throw r.error}}})}setProcessor(e){const n=Object.create(null,{setProcessor:{get:()=>super.setProcessor}});return S(this,arguments,void 0,function(r){var i=this;let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return function*(){var o,a,l,c,u,d;if(yield n.setProcessor.call(i,r,s),!((u=i.processor)===null||u===void 0)&&u.processedTrack)try{for(var f=!0,h=er(i.simulcastCodecs.values()),v;v=yield h.next(),o=v.done,!o;f=!0)c=v.value,f=!1,yield(d=c.sender)===null||d===void 0?void 0:d.replaceTrack(i.processor.processedTrack)}catch(y){a={error:y}}finally{try{!f&&!o&&(l=h.return)&&(yield l.call(h))}finally{if(a)throw a.error}}}()})}setDegradationPreference(e){return S(this,void 0,void 0,function*(){if(this.degradationPreference=e,this.sender)try{this.log.debug("setting degradationPreference to ".concat(e),this.logContext);const n=this.sender.getParameters();n.degradationPreference=e,this.sender.setParameters(n)}catch(n){this.log.warn("failed to set degradationPreference",Object.assign({error:n},this.logContext))}})}addSimulcastTrack(e,n){if(this.simulcastCodecs.has(e)){this.log.error("".concat(e," already added, skipping adding simulcast codec"),this.logContext);return}const r={codec:e,mediaStreamTrack:this.mediaStreamTrack.clone(),sender:void 0,encodings:n};return this.simulcastCodecs.set(e,r),r}setSimulcastTrackSender(e,n){const r=this.simulcastCodecs.get(e);r&&(r.sender=n,setTimeout(()=>{this.subscribedCodecs&&this.setPublishingCodecs(this.subscribedCodecs)},Cx))}setPublishingCodecs(e){return S(this,void 0,void 0,function*(){var n,r,i,s,o,a,l;if(this.log.debug("setting publishing codecs",Object.assign(Object.assign({},this.logContext),{codecs:e,currentCodec:this.codec})),!this.codec&&e.length>0)return yield this.setPublishingLayers(e[0].qualities),[];this.subscribedCodecs=e;const c=[];try{for(n=!0,r=er(e);i=yield r.next(),s=i.done,!s;n=!0){l=i.value,n=!1;const u=l;if(!this.codec||this.codec===u.codec)yield this.setPublishingLayers(u.qualities);else{const d=this.simulcastCodecs.get(u.codec);if(this.log.debug("try setPublishingCodec for ".concat(u.codec),Object.assign(Object.assign({},this.logContext),{simulcastCodecInfo:d})),!d||!d.sender){for(const f of u.qualities)if(f.enabled){c.push(u.codec);break}}else d.encodings&&(this.log.debug("try setPublishingLayersForSender ".concat(u.codec),this.logContext),yield My(d.sender,d.encodings,u.qualities,this.senderLock,this.log,this.logContext))}}}catch(u){o={error:u}}finally{try{!n&&!s&&(a=r.return)&&(yield a.call(r))}finally{if(o)throw o.error}}return c})}setPublishingLayers(e){return S(this,void 0,void 0,function*(){this.log.debug("setting publishing layers",Object.assign(Object.assign({},this.logContext),{qualities:e})),!(!this.sender||!this.encodings)&&(yield My(this.sender,this.encodings,e,this.senderLock,this.log,this.logContext))})}handleAppVisibilityChanged(){const e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return S(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),ry()&&this.isInBackground&&this.source===L.Source.Camera&&(this._mediaStreamTrack.enabled=!1)})}}function My(t,e,n,r,i,s){return S(this,void 0,void 0,function*(){const o=yield r.lock();i.debug("setPublishingLayersForSender",Object.assign(Object.assign({},s),{sender:t,qualities:n,senderEncodings:e}));try{const a=t.getParameters(),{encodings:l}=a;if(!l)return;if(l.length!==e.length){i.warn("cannot set publishing layers, encodings mismatch",Object.assign(Object.assign({},s),{encodings:l,senderEncodings:e}));return}let c=!1;const u=$t();if((u==null?void 0:u.name)==="Chrome"&&Nr(u==null?void 0:u.version,"133")>0&&l[0].scalabilityMode){const f=l[0],h=new fl(f.scalabilityMode);let v=Ti.OFF;if(n.forEach(y=>{y.enabled&&(v===Ti.OFF||y.quality>v)&&(v=y.quality)}),v===Ti.OFF)f.active&&(f.active=!1,c=!0);else if(!f.active||h.spatial!==v+1){c=!0,f.active=!0;const y=new fl(e[0].scalabilityMode);h.spatial=v+1,h.suffix=y.suffix,h.spatial===1&&(h.suffix=void 0),f.scalabilityMode=h.toString(),f.scaleResolutionDownBy=Math.pow(2,2-v),e[0].maxBitrate&&(f.maxBitrate=e[0].maxBitrate/(f.scaleResolutionDownBy*f.scaleResolutionDownBy))}}else l.forEach((f,h)=>{var v;let y=(v=f.rid)!==null&&v!==void 0?v:"";y===""&&(y="q");const T=Ny(y),m=n.find(b=>b.quality===T);m&&f.active!==m.enabled&&(c=!0,f.active=m.enabled,i.debug("setting layer ".concat(m.quality," to ").concat(f.active?"enabled":"disabled"),s),Oi()&&(m.enabled?(f.scaleResolutionDownBy=e[h].scaleResolutionDownBy,f.maxBitrate=e[h].maxBitrate,f.maxFrameRate=e[h].maxFrameRate):(f.scaleResolutionDownBy=4,f.maxBitrate=10,f.maxFrameRate=2)))});c&&(a.encodings=l,i.debug("setting encodings",Object.assign(Object.assign({},s),{encodings:a.encodings})),yield t.setParameters(a))}finally{o()}})}function Ny(t){switch(t){case"f":return It.HIGH;case"h":return It.MEDIUM;case"q":return It.LOW;default:return It.HIGH}}function Dy(t,e,n,r){if(!n)return[new Or({quality:It.HIGH,width:t,height:e,bitrate:0,ssrc:0})];if(r){const i=n[0].scalabilityMode,s=new fl(i),o=[],a=s.suffix=="h"?1.5:2,l=s.suffix=="h"?2:3;for(let c=0;c<s.spatial;c+=1)o.push(new Or({quality:Math.min(It.HIGH,s.spatial-1)-c,width:Math.ceil(t/Math.pow(a,c)),height:Math.ceil(e/Math.pow(a,c)),bitrate:n[0].maxBitrate?Math.ceil(n[0].maxBitrate/Math.pow(l,c)):0,ssrc:0}));return o}return n.map(i=>{var s,o,a;const l=(s=i.scaleResolutionDownBy)!==null&&s!==void 0?s:1;let c=Ny((o=i.rid)!==null&&o!==void 0?o:"");return new Or({quality:c,width:Math.ceil(t/l),height:Math.ceil(e/l),bitrate:(a=i.maxBitrate)!==null&&a!==void 0?a:0,ssrc:0})})}const Ay="_lossy",jy="_reliable",Sx=2*1e3,uf="leave-reconnect";var Wt;(function(t){t[t.New=0]="New",t[t.Connected=1]="Connected",t[t.Disconnected=2]="Disconnected",t[t.Reconnecting=3]="Reconnecting",t[t.Closed=4]="Closed"})(Wt||(Wt={}));class wx extends on.EventEmitter{get isClosed(){return this._isClosed}get pendingReconnect(){return!!this.reconnectTimeout}constructor(e){var n;super(),this.options=e,this.rtcConfig={},this.peerConnectionTimeout=rf.peerConnectionTimeout,this.fullReconnectOnNext=!1,this.subscriberPrimary=!1,this.pcState=Wt.New,this._isClosed=!0,this.pendingTrackResolvers={},this.reconnectAttempts=0,this.reconnectStart=0,this.attemptingReconnect=!1,this.joinAttempts=0,this.maxJoinAttempts=1,this.shouldFailNext=!1,this.log=X,this.handleDataChannel=r=>S(this,[r],void 0,function(i){var s=this;let{channel:o}=i;return function*(){if(o){if(o.label===jy)s.reliableDCSub=o;else if(o.label===Ay)s.lossyDCSub=o;else return;s.log.debug("on data channel ".concat(o.id,", ").concat(o.label),s.logContext),o.onmessage=s.handleDataMessage}}()}),this.handleDataMessage=r=>S(this,void 0,void 0,function*(){var i,s;const o=yield this.dataProcessLock.lock();try{let a;if(r.data instanceof ArrayBuffer)a=r.data;else if(r.data instanceof Blob)a=yield r.data.arrayBuffer();else{this.log.error("unsupported data type",Object.assign(Object.assign({},this.logContext),{data:r.data}));return}const l=ft.fromBinary(new Uint8Array(a));((i=l.value)===null||i===void 0?void 0:i.case)==="speaker"?this.emit(F.ActiveSpeakersUpdate,l.value.value.speakers):(((s=l.value)===null||s===void 0?void 0:s.case)==="user"&&xx(l,l.value.value),this.emit(F.DataPacketReceived,l))}finally{o()}}),this.handleDataError=r=>{const s=r.currentTarget.maxRetransmits===0?"lossy":"reliable";if(r instanceof ErrorEvent&&r.error){const{error:o}=r.error;this.log.error("DataChannel error on ".concat(s,": ").concat(r.message),Object.assign(Object.assign({},this.logContext),{error:o}))}else this.log.error("Unknown DataChannel error on ".concat(s),Object.assign(Object.assign({},this.logContext),{event:r}))},this.handleBufferedAmountLow=r=>{const s=r.currentTarget.maxRetransmits===0?re.LOSSY:re.RELIABLE;this.updateAndEmitDCBufferStatus(s)},this.handleDisconnect=(r,i)=>{if(this._isClosed)return;this.log.warn("".concat(r," disconnected"),this.logContext),this.reconnectAttempts===0&&(this.reconnectStart=Date.now());const s=l=>{this.log.warn("could not recover connection after ".concat(this.reconnectAttempts," attempts, ").concat(l,"ms. giving up"),this.logContext),this.emit(F.Disconnected),this.close()},o=Date.now()-this.reconnectStart;let a=this.getNextRetryDelay({elapsedMs:o,retryCount:this.reconnectAttempts});if(a===null){s(o);return}r===uf&&(a=0),this.log.debug("reconnecting in ".concat(a,"ms"),this.logContext),this.clearReconnectTimeout(),this.token&&this.regionUrlProvider&&this.regionUrlProvider.updateToken(this.token),this.reconnectTimeout=Ge.setTimeout(()=>this.attemptReconnect(i).finally(()=>this.reconnectTimeout=void 0),a)},this.waitForRestarted=()=>new Promise((r,i)=>{this.pcState===Wt.Connected&&r();const s=()=>{this.off(F.Disconnected,o),r()},o=()=>{this.off(F.Restarted,s),i()};this.once(F.Restarted,s),this.once(F.Disconnected,o)}),this.updateAndEmitDCBufferStatus=r=>{const i=this.isBufferStatusLow(r);typeof i<"u"&&i!==this.dcBufferStatus.get(r)&&(this.dcBufferStatus.set(r,i),this.emit(F.DCBufferStatusChanged,i,r))},this.isBufferStatusLow=r=>{const i=this.dataChannelForKind(r);if(i)return i.bufferedAmount<=i.bufferedAmountLowThreshold},this.handleBrowserOnLine=()=>{this.client.currentState===be.RECONNECTING&&(this.clearReconnectTimeout(),this.attemptReconnect(xi.RR_SIGNAL_DISCONNECTED))},this.log=Sn((n=e.loggerName)!==null&&n!==void 0?n:Ht.Engine),this.loggerOptions={loggerName:e.loggerName,loggerContextCb:()=>this.logContext},this.client=new Qd(void 0,this.loggerOptions),this.client.signalLatency=this.options.expSignalLatency,this.reconnectPolicy=this.options.reconnectPolicy,this.registerOnLineListener(),this.closingLock=new Ct,this.dataProcessLock=new Ct,this.dcBufferStatus=new Map([[re.LOSSY,!0],[re.RELIABLE,!0]]),this.client.onParticipantUpdate=r=>this.emit(F.ParticipantUpdate,r),this.client.onConnectionQuality=r=>this.emit(F.ConnectionQualityUpdate,r),this.client.onRoomUpdate=r=>this.emit(F.RoomUpdate,r),this.client.onSubscriptionError=r=>this.emit(F.SubscriptionError,r),this.client.onSubscriptionPermissionUpdate=r=>this.emit(F.SubscriptionPermissionUpdate,r),this.client.onSpeakersChanged=r=>this.emit(F.SpeakersChanged,r),this.client.onStreamStateUpdate=r=>this.emit(F.StreamStateChanged,r),this.client.onRequestResponse=r=>this.emit(F.SignalRequestResponse,r)}get logContext(){var e,n,r,i,s,o,a,l;return{room:(n=(e=this.latestJoinResponse)===null||e===void 0?void 0:e.room)===null||n===void 0?void 0:n.name,roomID:(i=(r=this.latestJoinResponse)===null||r===void 0?void 0:r.room)===null||i===void 0?void 0:i.sid,participant:(o=(s=this.latestJoinResponse)===null||s===void 0?void 0:s.participant)===null||o===void 0?void 0:o.identity,pID:(l=(a=this.latestJoinResponse)===null||a===void 0?void 0:a.participant)===null||l===void 0?void 0:l.sid}}join(e,n,r,i){return S(this,void 0,void 0,function*(){this.url=e,this.token=n,this.signalOpts=r,this.maxJoinAttempts=r.maxRetries;try{this.joinAttempts+=1,this.setupSignalClientCallbacks();const s=yield this.client.join(e,n,r,i);return this._isClosed=!1,this.latestJoinResponse=s,this.subscriberPrimary=s.subscriberPrimary,this.pcManager||(yield this.configure(s)),(!this.subscriberPrimary||s.fastPublish)&&this.negotiate(),this.clientConfiguration=s.clientConfiguration,s}catch(s){if(s instanceof he&&s.reason===te.ServerUnreachable&&(this.log.warn("Couldn't connect to server, attempt ".concat(this.joinAttempts," of ").concat(this.maxJoinAttempts),this.logContext),this.joinAttempts<this.maxJoinAttempts))return this.join(e,n,r,i);throw s}})}close(){return S(this,void 0,void 0,function*(){const e=yield this.closingLock.lock();if(this.isClosed){e();return}try{this._isClosed=!0,this.joinAttempts=0,this.emit(F.Closing),this.removeAllListeners(),this.deregisterOnLineListener(),this.clearPendingReconnect(),yield this.cleanupPeerConnections(),yield this.cleanupClient()}finally{e()}})}cleanupPeerConnections(){return S(this,void 0,void 0,function*(){var e;yield(e=this.pcManager)===null||e===void 0?void 0:e.close(),this.pcManager=void 0;const n=r=>{r&&(r.close(),r.onbufferedamountlow=null,r.onclose=null,r.onclosing=null,r.onerror=null,r.onmessage=null,r.onopen=null)};n(this.lossyDC),n(this.lossyDCSub),n(this.reliableDC),n(this.reliableDCSub),this.lossyDC=void 0,this.lossyDCSub=void 0,this.reliableDC=void 0,this.reliableDCSub=void 0})}cleanupClient(){return S(this,void 0,void 0,function*(){yield this.client.close(),this.client.resetCallbacks()})}addTrack(e){if(this.pendingTrackResolvers[e.cid])throw new wn("a track with the same ID has already been published");return new Promise((n,r)=>{const i=setTimeout(()=>{delete this.pendingTrackResolvers[e.cid],r(new he("publication of local track timed out, no response from server",te.InternalError))},1e4);this.pendingTrackResolvers[e.cid]={resolve:s=>{clearTimeout(i),n(s)},reject:()=>{clearTimeout(i),r(new Error("Cancelled publication by calling unpublish"))}},this.client.sendAddTrack(e)})}removeTrack(e){if(e.track&&this.pendingTrackResolvers[e.track.id]){const{reject:n}=this.pendingTrackResolvers[e.track.id];n&&n(),delete this.pendingTrackResolvers[e.track.id]}try{return this.pcManager.removeTrack(e),!0}catch(n){this.log.warn("failed to remove track",Object.assign(Object.assign({},this.logContext),{error:n}))}return!1}updateMuteStatus(e,n){this.client.sendMuteTrack(e,n)}get dataSubscriberReadyState(){var e;return(e=this.reliableDCSub)===null||e===void 0?void 0:e.readyState}getConnectedServerAddress(){return S(this,void 0,void 0,function*(){var e;return(e=this.pcManager)===null||e===void 0?void 0:e.getConnectedAddress()})}setRegionUrlProvider(e){this.regionUrlProvider=e}configure(e){return S(this,void 0,void 0,function*(){var n,r;if(this.pcManager&&this.pcManager.currentState!==Pe.NEW)return;this.participantSid=(n=e.participant)===null||n===void 0?void 0:n.sid;const i=this.makeRTCConfiguration(e);this.pcManager=new cx(i,e.subscriberPrimary,this.loggerOptions),this.emit(F.TransportsCreated,this.pcManager.publisher,this.pcManager.subscriber),this.pcManager.onIceCandidate=(s,o)=>{this.client.sendIceCandidate(s,o)},this.pcManager.onPublisherOffer=s=>{this.client.sendOffer(s)},this.pcManager.onDataChannel=this.handleDataChannel,this.pcManager.onStateChange=(s,o,a)=>S(this,void 0,void 0,function*(){if(this.log.debug("primary PC state changed ".concat(s),this.logContext),["closed","disconnected","failed"].includes(o)&&(this.publisherConnectionPromise=void 0),s===Pe.CONNECTED){const u=this.pcState===Wt.New;this.pcState=Wt.Connected,u&&this.emit(F.Connected,e)}else s===Pe.FAILED&&this.pcState===Wt.Connected&&(this.pcState=Wt.Disconnected,this.handleDisconnect("peerconnection failed",a==="failed"?xi.RR_SUBSCRIBER_FAILED:xi.RR_PUBLISHER_FAILED));const l=this.client.isDisconnected||this.client.currentState===be.RECONNECTING,c=[Pe.FAILED,Pe.CLOSING,Pe.CLOSED].includes(s);l&&c&&!this._isClosed&&this.emit(F.Offline)}),this.pcManager.onTrack=s=>{this.emit(F.MediaTrackAdded,s.track,s.streams[0],s.receiver)},Tx((r=e.serverInfo)===null||r===void 0?void 0:r.protocol)||this.createDataChannels()})}setupSignalClientCallbacks(){this.client.onAnswer=e=>S(this,void 0,void 0,function*(){this.pcManager&&(this.log.debug("received server answer",Object.assign(Object.assign({},this.logContext),{RTCSdpType:e.type})),yield this.pcManager.setPublisherAnswer(e))}),this.client.onTrickle=(e,n)=>{this.pcManager&&(this.log.debug("got ICE candidate from peer",Object.assign(Object.assign({},this.logContext),{candidate:e,target:n})),this.pcManager.addIceCandidate(e,n))},this.client.onOffer=e=>S(this,void 0,void 0,function*(){if(!this.pcManager)return;const n=yield this.pcManager.createSubscriberAnswerFromOffer(e);this.client.sendAnswer(n)}),this.client.onLocalTrackPublished=e=>{var n;if(this.log.debug("received trackPublishedResponse",Object.assign(Object.assign({},this.logContext),{cid:e.cid,track:(n=e.track)===null||n===void 0?void 0:n.sid})),!this.pendingTrackResolvers[e.cid]){this.log.error("missing track resolver for ".concat(e.cid),Object.assign(Object.assign({},this.logContext),{cid:e.cid}));return}const{resolve:r}=this.pendingTrackResolvers[e.cid];delete this.pendingTrackResolvers[e.cid],r(e.track)},this.client.onLocalTrackUnpublished=e=>{this.emit(F.LocalTrackUnpublished,e)},this.client.onLocalTrackSubscribed=e=>{this.emit(F.LocalTrackSubscribed,e)},this.client.onTokenRefresh=e=>{this.token=e},this.client.onRemoteMuteChanged=(e,n)=>{this.emit(F.RemoteMute,e,n)},this.client.onSubscribedQualityUpdate=e=>{this.emit(F.SubscribedQualityUpdate,e)},this.client.onClose=()=>{this.handleDisconnect("signal",xi.RR_SIGNAL_DISCONNECTED)},this.client.onLeave=e=>{switch(this.log.debug("client leave request",Object.assign(Object.assign({},this.logContext),{reason:e==null?void 0:e.reason})),e.regions&&this.regionUrlProvider&&(this.log.debug("updating regions",this.logContext),this.regionUrlProvider.setServerReportedRegions(e.regions)),e.action){case Pi.DISCONNECT:this.emit(F.Disconnected,e==null?void 0:e.reason),this.close();break;case Pi.RECONNECT:this.fullReconnectOnNext=!0,this.handleDisconnect(uf);break;case Pi.RESUME:this.handleDisconnect(uf)}}}makeRTCConfiguration(e){var n;const r=Object.assign({},this.rtcConfig);if(!((n=this.signalOpts)===null||n===void 0)&&n.e2eeEnabled&&(this.log.debug("E2EE - setting up transports with insertable streams",this.logContext),r.encodedInsertableStreams=!0),e.iceServers&&!r.iceServers){const i=[];e.iceServers.forEach(s=>{const o={urls:s.urls};s.username&&(o.username=s.username),s.credential&&(o.credential=s.credential),i.push(o)}),r.iceServers=i}return e.clientConfiguration&&e.clientConfiguration.forceRelay===Vs.ENABLED&&(r.iceTransportPolicy="relay"),r.sdpSemantics="unified-plan",r.continualGatheringPolicy="gather_continually",r}createDataChannels(){this.pcManager&&(this.lossyDC&&(this.lossyDC.onmessage=null,this.lossyDC.onerror=null),this.reliableDC&&(this.reliableDC.onmessage=null,this.reliableDC.onerror=null),this.lossyDC=this.pcManager.createPublisherDataChannel(Ay,{ordered:!0,maxRetransmits:0}),this.reliableDC=this.pcManager.createPublisherDataChannel(jy,{ordered:!0}),this.lossyDC.onmessage=this.handleDataMessage,this.reliableDC.onmessage=this.handleDataMessage,this.lossyDC.onerror=this.handleDataError,this.reliableDC.onerror=this.handleDataError,this.lossyDC.bufferedAmountLowThreshold=65535,this.reliableDC.bufferedAmountLowThreshold=65535,this.lossyDC.onbufferedamountlow=this.handleBufferedAmountLow,this.reliableDC.onbufferedamountlow=this.handleBufferedAmountLow)}createSender(e,n,r){return S(this,void 0,void 0,function*(){if(jd())return yield this.createTransceiverRTCRtpSender(e,n,r);if(Ud())return this.log.warn("using add-track fallback",this.logContext),yield this.createRTCRtpSender(e.mediaStreamTrack);throw new je("Required webRTC APIs not supported on this device")})}createSimulcastSender(e,n,r,i){return S(this,void 0,void 0,function*(){if(jd())return this.createSimulcastTransceiverSender(e,n,r,i);if(Ud())return this.log.debug("using add-track fallback",this.logContext),this.createRTCRtpSender(e.mediaStreamTrack);throw new je("Cannot stream on this device")})}createTransceiverRTCRtpSender(e,n,r){return S(this,void 0,void 0,function*(){if(!this.pcManager)throw new je("publisher is closed");const i=[];e.mediaStream&&i.push(e.mediaStream),Mi(e)&&(e.codec=n.videoCodec);const s={direction:"sendonly",streams:i};return r&&(s.sendEncodings=r),(yield this.pcManager.addPublisherTransceiver(e.mediaStreamTrack,s)).sender})}createSimulcastTransceiverSender(e,n,r,i){return S(this,void 0,void 0,function*(){if(!this.pcManager)throw new je("publisher is closed");const s={direction:"sendonly"};i&&(s.sendEncodings=i);const o=yield this.pcManager.addPublisherTransceiver(n.mediaStreamTrack,s);if(r.videoCodec)return e.setSimulcastTrackSender(r.videoCodec,o.sender),o.sender})}createRTCRtpSender(e){return S(this,void 0,void 0,function*(){if(!this.pcManager)throw new je("publisher is closed");return this.pcManager.addPublisherTrack(e)})}attemptReconnect(e){return S(this,void 0,void 0,function*(){var n,r,i;if(!this._isClosed){if(this.attemptingReconnect){X.warn("already attempting reconnect, returning early",this.logContext);return}(((n=this.clientConfiguration)===null||n===void 0?void 0:n.resumeConnection)===Vs.DISABLED||((i=(r=this.pcManager)===null||r===void 0?void 0:r.currentState)!==null&&i!==void 0?i:Pe.NEW)===Pe.NEW)&&(this.fullReconnectOnNext=!0);try{this.attemptingReconnect=!0,this.fullReconnectOnNext?yield this.restartConnection():yield this.resumeConnection(e),this.clearPendingReconnect(),this.fullReconnectOnNext=!1}catch(s){this.reconnectAttempts+=1;let o=!0;s instanceof je?(this.log.debug("received unrecoverable error",Object.assign(Object.assign({},this.logContext),{error:s})),o=!1):s instanceof Di||(this.fullReconnectOnNext=!0),o?this.handleDisconnect("reconnect",xi.RR_UNKNOWN):(this.log.info("could not recover connection after ".concat(this.reconnectAttempts," attempts, ").concat(Date.now()-this.reconnectStart,"ms. giving up"),this.logContext),this.emit(F.Disconnected),yield this.close())}finally{this.attemptingReconnect=!1}}})}getNextRetryDelay(e){try{return this.reconnectPolicy.nextRetryDelayInMs(e)}catch(n){this.log.warn("encountered error in reconnect policy",Object.assign(Object.assign({},this.logContext),{error:n}))}return null}restartConnection(e){return S(this,void 0,void 0,function*(){var n,r,i;try{if(!this.url||!this.token)throw new je("could not reconnect, url or token not saved");this.log.info("reconnecting, attempt: ".concat(this.reconnectAttempts),this.logContext),this.emit(F.Restarting),this.client.isDisconnected||(yield this.client.sendLeave()),yield this.cleanupPeerConnections(),yield this.cleanupClient();let s;try{if(!this.signalOpts)throw this.log.warn("attempted connection restart, without signal options present",this.logContext),new Di;s=yield this.join(e??this.url,this.token,this.signalOpts)}catch(o){throw o instanceof he&&o.reason===te.NotAllowed?new je("could not reconnect, token might be expired"):new Di}if(this.shouldFailNext)throw this.shouldFailNext=!1,new Error("simulated failure");if(this.client.setReconnected(),this.emit(F.SignalRestarted,s),yield this.waitForPCReconnected(),this.client.currentState!==be.CONNECTED)throw new Di("Signal connection got severed during reconnect");(n=this.regionUrlProvider)===null||n===void 0||n.resetAttempts(),this.emit(F.Restarted)}catch(s){const o=yield(r=this.regionUrlProvider)===null||r===void 0?void 0:r.getNextBestRegionUrl();if(o){yield this.restartConnection(o);return}else throw(i=this.regionUrlProvider)===null||i===void 0||i.resetAttempts(),s}})}resumeConnection(e){return S(this,void 0,void 0,function*(){var n;if(!this.url||!this.token)throw new je("could not reconnect, url or token not saved");if(!this.pcManager)throw new je("publisher and subscriber connections unset");this.log.info("resuming signal connection, attempt ".concat(this.reconnectAttempts),this.logContext),this.emit(F.Resuming);let r;try{this.setupSignalClientCallbacks(),r=yield this.client.reconnect(this.url,this.token,this.participantSid,e)}catch(i){let s="";throw i instanceof Error&&(s=i.message,this.log.error(i.message,Object.assign(Object.assign({},this.logContext),{error:i}))),i instanceof he&&i.reason===te.NotAllowed?new je("could not reconnect, token might be expired"):i instanceof he&&i.reason===te.LeaveRequest?i:new Di(s)}if(this.emit(F.SignalResumed),r){const i=this.makeRTCConfiguration(r);this.pcManager.updateConfiguration(i)}else this.log.warn("Did not receive reconnect response",this.logContext);if(this.shouldFailNext)throw this.shouldFailNext=!1,new Error("simulated failure");if(yield this.pcManager.triggerIceRestart(),yield this.waitForPCReconnected(),this.client.currentState!==be.CONNECTED)throw new Di("Signal connection got severed during reconnect");this.client.setReconnected(),((n=this.reliableDC)===null||n===void 0?void 0:n.readyState)==="open"&&this.reliableDC.id===null&&this.createDataChannels(),this.emit(F.Resumed)})}waitForPCInitialConnection(e,n){return S(this,void 0,void 0,function*(){if(!this.pcManager)throw new je("PC manager is closed");yield this.pcManager.ensurePCTransportConnection(n,e)})}waitForPCReconnected(){return S(this,void 0,void 0,function*(){this.pcState=Wt.Reconnecting,this.log.debug("waiting for peer connection to reconnect",this.logContext);try{if(yield ht(Sx),!this.pcManager)throw new je("PC manager is closed");yield this.pcManager.ensurePCTransportConnection(void 0,this.peerConnectionTimeout),this.pcState=Wt.Connected}catch(e){throw this.pcState=Wt.Disconnected,new he("could not establish PC connection, ".concat(e.message),te.InternalError)}})}publishRpcResponse(e,n,r,i){return S(this,void 0,void 0,function*(){const s=new ft({destinationIdentities:[e],kind:re.RELIABLE,value:{case:"rpcResponse",value:new zv({requestId:n,value:i?{case:"error",value:i.toProto()}:{case:"payload",value:r??""}})}});yield this.sendDataPacket(s,re.RELIABLE)})}publishRpcAck(e,n){return S(this,void 0,void 0,function*(){const r=new ft({destinationIdentities:[e],kind:re.RELIABLE,value:{case:"rpcAck",value:new Vv({requestId:n})}});yield this.sendDataPacket(r,re.RELIABLE)})}sendDataPacket(e,n){return S(this,void 0,void 0,function*(){const r=e.toBinary();yield this.ensurePublisherConnected(n);const i=this.dataChannelForKind(n);i&&i.send(r),this.updateAndEmitDCBufferStatus(n)})}waitForBufferStatusLow(e){return new Promise((n,r)=>S(this,void 0,void 0,function*(){if(this.isBufferStatusLow(e))n();else{const i=()=>r("Engine closed");for(this.once(F.Closing,i);!this.dcBufferStatus.get(e);)yield ht(10);this.off(F.Closing,i),n()}}))}ensureDataTransportConnected(e){return S(this,arguments,void 0,function(n){var r=this;let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.subscriberPrimary;return function*(){var s;if(!r.pcManager)throw new je("PC manager is closed");const o=i?r.pcManager.subscriber:r.pcManager.publisher,a=i?"Subscriber":"Publisher";if(!o)throw new he("".concat(a," connection not set"),te.InternalError);let l=!1;!i&&!r.dataChannelForKind(n,i)&&(r.createDataChannels(),l=!0),!l&&!i&&!r.pcManager.publisher.isICEConnected&&r.pcManager.publisher.getICEConnectionState()!=="checking"&&(l=!0),l&&r.negotiate();const c=r.dataChannelForKind(n,i);if((c==null?void 0:c.readyState)==="open")return;const u=new Date().getTime()+r.peerConnectionTimeout;for(;new Date().getTime()<u;){if(o.isICEConnected&&((s=r.dataChannelForKind(n,i))===null||s===void 0?void 0:s.readyState)==="open")return;yield ht(50)}throw new he("could not establish ".concat(a," connection, state: ").concat(o.getICEConnectionState()),te.InternalError)}()})}ensurePublisherConnected(e){return S(this,void 0,void 0,function*(){this.publisherConnectionPromise||(this.publisherConnectionPromise=this.ensureDataTransportConnected(e,!1)),yield this.publisherConnectionPromise})}verifyTransport(){return!(!this.pcManager||this.pcManager.currentState!==Pe.CONNECTED||!this.client.ws||this.client.ws.readyState===WebSocket.CLOSED)}negotiate(){return S(this,void 0,void 0,function*(){return new Promise((e,n)=>S(this,void 0,void 0,function*(){if(!this.pcManager){n(new Od("PC manager is closed"));return}this.pcManager.requirePublisher(),this.pcManager.publisher.getTransceivers().length==0&&!this.lossyDC&&!this.reliableDC&&this.createDataChannels();const r=new AbortController,i=()=>{r.abort(),this.log.debug("engine disconnected while negotiation was ongoing",this.logContext),e()};this.isClosed&&n("cannot negotiate on closed engine"),this.on(F.Closing,i),this.pcManager.publisher.once(Ni.RTPVideoPayloadTypes,s=>{const o=new Map;s.forEach(a=>{const l=a.codec.toLowerCase();A2(l)&&o.set(a.payload,l)}),this.emit(F.RTPVideoMapUpdate,o)});try{yield this.pcManager.negotiate(r),e()}catch(s){s instanceof Od&&(this.fullReconnectOnNext=!0),this.handleDisconnect("negotiation",xi.RR_UNKNOWN),n(s)}finally{this.off(F.Closing,i)}}))})}dataChannelForKind(e,n){if(n){if(e===re.LOSSY)return this.lossyDCSub;if(e===re.RELIABLE)return this.reliableDCSub}else{if(e===re.LOSSY)return this.lossyDC;if(e===re.RELIABLE)return this.reliableDC}}sendSyncState(e,n){var r,i;if(!this.pcManager){this.log.warn("sync state cannot be sent without peer connection setup",this.logContext);return}const s=this.pcManager.subscriber.getLocalDescription(),o=this.pcManager.subscriber.getRemoteDescription(),a=(i=(r=this.signalOpts)===null||r===void 0?void 0:r.autoSubscribe)!==null&&i!==void 0?i:!0,l=new Array,c=new Array;e.forEach(u=>{u.isDesired!==a&&l.push(u.trackSid),u.isEnabled||c.push(u.trackSid)}),this.client.sendSyncState(new o0({answer:s?cl({sdp:s.sdp,type:s.type}):void 0,offer:o?cl({sdp:o.sdp,type:o.type}):void 0,subscription:new Wa({trackSids:l,subscribe:!a,participantTracks:[]}),publishTracks:H2(n),dataChannels:this.dataChannelsInfo(),trackSidsDisabled:c}))}failNext(){this.shouldFailNext=!0}dataChannelsInfo(){const e=[],n=(r,i)=>{(r==null?void 0:r.id)!==void 0&&r.id!==null&&e.push(new a0({label:r.label,id:r.id,target:i}))};return n(this.dataChannelForKind(re.LOSSY),zt.PUBLISHER),n(this.dataChannelForKind(re.RELIABLE),zt.PUBLISHER),n(this.dataChannelForKind(re.LOSSY,!0),zt.SUBSCRIBER),n(this.dataChannelForKind(re.RELIABLE,!0),zt.SUBSCRIBER),e}clearReconnectTimeout(){this.reconnectTimeout&&Ge.clearTimeout(this.reconnectTimeout)}clearPendingReconnect(){this.clearReconnectTimeout(),this.reconnectAttempts=0}registerOnLineListener(){pt()&&window.addEventListener("online",this.handleBrowserOnLine)}deregisterOnLineListener(){pt()&&window.removeEventListener("online",this.handleBrowserOnLine)}}class Di extends Error{}function Tx(t){return t!==void 0&&t>13}function xx(t,e){const n=t.participantIdentity?t.participantIdentity:e.participantIdentity;t.participantIdentity=n,e.participantIdentity=n;const r=t.destinationIdentities.length!==0?t.destinationIdentities:e.destinationIdentities;t.destinationIdentities=r,e.destinationIdentities=r}class df{constructor(e,n){this.lastUpdateAt=0,this.settingsCacheTime=3e3,this.attemptedRegions=[],this.serverUrl=new URL(e),this.token=n}updateToken(e){this.token=e}isCloud(){return Bd(this.serverUrl)}getServerUrl(){return this.serverUrl}getNextBestRegionUrl(e){return S(this,void 0,void 0,function*(){if(!this.isCloud())throw Error("region availability is only supported for LiveKit Cloud domains");(!this.regionSettings||Date.now()-this.lastUpdateAt>this.settingsCacheTime)&&(this.regionSettings=yield this.fetchRegionSettings(e));const n=this.regionSettings.regions.filter(r=>!this.attemptedRegions.find(i=>i.url===r.url));if(n.length>0){const r=n[0];return this.attemptedRegions.push(r),X.debug("next region: ".concat(r.region)),r.url}else return null})}resetAttempts(){this.attemptedRegions=[]}fetchRegionSettings(e){return S(this,void 0,void 0,function*(){const n=yield fetch("".concat(Ex(this.serverUrl),"/regions"),{headers:{authorization:"Bearer ".concat(this.token)},signal:e});if(n.ok){const r=yield n.json();return this.lastUpdateAt=Date.now(),r}else throw new he("Could not fetch region settings: ".concat(n.statusText),n.status===401?te.NotAllowed:te.InternalError,n.status)})}setServerReportedRegions(e){this.regionSettings=e,this.lastUpdateAt=Date.now()}}function Ex(t){return"".concat(t.protocol.replace("ws","http"),"//").concat(t.host,"/settings")}class Uy{get info(){return this._info}constructor(e,n,r){this.reader=n,this.totalByteSize=r,this._info=e,this.bytesReceived=0}}class Px extends Uy{handleChunkReceived(e){var n;this.bytesReceived+=e.content.byteLength;const r=this.totalByteSize?this.bytesReceived/this.totalByteSize:void 0;(n=this.onProgress)===null||n===void 0||n.call(this,r)}[Symbol.asyncIterator](){const e=this.reader.getReader();return{next:()=>S(this,void 0,void 0,function*(){try{const{done:n,value:r}=yield e.read();return n?{done:!0,value:void 0}:(this.handleChunkReceived(r),{done:!1,value:r.content})}catch{return{done:!0,value:void 0}}}),return(){return S(this,void 0,void 0,function*(){return e.releaseLock(),{done:!0,value:void 0}})}}}readAll(){return S(this,void 0,void 0,function*(){var e,n,r,i;let s=new Set;try{for(var o=!0,a=er(this),l;l=yield a.next(),e=l.done,!e;o=!0){i=l.value,o=!1;const c=i;s.add(c)}}catch(c){n={error:c}}finally{try{!o&&!e&&(r=a.return)&&(yield r.call(a))}finally{if(n)throw n.error}}return Array.from(s)})}}class _x extends Uy{constructor(e,n,r){super(e,n,r),this.receivedChunks=new Map}handleChunkReceived(e){var n;const r=ol(e.chunkIndex),i=this.receivedChunks.get(r);if(i&&i.version>e.version)return;this.receivedChunks.set(r,e),this.bytesReceived+=e.content.byteLength;const s=this.totalByteSize?this.bytesReceived/this.totalByteSize:void 0;(n=this.onProgress)===null||n===void 0||n.call(this,s)}[Symbol.asyncIterator](){const e=this.reader.getReader(),n=new TextDecoder;return{next:()=>S(this,void 0,void 0,function*(){try{const{done:r,value:i}=yield e.read();return r?{done:!0,value:void 0}:(this.handleChunkReceived(i),{done:!1,value:n.decode(i.content)})}catch{return{done:!0,value:void 0}}}),return(){return S(this,void 0,void 0,function*(){return e.releaseLock(),{done:!0,value:void 0}})}}}readAll(){return S(this,void 0,void 0,function*(){var e,n,r,i;let s="";try{for(var o=!0,a=er(this),l;l=yield a.next(),e=l.done,!e;o=!0)i=l.value,o=!1,s+=i}catch(c){n={error:c}}finally{try{!o&&!e&&(r=a.return)&&(yield r.call(a))}finally{if(n)throw n.error}}return s})}}class Rx{constructor(e,n,r){this.writableStream=e,this.defaultWriter=e.getWriter(),this.onClose=r,this.info=n}write(e){return this.defaultWriter.write(e)}close(){return S(this,void 0,void 0,function*(){var e;yield this.defaultWriter.close(),this.defaultWriter.releaseLock(),(e=this.onClose)===null||e===void 0||e.call(this)})}}class Ix extends Rx{}class Fy extends L{constructor(e,n,r,i,s){super(e,r,s),this.sid=n,this.receiver=i}get isLocal(){return!1}setMuted(e){this.isMuted!==e&&(this.isMuted=e,this._mediaStreamTrack.enabled=!e,this.emit(e?j.Muted:j.Unmuted,this))}setMediaStream(e){this.mediaStream=e;const n=r=>{r.track===this._mediaStreamTrack&&(e.removeEventListener("removetrack",n),this.receiver&&"playoutDelayHint"in this.receiver&&(this.receiver.playoutDelayHint=void 0),this.receiver=void 0,this._currentBitrate=0,this.emit(j.Ended,this))};e.addEventListener("removetrack",n)}start(){this.startMonitor(),super.enable()}stop(){this.stopMonitor(),super.disable()}getRTCStatsReport(){return S(this,void 0,void 0,function*(){var e;return!((e=this.receiver)===null||e===void 0)&&e.getStats?yield this.receiver.getStats():void 0})}setPlayoutDelay(e){this.receiver?"playoutDelayHint"in this.receiver?this.receiver.playoutDelayHint=e:this.log.warn("Playout delay not supported in this browser"):this.log.warn("Cannot set playout delay, track already ended")}getPlayoutDelay(){if(this.receiver){if("playoutDelayHint"in this.receiver)return this.receiver.playoutDelayHint;this.log.warn("Playout delay not supported in this browser")}else this.log.warn("Cannot get playout delay, track already ended");return 0}startMonitor(){this.monitorInterval||(this.monitorInterval=setInterval(()=>this.monitorReceiver(),of)),$2()&&this.registerTimeSyncUpdate()}registerTimeSyncUpdate(){const e=()=>{var n;this.timeSyncHandle=requestAnimationFrame(()=>e());const r=(n=this.receiver)===null||n===void 0?void 0:n.getSynchronizationSources()[0];if(r){const{timestamp:i,rtpTimestamp:s}=r;s&&this.rtpTimestamp!==s&&(this.emit(j.TimeSyncUpdate,{timestamp:i,rtpTimestamp:s}),this.rtpTimestamp=s)}};e()}}class Ox extends Fy{constructor(e,n,r,i,s,o){super(e,n,L.Kind.Audio,r,o),this.monitorReceiver=()=>S(this,void 0,void 0,function*(){if(!this.receiver){this._currentBitrate=0;return}const a=yield this.getReceiverStats();a&&this.prevStats&&this.receiver&&(this._currentBitrate=ul(a,this.prevStats)),this.prevStats=a}),this.audioContext=i,this.webAudioPluginNodes=[],s&&(this.sinkId=s.deviceId)}setVolume(e){var n;for(const r of this.attachedElements)this.audioContext?(n=this.gainNode)===null||n===void 0||n.gain.setTargetAtTime(e,0,.1):r.volume=e;an()&&this._mediaStreamTrack._setVolume(e),this.elementVolume=e}getVolume(){if(this.elementVolume)return this.elementVolume;if(an())return 1;let e=0;return this.attachedElements.forEach(n=>{n.volume>e&&(e=n.volume)}),e}setSinkId(e){return S(this,void 0,void 0,function*(){this.sinkId=e,yield Promise.all(this.attachedElements.map(n=>{if(Fd(n))return n.setSinkId(e)}))})}attach(e){const n=this.attachedElements.length===0;return e?super.attach(e):e=super.attach(),this.sinkId&&Fd(e)&&e.setSinkId(this.sinkId),this.audioContext&&n&&(this.log.debug("using audio context mapping",this.logContext),this.connectWebAudio(this.audioContext,e),e.volume=0,e.muted=!0),this.elementVolume&&this.setVolume(this.elementVolume),e}detach(e){let n;return e?(n=super.detach(e),this.audioContext&&(this.attachedElements.length>0?this.connectWebAudio(this.audioContext,this.attachedElements[0]):this.disconnectWebAudio())):(n=super.detach(),this.disconnectWebAudio()),n}setAudioContext(e){this.audioContext=e,e&&this.attachedElements.length>0?this.connectWebAudio(e,this.attachedElements[0]):e||this.disconnectWebAudio()}setWebAudioPlugins(e){this.webAudioPluginNodes=e,this.attachedElements.length>0&&this.audioContext&&this.connectWebAudio(this.audioContext,this.attachedElements[0])}connectWebAudio(e,n){this.disconnectWebAudio(),this.sourceNode=e.createMediaStreamSource(n.srcObject);let r=this.sourceNode;this.webAudioPluginNodes.forEach(i=>{r.connect(i),r=i}),this.gainNode=e.createGain(),r.connect(this.gainNode),this.gainNode.connect(e.destination),this.elementVolume&&this.gainNode.gain.setTargetAtTime(this.elementVolume,0,.1),e.state!=="running"&&e.resume().then(()=>{e.state!=="running"&&this.emit(j.AudioPlaybackFailed,new Error("Audio Context couldn't be started automatically"))}).catch(i=>{this.emit(j.AudioPlaybackFailed,i)})}disconnectWebAudio(){var e,n;(e=this.gainNode)===null||e===void 0||e.disconnect(),(n=this.sourceNode)===null||n===void 0||n.disconnect(),this.gainNode=void 0,this.sourceNode=void 0}getReceiverStats(){return S(this,void 0,void 0,function*(){if(!this.receiver||!this.receiver.getStats)return;const e=yield this.receiver.getStats();let n;return e.forEach(r=>{r.type==="inbound-rtp"&&(n={type:"audio",streamId:r.id,timestamp:r.timestamp,jitter:r.jitter,bytesReceived:r.bytesReceived,concealedSamples:r.concealedSamples,concealmentEvents:r.concealmentEvents,silentConcealedSamples:r.silentConcealedSamples,silentConcealmentEvents:r.silentConcealmentEvents,totalAudioEnergy:r.totalAudioEnergy,totalSamplesDuration:r.totalSamplesDuration})}),n})}}const ff=100;class Lx extends Fy{constructor(e,n,r,i,s){super(e,n,L.Kind.Video,r,s),this.elementInfos=[],this.monitorReceiver=()=>S(this,void 0,void 0,function*(){if(!this.receiver){this._currentBitrate=0;return}const o=yield this.getReceiverStats();o&&this.prevStats&&this.receiver&&(this._currentBitrate=ul(o,this.prevStats)),this.prevStats=o}),this.debouncedHandleResize=tf(()=>{this.updateDimensions()},ff),this.adaptiveStreamSettings=i}get isAdaptiveStream(){return this.adaptiveStreamSettings!==void 0}get mediaStreamTrack(){return this._mediaStreamTrack}setMuted(e){super.setMuted(e),this.attachedElements.forEach(n=>{e?Ii(this._mediaStreamTrack,n):Ri(this._mediaStreamTrack,n)})}attach(e){if(e?super.attach(e):e=super.attach(),this.adaptiveStreamSettings&&this.elementInfos.find(n=>n.element===e)===void 0){const n=new Mx(e);this.observeElementInfo(n)}return e}observeElementInfo(e){this.adaptiveStreamSettings&&this.elementInfos.find(n=>n===e)===void 0?(e.handleResize=()=>{this.debouncedHandleResize()},e.handleVisibilityChanged=()=>{this.updateVisibility()},this.elementInfos.push(e),e.observe(),this.debouncedHandleResize(),this.updateVisibility()):this.log.warn("visibility resize observer not triggered",this.logContext)}stopObservingElementInfo(e){if(!this.isAdaptiveStream){this.log.warn("stopObservingElementInfo ignored",this.logContext);return}const n=this.elementInfos.filter(r=>r===e);for(const r of n)r.stopObserving();this.elementInfos=this.elementInfos.filter(r=>r!==e),this.updateVisibility(),this.debouncedHandleResize()}detach(e){let n=[];if(e)return this.stopObservingElement(e),super.detach(e);n=super.detach();for(const r of n)this.stopObservingElement(r);return n}getDecoderImplementation(){var e;return(e=this.prevStats)===null||e===void 0?void 0:e.decoderImplementation}getReceiverStats(){return S(this,void 0,void 0,function*(){if(!this.receiver||!this.receiver.getStats)return;const e=yield this.receiver.getStats();let n,r="",i=new Map;return e.forEach(s=>{s.type==="inbound-rtp"?(r=s.codecId,n={type:"video",streamId:s.id,framesDecoded:s.framesDecoded,framesDropped:s.framesDropped,framesReceived:s.framesReceived,packetsReceived:s.packetsReceived,packetsLost:s.packetsLost,frameWidth:s.frameWidth,frameHeight:s.frameHeight,pliCount:s.pliCount,firCount:s.firCount,nackCount:s.nackCount,jitter:s.jitter,timestamp:s.timestamp,bytesReceived:s.bytesReceived,decoderImplementation:s.decoderImplementation}):s.type==="codec"&&i.set(s.id,s)}),n&&r!==""&&i.get(r)&&(n.mimeType=i.get(r).mimeType),n})}stopObservingElement(e){const n=this.elementInfos.filter(r=>r.element===e);for(const r of n)this.stopObservingElementInfo(r)}handleAppVisibilityChanged(){const e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return S(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),this.isAdaptiveStream&&this.updateVisibility()})}updateVisibility(){var e,n;const r=this.elementInfos.reduce((a,l)=>Math.max(a,l.visibilityChangedAt||0),0),i=!((n=(e=this.adaptiveStreamSettings)===null||e===void 0?void 0:e.pauseVideoInBackground)!==null&&n!==void 0)||n?this.isInBackground:!1,s=this.elementInfos.some(a=>a.pictureInPicture),o=this.elementInfos.some(a=>a.visible)&&!i||s;if(this.lastVisible!==o){if(!o&&Date.now()-r<ff){Ge.setTimeout(()=>{this.updateVisibility()},ff);return}this.lastVisible=o,this.emit(j.VisibilityChanged,o,this)}}updateDimensions(){var e,n;let r=0,i=0;const s=this.getPixelDensity();for(const o of this.elementInfos){const a=o.width()*s,l=o.height()*s;a+l>r+i&&(r=a,i=l)}((e=this.lastDimensions)===null||e===void 0?void 0:e.width)===r&&((n=this.lastDimensions)===null||n===void 0?void 0:n.height)===i||(this.lastDimensions={width:r,height:i},this.emit(j.VideoDimensionsChanged,this.lastDimensions,this))}getPixelDensity(){var e;const n=(e=this.adaptiveStreamSettings)===null||e===void 0?void 0:e.pixelDensity;return n==="screen"?oy():n||(oy()>2?2:1)}}class Mx{get visible(){return this.isPiP||this.isIntersecting}get pictureInPicture(){return this.isPiP}constructor(e,n){this.onVisibilityChanged=r=>{var i;const{target:s,isIntersecting:o}=r;s===this.element&&(this.isIntersecting=o,this.isPiP=Zs(this.element),this.visibilityChangedAt=Date.now(),(i=this.handleVisibilityChanged)===null||i===void 0||i.call(this))},this.onEnterPiP=()=>{var r,i,s;(i=(r=window.documentPictureInPicture)===null||r===void 0?void 0:r.window)===null||i===void 0||i.addEventListener("pagehide",this.onLeavePiP),this.isPiP=Zs(this.element),(s=this.handleVisibilityChanged)===null||s===void 0||s.call(this)},this.onLeavePiP=()=>{var r;this.isPiP=Zs(this.element),(r=this.handleVisibilityChanged)===null||r===void 0||r.call(this)},this.element=e,this.isIntersecting=n??hf(e),this.isPiP=pt()&&Zs(e),this.visibilityChangedAt=0}width(){return this.element.clientWidth}height(){return this.element.clientHeight}observe(){var e,n,r;this.isIntersecting=hf(this.element),this.isPiP=Zs(this.element),this.element.handleResize=()=>{var i;(i=this.handleResize)===null||i===void 0||i.call(this)},this.element.handleVisibilityChanged=this.onVisibilityChanged,ly().observe(this.element),ay().observe(this.element),this.element.addEventListener("enterpictureinpicture",this.onEnterPiP),this.element.addEventListener("leavepictureinpicture",this.onLeavePiP),(e=window.documentPictureInPicture)===null||e===void 0||e.addEventListener("enter",this.onEnterPiP),(r=(n=window.documentPictureInPicture)===null||n===void 0?void 0:n.window)===null||r===void 0||r.addEventListener("pagehide",this.onLeavePiP)}stopObserving(){var e,n,r,i,s;(e=ly())===null||e===void 0||e.unobserve(this.element),(n=ay())===null||n===void 0||n.unobserve(this.element),this.element.removeEventListener("enterpictureinpicture",this.onEnterPiP),this.element.removeEventListener("leavepictureinpicture",this.onLeavePiP),(r=window.documentPictureInPicture)===null||r===void 0||r.removeEventListener("enter",this.onEnterPiP),(s=(i=window.documentPictureInPicture)===null||i===void 0?void 0:i.window)===null||s===void 0||s.removeEventListener("pagehide",this.onLeavePiP)}}function Zs(t){var e,n;return document.pictureInPictureElement===t?!0:!((e=window.documentPictureInPicture)===null||e===void 0)&&e.window?hf(t,(n=window.documentPictureInPicture)===null||n===void 0?void 0:n.window):!1}function hf(t,e){const n=e||window;let r=t.offsetTop,i=t.offsetLeft;const s=t.offsetWidth,o=t.offsetHeight,{hidden:a}=t,{display:l}=getComputedStyle(t);for(;t.offsetParent;)t=t.offsetParent,r+=t.offsetTop,i+=t.offsetLeft;return r<n.pageYOffset+n.innerHeight&&i<n.pageXOffset+n.innerWidth&&r+o>n.pageYOffset&&i+s>n.pageXOffset&&!a&&l!=="none"}class xn extends on.EventEmitter{constructor(e,n,r,i){var s;super(),this.metadataMuted=!1,this.encryption=St.NONE,this.log=X,this.handleMuted=()=>{this.emit(j.Muted)},this.handleUnmuted=()=>{this.emit(j.Unmuted)},this.log=Sn((s=i==null?void 0:i.loggerName)!==null&&s!==void 0?s:Ht.Publication),this.loggerContextCb=this.loggerContextCb,this.setMaxListeners(100),this.kind=e,this.trackSid=n,this.trackName=r,this.source=L.Source.Unknown}setTrack(e){this.track&&(this.track.off(j.Muted,this.handleMuted),this.track.off(j.Unmuted,this.handleUnmuted)),this.track=e,e&&(e.on(j.Muted,this.handleMuted),e.on(j.Unmuted,this.handleUnmuted))}get logContext(){var e;return Object.assign(Object.assign({},(e=this.loggerContextCb)===null||e===void 0?void 0:e.call(this)),le(this))}get isMuted(){return this.metadataMuted}get isEnabled(){return!0}get isSubscribed(){return this.track!==void 0}get isEncrypted(){return this.encryption!==St.NONE}get audioTrack(){if(Tn(this.track))return this.track}get videoTrack(){if(Mi(this.track))return this.track}updateInfo(e){this.trackSid=e.sid,this.trackName=e.name,this.source=L.sourceFromProto(e.source),this.mimeType=e.mimeType,this.kind===L.Kind.Video&&e.width>0&&(this.dimensions={width:e.width,height:e.height},this.simulcasted=e.simulcast),this.encryption=e.encryption,this.trackInfo=e,this.log.debug("update publication info",Object.assign(Object.assign({},this.logContext),{info:e}))}}(function(t){(function(e){e.Desired="desired",e.Subscribed="subscribed",e.Unsubscribed="unsubscribed"})(t.SubscriptionStatus||(t.SubscriptionStatus={})),function(e){e.Allowed="allowed",e.NotAllowed="not_allowed"}(t.PermissionStatus||(t.PermissionStatus={}))})(xn||(xn={}));class pf extends xn{get isUpstreamPaused(){var e;return(e=this.track)===null||e===void 0?void 0:e.isUpstreamPaused}constructor(e,n,r,i){super(e,n.sid,n.name,i),this.track=void 0,this.handleTrackEnded=()=>{this.emit(j.Ended)},this.updateInfo(n),this.setTrack(r)}setTrack(e){this.track&&this.track.off(j.Ended,this.handleTrackEnded),super.setTrack(e),e&&e.on(j.Ended,this.handleTrackEnded)}get isMuted(){return this.track?this.track.isMuted:super.isMuted}get audioTrack(){return super.audioTrack}get videoTrack(){return super.videoTrack}get isLocal(){return!0}mute(){return S(this,void 0,void 0,function*(){var e;return(e=this.track)===null||e===void 0?void 0:e.mute()})}unmute(){return S(this,void 0,void 0,function*(){var e;return(e=this.track)===null||e===void 0?void 0:e.unmute()})}pauseUpstream(){return S(this,void 0,void 0,function*(){var e;yield(e=this.track)===null||e===void 0?void 0:e.pauseUpstream()})}resumeUpstream(){return S(this,void 0,void 0,function*(){var e;yield(e=this.track)===null||e===void 0?void 0:e.resumeUpstream()})}getTrackFeatures(){var e;if(Tn(this.track)){const n=this.track.getSourceTrackSettings(),r=new Set;return n.autoGainControl&&r.add(rn.TF_AUTO_GAIN_CONTROL),n.echoCancellation&&r.add(rn.TF_ECHO_CANCELLATION),n.noiseSuppression&&r.add(rn.TF_NOISE_SUPPRESSION),n.channelCount&&n.channelCount>1&&r.add(rn.TF_STEREO),!((e=this.options)===null||e===void 0)&&e.dtx||r.add(rn.TF_NO_DTX),this.track.enhancedNoiseCancellation&&r.add(rn.TF_ENHANCED_NOISE_CANCELLATION),Array.from(r.values())}else return[]}}var lr;(function(t){t.Excellent="excellent",t.Good="good",t.Poor="poor",t.Lost="lost",t.Unknown="unknown"})(lr||(lr={}));function Nx(t){switch(t){case Bs.EXCELLENT:return lr.Excellent;case Bs.GOOD:return lr.Good;case Bs.POOR:return lr.Poor;case Bs.LOST:return lr.Lost;default:return lr.Unknown}}class By extends on.EventEmitter{get logContext(){var e,n;return Object.assign({},(n=(e=this.loggerOptions)===null||e===void 0?void 0:e.loggerContextCb)===null||n===void 0?void 0:n.call(e))}get isEncrypted(){return this.trackPublications.size>0&&Array.from(this.trackPublications.values()).every(e=>e.isEncrypted)}get isAgent(){var e;return((e=this.permissions)===null||e===void 0?void 0:e.agent)||this.kind===qa.AGENT}get kind(){return this._kind}get attributes(){return Object.freeze(Object.assign({},this._attributes))}constructor(e,n,r,i,s,o){let a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:qa.STANDARD;var l;super(),this.audioLevel=0,this.isSpeaking=!1,this._connectionQuality=lr.Unknown,this.log=X,this.log=Sn((l=o==null?void 0:o.loggerName)!==null&&l!==void 0?l:Ht.Participant),this.loggerOptions=o,this.setMaxListeners(100),this.sid=e,this.identity=n,this.name=r,this.metadata=i,this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.trackPublications=new Map,this._kind=a,this._attributes=s??{}}getTrackPublications(){return Array.from(this.trackPublications.values())}getTrackPublication(e){for(const[,n]of this.trackPublications)if(n.source===e)return n}getTrackPublicationByName(e){for(const[,n]of this.trackPublications)if(n.trackName===e)return n}get connectionQuality(){return this._connectionQuality}get isCameraEnabled(){var e;const n=this.getTrackPublication(L.Source.Camera);return!(!((e=n==null?void 0:n.isMuted)!==null&&e!==void 0)||e)}get isMicrophoneEnabled(){var e;const n=this.getTrackPublication(L.Source.Microphone);return!(!((e=n==null?void 0:n.isMuted)!==null&&e!==void 0)||e)}get isScreenShareEnabled(){return!!this.getTrackPublication(L.Source.ScreenShare)}get isLocal(){return!1}get joinedAt(){return this.participantInfo?new Date(Number.parseInt(this.participantInfo.joinedAt.toString())*1e3):new Date}updateInfo(e){return this.participantInfo&&this.participantInfo.sid===e.sid&&this.participantInfo.version>e.version?!1:(this.identity=e.identity,this.sid=e.sid,this._setName(e.name),this._setMetadata(e.metadata),this._setAttributes(e.attributes),e.permission&&this.setPermissions(e.permission),this.participantInfo=e,this.log.trace("update participant info",Object.assign(Object.assign({},this.logContext),{info:e})),!0)}_setMetadata(e){const n=this.metadata!==e,r=this.metadata;this.metadata=e,n&&this.emit(B.ParticipantMetadataChanged,r)}_setName(e){const n=this.name!==e;this.name=e,n&&this.emit(B.ParticipantNameChanged,e)}_setAttributes(e){const n=q2(this.attributes,e);this._attributes=e,Object.keys(n).length>0&&this.emit(B.AttributesChanged,n)}setPermissions(e){var n,r,i,s,o,a;const l=this.permissions,c=e.canPublish!==((n=this.permissions)===null||n===void 0?void 0:n.canPublish)||e.canSubscribe!==((r=this.permissions)===null||r===void 0?void 0:r.canSubscribe)||e.canPublishData!==((i=this.permissions)===null||i===void 0?void 0:i.canPublishData)||e.hidden!==((s=this.permissions)===null||s===void 0?void 0:s.hidden)||e.recorder!==((o=this.permissions)===null||o===void 0?void 0:o.recorder)||e.canPublishSources.length!==this.permissions.canPublishSources.length||e.canPublishSources.some((u,d)=>{var f;return u!==((f=this.permissions)===null||f===void 0?void 0:f.canPublishSources[d])})||e.canSubscribeMetrics!==((a=this.permissions)===null||a===void 0?void 0:a.canSubscribeMetrics);return this.permissions=e,c&&this.emit(B.ParticipantPermissionsChanged,l),c}setIsSpeaking(e){e!==this.isSpeaking&&(this.isSpeaking=e,e&&(this.lastSpokeAt=new Date),this.emit(B.IsSpeakingChanged,e))}setConnectionQuality(e){const n=this._connectionQuality;this._connectionQuality=Nx(e),n!==this._connectionQuality&&this.emit(B.ConnectionQualityChanged,this._connectionQuality)}setAudioContext(e){this.audioContext=e,this.audioTrackPublications.forEach(n=>Tn(n.track)&&n.track.setAudioContext(e))}addTrackPublication(e){e.on(j.Muted,()=>{this.emit(B.TrackMuted,e)}),e.on(j.Unmuted,()=>{this.emit(B.TrackUnmuted,e)});const n=e;switch(n.track&&(n.track.sid=e.trackSid),this.trackPublications.set(e.trackSid,e),e.kind){case L.Kind.Audio:this.audioTrackPublications.set(e.trackSid,e);break;case L.Kind.Video:this.videoTrackPublications.set(e.trackSid,e);break}}}function Dx(t){var e,n,r;if(!t.participantSid&&!t.participantIdentity)throw new Error("Invalid track permission, must provide at least one of participantIdentity and participantSid");return new i0({participantIdentity:(e=t.participantIdentity)!==null&&e!==void 0?e:"",participantSid:(n=t.participantSid)!==null&&n!==void 0?n:"",allTracks:(r=t.allowAll)!==null&&r!==void 0?r:!1,trackSids:t.allowedTrackSids||[]})}const pl=15e3;class Ax extends By{constructor(e,n,r,i,s){super(e,n,void 0,void 0,void 0,{loggerName:i.loggerName,loggerContextCb:()=>this.engine.logContext}),this.pendingPublishing=new Set,this.pendingPublishPromises=new Map,this.participantTrackPermissions=[],this.allParticipantsAllowedToSubscribe=!0,this.encryptionType=St.NONE,this.enabledPublishVideoCodecs=[],this.pendingAcks=new Map,this.pendingResponses=new Map,this.handleReconnecting=()=>{this.reconnectFuture||(this.reconnectFuture=new uy)},this.handleReconnected=()=>{var o,a;(a=(o=this.reconnectFuture)===null||o===void 0?void 0:o.resolve)===null||a===void 0||a.call(o),this.reconnectFuture=void 0,this.updateTrackSubscriptionPermissions()},this.handleDisconnected=()=>{var o,a;this.reconnectFuture&&(this.reconnectFuture.promise.catch(l=>this.log.warn(l.message,this.logContext)),(a=(o=this.reconnectFuture)===null||o===void 0?void 0:o.reject)===null||a===void 0||a.call(o,"Got disconnected during reconnection attempt"),this.reconnectFuture=void 0)},this.handleSignalRequestResponse=o=>{const{requestId:a,reason:l,message:c}=o,u=this.pendingSignalRequests.get(a);u&&(l!==bd.OK&&u.reject(new X0(c,l)),this.pendingSignalRequests.delete(a))},this.handleDataPacket=o=>{switch(o.value.case){case"rpcResponse":let a=o.value.value,l=null,c=null;a.value.case==="payload"?l=a.value.value:a.value.case==="error"&&(c=_e.fromProto(a.value.value)),this.handleIncomingRpcResponse(a.requestId,l,c);break;case"rpcAck":let u=o.value.value;this.handleIncomingRpcAck(u.requestId);break}},this.updateTrackSubscriptionPermissions=()=>{this.log.debug("updating track subscription permissions",Object.assign(Object.assign({},this.logContext),{allParticipantsAllowed:this.allParticipantsAllowedToSubscribe,participantTrackPermissions:this.participantTrackPermissions})),this.engine.client.sendUpdateSubscriptionPermissions(this.allParticipantsAllowedToSubscribe,this.participantTrackPermissions.map(o=>Dx(o)))},this.onTrackUnmuted=o=>{this.onTrackMuted(o,o.isUpstreamPaused)},this.onTrackMuted=(o,a)=>{if(a===void 0&&(a=!0),!o.sid){this.log.error("could not update mute status for unpublished track",Object.assign(Object.assign({},this.logContext),le(o)));return}this.engine.updateMuteStatus(o.sid,a)},this.onTrackUpstreamPaused=o=>{this.log.debug("upstream paused",Object.assign(Object.assign({},this.logContext),le(o))),this.onTrackMuted(o,!0)},this.onTrackUpstreamResumed=o=>{this.log.debug("upstream resumed",Object.assign(Object.assign({},this.logContext),le(o))),this.onTrackMuted(o,o.isMuted)},this.onTrackFeatureUpdate=o=>{const a=this.audioTrackPublications.get(o.sid);if(!a){this.log.warn("Could not update local audio track settings, missing publication for track ".concat(o.sid),this.logContext);return}this.engine.client.sendUpdateLocalAudioTrack(a.trackSid,a.getTrackFeatures())},this.handleSubscribedQualityUpdate=o=>S(this,void 0,void 0,function*(){var a,l,c,u,d,f;if(!(!((d=this.roomOptions)===null||d===void 0)&&d.dynacast))return;const h=this.videoTrackPublications.get(o.trackSid);if(!h){this.log.warn("received subscribed quality update for unknown track",Object.assign(Object.assign({},this.logContext),{trackSid:o.trackSid}));return}if(o.subscribedCodecs.length>0){if(!h.videoTrack)return;const m=yield h.videoTrack.setPublishingCodecs(o.subscribedCodecs);try{for(var v=!0,y=er(m),T;T=yield y.next(),a=T.done,!a;v=!0){u=T.value,v=!1;const b=u;x2(b)&&(this.log.debug("publish ".concat(b," for ").concat(h.videoTrack.sid),Object.assign(Object.assign({},this.logContext),le(h))),yield this.publishAdditionalCodecForTrack(h.videoTrack,b,h.options))}}catch(b){l={error:b}}finally{try{!v&&!a&&(c=y.return)&&(yield c.call(y))}finally{if(l)throw l.error}}}else o.subscribedQualities.length>0&&(yield(f=h.videoTrack)===null||f===void 0?void 0:f.setPublishingLayers(o.subscribedQualities))}),this.handleLocalTrackUnpublished=o=>{const a=this.trackPublications.get(o.trackSid);if(!a){this.log.warn("received unpublished event for unknown track",Object.assign(Object.assign({},this.logContext),{trackSid:o.trackSid}));return}this.unpublishTrack(a.track)},this.handleTrackEnded=o=>S(this,void 0,void 0,function*(){if(o.source===L.Source.ScreenShare||o.source===L.Source.ScreenShareAudio)this.log.debug("unpublishing local track due to TrackEnded",Object.assign(Object.assign({},this.logContext),le(o))),this.unpublishTrack(o);else if(o.isUserProvided)yield o.mute();else if(Ar(o)||or(o))try{if(pt())try{const a=yield navigator==null?void 0:navigator.permissions.query({name:o.source===L.Source.Camera?"camera":"microphone"});if(a&&a.state==="denied")throw this.log.warn("user has revoked access to ".concat(o.source),Object.assign(Object.assign({},this.logContext),le(o))),a.onchange=()=>{a.state!=="denied"&&(o.isMuted||o.restartTrack(),a.onchange=null)},new Error("GetUserMedia Permission denied")}catch{}o.isMuted||(this.log.debug("track ended, attempting to use a different device",Object.assign(Object.assign({},this.logContext),le(o))),Ar(o)?yield o.restartTrack({deviceId:"default"}):yield o.restartTrack())}catch{this.log.warn("could not restart track, muting instead",Object.assign(Object.assign({},this.logContext),le(o))),yield o.mute()}}),this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.trackPublications=new Map,this.engine=r,this.roomOptions=i,this.setupEngine(r),this.activeDeviceMap=new Map([["audioinput","default"],["videoinput","default"],["audiooutput","default"]]),this.pendingSignalRequests=new Map,this.rpcHandlers=s}get lastCameraError(){return this.cameraError}get lastMicrophoneError(){return this.microphoneError}get isE2EEEnabled(){return this.encryptionType!==St.NONE}getTrackPublication(e){const n=super.getTrackPublication(e);if(n)return n}getTrackPublicationByName(e){const n=super.getTrackPublicationByName(e);if(n)return n}setupEngine(e){this.engine=e,this.engine.on(F.RemoteMute,(n,r)=>{const i=this.trackPublications.get(n);!i||!i.track||(r?i.mute():i.unmute())}),this.engine.on(F.Connected,this.handleReconnected).on(F.SignalRestarted,this.handleReconnected).on(F.SignalResumed,this.handleReconnected).on(F.Restarting,this.handleReconnecting).on(F.Resuming,this.handleReconnecting).on(F.LocalTrackUnpublished,this.handleLocalTrackUnpublished).on(F.SubscribedQualityUpdate,this.handleSubscribedQualityUpdate).on(F.Disconnected,this.handleDisconnected).on(F.SignalRequestResponse,this.handleSignalRequestResponse).on(F.DataPacketReceived,this.handleDataPacket)}setMetadata(e){return S(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({metadata:e})})}setName(e){return S(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({name:e})})}setAttributes(e){return S(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({attributes:e})})}requestMetadataUpdate(e){return S(this,arguments,void 0,function(n){var r=this;let{metadata:i,name:s,attributes:o}=n;return function*(){return new Promise((a,l)=>S(r,void 0,void 0,function*(){var c,u;try{let d=!1;const f=yield this.engine.client.sendUpdateLocalMetadata((c=i??this.metadata)!==null&&c!==void 0?c:"",(u=s??this.name)!==null&&u!==void 0?u:"",o),h=performance.now();for(this.pendingSignalRequests.set(f,{resolve:a,reject:v=>{l(v),d=!0},values:{name:s,metadata:i,attributes:o}});performance.now()-h<5e3&&!d;){if((!s||this.name===s)&&(!i||this.metadata===i)&&(!o||Object.entries(o).every(v=>{let[y,T]=v;return this.attributes[y]===T||T===""&&!this.attributes[y]}))){this.pendingSignalRequests.delete(f),a();return}yield ht(50)}l(new X0("Request to update local metadata timed out","TimeoutError"))}catch(d){d instanceof Error&&l(d)}}))}()})}setCameraEnabled(e,n,r){return this.setTrackEnabled(L.Source.Camera,e,n,r)}setMicrophoneEnabled(e,n,r){return this.setTrackEnabled(L.Source.Microphone,e,n,r)}setScreenShareEnabled(e,n,r){return this.setTrackEnabled(L.Source.ScreenShare,e,n,r)}setPermissions(e){const n=this.permissions,r=super.setPermissions(e);return r&&n&&this.emit(B.ParticipantPermissionsChanged,n),r}setE2EEEnabled(e){return S(this,void 0,void 0,function*(){this.encryptionType=e?St.GCM:St.NONE,yield this.republishAllTracks(void 0,!1)})}setTrackEnabled(e,n,r,i){return S(this,void 0,void 0,function*(){var s,o;this.log.debug("setTrackEnabled",Object.assign(Object.assign({},this.logContext),{source:e,enabled:n})),this.republishPromise&&(yield this.republishPromise);let a=this.getTrackPublication(e);if(n)if(a)yield a.unmute();else{let l;if(this.pendingPublishing.has(e)){const c=yield this.waitForPendingPublicationOfSource(e);return c||this.log.info("waiting for pending publication promise timed out",Object.assign(Object.assign({},this.logContext),{source:e})),yield c==null?void 0:c.unmute(),c}this.pendingPublishing.add(e);try{switch(e){case L.Source.Camera:l=yield this.createTracks({video:(s=r)!==null&&s!==void 0?s:!0});break;case L.Source.Microphone:l=yield this.createTracks({audio:(o=r)!==null&&o!==void 0?o:!0});break;case L.Source.ScreenShare:l=yield this.createScreenTracks(Object.assign({},r));break;default:throw new wn(e)}}catch(c){throw l==null||l.forEach(u=>{u.stop()}),c instanceof Error&&this.emit(B.MediaDevicesError,c),this.pendingPublishing.delete(e),c}try{const c=[];for(const d of l)this.log.info("publishing track",Object.assign(Object.assign({},this.logContext),le(d))),c.push(this.publishTrack(d,i));[a]=yield Promise.all(c)}catch(c){throw l==null||l.forEach(u=>{u.stop()}),c}finally{this.pendingPublishing.delete(e)}}else if(!(a!=null&&a.track)&&this.pendingPublishing.has(e)&&(a=yield this.waitForPendingPublicationOfSource(e),a||this.log.info("waiting for pending publication promise timed out",Object.assign(Object.assign({},this.logContext),{source:e}))),a&&a.track)if(e===L.Source.ScreenShare){a=yield this.unpublishTrack(a.track);const l=this.getTrackPublication(L.Source.ScreenShareAudio);l&&l.track&&this.unpublishTrack(l.track)}else yield a.mute();return a})}enableCameraAndMicrophone(){return S(this,void 0,void 0,function*(){if(!(this.pendingPublishing.has(L.Source.Camera)||this.pendingPublishing.has(L.Source.Microphone))){this.pendingPublishing.add(L.Source.Camera),this.pendingPublishing.add(L.Source.Microphone);try{const e=yield this.createTracks({audio:!0,video:!0});yield Promise.all(e.map(n=>this.publishTrack(n)))}finally{this.pendingPublishing.delete(L.Source.Camera),this.pendingPublishing.delete(L.Source.Microphone)}}})}createTracks(e){return S(this,void 0,void 0,function*(){var n,r;e??(e={});const i=fy(e,(n=this.roomOptions)===null||n===void 0?void 0:n.audioCaptureDefaults,(r=this.roomOptions)===null||r===void 0?void 0:r.videoCaptureDefaults),{audioProcessor:s,videoProcessor:o,optionsWithoutProcessor:a}=Kd(i),l=al(a);let c;try{c=yield navigator.mediaDevices.getUserMedia(l)}catch(u){throw u instanceof Error&&(l.audio&&(this.microphoneError=u),l.video&&(this.cameraError=u)),u}return l.audio&&(this.microphoneError=void 0,this.emit(B.AudioStreamAcquired)),l.video&&(this.cameraError=void 0),Promise.all(c.getTracks().map(u=>S(this,void 0,void 0,function*(){const d=u.kind==="audio";let f;const h=d?l.audio:l.video;typeof h!="boolean"&&(f=h);const v=Iy(u,f,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});return v.kind===L.Kind.Video?v.source=L.Source.Camera:v.kind===L.Kind.Audio&&(v.source=L.Source.Microphone,v.setAudioContext(this.audioContext)),v.mediaStream=c,Tn(v)&&s?yield v.setProcessor(s):Mi(v)&&o&&(yield v.setProcessor(o)),v})))})}createScreenTracks(e){return S(this,void 0,void 0,function*(){if(e===void 0&&(e={}),navigator.mediaDevices.getDisplayMedia===void 0)throw new Id("getDisplayMedia not supported");e.resolution===void 0&&!O2()&&(e.resolution=Ad.h1080fps30.resolution);const n=z2(e),r=yield navigator.mediaDevices.getDisplayMedia(n),i=r.getVideoTracks();if(i.length===0)throw new wn("no video track found");const s=new hl(i[0],void 0,!1,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});s.source=L.Source.ScreenShare,e.contentHint&&(s.mediaStreamTrack.contentHint=e.contentHint);const o=[s];if(r.getAudioTracks().length>0){this.emit(B.AudioStreamAcquired);const a=new dl(r.getAudioTracks()[0],void 0,!1,this.audioContext,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});a.source=L.Source.ScreenShareAudio,o.push(a)}return o})}publishTrack(e,n){return S(this,void 0,void 0,function*(){return this.publishOrRepublishTrack(e,n)})}publishOrRepublishTrack(e,n){return S(this,arguments,void 0,function(r,i){var s=this;let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return function*(){var a,l,c,u;Ar(r)&&r.setAudioContext(s.audioContext),yield(a=s.reconnectFuture)===null||a===void 0?void 0:a.promise,s.republishPromise&&!o&&(yield s.republishPromise),Li(r)&&s.pendingPublishPromises.has(r)&&(yield s.pendingPublishPromises.get(r));let d;if(r instanceof MediaStreamTrack)d=r.getConstraints();else{d=r.constraints;let m;switch(r.source){case L.Source.Microphone:m="audioinput";break;case L.Source.Camera:m="videoinput"}m&&s.activeDeviceMap.has(m)&&(d=Object.assign(Object.assign({},d),{deviceId:s.activeDeviceMap.get(m)}))}if(r instanceof MediaStreamTrack)switch(r.kind){case"audio":r=new dl(r,d,!0,s.audioContext,{loggerName:s.roomOptions.loggerName,loggerContextCb:()=>s.logContext});break;case"video":r=new hl(r,d,!0,{loggerName:s.roomOptions.loggerName,loggerContextCb:()=>s.logContext});break;default:throw new wn("unsupported MediaStreamTrack kind ".concat(r.kind))}else r.updateLoggerOptions({loggerName:s.roomOptions.loggerName,loggerContextCb:()=>s.logContext});let f;if(s.trackPublications.forEach(m=>{m.track&&m.track===r&&(f=m)}),f)return s.log.warn("track has already been published, skipping",Object.assign(Object.assign({},s.logContext),le(f))),f;const h="channelCount"in r.mediaStreamTrack.getSettings()&&r.mediaStreamTrack.getSettings().channelCount===2||r.mediaStreamTrack.getConstraints().channelCount===2,v=(l=i==null?void 0:i.forceStereo)!==null&&l!==void 0?l:h;v&&(i||(i={}),i.dtx===void 0&&s.log.info("Opus DTX will be disabled for stereo tracks by default. Enable them explicitly to make it work.",Object.assign(Object.assign({},s.logContext),le(r))),i.red===void 0&&s.log.info("Opus RED will be disabled for stereo tracks by default. Enable them explicitly to make it work."),(c=i.dtx)!==null&&c!==void 0||(i.dtx=!1),(u=i.red)!==null&&u!==void 0||(i.red=!1));const y=Object.assign(Object.assign({},s.roomOptions.publishDefaults),i);!L2()&&s.roomOptions.e2ee&&(s.log.info("End-to-end encryption is set up, simulcast publishing will be disabled on Safari versions and iOS browsers running iOS < v17.2",Object.assign({},s.logContext)),y.simulcast=!1),y.source&&(r.source=y.source);const T=s.publish(r,y,v);s.pendingPublishPromises.set(r,T);try{return yield T}catch(m){throw m}finally{s.pendingPublishPromises.delete(r)}}()})}hasPermissionsToPublish(e){if(!this.permissions)return this.log.warn("no permissions present for publishing track",Object.assign(Object.assign({},this.logContext),le(e))),!1;const{canPublish:n,canPublishSources:r}=this.permissions;return n&&(r.length===0||r.map(i=>W2(i)).includes(e.source))?!0:(this.log.warn("insufficient permissions to publish",Object.assign(Object.assign({},this.logContext),le(e))),!1)}publish(e,n,r){return S(this,void 0,void 0,function*(){var i,s,o,a,l,c,u,d,f,h;if(!this.hasPermissionsToPublish(e))throw new m2("failed to publish track, insufficient permissions",403);Array.from(this.trackPublications.values()).find(C=>Li(e)&&C.source===e.source)&&e.source!==L.Source.Unknown&&this.log.info("publishing a second track with the same source: ".concat(e.source),Object.assign(Object.assign({},this.logContext),le(e))),n.stopMicTrackOnMute&&Tn(e)&&(e.stopOnMute=!0),e.source===L.Source.ScreenShare&&Oi()&&(n.simulcast=!1),n.videoCodec==="av1"&&!_2()&&(n.videoCodec=void 0),n.videoCodec==="vp9"&&!R2()&&(n.videoCodec=void 0),n.videoCodec===void 0&&(n.videoCodec=nf),this.enabledPublishVideoCodecs.length>0&&(this.enabledPublishVideoCodecs.some(C=>n.videoCodec===ll(C.mime))||(n.videoCodec=ll(this.enabledPublishVideoCodecs[0].mime)));const y=n.videoCodec;e.on(j.Muted,this.onTrackMuted),e.on(j.Unmuted,this.onTrackUnmuted),e.on(j.Ended,this.handleTrackEnded),e.on(j.UpstreamPaused,this.onTrackUpstreamPaused),e.on(j.UpstreamResumed,this.onTrackUpstreamResumed),e.on(j.AudioTrackFeatureUpdate,this.onTrackFeatureUpdate);const T=new pd({cid:e.mediaStreamTrack.id,name:n.name,type:L.kindToProto(e.kind),muted:e.isMuted,source:L.sourceToProto(e.source),disableDtx:!(!((i=n.dtx)!==null&&i!==void 0)||i),encryption:this.encryptionType,stereo:r,disableRed:this.isE2EEEnabled||!(!((s=n.red)!==null&&s!==void 0)||s),stream:n==null?void 0:n.stream,backupCodecPolicy:n==null?void 0:n.backupCodecPolicy});let m;if(e.kind===L.Kind.Video){let C={width:0,height:0};try{C=yield e.waitForDimensions()}catch{const x=(a=(o=this.roomOptions.videoCaptureDefaults)===null||o===void 0?void 0:o.resolution)!==null&&a!==void 0?a:qs.h720.resolution;C={width:x.width,height:x.height},this.log.error("could not determine track dimensions, using defaults",Object.assign(Object.assign(Object.assign({},this.logContext),le(e)),{dims:C}))}T.width=C.width,T.height=C.height,or(e)&&(Ws(y)&&(e.source===L.Source.ScreenShare&&(n.scalabilityMode="L1T3","contentHint"in e.mediaStreamTrack&&(e.mediaStreamTrack.contentHint="motion",this.log.info("forcing contentHint to motion for screenshare with SVC codecs",Object.assign(Object.assign({},this.logContext),le(e))))),n.scalabilityMode=(l=n.scalabilityMode)!==null&&l!==void 0?l:"L3T3_KEY"),T.simulcastCodecs=[new hd({codec:y,cid:e.mediaStreamTrack.id})],n.backupCodec===!0&&(n.backupCodec={codec:nf}),n.backupCodec&&y!==n.backupCodec.codec&&T.encryption===St.NONE&&(this.roomOptions.dynacast||(this.roomOptions.dynacast=!0),T.simulcastCodecs.push(new hd({codec:n.backupCodec.codec,cid:""})))),m=lf(e.source===L.Source.ScreenShare,T.width,T.height,n),T.layers=Dy(T.width,T.height,m,Ws(n.videoCodec))}else e.kind===L.Kind.Audio&&(m=[{maxBitrate:(c=n.audioPreset)===null||c===void 0?void 0:c.maxBitrate,priority:(d=(u=n.audioPreset)===null||u===void 0?void 0:u.priority)!==null&&d!==void 0?d:"high",networkPriority:(h=(f=n.audioPreset)===null||f===void 0?void 0:f.priority)!==null&&h!==void 0?h:"high"}]);if(!this.engine||this.engine.isClosed)throw new je("cannot publish track when not connected");const b=()=>S(this,void 0,void 0,function*(){var C,w,x;if(!this.engine.pcManager)throw new je("pcManager is not ready");if(e.sender=yield this.engine.createSender(e,n,m),or(e)&&((C=n.degradationPreference)!==null&&C!==void 0||(n.degradationPreference=kx(e)),e.setDegradationPreference(n.degradationPreference)),m)if(Oi()&&e.kind===L.Kind.Audio){let E;for(const I of this.engine.pcManager.publisher.getTransceivers())if(I.sender===e.sender){E=I;break}E&&this.engine.pcManager.publisher.setTrackCodecBitrate({transceiver:E,codec:"opus",maxbr:!((w=m[0])===null||w===void 0)&&w.maxBitrate?m[0].maxBitrate/1e3:0})}else e.codec&&Ws(e.codec)&&(!((x=m[0])===null||x===void 0)&&x.maxBitrate)&&this.engine.pcManager.publisher.setTrackCodecBitrate({cid:T.cid,codec:e.codec,maxbr:m[0].maxBitrate/1e3});yield this.engine.negotiate()});let p;if(this.enabledPublishVideoCodecs.length>0)p=(yield Promise.all([this.engine.addTrack(T),b()]))[0];else{p=yield this.engine.addTrack(T);let C;if(p.codecs.forEach(w=>{C===void 0&&(C=w.mimeType)}),C&&e.kind===L.Kind.Video){const w=ll(C);w!==y&&(this.log.debug("falling back to server selected codec",Object.assign(Object.assign(Object.assign({},this.logContext),le(e)),{codec:w})),n.videoCodec=w,m=lf(e.source===L.Source.ScreenShare,T.width,T.height,n))}yield b()}const k=new pf(e.kind,p,e,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});return k.options=n,e.sid=p.sid,this.log.debug("publishing ".concat(e.kind," with encodings"),Object.assign(Object.assign({},this.logContext),{encodings:m,trackInfo:p})),or(e)?e.startMonitor(this.engine.client):Ar(e)&&e.startMonitor(),this.addTrackPublication(k),this.emit(B.LocalTrackPublished,k),k})}get isLocal(){return!0}publishAdditionalCodecForTrack(e,n,r){return S(this,void 0,void 0,function*(){var i;if(this.encryptionType!==St.NONE)return;let s;if(this.trackPublications.forEach(h=>{h.track&&h.track===e&&(s=h)}),!s)throw new wn("track is not published");if(!or(e))throw new wn("track is not a video track");const o=Object.assign(Object.assign({},(i=this.roomOptions)===null||i===void 0?void 0:i.publishDefaults),r),a=vx(e,n,o);if(!a){this.log.info("backup codec has been disabled, ignoring request to add additional codec for track",Object.assign(Object.assign({},this.logContext),le(e)));return}const l=e.addSimulcastTrack(n,a);if(!l)return;const c=new pd({cid:l.mediaStreamTrack.id,type:L.kindToProto(e.kind),muted:e.isMuted,source:L.sourceToProto(e.source),sid:e.sid,simulcastCodecs:[{codec:o.videoCodec,cid:l.mediaStreamTrack.id}]});if(c.layers=Dy(c.width,c.height,a),!this.engine||this.engine.isClosed)throw new je("cannot publish track when not connected");const u=()=>S(this,void 0,void 0,function*(){yield this.engine.createSimulcastSender(e,l,o,a),yield this.engine.negotiate()}),f=(yield Promise.all([this.engine.addTrack(c),u()]))[0];this.log.debug("published ".concat(n," for track ").concat(e.sid),Object.assign(Object.assign({},this.logContext),{encodings:a,trackInfo:f}))})}unpublishTrack(e,n){return S(this,void 0,void 0,function*(){var r,i;if(Li(e)){const c=this.pendingPublishPromises.get(e);c&&(this.log.info("awaiting publish promise before attempting to unpublish",Object.assign(Object.assign({},this.logContext),le(e))),yield c)}const s=this.getPublicationForTrack(e),o=s?le(s):void 0;if(this.log.debug("unpublishing track",Object.assign(Object.assign({},this.logContext),o)),!s||!s.track){this.log.warn("track was not unpublished because no publication was found",Object.assign(Object.assign({},this.logContext),o));return}e=s.track,e.off(j.Muted,this.onTrackMuted),e.off(j.Unmuted,this.onTrackUnmuted),e.off(j.Ended,this.handleTrackEnded),e.off(j.UpstreamPaused,this.onTrackUpstreamPaused),e.off(j.UpstreamResumed,this.onTrackUpstreamResumed),e.off(j.AudioTrackFeatureUpdate,this.onTrackFeatureUpdate),n===void 0&&(n=(i=(r=this.roomOptions)===null||r===void 0?void 0:r.stopLocalTrackOnUnpublish)!==null&&i!==void 0?i:!0),n?e.stop():e.stopMonitor();let a=!1;const l=e.sender;if(e.sender=void 0,this.engine.pcManager&&this.engine.pcManager.currentState<Pe.FAILED&&l)try{for(const c of this.engine.pcManager.publisher.getTransceivers())c.sender===l&&(c.direction="inactive",a=!0);if(this.engine.removeTrack(l)&&(a=!0),or(e)){for(const[,c]of e.simulcastCodecs)c.sender&&(this.engine.removeTrack(c.sender)&&(a=!0),c.sender=void 0);e.simulcastCodecs.clear()}}catch(c){this.log.warn("failed to unpublish track",Object.assign(Object.assign(Object.assign({},this.logContext),o),{error:c}))}switch(this.trackPublications.delete(s.trackSid),s.kind){case L.Kind.Audio:this.audioTrackPublications.delete(s.trackSid);break;case L.Kind.Video:this.videoTrackPublications.delete(s.trackSid);break}return this.emit(B.LocalTrackUnpublished,s),s.setTrack(void 0),a&&(yield this.engine.negotiate()),s})}unpublishTracks(e){return S(this,void 0,void 0,function*(){return(yield Promise.all(e.map(r=>this.unpublishTrack(r)))).filter(r=>!!r)})}republishAllTracks(e){return S(this,arguments,void 0,function(n){var r=this;let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return function*(){r.republishPromise&&(yield r.republishPromise),r.republishPromise=new Promise((s,o)=>S(r,void 0,void 0,function*(){try{const a=[];this.trackPublications.forEach(l=>{l.track&&(n&&(l.options=Object.assign(Object.assign({},l.options),n)),a.push(l))}),yield Promise.all(a.map(l=>S(this,void 0,void 0,function*(){const c=l.track;yield this.unpublishTrack(c,!1),i&&!c.isMuted&&c.source!==L.Source.ScreenShare&&c.source!==L.Source.ScreenShareAudio&&(Ar(c)||or(c))&&!c.isUserProvided&&(this.log.debug("restarting existing track",Object.assign(Object.assign({},this.logContext),{track:l.trackSid})),yield c.restartTrack()),yield this.publishOrRepublishTrack(c,l.options,!0)}))),s()}catch(a){o(a)}finally{this.republishPromise=void 0}})),yield r.republishPromise}()})}publishData(e){return S(this,arguments,void 0,function(n){var r=this;let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return function*(){const s=i.reliable?re.RELIABLE:re.LOSSY,o=i.destinationIdentities,a=i.topic,l=new ft({kind:s,value:{case:"user",value:new Uv({participantIdentity:r.identity,payload:n,destinationIdentities:o,topic:a})}});yield r.engine.sendDataPacket(l,s)}()})}publishDtmf(e,n){return S(this,void 0,void 0,function*(){const r=new ft({kind:re.RELIABLE,value:{case:"sipDtmf",value:new Fv({code:e,digit:n})}});yield this.engine.sendDataPacket(r,re.RELIABLE)})}sendChatMessage(e,n){return S(this,void 0,void 0,function*(){const r={id:crypto.randomUUID(),message:e,timestamp:Date.now(),attachedFiles:n==null?void 0:n.attachments},i=new ft({value:{case:"chatMessage",value:new ad(Object.assign(Object.assign({},r),{timestamp:ye.parse(r.timestamp)}))}});return yield this.engine.sendDataPacket(i,re.RELIABLE),this.emit(B.ChatMessage,r),r})}editChatMessage(e,n){return S(this,void 0,void 0,function*(){const r=Object.assign(Object.assign({},n),{message:e,editTimestamp:Date.now()}),i=new ft({value:{case:"chatMessage",value:new ad(Object.assign(Object.assign({},r),{timestamp:ye.parse(r.timestamp),editTimestamp:ye.parse(r.editTimestamp)}))}});return yield this.engine.sendDataPacket(i,re.RELIABLE),this.emit(B.ChatMessage,r),r})}sendText(e,n){return S(this,void 0,void 0,function*(){var r;const i=crypto.randomUUID(),o=new TextEncoder().encode(e).byteLength,a=(r=n==null?void 0:n.attachments)===null||r===void 0?void 0:r.map(()=>crypto.randomUUID()),l=new Array(a?a.length+1:1).fill(0),c=(d,f)=>{var h;l[f]=d;const v=l.reduce((y,T)=>y+T,0);(h=n==null?void 0:n.onProgress)===null||h===void 0||h.call(n,v)},u=yield this.streamText({streamId:i,totalSize:o,destinationIdentities:n==null?void 0:n.destinationIdentities,topic:n==null?void 0:n.topic,attachedStreamIds:a,attributes:n==null?void 0:n.attributes});return yield u.write(e),c(1,0),yield u.close(),n!=null&&n.attachments&&a&&(yield Promise.all(n.attachments.map((d,f)=>S(this,void 0,void 0,function*(){return this._sendFile(a[f],d,{topic:n.topic,mimeType:d.type,onProgress:h=>{c(h,f+1)}})})))),u.info})}streamText(e){return S(this,void 0,void 0,function*(){var n,r;const i=(n=e==null?void 0:e.streamId)!==null&&n!==void 0?n:crypto.randomUUID(),s={id:i,mimeType:"text/plain",timestamp:Date.now(),topic:(r=e==null?void 0:e.topic)!==null&&r!==void 0?r:"",size:e==null?void 0:e.totalSize,attributes:e==null?void 0:e.attributes},o=new cd({streamId:i,mimeType:s.mimeType,topic:s.topic,timestamp:Dr(s.timestamp),totalLength:Dr(e==null?void 0:e.totalSize),attributes:s.attributes,contentHeader:{case:"textHeader",value:new Qv({version:e==null?void 0:e.version,attachedStreamIds:e==null?void 0:e.attachedStreamIds,replyToStreamId:e==null?void 0:e.replyToStreamId,operationType:(e==null?void 0:e.type)==="update"?ld.UPDATE:ld.CREATE})}}),a=e==null?void 0:e.destinationIdentities,l=new ft({destinationIdentities:a,value:{case:"streamHeader",value:o}});yield this.engine.sendDataPacket(l,re.RELIABLE);let c=0;const u=this,d=new WritableStream({write(v){return S(this,void 0,void 0,function*(){for(const y of V2(v,pl)){yield u.engine.waitForBufferStatusLow(re.RELIABLE);const T=new ud({content:y,streamId:i,chunkIndex:Dr(c)}),m=new ft({destinationIdentities:a,value:{case:"streamChunk",value:T}});yield u.engine.sendDataPacket(m,re.RELIABLE),c+=1}})},close(){return S(this,void 0,void 0,function*(){const v=new dd({streamId:i}),y=new ft({destinationIdentities:a,value:{case:"streamTrailer",value:v}});yield u.engine.sendDataPacket(y,re.RELIABLE)})},abort(v){console.log("Sink error:",v)}});let f=()=>S(this,void 0,void 0,function*(){yield h.close()});u.engine.once(F.Closing,f);const h=new Ix(d,s,()=>this.engine.off(F.Closing,f));return h})}sendFile(e,n){return S(this,void 0,void 0,function*(){const r=crypto.randomUUID();return yield this._sendFile(r,e,n),{id:r}})}_sendFile(e,n,r){return S(this,void 0,void 0,function*(){var i,s;const o=n.size,a=new cd({totalLength:Dr(o),mimeType:(i=r==null?void 0:r.mimeType)!==null&&i!==void 0?i:n.type,streamId:e,topic:r==null?void 0:r.topic,encryptionType:r==null?void 0:r.encryptionType,timestamp:Dr(Date.now()),contentHeader:{case:"byteHeader",value:new Jv({name:n.name})}}),l=r==null?void 0:r.destinationIdentities,c=new ft({destinationIdentities:l,value:{case:"streamHeader",value:a}});yield this.engine.sendDataPacket(c,re.RELIABLE);function u(v){return new Promise(y=>{const T=new FileReader;T.onload=()=>{y(new Uint8Array(T.result))},T.readAsArrayBuffer(v)})}const d=Math.ceil(o/pl);for(let v=0;v<d;v++){const y=yield u(n.slice(v*pl,Math.min((v+1)*pl,o)));yield this.engine.waitForBufferStatusLow(re.RELIABLE);const T=new ud({content:y,streamId:e,chunkIndex:Dr(v)}),m=new ft({destinationIdentities:l,value:{case:"streamChunk",value:T}});yield this.engine.sendDataPacket(m,re.RELIABLE),(s=r==null?void 0:r.onProgress)===null||s===void 0||s.call(r,(v+1)/d)}const f=new dd({streamId:e}),h=new ft({destinationIdentities:l,value:{case:"streamTrailer",value:f}});yield this.engine.sendDataPacket(h,re.RELIABLE)})}performRpc(e){return S(this,arguments,void 0,function(n){var r=this;let{destinationIdentity:i,method:s,payload:o,responseTimeout:a=1e4}=n;return function*(){return new Promise((c,u)=>S(r,void 0,void 0,function*(){var d,f,h,v;if(sf(o)>Py){u(_e.builtIn("REQUEST_PAYLOAD_TOO_LARGE"));return}if(!((f=(d=this.engine.latestJoinResponse)===null||d===void 0?void 0:d.serverInfo)===null||f===void 0)&&f.version&&Nr((v=(h=this.engine.latestJoinResponse)===null||h===void 0?void 0:h.serverInfo)===null||v===void 0?void 0:v.version,"1.8.0")<0){u(_e.builtIn("UNSUPPORTED_SERVER"));return}const y=crypto.randomUUID();yield this.publishRpcRequest(i,y,s,o,a-2e3);const T=setTimeout(()=>{this.pendingAcks.delete(y),u(_e.builtIn("CONNECTION_TIMEOUT")),this.pendingResponses.delete(y),clearTimeout(m)},2e3);this.pendingAcks.set(y,{resolve:()=>{clearTimeout(T)},participantIdentity:i});const m=setTimeout(()=>{this.pendingResponses.delete(y),u(_e.builtIn("RESPONSE_TIMEOUT"))},a);this.pendingResponses.set(y,{resolve:(b,p)=>{clearTimeout(m),this.pendingAcks.has(y)&&(console.warn("RPC response received before ack",y),this.pendingAcks.delete(y),clearTimeout(T)),p?u(p):c(b??"")},participantIdentity:i})}))}()})}registerRpcMethod(e,n){this.rpcHandlers.has(e)&&this.log.warn("you're overriding the RPC handler for method ".concat(e,", in the future this will throw an error")),this.rpcHandlers.set(e,n)}unregisterRpcMethod(e){this.rpcHandlers.delete(e)}setTrackSubscriptionPermissions(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];this.participantTrackPermissions=n,this.allParticipantsAllowedToSubscribe=e,this.engine.client.isDisconnected||this.updateTrackSubscriptionPermissions()}handleIncomingRpcAck(e){const n=this.pendingAcks.get(e);n?(n.resolve(),this.pendingAcks.delete(e)):console.error("Ack received for unexpected RPC request",e)}handleIncomingRpcResponse(e,n,r){const i=this.pendingResponses.get(e);i?(i.resolve(n,r),this.pendingResponses.delete(e)):console.error("Response received for unexpected RPC request",e)}publishRpcRequest(e,n,r,i,s){return S(this,void 0,void 0,function*(){const o=new ft({destinationIdentities:[e],kind:re.RELIABLE,value:{case:"rpcRequest",value:new Bv({id:n,method:r,payload:i,responseTimeoutMs:s,version:1})}});yield this.engine.sendDataPacket(o,re.RELIABLE)})}handleParticipantDisconnected(e){for(const[n,{participantIdentity:r}]of this.pendingAcks)r===e&&this.pendingAcks.delete(n);for(const[n,{participantIdentity:r,resolve:i}]of this.pendingResponses)r===e&&(i(null,_e.builtIn("RECIPIENT_DISCONNECTED")),this.pendingResponses.delete(n))}setEnabledPublishCodecs(e){this.enabledPublishVideoCodecs=e.filter(n=>n.mime.split("/")[0].toLowerCase()==="video")}updateInfo(e){return e.sid!==this.sid||!super.updateInfo(e)?!1:(e.tracks.forEach(n=>{var r,i;const s=this.trackPublications.get(n.sid);if(s){const o=s.isMuted||((i=(r=s.track)===null||r===void 0?void 0:r.isUpstreamPaused)!==null&&i!==void 0?i:!1);o!==n.muted&&(this.log.debug("updating server mute state after reconcile",Object.assign(Object.assign(Object.assign({},this.logContext),le(s)),{mutedOnServer:o})),this.engine.client.sendMuteTrack(n.sid,o))}}),!0)}getPublicationForTrack(e){let n;return this.trackPublications.forEach(r=>{const i=r.track;i&&(e instanceof MediaStreamTrack?(Ar(i)||or(i))&&i.mediaStreamTrack===e&&(n=r):e===i&&(n=r))}),n}waitForPendingPublicationOfSource(e){return S(this,void 0,void 0,function*(){const r=Date.now();for(;Date.now()<r+1e4;){const i=Array.from(this.pendingPublishPromises.entries()).find(s=>{let[o]=s;return o.source===e});if(i)return i[1];yield ht(20)}})}}class jx extends xn{constructor(e,n,r,i){super(e,n.sid,n.name,i),this.track=void 0,this.allowed=!0,this.disabled=!1,this.currentVideoQuality=It.HIGH,this.handleEnded=s=>{this.setTrack(void 0),this.emit(j.Ended,s)},this.handleVisibilityChange=s=>{this.log.debug("adaptivestream video visibility ".concat(this.trackSid,", visible=").concat(s),this.logContext),this.disabled=!s,this.emitTrackUpdate()},this.handleVideoDimensionsChange=s=>{this.log.debug("adaptivestream video dimensions ".concat(s.width,"x").concat(s.height),this.logContext),this.videoDimensions=s,this.emitTrackUpdate()},this.subscribed=r,this.updateInfo(n)}setSubscribed(e){const n=this.subscriptionStatus,r=this.permissionStatus;this.subscribed=e,e&&(this.allowed=!0);const i=new Wa({trackSids:[this.trackSid],subscribe:this.subscribed,participantTracks:[new $v({participantSid:"",trackSids:[this.trackSid]})]});this.emit(j.UpdateSubscription,i),this.emitSubscriptionUpdateIfChanged(n),this.emitPermissionUpdateIfChanged(r)}get subscriptionStatus(){return this.subscribed===!1?xn.SubscriptionStatus.Unsubscribed:super.isSubscribed?xn.SubscriptionStatus.Subscribed:xn.SubscriptionStatus.Desired}get permissionStatus(){return this.allowed?xn.PermissionStatus.Allowed:xn.PermissionStatus.NotAllowed}get isSubscribed(){return this.subscribed===!1?!1:super.isSubscribed}get isDesired(){return this.subscribed!==!1}get isEnabled(){return!this.disabled}get isLocal(){return!1}setEnabled(e){!this.isManualOperationAllowed()||this.disabled===!e||(this.disabled=!e,this.emitTrackUpdate())}setVideoQuality(e){!this.isManualOperationAllowed()||this.currentVideoQuality===e||(this.currentVideoQuality=e,this.videoDimensions=void 0,this.emitTrackUpdate())}setVideoDimensions(e){var n,r;this.isManualOperationAllowed()&&(((n=this.videoDimensions)===null||n===void 0?void 0:n.width)===e.width&&((r=this.videoDimensions)===null||r===void 0?void 0:r.height)===e.height||(Wd(this.track)&&(this.videoDimensions=e),this.currentVideoQuality=void 0,this.emitTrackUpdate()))}setVideoFPS(e){this.isManualOperationAllowed()&&Wd(this.track)&&this.fps!==e&&(this.fps=e,this.emitTrackUpdate())}get videoQuality(){return this.currentVideoQuality}setTrack(e){const n=this.subscriptionStatus,r=this.permissionStatus,i=this.track;i!==e&&(i&&(i.off(j.VideoDimensionsChanged,this.handleVideoDimensionsChange),i.off(j.VisibilityChanged,this.handleVisibilityChange),i.off(j.Ended,this.handleEnded),i.detach(),i.stopMonitor(),this.emit(j.Unsubscribed,i)),super.setTrack(e),e&&(e.sid=this.trackSid,e.on(j.VideoDimensionsChanged,this.handleVideoDimensionsChange),e.on(j.VisibilityChanged,this.handleVisibilityChange),e.on(j.Ended,this.handleEnded),this.emit(j.Subscribed,e)),this.emitPermissionUpdateIfChanged(r),this.emitSubscriptionUpdateIfChanged(n))}setAllowed(e){const n=this.subscriptionStatus,r=this.permissionStatus;this.allowed=e,this.emitPermissionUpdateIfChanged(r),this.emitSubscriptionUpdateIfChanged(n)}setSubscriptionError(e){this.emit(j.SubscriptionFailed,e)}updateInfo(e){super.updateInfo(e);const n=this.metadataMuted;this.metadataMuted=e.muted,this.track?this.track.setMuted(e.muted):n!==e.muted&&this.emit(e.muted?j.Muted:j.Unmuted)}emitSubscriptionUpdateIfChanged(e){const n=this.subscriptionStatus;e!==n&&this.emit(j.SubscriptionStatusChanged,n,e)}emitPermissionUpdateIfChanged(e){this.permissionStatus!==e&&this.emit(j.SubscriptionPermissionChanged,this.permissionStatus,e)}isManualOperationAllowed(){return this.kind===L.Kind.Video&&this.isAdaptiveStream?(this.log.warn("adaptive stream is enabled, cannot change video track settings",this.logContext),!1):this.isDesired?!0:(this.log.warn("cannot update track settings when not subscribed",this.logContext),!1)}get isAdaptiveStream(){return Wd(this.track)&&this.track.isAdaptiveStream}emitTrackUpdate(){const e=new Xv({trackSids:[this.trackSid],disabled:this.disabled,fps:this.fps});this.videoDimensions?(e.width=Math.ceil(this.videoDimensions.width),e.height=Math.ceil(this.videoDimensions.height)):this.currentVideoQuality!==void 0?e.quality=this.currentVideoQuality:e.quality=It.HIGH,this.emit(j.UpdateSettings,e)}}class ml extends By{static fromParticipantInfo(e,n,r){return new ml(e,n.sid,n.identity,n.name,n.metadata,n.attributes,r,n.kind)}get logContext(){return Object.assign(Object.assign({},super.logContext),{rpID:this.sid,remoteParticipant:this.identity})}constructor(e,n,r,i,s,o,a){let l=arguments.length>7&&arguments[7]!==void 0?arguments[7]:qa.STANDARD;super(n,r||"",i,s,o,a,l),this.signalClient=e,this.trackPublications=new Map,this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.volumeMap=new Map}addTrackPublication(e){super.addTrackPublication(e),e.on(j.UpdateSettings,n=>{this.log.debug("send update settings",Object.assign(Object.assign({},this.logContext),le(e))),this.signalClient.sendUpdateTrackSettings(n)}),e.on(j.UpdateSubscription,n=>{n.participantTracks.forEach(r=>{r.participantSid=this.sid}),this.signalClient.sendUpdateSubscription(n)}),e.on(j.SubscriptionPermissionChanged,n=>{this.emit(B.TrackSubscriptionPermissionChanged,e,n)}),e.on(j.SubscriptionStatusChanged,n=>{this.emit(B.TrackSubscriptionStatusChanged,e,n)}),e.on(j.Subscribed,n=>{this.emit(B.TrackSubscribed,n,e)}),e.on(j.Unsubscribed,n=>{this.emit(B.TrackUnsubscribed,n,e)}),e.on(j.SubscriptionFailed,n=>{this.emit(B.TrackSubscriptionFailed,e.trackSid,n)})}getTrackPublication(e){const n=super.getTrackPublication(e);if(n)return n}getTrackPublicationByName(e){const n=super.getTrackPublicationByName(e);if(n)return n}setVolume(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:L.Source.Microphone;this.volumeMap.set(n,e);const r=this.getTrackPublication(n);r&&r.track&&r.track.setVolume(e)}getVolume(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:L.Source.Microphone;const n=this.getTrackPublication(e);return n&&n.track?n.track.getVolume():this.volumeMap.get(e)}addSubscribedMediaTrack(e,n,r,i,s,o){let a=this.getTrackPublicationBySid(n);if(a||n.startsWith("TR")||this.trackPublications.forEach(u=>{!a&&e.kind===u.kind.toString()&&(a=u)}),!a){if(o===0){this.log.error("could not find published track",Object.assign(Object.assign({},this.logContext),{trackSid:n})),this.emit(B.TrackSubscriptionFailed,n);return}o===void 0&&(o=20),setTimeout(()=>{this.addSubscribedMediaTrack(e,n,r,i,s,o-1)},150);return}if(e.readyState==="ended"){this.log.error("unable to subscribe because MediaStreamTrack is ended. Do not call MediaStreamTrack.stop()",Object.assign(Object.assign({},this.logContext),le(a))),this.emit(B.TrackSubscriptionFailed,n);return}const l=e.kind==="video";let c;return l?c=new Lx(e,n,i,s):c=new Ox(e,n,i,this.audioContext,this.audioOutput),c.source=a.source,c.isMuted=a.isMuted,c.setMediaStream(r),c.start(),a.setTrack(c),this.volumeMap.has(a.source)&&qd(c)&&Tn(c)&&c.setVolume(this.volumeMap.get(a.source)),a}get hasMetadata(){return!!this.participantInfo}getTrackPublicationBySid(e){return this.trackPublications.get(e)}updateInfo(e){if(!super.updateInfo(e))return!1;const n=new Map,r=new Map;return e.tracks.forEach(i=>{var s,o;let a=this.getTrackPublicationBySid(i.sid);if(a)a.updateInfo(i);else{const l=L.kindFromProto(i.type);if(!l)return;a=new jx(l,i,(s=this.signalClient.connectOptions)===null||s===void 0?void 0:s.autoSubscribe,{loggerContextCb:()=>this.logContext,loggerName:(o=this.loggerOptions)===null||o===void 0?void 0:o.loggerName}),a.updateInfo(i),r.set(i.sid,a);const c=Array.from(this.trackPublications.values()).find(u=>u.source===(a==null?void 0:a.source));c&&a.source!==L.Source.Unknown&&this.log.debug("received a second track publication for ".concat(this.identity," with the same source: ").concat(a.source),Object.assign(Object.assign({},this.logContext),{oldTrack:le(c),newTrack:le(a)})),this.addTrackPublication(a)}n.set(i.sid,a)}),this.trackPublications.forEach(i=>{n.has(i.trackSid)||(this.log.trace("detected removed track on remote participant, unpublishing",Object.assign(Object.assign({},this.logContext),le(i))),this.unpublishTrack(i.trackSid,!0))}),r.forEach(i=>{this.emit(B.TrackPublished,i)}),!0}unpublishTrack(e,n){const r=this.trackPublications.get(e);if(!r)return;const{track:i}=r;switch(i&&(i.stop(),r.setTrack(void 0)),this.trackPublications.delete(e),r.kind){case L.Kind.Audio:this.audioTrackPublications.delete(e);break;case L.Kind.Video:this.videoTrackPublications.delete(e);break}n&&this.emit(B.TrackUnpublished,r)}setAudioOutput(e){return S(this,void 0,void 0,function*(){this.audioOutput=e;const n=[];this.audioTrackPublications.forEach(r=>{var i;Tn(r.track)&&qd(r.track)&&n.push(r.track.setSinkId((i=e.deviceId)!==null&&i!==void 0?i:"default"))}),yield Promise.all(n)})}emit(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return this.log.trace("participant event",Object.assign(Object.assign({},this.logContext),{event:e,args:r})),super.emit(e,...r)}}var ie;(function(t){t.Disconnected="disconnected",t.Connecting="connecting",t.Connected="connected",t.Reconnecting="reconnecting",t.SignalReconnecting="signalReconnecting"})(ie||(ie={}));const Ux=4*1e3;class Ai extends on.EventEmitter{constructor(e){var n,r,i,s;if(super(),n=this,this.state=ie.Disconnected,this.activeSpeakers=[],this.isE2EEEnabled=!1,this.audioEnabled=!0,this.isVideoPlaybackBlocked=!1,this.log=X,this.bufferedEvents=[],this.isResuming=!1,this.byteStreamControllers=new Map,this.textStreamControllers=new Map,this.byteStreamHandlers=new Map,this.textStreamHandlers=new Map,this.rpcHandlers=new Map,this.connect=(o,a,l)=>S(this,void 0,void 0,function*(){var c;if(!I2())throw an()?Error("WebRTC isn't detected, have you called registerGlobals?"):Error("LiveKit doesn't seem to be supported on this browser. Try to update your browser and make sure no browser extensions are disabling webRTC.");const u=yield this.disconnectLock.lock();if(this.state===ie.Connected)return this.log.info("already connected to room ".concat(this.name),this.logContext),u(),Promise.resolve();if(this.connectFuture)return u(),this.connectFuture.promise;this.setAndEmitConnectionState(ie.Connecting),((c=this.regionUrlProvider)===null||c===void 0?void 0:c.getServerUrl().toString())!==o&&(this.regionUrl=void 0,this.regionUrlProvider=void 0),Bd(new URL(o))&&(this.regionUrlProvider===void 0?this.regionUrlProvider=new df(o,a):this.regionUrlProvider.updateToken(a),this.regionUrlProvider.fetchRegionSettings().then(h=>{var v;(v=this.regionUrlProvider)===null||v===void 0||v.setServerReportedRegions(h)}).catch(h=>{this.log.warn("could not fetch region settings",Object.assign(Object.assign({},this.logContext),{error:h}))}));const d=(h,v,y)=>S(this,void 0,void 0,function*(){var T,m;this.abortController&&this.abortController.abort();const b=new AbortController;this.abortController=b,u==null||u();try{yield this.attemptConnection(y??o,a,l,b),this.abortController=void 0,h()}catch(p){if(this.regionUrlProvider&&p instanceof he&&p.reason!==te.Cancelled&&p.reason!==te.NotAllowed){let k=null;try{k=yield this.regionUrlProvider.getNextBestRegionUrl((T=this.abortController)===null||T===void 0?void 0:T.signal)}catch(C){if(C instanceof he&&(C.status===401||C.reason===te.Cancelled)){this.handleDisconnect(this.options.stopLocalTrackOnUnpublish),v(C);return}}k&&!(!((m=this.abortController)===null||m===void 0)&&m.signal.aborted)?(this.log.info("Initial connection failed with ConnectionError: ".concat(p.message,". Retrying with another region: ").concat(k),this.logContext),this.recreateEngine(),yield d(h,v,k)):(this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,dy(p)),v(p))}else{let k=Vt.UNKNOWN_REASON;p instanceof he&&(k=dy(p)),this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,k),v(p)}}}),f=this.regionUrl;return this.regionUrl=void 0,this.connectFuture=new uy((h,v)=>{d(h,v,f)},()=>{this.clearConnectionFutures()}),this.connectFuture.promise}),this.connectSignal=(o,a,l,c,u,d)=>S(this,void 0,void 0,function*(){var f,h,v;const y=yield l.join(o,a,{autoSubscribe:c.autoSubscribe,adaptiveStream:typeof u.adaptiveStream=="object"?!0:u.adaptiveStream,maxRetries:c.maxRetries,e2eeEnabled:!!this.e2eeManager,websocketTimeout:c.websocketTimeout},d.signal);let T=y.serverInfo;if(T||(T={version:y.serverVersion,region:y.serverRegion}),this.serverInfo=T,this.log.debug("connected to Livekit Server ".concat(Object.entries(T).map(m=>{let[b,p]=m;return"".concat(b,": ").concat(p)}).join(", ")),{room:(f=y.room)===null||f===void 0?void 0:f.name,roomSid:(h=y.room)===null||h===void 0?void 0:h.sid,identity:(v=y.participant)===null||v===void 0?void 0:v.identity}),!T.version)throw new p2("unknown server version");return T.version==="0.15.1"&&this.options.dynacast&&(this.log.debug("disabling dynacast due to server version",this.logContext),u.dynacast=!1),y}),this.applyJoinResponse=o=>{const a=o.participant;if(this.localParticipant.sid=a.sid,this.localParticipant.identity=a.identity,this.localParticipant.setEnabledPublishCodecs(o.enabledPublishCodecs),this.options.e2ee&&this.e2eeManager)try{this.e2eeManager.setSifTrailer(o.sifTrailer)}catch(l){this.log.error(l instanceof Error?l.message:"Could not set SifTrailer",Object.assign(Object.assign({},this.logContext),{error:l}))}this.handleParticipantUpdates([a,...o.otherParticipants]),o.room&&this.handleRoomUpdate(o.room)},this.attemptConnection=(o,a,l,c)=>S(this,void 0,void 0,function*(){var u,d;this.state===ie.Reconnecting||this.isResuming||!((u=this.engine)===null||u===void 0)&&u.pendingReconnect?(this.log.info("Reconnection attempt replaced by new connection attempt",this.logContext),this.recreateEngine()):this.maybeCreateEngine(),!((d=this.regionUrlProvider)===null||d===void 0)&&d.isCloud()&&this.engine.setRegionUrlProvider(this.regionUrlProvider),this.acquireAudioContext(),this.connOptions=Object.assign(Object.assign({},rf),l),this.connOptions.rtcConfig&&(this.engine.rtcConfig=this.connOptions.rtcConfig),this.connOptions.peerConnectionTimeout&&(this.engine.peerConnectionTimeout=this.connOptions.peerConnectionTimeout);try{const f=yield this.connectSignal(o,a,this.engine,this.connOptions,this.options,c);this.applyJoinResponse(f),this.setupLocalParticipantEvents(),this.emit(A.SignalConnected)}catch(f){yield this.engine.close(),this.recreateEngine();const h=new he("could not establish signal connection",te.ServerUnreachable);throw f instanceof Error&&(h.message="".concat(h.message,": ").concat(f.message)),f instanceof he&&(h.reason=f.reason,h.status=f.status),this.log.debug("error trying to establish signal connection",Object.assign(Object.assign({},this.logContext),{error:f})),h}if(c.signal.aborted)throw yield this.engine.close(),this.recreateEngine(),new he("Connection attempt aborted",te.Cancelled);try{yield this.engine.waitForPCInitialConnection(this.connOptions.peerConnectionTimeout,c)}catch(f){throw yield this.engine.close(),this.recreateEngine(),f}pt()&&this.options.disconnectOnPageLeave&&(window.addEventListener("pagehide",this.onPageLeave),window.addEventListener("beforeunload",this.onPageLeave)),pt()&&document.addEventListener("freeze",this.onPageLeave),this.setAndEmitConnectionState(ie.Connected),this.emit(A.Connected),this.registerConnectionReconcile()}),this.disconnect=function(){for(var o=arguments.length,a=new Array(o),l=0;l<o;l++)a[l]=arguments[l];return S(n,[...a],void 0,function(){var c=this;let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return function*(){var d,f,h,v;const y=yield c.disconnectLock.lock();try{if(c.state===ie.Disconnected){c.log.debug("already disconnected",c.logContext);return}c.log.info("disconnect from room",Object.assign({},c.logContext)),(c.state===ie.Connecting||c.state===ie.Reconnecting||c.isResuming)&&(c.log.warn("abort connection attempt",c.logContext),(d=c.abortController)===null||d===void 0||d.abort(),(h=(f=c.connectFuture)===null||f===void 0?void 0:f.reject)===null||h===void 0||h.call(f,new he("Client initiated disconnect",te.Cancelled)),c.connectFuture=void 0),!((v=c.engine)===null||v===void 0)&&v.client.isDisconnected||(yield c.engine.client.sendLeave()),c.engine&&(yield c.engine.close()),c.handleDisconnect(u,Vt.CLIENT_INITIATED),c.engine=void 0}finally{y()}}()})},this.onPageLeave=()=>S(this,void 0,void 0,function*(){this.log.info("Page leave detected, disconnecting",this.logContext),yield this.disconnect()}),this.startAudio=()=>S(this,void 0,void 0,function*(){const o=[],a=$t();if(a&&a.os==="iOS"){const l="livekit-dummy-audio-el";let c=document.getElementById(l);if(!c){c=document.createElement("audio"),c.id=l,c.autoplay=!0,c.hidden=!0;const u=Hd();u.enabled=!0;const d=new MediaStream([u]);c.srcObject=d,document.addEventListener("visibilitychange",()=>{c&&(c.srcObject=document.hidden?null:d,document.hidden||(this.log.debug("page visible again, triggering startAudio to resume playback and update playback status",this.logContext),this.startAudio()))}),document.body.append(c),this.once(A.Disconnected,()=>{c==null||c.remove(),c=null})}o.push(c)}this.remoteParticipants.forEach(l=>{l.audioTrackPublications.forEach(c=>{c.track&&c.track.attachedElements.forEach(u=>{o.push(u)})})});try{yield Promise.all([this.acquireAudioContext(),...o.map(l=>(l.muted=!1,l.play()))]),this.handleAudioPlaybackStarted()}catch(l){throw this.handleAudioPlaybackFailed(l),l}}),this.startVideo=()=>S(this,void 0,void 0,function*(){const o=[];for(const a of this.remoteParticipants.values())a.videoTrackPublications.forEach(l=>{var c;(c=l.track)===null||c===void 0||c.attachedElements.forEach(u=>{o.includes(u)||o.push(u)})});yield Promise.all(o.map(a=>a.play())).then(()=>{this.handleVideoPlaybackStarted()}).catch(a=>{a.name==="NotAllowedError"?this.handleVideoPlaybackFailed():this.log.warn("Resuming video playback failed, make sure you call `startVideo` directly in a user gesture handler",this.logContext)})}),this.handleRestarting=()=>{this.clearConnectionReconcile(),this.isResuming=!1;for(const o of this.remoteParticipants.values())this.handleParticipantDisconnected(o.identity,o);this.setAndEmitConnectionState(ie.Reconnecting)&&this.emit(A.Reconnecting)},this.handleSignalRestarted=o=>S(this,void 0,void 0,function*(){this.log.debug("signal reconnected to server, region ".concat(o.serverRegion),Object.assign(Object.assign({},this.logContext),{region:o.serverRegion})),this.bufferedEvents=[],this.applyJoinResponse(o);try{yield this.localParticipant.republishAllTracks(void 0,!0)}catch(a){this.log.error("error trying to re-publish tracks after reconnection",Object.assign(Object.assign({},this.logContext),{error:a}))}try{yield this.engine.waitForRestarted(),this.log.debug("fully reconnected to server",Object.assign(Object.assign({},this.logContext),{region:o.serverRegion}))}catch{return}this.setAndEmitConnectionState(ie.Connected),this.emit(A.Reconnected),this.registerConnectionReconcile(),this.emitBufferedEvents()}),this.handleParticipantUpdates=o=>{o.forEach(a=>{var l;if(a.identity===this.localParticipant.identity){this.localParticipant.updateInfo(a);return}a.identity===""&&(a.identity=(l=this.sidToIdentity.get(a.sid))!==null&&l!==void 0?l:"");let c=this.remoteParticipants.get(a.identity);a.state===od.DISCONNECTED?this.handleParticipantDisconnected(a.identity,c):c=this.getOrCreateParticipant(a.identity,a)})},this.handleActiveSpeakersUpdate=o=>{const a=[],l={};o.forEach(c=>{if(l[c.sid]=!0,c.sid===this.localParticipant.sid)this.localParticipant.audioLevel=c.level,this.localParticipant.setIsSpeaking(!0),a.push(this.localParticipant);else{const u=this.getRemoteParticipantBySid(c.sid);u&&(u.audioLevel=c.level,u.setIsSpeaking(!0),a.push(u))}}),l[this.localParticipant.sid]||(this.localParticipant.audioLevel=0,this.localParticipant.setIsSpeaking(!1)),this.remoteParticipants.forEach(c=>{l[c.sid]||(c.audioLevel=0,c.setIsSpeaking(!1))}),this.activeSpeakers=a,this.emitWhenConnected(A.ActiveSpeakersChanged,a)},this.handleSpeakersChanged=o=>{const a=new Map;this.activeSpeakers.forEach(c=>{const u=this.remoteParticipants.get(c.identity);u&&u.sid!==c.sid||a.set(c.sid,c)}),o.forEach(c=>{let u=this.getRemoteParticipantBySid(c.sid);c.sid===this.localParticipant.sid&&(u=this.localParticipant),u&&(u.audioLevel=c.level,u.setIsSpeaking(c.active),c.active?a.set(c.sid,u):a.delete(c.sid))});const l=Array.from(a.values());l.sort((c,u)=>u.audioLevel-c.audioLevel),this.activeSpeakers=l,this.emitWhenConnected(A.ActiveSpeakersChanged,l)},this.handleStreamStateUpdate=o=>{o.streamStates.forEach(a=>{const l=this.getRemoteParticipantBySid(a.participantSid);if(!l)return;const c=l.getTrackPublicationBySid(a.trackSid);if(!c||!c.track)return;const u=L.streamStateFromProto(a.state);u!==c.track.streamState&&(c.track.streamState=u,l.emit(B.TrackStreamStateChanged,c,c.track.streamState),this.emitWhenConnected(A.TrackStreamStateChanged,c,c.track.streamState,l))})},this.handleSubscriptionPermissionUpdate=o=>{const a=this.getRemoteParticipantBySid(o.participantSid);if(!a)return;const l=a.getTrackPublicationBySid(o.trackSid);l&&l.setAllowed(o.allowed)},this.handleSubscriptionError=o=>{const a=Array.from(this.remoteParticipants.values()).find(c=>c.trackPublications.has(o.trackSid));if(!a)return;const l=a.getTrackPublicationBySid(o.trackSid);l&&l.setSubscriptionError(o.err)},this.handleDataPacket=o=>{const a=this.remoteParticipants.get(o.participantIdentity);if(o.value.case==="user")this.handleUserPacket(a,o.value.value,o.kind);else if(o.value.case==="transcription")this.handleTranscription(a,o.value.value);else if(o.value.case==="sipDtmf")this.handleSipDtmf(a,o.value.value);else if(o.value.case==="chatMessage")this.handleChatMessage(a,o.value.value);else if(o.value.case==="metrics")this.handleMetrics(o.value.value,a);else if(o.value.case==="streamHeader")this.handleStreamHeader(o.value.value,o.participantIdentity);else if(o.value.case==="streamChunk")this.handleStreamChunk(o.value.value);else if(o.value.case==="streamTrailer")this.handleStreamTrailer(o.value.value);else if(o.value.case==="rpcRequest"){const l=o.value.value;this.handleIncomingRpcRequest(o.participantIdentity,l.id,l.method,l.payload,l.responseTimeoutMs,l.version)}},this.handleUserPacket=(o,a,l)=>{this.emit(A.DataReceived,a.payload,o,l,a.topic),o==null||o.emit(B.DataReceived,a.payload,l)},this.handleSipDtmf=(o,a)=>{this.emit(A.SipDTMFReceived,a,o),o==null||o.emit(B.SipDTMFReceived,a)},this.bufferedSegments=new Map,this.handleTranscription=(o,a)=>{const l=a.transcribedParticipantIdentity===this.localParticipant.identity?this.localParticipant:this.getParticipantByIdentity(a.transcribedParticipantIdentity),c=l==null?void 0:l.trackPublications.get(a.trackId),u=j2(a,this.transcriptionReceivedTimes);c==null||c.emit(j.TranscriptionReceived,u),l==null||l.emit(B.TranscriptionReceived,u,c),this.emit(A.TranscriptionReceived,u,l,c)},this.handleChatMessage=(o,a)=>{const l=U2(a);this.emit(A.ChatMessage,l,o)},this.handleMetrics=(o,a)=>{this.emit(A.MetricsReceived,o,a)},this.handleAudioPlaybackStarted=()=>{this.canPlaybackAudio||(this.audioEnabled=!0,this.emit(A.AudioPlaybackStatusChanged,!0))},this.handleAudioPlaybackFailed=o=>{this.log.warn("could not playback audio",Object.assign(Object.assign({},this.logContext),{error:o})),this.canPlaybackAudio&&(this.audioEnabled=!1,this.emit(A.AudioPlaybackStatusChanged,!1))},this.handleVideoPlaybackStarted=()=>{this.isVideoPlaybackBlocked&&(this.isVideoPlaybackBlocked=!1,this.emit(A.VideoPlaybackStatusChanged,!0))},this.handleVideoPlaybackFailed=()=>{this.isVideoPlaybackBlocked||(this.isVideoPlaybackBlocked=!0,this.emit(A.VideoPlaybackStatusChanged,!1))},this.handleDeviceChange=()=>S(this,void 0,void 0,function*(){var o,a;const l=Ve.getInstance().previousDevices,c=yield Ve.getInstance().getDevices(void 0,!1),u=$t();if((u==null?void 0:u.name)==="Chrome"&&u.os!=="iOS")for(let f of c){const h=l.find(v=>v.deviceId===f.deviceId);h&&h.label!==""&&h.kind===f.kind&&h.label!==f.label&&this.getActiveDevice(f.kind)==="default"&&this.emit(A.ActiveDeviceChanged,f.kind,f.deviceId)}const d=["audiooutput","audioinput","videoinput"];for(let f of d){const h=c.filter(y=>y.kind===f),v=this.getActiveDevice(f);if(v===((o=l.filter(y=>y.kind===f)[0])===null||o===void 0?void 0:o.deviceId)&&h.length>0&&((a=h[0])===null||a===void 0?void 0:a.deviceId)!==v){yield this.switchActiveDevice(f,h[0].deviceId);continue}f==="audioinput"&&!ir()||f==="videoinput"||h.length>0&&!h.find(y=>y.deviceId===this.getActiveDevice(f))&&(yield this.switchActiveDevice(f,h[0].deviceId))}this.emit(A.MediaDevicesChanged)}),this.handleRoomUpdate=o=>{const a=this.roomInfo;this.roomInfo=o,a&&a.metadata!==o.metadata&&this.emitWhenConnected(A.RoomMetadataChanged,o.metadata),(a==null?void 0:a.activeRecording)!==o.activeRecording&&this.emitWhenConnected(A.RecordingStatusChanged,o.activeRecording)},this.handleConnectionQualityUpdate=o=>{o.updates.forEach(a=>{if(a.participantSid===this.localParticipant.sid){this.localParticipant.setConnectionQuality(a.quality);return}const l=this.getRemoteParticipantBySid(a.participantSid);l&&l.setConnectionQuality(a.quality)})},this.onLocalParticipantMetadataChanged=o=>{this.emit(A.ParticipantMetadataChanged,o,this.localParticipant)},this.onLocalParticipantNameChanged=o=>{this.emit(A.ParticipantNameChanged,o,this.localParticipant)},this.onLocalAttributesChanged=o=>{this.emit(A.ParticipantAttributesChanged,o,this.localParticipant)},this.onLocalTrackMuted=o=>{this.emit(A.TrackMuted,o,this.localParticipant)},this.onLocalTrackUnmuted=o=>{this.emit(A.TrackUnmuted,o,this.localParticipant)},this.onTrackProcessorUpdate=o=>{var a;(a=o==null?void 0:o.onPublish)===null||a===void 0||a.call(o,this)},this.onLocalTrackPublished=o=>S(this,void 0,void 0,function*(){var a,l,c,u,d,f;(a=o.track)===null||a===void 0||a.on(j.TrackProcessorUpdate,this.onTrackProcessorUpdate),(l=o.track)===null||l===void 0||l.on(j.Restarted,this.onLocalTrackRestarted),(d=(u=(c=o.track)===null||c===void 0?void 0:c.getProcessor())===null||u===void 0?void 0:u.onPublish)===null||d===void 0||d.call(u,this),this.emit(A.LocalTrackPublished,o,this.localParticipant),Ar(o.track)&&(yield o.track.checkForSilence())&&this.emit(A.LocalAudioSilenceDetected,o);const h=yield(f=o.track)===null||f===void 0?void 0:f.getDeviceId(!1),v=my(o.source);v&&h&&h!==this.localParticipant.activeDeviceMap.get(v)&&(this.localParticipant.activeDeviceMap.set(v,h),this.emit(A.ActiveDeviceChanged,v,h))}),this.onLocalTrackUnpublished=o=>{var a,l;(a=o.track)===null||a===void 0||a.off(j.TrackProcessorUpdate,this.onTrackProcessorUpdate),(l=o.track)===null||l===void 0||l.off(j.Restarted,this.onLocalTrackRestarted),this.emit(A.LocalTrackUnpublished,o,this.localParticipant)},this.onLocalTrackRestarted=o=>S(this,void 0,void 0,function*(){const a=yield o.getDeviceId(!1),l=my(o.source);l&&a&&a!==this.localParticipant.activeDeviceMap.get(l)&&(this.log.debug("local track restarted, setting ".concat(l," ").concat(a," active"),this.logContext),this.localParticipant.activeDeviceMap.set(l,a),this.emit(A.ActiveDeviceChanged,l,a))}),this.onLocalConnectionQualityChanged=o=>{this.emit(A.ConnectionQualityChanged,o,this.localParticipant)},this.onMediaDevicesError=o=>{this.emit(A.MediaDevicesError,o)},this.onLocalParticipantPermissionsChanged=o=>{this.emit(A.ParticipantPermissionsChanged,o,this.localParticipant)},this.onLocalChatMessageSent=o=>{this.emit(A.ChatMessage,o,this.localParticipant)},this.setMaxListeners(100),this.remoteParticipants=new Map,this.sidToIdentity=new Map,this.options=Object.assign(Object.assign({},lx),e),this.log=Sn((r=this.options.loggerName)!==null&&r!==void 0?r:Ht.Room),this.transcriptionReceivedTimes=new Map,this.options.audioCaptureDefaults=Object.assign(Object.assign({},xy),e==null?void 0:e.audioCaptureDefaults),this.options.videoCaptureDefaults=Object.assign(Object.assign({},Ey),e==null?void 0:e.videoCaptureDefaults),this.options.publishDefaults=Object.assign(Object.assign({},ax),e==null?void 0:e.publishDefaults),this.maybeCreateEngine(),this.disconnectLock=new Ct,this.localParticipant=new Ax("","",this.engine,this.options,this.rpcHandlers),this.options.videoCaptureDefaults.deviceId&&this.localParticipant.activeDeviceMap.set("videoinput",sr(this.options.videoCaptureDefaults.deviceId)),this.options.audioCaptureDefaults.deviceId&&this.localParticipant.activeDeviceMap.set("audioinput",sr(this.options.audioCaptureDefaults.deviceId)),!((i=this.options.audioOutput)===null||i===void 0)&&i.deviceId&&this.switchActiveDevice("audiooutput",sr(this.options.audioOutput.deviceId)).catch(o=>this.log.warn("Could not set audio output: ".concat(o.message),this.logContext)),this.options.e2ee&&this.setupE2EE(),pt()){const o=new AbortController;(s=navigator.mediaDevices)===null||s===void 0||s.addEventListener("devicechange",this.handleDeviceChange,{signal:o.signal}),Ai.cleanupRegistry&&Ai.cleanupRegistry.register(this,()=>{o.abort()})}}registerTextStreamHandler(e,n){if(this.textStreamHandlers.has(e))throw new TypeError('A text stream handler for topic "'.concat(e,'" has already been set.'));this.textStreamHandlers.set(e,n)}unregisterTextStreamHandler(e){this.textStreamHandlers.delete(e)}registerByteStreamHandler(e,n){if(this.byteStreamHandlers.has(e))throw new TypeError('A byte stream handler for topic "'.concat(e,'" has already been set.'));this.byteStreamHandlers.set(e,n)}unregisterByteStreamHandler(e){this.byteStreamHandlers.delete(e)}registerRpcMethod(e,n){if(this.rpcHandlers.has(e))throw Error("RPC handler already registered for method ".concat(e,", unregisterRpcMethod before trying to register again"));this.rpcHandlers.set(e,n)}unregisterRpcMethod(e){this.rpcHandlers.delete(e)}handleIncomingRpcRequest(e,n,r,i,s,o){return S(this,void 0,void 0,function*(){if(yield this.engine.publishRpcAck(e,n),o!==1){yield this.engine.publishRpcResponse(e,n,null,_e.builtIn("UNSUPPORTED_VERSION"));return}const a=this.rpcHandlers.get(r);if(!a){yield this.engine.publishRpcResponse(e,n,null,_e.builtIn("UNSUPPORTED_METHOD"));return}let l=null,c=null;try{const u=yield a({requestId:n,callerIdentity:e,payload:i,responseTimeout:s});sf(u)>Py?(l=_e.builtIn("RESPONSE_PAYLOAD_TOO_LARGE"),console.warn("RPC Response payload too large for ".concat(r))):c=u}catch(u){u instanceof _e?l=u:(console.warn("Uncaught error returned by RPC handler for ".concat(r,". Returning APPLICATION_ERROR instead."),u),l=_e.builtIn("APPLICATION_ERROR"))}yield this.engine.publishRpcResponse(e,n,c,l)})}setE2EEEnabled(e){return S(this,void 0,void 0,function*(){if(this.e2eeManager)yield Promise.all([this.localParticipant.setE2EEEnabled(e)]),this.localParticipant.identity!==""&&this.e2eeManager.setParticipantCryptorEnabled(e,this.localParticipant.identity);else throw Error("e2ee not configured, please set e2ee settings within the room options")})}setupE2EE(){var e;this.options.e2ee&&("e2eeManager"in this.options.e2ee?this.e2eeManager=this.options.e2ee.e2eeManager:this.e2eeManager=new G2(this.options.e2ee),this.e2eeManager.on(nr.ParticipantEncryptionStatusChanged,(n,r)=>{B2(r)&&(this.isE2EEEnabled=n),this.emit(A.ParticipantEncryptionStatusChanged,n,r)}),this.e2eeManager.on(nr.EncryptionError,n=>this.emit(A.EncryptionError,n)),(e=this.e2eeManager)===null||e===void 0||e.setup(this))}get logContext(){var e;return{room:this.name,roomID:(e=this.roomInfo)===null||e===void 0?void 0:e.sid,participant:this.localParticipant.identity,pID:this.localParticipant.sid}}get isRecording(){var e,n;return(n=(e=this.roomInfo)===null||e===void 0?void 0:e.activeRecording)!==null&&n!==void 0?n:!1}getSid(){return S(this,void 0,void 0,function*(){return this.state===ie.Disconnected?"":this.roomInfo&&this.roomInfo.sid!==""?this.roomInfo.sid:new Promise((e,n)=>{const r=i=>{i.sid!==""&&(this.engine.off(F.RoomUpdate,r),e(i.sid))};this.engine.on(F.RoomUpdate,r),this.once(A.Disconnected,()=>{this.engine.off(F.RoomUpdate,r),n("Room disconnected before room server id was available")})})})}get name(){var e,n;return(n=(e=this.roomInfo)===null||e===void 0?void 0:e.name)!==null&&n!==void 0?n:""}get metadata(){var e;return(e=this.roomInfo)===null||e===void 0?void 0:e.metadata}get numParticipants(){var e,n;return(n=(e=this.roomInfo)===null||e===void 0?void 0:e.numParticipants)!==null&&n!==void 0?n:0}get numPublishers(){var e,n;return(n=(e=this.roomInfo)===null||e===void 0?void 0:e.numPublishers)!==null&&n!==void 0?n:0}maybeCreateEngine(){this.engine&&!this.engine.isClosed||(this.engine=new wx(this.options),this.engine.on(F.ParticipantUpdate,this.handleParticipantUpdates).on(F.RoomUpdate,this.handleRoomUpdate).on(F.SpeakersChanged,this.handleSpeakersChanged).on(F.StreamStateChanged,this.handleStreamStateUpdate).on(F.ConnectionQualityUpdate,this.handleConnectionQualityUpdate).on(F.SubscriptionError,this.handleSubscriptionError).on(F.SubscriptionPermissionUpdate,this.handleSubscriptionPermissionUpdate).on(F.MediaTrackAdded,(e,n,r)=>{this.onTrackAdded(e,n,r)}).on(F.Disconnected,e=>{this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,e)}).on(F.ActiveSpeakersUpdate,this.handleActiveSpeakersUpdate).on(F.DataPacketReceived,this.handleDataPacket).on(F.Resuming,()=>{this.clearConnectionReconcile(),this.isResuming=!0,this.log.info("Resuming signal connection",this.logContext),this.setAndEmitConnectionState(ie.SignalReconnecting)&&this.emit(A.SignalReconnecting)}).on(F.Resumed,()=>{this.registerConnectionReconcile(),this.isResuming=!1,this.log.info("Resumed signal connection",this.logContext),this.updateSubscriptions(),this.emitBufferedEvents(),this.setAndEmitConnectionState(ie.Connected)&&this.emit(A.Reconnected)}).on(F.SignalResumed,()=>{this.bufferedEvents=[],(this.state===ie.Reconnecting||this.isResuming)&&this.sendSyncState()}).on(F.Restarting,this.handleRestarting).on(F.SignalRestarted,this.handleSignalRestarted).on(F.Offline,()=>{this.setAndEmitConnectionState(ie.Reconnecting)&&this.emit(A.Reconnecting)}).on(F.DCBufferStatusChanged,(e,n)=>{this.emit(A.DCBufferStatusChanged,e,n)}).on(F.LocalTrackSubscribed,e=>{const n=this.localParticipant.getTrackPublications().find(r=>{let{trackSid:i}=r;return i===e});if(!n){this.log.warn("could not find local track subscription for subscribed event",this.logContext);return}this.localParticipant.emit(B.LocalTrackSubscribed,n),this.emitWhenConnected(A.LocalTrackSubscribed,n,this.localParticipant)}),this.localParticipant&&this.localParticipant.setupEngine(this.engine),this.e2eeManager&&this.e2eeManager.setupEngine(this.engine))}static getLocalDevices(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Ve.getInstance().getDevices(e,n)}prepareConnection(e,n){return S(this,void 0,void 0,function*(){if(this.state===ie.Disconnected){this.log.debug("prepareConnection to ".concat(e),this.logContext);try{if(Bd(new URL(e))&&n){this.regionUrlProvider=new df(e,n);const r=yield this.regionUrlProvider.getNextBestRegionUrl();r&&this.state===ie.Disconnected&&(this.regionUrl=r,yield fetch($d(r),{method:"HEAD"}),this.log.debug("prepared connection to ".concat(r),this.logContext))}else yield fetch($d(e),{method:"HEAD"})}catch(r){this.log.warn("could not prepare connection",Object.assign(Object.assign({},this.logContext),{error:r}))}}})}getParticipantByIdentity(e){return this.localParticipant.identity===e?this.localParticipant:this.remoteParticipants.get(e)}clearConnectionFutures(){this.connectFuture=void 0}simulateScenario(e,n){return S(this,void 0,void 0,function*(){let r=()=>{},i;switch(e){case"signal-reconnect":yield this.engine.client.handleOnClose("simulate disconnect");break;case"speaker":i=new sn({scenario:{case:"speakerUpdate",value:3}});break;case"node-failure":i=new sn({scenario:{case:"nodeFailure",value:!0}});break;case"server-leave":i=new sn({scenario:{case:"serverLeave",value:!0}});break;case"migration":i=new sn({scenario:{case:"migration",value:!0}});break;case"resume-reconnect":this.engine.failNext(),yield this.engine.client.handleOnClose("simulate resume-disconnect");break;case"disconnect-signal-on-resume":r=()=>S(this,void 0,void 0,function*(){yield this.engine.client.handleOnClose("simulate resume-disconnect")}),i=new sn({scenario:{case:"disconnectSignalOnResume",value:!0}});break;case"disconnect-signal-on-resume-no-messages":r=()=>S(this,void 0,void 0,function*(){yield this.engine.client.handleOnClose("simulate resume-disconnect")}),i=new sn({scenario:{case:"disconnectSignalOnResumeNoMessages",value:!0}});break;case"full-reconnect":this.engine.fullReconnectOnNext=!0,yield this.engine.client.handleOnClose("simulate full-reconnect");break;case"force-tcp":case"force-tls":i=new sn({scenario:{case:"switchCandidateProtocol",value:e==="force-tls"?2:1}}),r=()=>S(this,void 0,void 0,function*(){const s=this.engine.client.onLeave;s&&s(new Ga({reason:Vt.CLIENT_INITIATED,action:Pi.RECONNECT}))});break;case"subscriber-bandwidth":if(n===void 0||typeof n!="number")throw new Error("subscriber-bandwidth requires a number as argument");i=new sn({scenario:{case:"subscriberBandwidth",value:Dr(n)}});break;case"leave-full-reconnect":i=new sn({scenario:{case:"leaveRequestFullReconnect",value:!0}})}i&&(yield this.engine.client.sendSimulateScenario(i),yield r())})}get canPlaybackAudio(){return this.audioEnabled}get canPlaybackVideo(){return!this.isVideoPlaybackBlocked}getActiveDevice(e){return this.localParticipant.activeDeviceMap.get(e)}switchActiveDevice(e,n){return S(this,arguments,void 0,function(r,i){var s=this;let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return function*(){var a,l,c,u,d,f,h,v;let y=!0,T=!1;const m=o?{exact:i}:i;if(r==="audioinput"){T=s.localParticipant.audioTrackPublications.size===0;const b=(a=s.getActiveDevice(r))!==null&&a!==void 0?a:s.options.audioCaptureDefaults.deviceId;s.options.audioCaptureDefaults.deviceId=m;const p=Array.from(s.localParticipant.audioTrackPublications.values()).filter(k=>k.source===L.Source.Microphone);try{y=(yield Promise.all(p.map(k=>{var C;return(C=k.audioTrack)===null||C===void 0?void 0:C.setDeviceId(m)}))).every(k=>k===!0)}catch(k){throw s.options.audioCaptureDefaults.deviceId=b,k}}else if(r==="videoinput"){T=s.localParticipant.videoTrackPublications.size===0;const b=(l=s.getActiveDevice(r))!==null&&l!==void 0?l:s.options.videoCaptureDefaults.deviceId;s.options.videoCaptureDefaults.deviceId=m;const p=Array.from(s.localParticipant.videoTrackPublications.values()).filter(k=>k.source===L.Source.Camera);try{y=(yield Promise.all(p.map(k=>{var C;return(C=k.videoTrack)===null||C===void 0?void 0:C.setDeviceId(m)}))).every(k=>k===!0)}catch(k){throw s.options.videoCaptureDefaults.deviceId=b,k}}else if(r==="audiooutput"){if(!Fd()&&!s.options.webAudioMix||s.options.webAudioMix&&s.audioContext&&!("setSinkId"in s.audioContext))throw new Error("cannot switch audio output, setSinkId not supported");s.options.webAudioMix&&(i=(c=yield Ve.getInstance().normalizeDeviceId("audiooutput",i))!==null&&c!==void 0?c:""),(u=(v=s.options).audioOutput)!==null&&u!==void 0||(v.audioOutput={});const b=(d=s.getActiveDevice(r))!==null&&d!==void 0?d:s.options.audioOutput.deviceId;s.options.audioOutput.deviceId=i;try{s.options.webAudioMix&&((f=s.audioContext)===null||f===void 0||f.setSinkId(i)),yield Promise.all(Array.from(s.remoteParticipants.values()).map(p=>p.setAudioOutput({deviceId:i})))}catch(p){throw s.options.audioOutput.deviceId=b,p}}return(T||r==="audiooutput")&&(s.localParticipant.activeDeviceMap.set(r,r==="audiooutput"&&((h=s.options.audioOutput)===null||h===void 0?void 0:h.deviceId)||i),s.emit(A.ActiveDeviceChanged,r,i)),y}()})}setupLocalParticipantEvents(){this.localParticipant.on(B.ParticipantMetadataChanged,this.onLocalParticipantMetadataChanged).on(B.ParticipantNameChanged,this.onLocalParticipantNameChanged).on(B.AttributesChanged,this.onLocalAttributesChanged).on(B.TrackMuted,this.onLocalTrackMuted).on(B.TrackUnmuted,this.onLocalTrackUnmuted).on(B.LocalTrackPublished,this.onLocalTrackPublished).on(B.LocalTrackUnpublished,this.onLocalTrackUnpublished).on(B.ConnectionQualityChanged,this.onLocalConnectionQualityChanged).on(B.MediaDevicesError,this.onMediaDevicesError).on(B.AudioStreamAcquired,this.startAudio).on(B.ChatMessage,this.onLocalChatMessageSent).on(B.ParticipantPermissionsChanged,this.onLocalParticipantPermissionsChanged)}recreateEngine(){var e;(e=this.engine)===null||e===void 0||e.close(),this.engine=void 0,this.isResuming=!1,this.remoteParticipants.clear(),this.sidToIdentity.clear(),this.bufferedEvents=[],this.maybeCreateEngine()}onTrackAdded(e,n,r){if(this.state===ie.Connecting||this.state===ie.Reconnecting){const u=()=>{this.onTrackAdded(e,n,r),d()},d=()=>{this.off(A.Reconnected,u),this.off(A.Connected,u),this.off(A.Disconnected,d)};this.once(A.Reconnected,u),this.once(A.Connected,u),this.once(A.Disconnected,d);return}if(this.state===ie.Disconnected){this.log.warn("skipping incoming track after Room disconnected",this.logContext);return}if(e.readyState==="ended"){this.log.info("skipping incoming track as it already ended",this.logContext);return}const i=P2(n.id),s=i[0];let o=i[1],a=e.id;if(o&&o.startsWith("TR")&&(a=o),s===this.localParticipant.sid){this.log.warn("tried to create RemoteParticipant for local participant",this.logContext);return}const l=Array.from(this.remoteParticipants.values()).find(u=>u.sid===s);if(!l){this.log.error("Tried to add a track for a participant, that's not present. Sid: ".concat(s),this.logContext);return}let c;this.options.adaptiveStream&&(typeof this.options.adaptiveStream=="object"?c=this.options.adaptiveStream:c={}),l.addSubscribedMediaTrack(e,a,n,r,c)}handleDisconnect(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,n=arguments.length>1?arguments[1]:void 0;var r;if(this.clearConnectionReconcile(),this.isResuming=!1,this.bufferedEvents=[],this.transcriptionReceivedTimes.clear(),this.state!==ie.Disconnected){this.regionUrl=void 0;try{this.remoteParticipants.forEach(i=>{i.trackPublications.forEach(s=>{i.unpublishTrack(s.trackSid)})}),this.localParticipant.trackPublications.forEach(i=>{var s,o,a;i.track&&this.localParticipant.unpublishTrack(i.track,e),e?((s=i.track)===null||s===void 0||s.detach(),(o=i.track)===null||o===void 0||o.stop()):(a=i.track)===null||a===void 0||a.stopMonitor()}),this.localParticipant.off(B.ParticipantMetadataChanged,this.onLocalParticipantMetadataChanged).off(B.ParticipantNameChanged,this.onLocalParticipantNameChanged).off(B.AttributesChanged,this.onLocalAttributesChanged).off(B.TrackMuted,this.onLocalTrackMuted).off(B.TrackUnmuted,this.onLocalTrackUnmuted).off(B.LocalTrackPublished,this.onLocalTrackPublished).off(B.LocalTrackUnpublished,this.onLocalTrackUnpublished).off(B.ConnectionQualityChanged,this.onLocalConnectionQualityChanged).off(B.MediaDevicesError,this.onMediaDevicesError).off(B.AudioStreamAcquired,this.startAudio).off(B.ChatMessage,this.onLocalChatMessageSent).off(B.ParticipantPermissionsChanged,this.onLocalParticipantPermissionsChanged),this.localParticipant.trackPublications.clear(),this.localParticipant.videoTrackPublications.clear(),this.localParticipant.audioTrackPublications.clear(),this.remoteParticipants.clear(),this.sidToIdentity.clear(),this.activeSpeakers=[],this.audioContext&&typeof this.options.webAudioMix=="boolean"&&(this.audioContext.close(),this.audioContext=void 0),pt()&&(window.removeEventListener("beforeunload",this.onPageLeave),window.removeEventListener("pagehide",this.onPageLeave),window.removeEventListener("freeze",this.onPageLeave),(r=navigator.mediaDevices)===null||r===void 0||r.removeEventListener("devicechange",this.handleDeviceChange))}finally{this.setAndEmitConnectionState(ie.Disconnected),this.emit(A.Disconnected,n)}}}handleParticipantDisconnected(e,n){var r;this.remoteParticipants.delete(e),n&&(n.trackPublications.forEach(i=>{n.unpublishTrack(i.trackSid,!0)}),this.emit(A.ParticipantDisconnected,n),(r=this.localParticipant)===null||r===void 0||r.handleParticipantDisconnected(n.identity))}handleStreamHeader(e,n){return S(this,void 0,void 0,function*(){var r;if(e.contentHeader.case==="byteHeader"){const i=this.byteStreamHandlers.get(e.topic);if(!i){this.log.debug("ignoring incoming byte stream due to no handler for topic",e.topic);return}let s;const o={id:e.streamId,name:(r=e.contentHeader.value.name)!==null&&r!==void 0?r:"unknown",mimeType:e.mimeType,size:e.totalLength?Number(e.totalLength):void 0,topic:e.topic,timestamp:ol(e.timestamp),attributes:e.attributes},a=new ReadableStream({start:l=>{s=l,this.byteStreamControllers.set(e.streamId,{info:o,controller:s,startTime:Date.now()})}});i(new Px(o,a,ol(e.totalLength)),{identity:n})}else if(e.contentHeader.case==="textHeader"){const i=this.textStreamHandlers.get(e.topic);if(!i){this.log.debug("ignoring incoming text stream due to no handler for topic",e.topic);return}let s;const o={id:e.streamId,mimeType:e.mimeType,size:e.totalLength?Number(e.totalLength):void 0,topic:e.topic,timestamp:Number(e.timestamp),attributes:e.attributes},a=new ReadableStream({start:l=>{s=l,this.textStreamControllers.set(e.streamId,{info:o,controller:s,startTime:Date.now()})}});i(new _x(o,a,ol(e.totalLength)),{identity:n})}})}handleStreamChunk(e){const n=this.byteStreamControllers.get(e.streamId);n&&e.content.length>0&&n.controller.enqueue(e);const r=this.textStreamControllers.get(e.streamId);r&&e.content.length>0&&r.controller.enqueue(e)}handleStreamTrailer(e){const n=this.textStreamControllers.get(e.streamId);n&&(n.info.attributes=Object.assign(Object.assign({},n.info.attributes),e.attributes),n.controller.close(),this.textStreamControllers.delete(e.streamId));const r=this.byteStreamControllers.get(e.streamId);r&&(r.info.attributes=Object.assign(Object.assign({},r.info.attributes),e.attributes),r.controller.close(),this.byteStreamControllers.delete(e.streamId))}acquireAudioContext(){return S(this,void 0,void 0,function*(){var e,n;if(typeof this.options.webAudioMix!="boolean"&&this.options.webAudioMix.audioContext?this.audioContext=this.options.webAudioMix.audioContext:(!this.audioContext||this.audioContext.state==="closed")&&(this.audioContext=(e=py())!==null&&e!==void 0?e:void 0),this.options.webAudioMix&&this.remoteParticipants.forEach(i=>i.setAudioContext(this.audioContext)),this.localParticipant.setAudioContext(this.audioContext),this.audioContext&&this.audioContext.state==="suspended")try{yield Promise.race([this.audioContext.resume(),ht(200)])}catch(i){this.log.warn("Could not resume audio context",Object.assign(Object.assign({},this.logContext),{error:i}))}const r=((n=this.audioContext)===null||n===void 0?void 0:n.state)==="running";r!==this.canPlaybackAudio&&(this.audioEnabled=r,this.emit(A.AudioPlaybackStatusChanged,r))})}createParticipant(e,n){var r;let i;return n?i=ml.fromParticipantInfo(this.engine.client,n,{loggerContextCb:()=>this.logContext,loggerName:this.options.loggerName}):i=new ml(this.engine.client,"",e,void 0,void 0,void 0,{loggerContextCb:()=>this.logContext,loggerName:this.options.loggerName}),this.options.webAudioMix&&i.setAudioContext(this.audioContext),!((r=this.options.audioOutput)===null||r===void 0)&&r.deviceId&&i.setAudioOutput(this.options.audioOutput).catch(s=>this.log.warn("Could not set audio output: ".concat(s.message),this.logContext)),i}getOrCreateParticipant(e,n){if(this.remoteParticipants.has(e)){const i=this.remoteParticipants.get(e);return n&&i.updateInfo(n)&&this.sidToIdentity.set(n.sid,n.identity),i}const r=this.createParticipant(e,n);return this.remoteParticipants.set(e,r),this.sidToIdentity.set(n.sid,n.identity),this.emitWhenConnected(A.ParticipantConnected,r),r.on(B.TrackPublished,i=>{this.emitWhenConnected(A.TrackPublished,i,r)}).on(B.TrackSubscribed,(i,s)=>{i.kind===L.Kind.Audio?(i.on(j.AudioPlaybackStarted,this.handleAudioPlaybackStarted),i.on(j.AudioPlaybackFailed,this.handleAudioPlaybackFailed)):i.kind===L.Kind.Video&&(i.on(j.VideoPlaybackFailed,this.handleVideoPlaybackFailed),i.on(j.VideoPlaybackStarted,this.handleVideoPlaybackStarted)),this.emit(A.TrackSubscribed,i,s,r)}).on(B.TrackUnpublished,i=>{this.emit(A.TrackUnpublished,i,r)}).on(B.TrackUnsubscribed,(i,s)=>{this.emit(A.TrackUnsubscribed,i,s,r)}).on(B.TrackMuted,i=>{this.emitWhenConnected(A.TrackMuted,i,r)}).on(B.TrackUnmuted,i=>{this.emitWhenConnected(A.TrackUnmuted,i,r)}).on(B.ParticipantMetadataChanged,i=>{this.emitWhenConnected(A.ParticipantMetadataChanged,i,r)}).on(B.ParticipantNameChanged,i=>{this.emitWhenConnected(A.ParticipantNameChanged,i,r)}).on(B.AttributesChanged,i=>{this.emitWhenConnected(A.ParticipantAttributesChanged,i,r)}).on(B.ConnectionQualityChanged,i=>{this.emitWhenConnected(A.ConnectionQualityChanged,i,r)}).on(B.ParticipantPermissionsChanged,i=>{this.emitWhenConnected(A.ParticipantPermissionsChanged,i,r)}).on(B.TrackSubscriptionStatusChanged,(i,s)=>{this.emitWhenConnected(A.TrackSubscriptionStatusChanged,i,s,r)}).on(B.TrackSubscriptionFailed,(i,s)=>{this.emit(A.TrackSubscriptionFailed,i,r,s)}).on(B.TrackSubscriptionPermissionChanged,(i,s)=>{this.emitWhenConnected(A.TrackSubscriptionPermissionChanged,i,s,r)}),n&&r.updateInfo(n),r}sendSyncState(){const e=Array.from(this.remoteParticipants.values()).reduce((r,i)=>(r.push(...i.getTrackPublications()),r),[]),n=this.localParticipant.getTrackPublications();this.engine.sendSyncState(e,n)}updateSubscriptions(){for(const e of this.remoteParticipants.values())for(const n of e.videoTrackPublications.values())n.isSubscribed&&F2(n)&&n.emitTrackUpdate()}getRemoteParticipantBySid(e){const n=this.sidToIdentity.get(e);if(n)return this.remoteParticipants.get(n)}registerConnectionReconcile(){this.clearConnectionReconcile();let e=0;this.connectionReconcileInterval=Ge.setInterval(()=>{!this.engine||this.engine.isClosed||!this.engine.verifyTransport()?(e++,this.log.warn("detected connection state mismatch",Object.assign(Object.assign({},this.logContext),{numFailures:e,engine:this.engine?{closed:this.engine.isClosed,transportsConnected:this.engine.verifyTransport()}:void 0})),e>=3&&(this.recreateEngine(),this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,Vt.STATE_MISMATCH))):e=0},Ux)}clearConnectionReconcile(){this.connectionReconcileInterval&&Ge.clearInterval(this.connectionReconcileInterval)}setAndEmitConnectionState(e){return e===this.state?!1:(this.state=e,this.emit(A.ConnectionStateChanged,this.state),!0)}emitBufferedEvents(){this.bufferedEvents.forEach(e=>{let[n,r]=e;this.emit(n,...r)}),this.bufferedEvents=[]}emitWhenConnected(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];if(this.state===ie.Reconnecting||this.isResuming||!this.engine||this.engine.pendingReconnect)this.bufferedEvents.push([e,r]);else if(this.state===ie.Connected)return this.emit(e,...r);return!1}simulateParticipants(e){return S(this,void 0,void 0,function*(){var n,r;const i=Object.assign({audio:!0,video:!0,useRealTracks:!1},e.publish),s=Object.assign({count:9,audio:!1,video:!0,aspectRatios:[1.66,1.7,1.3]},e.participants);if(this.handleDisconnect(),this.roomInfo=new sd({sid:"RM_SIMULATED",name:"simulated-room",emptyTimeout:0,maxParticipants:0,creationTime:ye.parse(new Date().getTime()),metadata:"",numParticipants:1,numPublishers:1,turnPassword:"",enabledCodecs:[],activeRecording:!1}),this.localParticipant.updateInfo(new zs({identity:"simulated-local",name:"local-name"})),this.setupLocalParticipantEvents(),this.emit(A.SignalConnected),this.emit(A.Connected),this.setAndEmitConnectionState(ie.Connected),i.video){const o=new pf(L.Kind.Video,new Ei({source:Me.CAMERA,sid:Math.floor(Math.random()*1e4).toString(),type:Bt.AUDIO,name:"video-dummy"}),new hl(i.useRealTracks?(yield window.navigator.mediaDevices.getUserMedia({video:!0})).getVideoTracks()[0]:cy(160*((n=s.aspectRatios[0])!==null&&n!==void 0?n:1),160,!0,!0),void 0,!1,{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext}),{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext});this.localParticipant.addTrackPublication(o),this.localParticipant.emit(B.LocalTrackPublished,o)}if(i.audio){const o=new pf(L.Kind.Audio,new Ei({source:Me.MICROPHONE,sid:Math.floor(Math.random()*1e4).toString(),type:Bt.AUDIO}),new dl(i.useRealTracks?(yield navigator.mediaDevices.getUserMedia({audio:!0})).getAudioTracks()[0]:Hd(),void 0,!1,this.audioContext,{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext}),{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext});this.localParticipant.addTrackPublication(o),this.localParticipant.emit(B.LocalTrackPublished,o)}for(let o=0;o<s.count-1;o+=1){let a=new zs({sid:Math.floor(Math.random()*1e4).toString(),identity:"simulated-".concat(o),state:od.ACTIVE,tracks:[],joinedAt:ye.parse(Date.now())});const l=this.getOrCreateParticipant(a.identity,a);if(s.video){const c=cy(160*((r=s.aspectRatios[o%s.aspectRatios.length])!==null&&r!==void 0?r:1),160,!1,!0),u=new Ei({source:Me.CAMERA,sid:Math.floor(Math.random()*1e4).toString(),type:Bt.AUDIO});l.addSubscribedMediaTrack(c,u.sid,new MediaStream([c]),new RTCRtpReceiver),a.tracks=[...a.tracks,u]}if(s.audio){const c=Hd(),u=new Ei({source:Me.MICROPHONE,sid:Math.floor(Math.random()*1e4).toString(),type:Bt.AUDIO});l.addSubscribedMediaTrack(c,u.sid,new MediaStream([c]),new RTCRtpReceiver),a.tracks=[...a.tracks,u]}l.updateInfo(a)}})}emit(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];if(e!==A.ActiveSpeakersChanged&&e!==A.TranscriptionReceived){const s=Vy(r).filter(o=>o!==void 0);this.log.debug("room event ".concat(e),Object.assign(Object.assign({},this.logContext),{event:e,args:s}))}return super.emit(e,...r)}}Ai.cleanupRegistry=typeof FinalizationRegistry<"u"&&new FinalizationRegistry(t=>{t()});function Vy(t){return t.map(e=>{if(e)return Array.isArray(e)?Vy(e):typeof e=="object"?"logContext"in e?e.logContext:void 0:e})}var Gt;(function(t){t[t.IDLE=0]="IDLE",t[t.RUNNING=1]="RUNNING",t[t.SKIPPED=2]="SKIPPED",t[t.SUCCESS=3]="SUCCESS",t[t.FAILED=4]="FAILED"})(Gt||(Gt={}));class cr extends on.EventEmitter{constructor(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};super(),this.status=Gt.IDLE,this.logs=[],this.options={},this.url=e,this.token=n,this.name=this.constructor.name,this.room=new Ai(r.roomOptions),this.connectOptions=r.connectOptions,this.options=r}run(e){return S(this,void 0,void 0,function*(){if(this.status!==Gt.IDLE)throw Error("check is running already");this.setStatus(Gt.RUNNING);try{yield this.perform()}catch(n){n instanceof Error&&(this.options.errorsAsWarnings?this.appendWarning(n.message):this.appendError(n.message))}return yield this.disconnect(),yield new Promise(n=>setTimeout(n,500)),this.status!==Gt.SKIPPED&&this.setStatus(this.isSuccess()?Gt.SUCCESS:Gt.FAILED),e&&e(),this.getInfo()})}isSuccess(){return!this.logs.some(e=>e.level==="error")}connect(e){return S(this,void 0,void 0,function*(){return this.room.state===ie.Connected?this.room:(e||(e=this.url),yield this.room.connect(e,this.token,this.connectOptions),this.room)})}disconnect(){return S(this,void 0,void 0,function*(){this.room&&this.room.state!==ie.Disconnected&&(yield this.room.disconnect(),yield new Promise(e=>setTimeout(e,500)))})}skip(){this.setStatus(Gt.SKIPPED)}switchProtocol(e){return S(this,void 0,void 0,function*(){let n=!1,r=!1;if(this.room.on(A.Reconnecting,()=>{n=!0}),this.room.once(A.Reconnected,()=>{r=!0}),this.room.simulateScenario("force-".concat(e)),yield new Promise(s=>setTimeout(s,1e3)),!n)return;const i=Date.now()+1e4;for(;Date.now()<i;){if(r)return;yield ht(100)}throw new Error("Could not reconnect using ".concat(e," protocol after 10 seconds"))})}appendMessage(e){this.logs.push({level:"info",message:e}),this.emit("update",this.getInfo())}appendWarning(e){this.logs.push({level:"warning",message:e}),this.emit("update",this.getInfo())}appendError(e){this.logs.push({level:"error",message:e}),this.emit("update",this.getInfo())}setStatus(e){this.status=e,this.emit("update",this.getInfo())}get engine(){var e;return(e=this.room)===null||e===void 0?void 0:e.engine}getInfo(){return{logs:this.logs,name:this.name,status:this.status,description:this.description}}}class Fx extends cr{get description(){return"Cloud regions"}perform(){return S(this,void 0,void 0,function*(){const e=new df(this.url,this.token);if(!e.isCloud()){this.skip();return}const n=[],r=new Set;for(let s=0;s<3;s++){const o=yield e.getNextBestRegionUrl();if(!o)break;if(r.has(o))continue;r.add(o);const a=yield this.checkCloudRegion(o);this.appendMessage("".concat(a.region," RTT: ").concat(a.rtt,"ms, duration: ").concat(a.duration,"ms")),n.push(a)}n.sort((s,o)=>(s.duration-o.duration)*.5+(s.rtt-o.rtt)*.5);const i=n[0];this.bestStats=i,this.appendMessage("best Cloud region: ".concat(i.region))})}getInfo(){const e=super.getInfo();return e.data=this.bestStats,e}checkCloudRegion(e){return S(this,void 0,void 0,function*(){var n,r;yield this.connect(e),this.options.protocol==="tcp"&&(yield this.switchProtocol("tcp"));const i=(n=this.room.serverInfo)===null||n===void 0?void 0:n.region;if(!i)throw new Error("Region not found");const s=yield this.room.localParticipant.streamText({topic:"test"}),o=1e3,l=1e6/o,c="A".repeat(o),u=Date.now();for(let v=0;v<l;v++)yield s.write(c);yield s.close();const d=Date.now(),f=yield(r=this.room.engine.pcManager)===null||r===void 0?void 0:r.publisher.getStats(),h={region:i,rtt:1e4,duration:d-u};return f==null||f.forEach(v=>{v.type==="candidate-pair"&&v.nominated&&(h.rtt=v.currentRoundTripTime*1e3)}),yield this.disconnect(),h})}}const mf=1e4;class Bx extends cr{get description(){return"Connection via UDP vs TCP"}perform(){return S(this,void 0,void 0,function*(){const e=yield this.checkConnectionProtocol("udp"),n=yield this.checkConnectionProtocol("tcp");this.bestStats=e,e.qualityLimitationDurations.bandwidth-n.qualityLimitationDurations.bandwidth>.5||(e.packetsLost-n.packetsLost)/e.packetsSent>.01?(this.appendMessage("best connection quality via tcp"),this.bestStats=n):this.appendMessage("best connection quality via udp");const r=this.bestStats;this.appendMessage("upstream bitrate: ".concat((r.bitrateTotal/r.count/1e3/1e3).toFixed(2)," mbps")),this.appendMessage("RTT: ".concat((r.rttTotal/r.count*1e3).toFixed(2)," ms")),this.appendMessage("jitter: ".concat((r.jitterTotal/r.count*1e3).toFixed(2)," ms")),r.packetsLost>0&&this.appendWarning("packets lost: ".concat((r.packetsLost/r.packetsSent*100).toFixed(2),"%")),r.qualityLimitationDurations.bandwidth>1&&this.appendWarning("bandwidth limited ".concat((r.qualityLimitationDurations.bandwidth/(mf/1e3)*100).toFixed(2),"%")),r.qualityLimitationDurations.cpu>0&&this.appendWarning("cpu limited ".concat((r.qualityLimitationDurations.cpu/(mf/1e3)*100).toFixed(2),"%"))})}getInfo(){const e=super.getInfo();return e.data=this.bestStats,e}checkConnectionProtocol(e){return S(this,void 0,void 0,function*(){yield this.connect(),e==="tcp"?yield this.switchProtocol("tcp"):yield this.switchProtocol("udp");const n=document.createElement("canvas");n.width=1280,n.height=720;const r=n.getContext("2d");if(!r)throw new Error("Could not get canvas context");let i=0;const s=()=>{i=(i+1)%360,r.fillStyle="hsl(".concat(i,", 100%, 50%)"),r.fillRect(0,0,n.width,n.height),requestAnimationFrame(s)};s();const a=n.captureStream(30).getVideoTracks()[0],c=(yield this.room.localParticipant.publishTrack(a,{simulcast:!1,degradationPreference:"maintain-resolution",videoEncoding:{maxBitrate:2e6}})).track,u={protocol:e,packetsLost:0,packetsSent:0,qualityLimitationDurations:{},rttTotal:0,jitterTotal:0,bitrateTotal:0,count:0},d=setInterval(()=>S(this,void 0,void 0,function*(){const f=yield c.getRTCStatsReport();f==null||f.forEach(h=>{h.type==="outbound-rtp"?(u.packetsSent=h.packetsSent,u.qualityLimitationDurations=h.qualityLimitationDurations,u.bitrateTotal+=h.targetBitrate,u.count++):h.type==="remote-inbound-rtp"&&(u.packetsLost=h.packetsLost,u.rttTotal+=h.roundTripTime,u.jitterTotal+=h.jitter)})}),1e3);return yield new Promise(f=>setTimeout(f,mf)),clearInterval(d),a.stop(),n.remove(),yield this.disconnect(),u})}}function zy(t){return S(this,void 0,void 0,function*(){var e,n;t??(t={}),(e=t.audio)!==null&&e!==void 0||(t.audio={deviceId:"default"}),(n=t.video)!==null&&n!==void 0||(t.video={deviceId:"default"});const{audioProcessor:r,videoProcessor:i}=Kd(t),s=fy(t,xy,Ey),o=al(s),a=navigator.mediaDevices.getUserMedia(o);t.audio&&(Ve.userMediaPromiseMap.set("audioinput",a),a.catch(()=>Ve.userMediaPromiseMap.delete("audioinput"))),t.video&&(Ve.userMediaPromiseMap.set("videoinput",a),a.catch(()=>Ve.userMediaPromiseMap.delete("videoinput")));const l=yield a;return Promise.all(l.getTracks().map(c=>S(this,void 0,void 0,function*(){const u=c.kind==="audio";u?s.audio:s.video;let d;const f=u?o.audio:o.video;typeof f!="boolean"&&(d=f);const h=c.getSettings().deviceId;d!=null&&d.deviceId&&sr(d.deviceId)!==h?d.deviceId=h:d||(d={deviceId:h});const v=Iy(c,d);return v.kind===L.Kind.Video?v.source=L.Source.Camera:v.kind===L.Kind.Audio&&(v.source=L.Source.Microphone),v.mediaStream=l,Tn(v)&&r?yield v.setProcessor(r):Mi(v)&&i&&(yield v.setProcessor(i)),v})))})}function Vx(t){return S(this,void 0,void 0,function*(){return(yield zy({audio:!1,video:t}))[0]})}function zx(t){return S(this,void 0,void 0,function*(){return(yield zy({audio:t,video:!1}))[0]})}class Hx extends cr{get description(){return"Can publish audio"}perform(){return S(this,void 0,void 0,function*(){var e;const n=yield this.connect(),r=yield zx();if(yield hy(r,1e3))throw new Error("unable to detect audio from microphone");this.appendMessage("detected audio from microphone"),n.localParticipant.publishTrack(r),yield new Promise(a=>setTimeout(a,3e3));const s=yield(e=r.sender)===null||e===void 0?void 0:e.getStats();if(!s)throw new Error("Could not get RTCStats");let o=0;if(s.forEach(a=>{a.type==="outbound-rtp"&&(a.kind==="audio"||!a.kind&&a.mediaType==="audio")&&(o=a.packetsSent)}),o===0)throw new Error("Could not determine packets are sent");this.appendMessage("published ".concat(o," audio packets"))})}}class $x extends cr{get description(){return"Can publish video"}perform(){return S(this,void 0,void 0,function*(){var e;const n=yield this.connect(),r=yield Vx();yield this.checkForVideo(r.mediaStreamTrack),n.localParticipant.publishTrack(r),yield new Promise(o=>setTimeout(o,5e3));const i=yield(e=r.sender)===null||e===void 0?void 0:e.getStats();if(!i)throw new Error("Could not get RTCStats");let s=0;if(i.forEach(o=>{o.type==="outbound-rtp"&&(o.kind==="video"||!o.kind&&o.mediaType==="video")&&(s+=o.packetsSent)}),s===0)throw new Error("Could not determine packets are sent");this.appendMessage("published ".concat(s," video packets"))})}checkForVideo(e){return S(this,void 0,void 0,function*(){const n=new MediaStream;n.addTrack(e.clone());const r=document.createElement("video");r.srcObject=n,r.muted=!0,yield new Promise(i=>{r.onplay=()=>{setTimeout(()=>{var s,o,a,l;const c=document.createElement("canvas"),u=e.getSettings(),d=(o=(s=u.width)!==null&&s!==void 0?s:r.videoWidth)!==null&&o!==void 0?o:1280,f=(l=(a=u.height)!==null&&a!==void 0?a:r.videoHeight)!==null&&l!==void 0?l:720;c.width=d,c.height=f;const h=c.getContext("2d");h.drawImage(r,0,0);const y=h.getImageData(0,0,c.width,c.height).data;let T=!0;for(let m=0;m<y.length;m+=4)if(y[m]!==0||y[m+1]!==0||y[m+2]!==0){T=!1;break}T?this.appendError("camera appears to be producing only black frames"):this.appendMessage("received video frames"),i()},1e3)},r.play()}),r.remove()})}}class qx extends cr{get description(){return"Resuming connection after interruption"}perform(){return S(this,void 0,void 0,function*(){var e;const n=yield this.connect();let r=!1,i=!1,s;const o=new Promise(c=>{setTimeout(c,5e3),s=c}),a=()=>{r=!0};n.on(A.SignalReconnecting,a).on(A.Reconnecting,a).on(A.Reconnected,()=>{i=!0,s(!0)}),(e=n.engine.client.ws)===null||e===void 0||e.close();const l=n.engine.client.onClose;if(l&&l(""),yield o,r){if(!i||n.state!==ie.Connected)throw this.appendWarning("reconnection is only possible in Redis-based configurations"),new Error("Not able to reconnect")}else throw new Error("Did not attempt to reconnect")})}}class Wx extends cr{get description(){return"Can connect via TURN"}perform(){return S(this,void 0,void 0,function*(){var e,n;const r=new Qd,i=yield r.join(this.url,this.token,{autoSubscribe:!0,maxRetries:0,e2eeEnabled:!1,websocketTimeout:15e3});let s=!1,o=!1,a=!1;for(let l of i.iceServers)for(let c of l.urls)c.startsWith("turn:")?(o=!0,a=!0):c.startsWith("turns:")&&(o=!0,a=!0,s=!0),c.startsWith("stun:")&&(a=!0);a?o&&!s&&this.appendWarning("TURN is configured server side, but TURN/TLS is unavailable."):this.appendWarning("No STUN servers configured on server side."),yield r.close(),!((n=(e=this.connectOptions)===null||e===void 0?void 0:e.rtcConfig)===null||n===void 0)&&n.iceServers||o?yield this.room.connect(this.url,this.token,{rtcConfig:{iceTransportPolicy:"relay"}}):(this.appendWarning("No TURN servers configured."),this.skip(),yield new Promise(l=>setTimeout(l,0)))})}}class Gx extends cr{get description(){return"Establishing WebRTC connection"}perform(){return S(this,void 0,void 0,function*(){let e=!1,n=!1;this.room.on(A.SignalConnected,()=>{const r=this.room.engine.client.onTrickle;this.room.engine.client.onTrickle=(i,s)=>{if(i.candidate){const o=new RTCIceCandidate(i);let a="".concat(o.protocol," ").concat(o.address,":").concat(o.port," ").concat(o.type);o.address&&(Kx(o.address)?a+=" (private)":o.protocol==="tcp"&&o.tcpType==="passive"?(e=!0,a+=" (passive)"):o.protocol==="udp"&&(n=!0)),this.appendMessage(a)}r&&r(i,s)},this.room.engine.pcManager&&(this.room.engine.pcManager.subscriber.onIceCandidateError=i=>{i instanceof RTCPeerConnectionIceErrorEvent&&this.appendWarning("error with ICE candidate: ".concat(i.errorCode," ").concat(i.errorText," ").concat(i.url))})});try{yield this.connect(),X.info("now the room is connected")}catch(r){throw this.appendWarning("ports need to be open on firewall in order to connect."),r}e||this.appendWarning("Server is not configured for ICE/TCP"),n||this.appendWarning("No public IPv4 UDP candidates were found. Your server is likely not configured correctly")})}}function Kx(t){const e=t.split(".");if(e.length===4){if(e[0]==="10")return!0;if(e[0]==="192"&&e[1]==="168")return!0;if(e[0]==="172"){const n=parseInt(e[1],10);if(n>=16&&n<=31)return!0}}return!1}class Zx extends cr{get description(){return"Connecting to signal connection via WebSocket"}perform(){return S(this,void 0,void 0,function*(){var e,n,r;(this.url.startsWith("ws:")||this.url.startsWith("http:"))&&this.appendWarning("Server is insecure, clients may block connections to it");let i=new Qd;const s=yield i.join(this.url,this.token,{autoSubscribe:!0,maxRetries:0,e2eeEnabled:!1,websocketTimeout:15e3});this.appendMessage("Connected to server, version ".concat(s.serverVersion,".")),((e=s.serverInfo)===null||e===void 0?void 0:e.edition)===qv.Cloud&&(!((n=s.serverInfo)===null||n===void 0)&&n.region)&&this.appendMessage("LiveKit Cloud: ".concat((r=s.serverInfo)===null||r===void 0?void 0:r.region)),yield i.close()})}}class U_ extends on.EventEmitter{constructor(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};super(),this.options={},this.checkResults=new Map,this.url=e,this.token=n,this.options=r}getNextCheckId(){const e=this.checkResults.size;return this.checkResults.set(e,{logs:[],status:Gt.IDLE,name:"",description:""}),e}updateCheck(e,n){this.checkResults.set(e,n),this.emit("checkUpdate",e,n)}isSuccess(){return Array.from(this.checkResults.values()).every(e=>e.status!==Gt.FAILED)}getResults(){return Array.from(this.checkResults.values())}createAndRunCheck(e){return S(this,void 0,void 0,function*(){const n=this.getNextCheckId(),r=new e(this.url,this.token,this.options),i=o=>{this.updateCheck(n,o)};r.on("update",i);const s=yield r.run();return r.off("update",i),s})}checkWebsocket(){return S(this,void 0,void 0,function*(){return this.createAndRunCheck(Zx)})}checkWebRTC(){return S(this,void 0,void 0,function*(){return this.createAndRunCheck(Gx)})}checkTURN(){return S(this,void 0,void 0,function*(){return this.createAndRunCheck(Wx)})}checkReconnect(){return S(this,void 0,void 0,function*(){return this.createAndRunCheck(qx)})}checkPublishAudio(){return S(this,void 0,void 0,function*(){return this.createAndRunCheck(Hx)})}checkPublishVideo(){return S(this,void 0,void 0,function*(){return this.createAndRunCheck($x)})}checkConnectionProtocol(){return S(this,void 0,void 0,function*(){const e=yield this.createAndRunCheck(Bx);if(e.data&&"protocol"in e.data){const n=e.data;this.options.protocol=n.protocol}return e})}checkCloudRegion(){return S(this,void 0,void 0,function*(){return this.createAndRunCheck(Fx)})}}const Qx=t=>{const e=new TextDecoder().decode(t);if(e!==null&&typeof e=="object")return e;try{const n=JSON.parse(e);if(n===null||typeof n!="object")throw new Error("Invalid parsed");return n}catch{return null}},Hy=({active:t,micEnabled:e,speakersEnabled:n,handler:r,context:i})=>{const s=D.useRef(null),[o,a]=D.useState("inactive"),[l,c]=Yg(!1,100),[u,d]=D.useState(null),f=D.useRef(null),[h,v]=D.useState(null),[y,T]=D.useState(null),[m,b]=D.useState(null);D.useEffect(()=>{const I=s.current;I!=null&&I.localParticipant.setMicrophoneEnabled(e).catch(_=>{console.warn(_)})},[e]);const p=D.useCallback(async()=>{try{const I=await navigator.mediaDevices.getUserMedia({audio:!0}),_=await navigator.mediaDevices.enumerateDevices(),U=_.filter($=>$.kind==="audiooutput").map($=>$.label);T({micAllowed:!0,micNames:_.filter($=>$.kind==="audioinput").map($=>$.label),speakerNames:U.length>0?U:["System Default Speaker Device"]}),d(I)}catch(I){console.warn(I),T({micAllowed:!1,micNames:[],speakerNames:[]})}},[T,d]);D.useEffect(()=>()=>{if(u==null)return;u.getTracks().forEach(_=>{_.stop(),u==null||u.removeTrack(_)})},[u]),D.useEffect(()=>{if(h==null)return;const I=n?1:0;h.volume=I},[h,n]),D.useEffect(()=>{p()},[p]);const[k,C]=Yg(!1,600),w=D.useCallback(()=>{const I=s.current;I!=null&&(I.disconnect().catch(_=>{console.warn(_)}),r.terminateVoiceCall(),f.current!=null&&(f.current.stop(),f.current=null),v(null),s.current=null,b(null))},[b,v]);D.useEffect(()=>{const I=()=>{w()};return window.addEventListener("beforeunload",I),()=>{window.removeEventListener("beforeunload",I)}},[w]);const x=D.useCallback(async()=>{try{a("pending");const I=await r.getVoiceCredentials(i),_=G=>{const R=G.some(H=>H.isAgent),W=G.some(H=>H.isLocal);C(R),c(W)},U=G=>{if(G.kind===L.Kind.Audio){f.current=G;const R=G.attach();v(R),R.play()}},$=G=>{c(G)},V=new Ai;s.current=V,await V.prepareConnection(I.url,I.token),V.on(A.TrackSubscribed,U),V.on(A.ActiveSpeakersChanged,_),V.localParticipant.on(B.IsSpeakingChanged,$),V.on(A.Disconnected,()=>{a("terminated"),c(!1),C(!1),w()}),V.on(A.DataReceived,(G,R)=>{b({modalities:Qx(G)??{},from:R==null?void 0:R.identity,timestamp:Date.now()})}),await V.connect(I.url,I.token,{autoSubscribe:!0}),await V.localParticipant.setMicrophoneEnabled(!0),await V.startAudio(),a("active")}catch(I){a("error"),console.warn(I),r.terminateVoiceCall().catch(_=>{console.warn(_)})}},[a,r,c,C,v]),E=D.useCallback(()=>{p()},[p]);return D.useEffect(()=>(t&&x(),w),[t,w,x]),{roomState:o,isUserSpeaking:l,isApplicationSpeaking:k,soundCheck:y,retrySoundCheck:E,roomData:m}},Jx=({soundCheck:t})=>g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"flex items-center gap-2 text-primary-80",children:[g.jsx("span",{className:J("block w-10 h-10 p-2 flex-none",t.micAllowed?"":"text-error-primary"),children:t.micAllowed?g.jsx(Ns,{}):g.jsx(Ju,{})}),g.jsx("input",{className:"px-3 py-2 rounded-inner bg-primary-5 w-full flex-grow text-primary-80",value:t.micNames[0],placeholder:"Mic not found",disabled:!0})]}),g.jsxs("div",{className:"flex items-center gap-2 text-primary-80",children:[g.jsx("span",{className:J("block w-10 h-10 p-2 flex-none",t.speakerNames[0]!=null?"":"text-error-primary"),children:t.speakerNames[0]!=null?g.jsx(Ds,{}):g.jsx(Ia,{})}),g.jsx("input",{className:"px-3 py-2 rounded-inner bg-primary-5 w-full flex-grow text-primary-80",value:t.speakerNames[0],placeholder:"Speaker not found",disabled:!0})]})]}),$y=({showDevices:t,soundCheck:e})=>{const[n,r]=D.useState(!1),i=e==null;return D.useEffect(()=>{if(!i){r(!1);return}const s=setTimeout(()=>{r(!0)},3e3);return()=>{clearTimeout(s)}},[i,r]),g.jsxs("div",{className:"space-y-4 text-primary-80",children:[e==null||e.micAllowed?g.jsx("p",{className:"px-1",children:"Get ready to join a voice experience. Please ensure your microphone and speakers are on."}):g.jsx("p",{className:"px-1",children:"The voice experience could not begin because I’m unable to detect your microphone and speaker. Check your browser settings."}),e!=null?t?g.jsx(Jx,{soundCheck:e}):null:n?g.jsxs("div",{className:"flex gap-2 bg-primary-10 rounded-outer p-2",children:[g.jsx("span",{className:"text-accent inline-block flex-none w-5 h-5",children:g.jsx(Na,{})}),g.jsx("p",{className:"text-base",children:"I cannot access your microphone. Check your browser settings and refresh the page."})]}):null]})},Qs=({className:t,children:e})=>g.jsx("div",{className:J("relative flex flex-col items-center justify-center",t),children:e}),qy=({Wrapper:t,roomData:e,customModalities:n,handler:r})=>{const s=Object.entries(e.modalities).map(([o,a])=>{const l=n[o];return l!=null?g.jsx(l,{data:a,conversationHandler:r,enabled:!0},o):null}).filter(Boolean);if(s.length>0)return t==null?s:g.jsx(t,{children:s})},Yx=({children:t})=>g.jsx("div",{className:"absolute top-4 left-4 right-4",children:t}),Xx=({handler:t,speakersEnabled:e,colorMode:n,brandIcon:r,className:i,active:s,setActive:o,initializeConversation:a,context:l,customModalities:c={}})=>{const[u,d]=D.useState(!0),{roomState:f,soundCheck:h,isUserSpeaking:v,isApplicationSpeaking:y,retrySoundCheck:T,roomData:m}=Hy({active:s,micEnabled:u,speakersEnabled:e,handler:t,context:l});return s?f==="pending"?g.jsx(Qs,{className:i,children:g.jsx(rv,{})}):f==="error"?g.jsx(Qs,{className:i,children:g.jsx(tv,{})}):f==="terminated"?g.jsx(Qs,{className:i,children:g.jsxs("div",{className:J("flex-grow flex flex-col items-center justify-center gap-6 text-primary-80"),children:[g.jsx(Ls,{className:"w-20 h-20 text-primary-20"}),g.jsxs("div",{className:"text-center",children:[g.jsx("h3",{className:"text-xl mb-2",children:"The conversation has ended"}),g.jsx("p",{children:"You can close this panel now or restart."})]})]})}):g.jsxs(Qs,{className:i,children:[g.jsxs("div",{className:"rounded-full w-fit relative",children:[g.jsx("div",{className:J("w-[128px] h-[128px] p-4 z-10 relative rounded-full overflow-hidden bg-cover bg-center",r!=null?"":n==="dark"?"bg-[rgb(40,41,47)]":"bg-[rgb(175,175,175)]"),style:r!=null?{backgroundImage:`url(${r})`}:{},children:r==null?g.jsx(Ls,{className:"w-full h-full text-primary-40"}):null}),y?g.jsx(Ci,{className:"rounded-full"}):null]}),m!=null?g.jsx(qy,{Wrapper:Yx,roomData:m,customModalities:c,handler:t}):null,g.jsxs("div",{className:"w-fit flex-none absolute bottom-4 left-1/2 transform -translate-x-1/2",children:[v?g.jsx(Ci,{className:"rounded-inner"}):null,g.jsx(Be,{Icon:u?Ns:Ju,label:"Voice",type:u?"activated":"ghost",onClick:()=>{d(b=>!b)}})]})]}):g.jsx(Qs,{className:i,children:g.jsxs("div",{className:"p-4 h-full flex flex-col justify-between",children:[g.jsx($y,{soundCheck:h,showDevices:!0}),h!=null?h.micAllowed?g.jsx(kn,{type:"main",label:"I’m ready",Icon:bi,onClick:()=>{o(!0),a(t,l)}}):g.jsx(kn,{type:"ghost",label:"Retry sound check",Icon:Oa,onClick:T}):null]})})},Wy=({onClose:t,handler:e,reset:n,className:r})=>g.jsxs("div",{className:J("p-2 md:p-3 flex flex-col flex-grow justify-center gap-2",r),children:[g.jsx(kn,{label:"Restart conversation",Icon:Oa,type:"ghost",onClick:n}),g.jsx(kn,{label:"Talk to an agent",Icon:Fg,type:"ghost",onClick:()=>{e.sendIntent("NLX.Escalation"),t()}})]});function gf(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let jr=gf();function Gy(t){jr=t}const Js={exec:()=>null};function fe(t,e=""){let n=typeof t=="string"?t:t.source;const r={replace:(i,s)=>{let o=typeof s=="string"?s:s.source;return o=o.replace(it.caret,"$1"),n=n.replace(i,o),r},getRegex:()=>new RegExp(n,e)};return r}const it={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),htmlBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i")},eE=/^(?:[ \t]*(?:\n|$))+/,tE=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,nE=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Ys=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,rE=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Ky=/(?:[*+-]|\d{1,9}[.)])/,Zy=fe(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,Ky).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),vf=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,iE=/^[^\n]+/,yf=/(?!\s*\])(?:\\.|[^\[\]\\])+/,sE=fe(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",yf).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),oE=fe(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Ky).getRegex(),gl="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",bf=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,aE=fe("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",bf).replace("tag",gl).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Qy=fe(vf).replace("hr",Ys).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",gl).getRegex(),kf={blockquote:fe(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Qy).getRegex(),code:tE,def:sE,fences:nE,heading:rE,hr:Ys,html:aE,lheading:Zy,list:oE,newline:eE,paragraph:Qy,table:Js,text:iE},Jy=fe("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Ys).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",gl).getRegex(),lE={...kf,table:Jy,paragraph:fe(vf).replace("hr",Ys).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Jy).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",gl).getRegex()},cE={...kf,html:fe(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",bf).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Js,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:fe(vf).replace("hr",Ys).replace("heading",` *#{1,6} *[^
|
|
102
102
|
]`).replace("lheading",Zy).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},uE=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,dE=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Yy=/^( {2,}|\\)\n(?!\s*$)/,fE=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,vl=/[\p{P}\p{S}]/u,Cf=/[\s\p{P}\p{S}]/u,Xy=/[^\s\p{P}\p{S}]/u,hE=fe(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Cf).getRegex(),pE=/(?!~)[\p{P}\p{S}]/u,mE=/(?!~)[\s\p{P}\p{S}]/u,gE=/(?:[^\s\p{P}\p{S}]|~)/u,vE=/\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g,yE=fe(/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,"u").replace(/punct/g,vl).getRegex(),e1="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",bE=fe(e1,"gu").replace(/notPunctSpace/g,Xy).replace(/punctSpace/g,Cf).replace(/punct/g,vl).getRegex(),kE=fe(e1,"gu").replace(/notPunctSpace/g,gE).replace(/punctSpace/g,mE).replace(/punct/g,pE).getRegex(),CE=fe("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Xy).replace(/punctSpace/g,Cf).replace(/punct/g,vl).getRegex(),SE=fe(/\\(punct)/,"gu").replace(/punct/g,vl).getRegex(),wE=fe(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),TE=fe(bf).replace("(?:-->|$)","-->").getRegex(),xE=fe("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",TE).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),yl=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,EE=fe(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",yl).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),t1=fe(/^!?\[(label)\]\[(ref)\]/).replace("label",yl).replace("ref",yf).getRegex(),n1=fe(/^!?\[(ref)\](?:\[\])?/).replace("ref",yf).getRegex(),PE=fe("reflink|nolink(?!\\()","g").replace("reflink",t1).replace("nolink",n1).getRegex(),Sf={_backpedal:Js,anyPunctuation:SE,autolink:wE,blockSkip:vE,br:Yy,code:dE,del:Js,emStrongLDelim:yE,emStrongRDelimAst:bE,emStrongRDelimUnd:CE,escape:uE,link:EE,nolink:n1,punctuation:hE,reflink:t1,reflinkSearch:PE,tag:xE,text:fE,url:Js},_E={...Sf,link:fe(/^!?\[(label)\]\((.*?)\)/).replace("label",yl).getRegex(),reflink:fe(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",yl).getRegex()},wf={...Sf,emStrongRDelimAst:kE,url:fe(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},RE={...wf,br:fe(Yy).replace("{2,}","*").getRegex(),text:fe(wf.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},bl={normal:kf,gfm:lE,pedantic:cE},Xs={normal:Sf,gfm:wf,breaks:RE,pedantic:_E},IE={"&":"&","<":"<",">":">",'"':""","'":"'"},r1=t=>IE[t];function ln(t,e){if(e){if(it.escapeTest.test(t))return t.replace(it.escapeReplace,r1)}else if(it.escapeTestNoEncode.test(t))return t.replace(it.escapeReplaceNoEncode,r1);return t}function i1(t){try{t=encodeURI(t).replace(it.percentDecode,"%")}catch{return null}return t}function s1(t,e){var s;const n=t.replace(it.findPipe,(o,a,l)=>{let c=!1,u=a;for(;--u>=0&&l[u]==="\\";)c=!c;return c?"|":" |"}),r=n.split(it.splitPipe);let i=0;if(r[0].trim()||r.shift(),r.length>0&&!((s=r.at(-1))!=null&&s.trim())&&r.pop(),e)if(r.length>e)r.splice(e);else for(;r.length<e;)r.push("");for(;i<r.length;i++)r[i]=r[i].trim().replace(it.slashPipe,"|");return r}function eo(t,e,n){const r=t.length;if(r===0)return"";let i=0;for(;i<r&&t.charAt(r-i-1)===e;)i++;return t.slice(0,r-i)}function OE(t,e){if(t.indexOf(e[1])===-1)return-1;let n=0;for(let r=0;r<t.length;r++)if(t[r]==="\\")r++;else if(t[r]===e[0])n++;else if(t[r]===e[1]&&(n--,n<0))return r;return-1}function o1(t,e,n,r,i){const s=e.href,o=e.title||null,a=t[1].replace(i.other.outputLinkReplace,"$1");if(t[0].charAt(0)!=="!"){r.state.inLink=!0;const l={type:"link",raw:n,href:s,title:o,text:a,tokens:r.inlineTokens(a)};return r.state.inLink=!1,l}return{type:"image",raw:n,href:s,title:o,text:a}}function LE(t,e,n){const r=t.match(n.other.indentCodeCompensation);if(r===null)return e;const i=r[1];return e.split(`
|
|
103
103
|
`).map(s=>{const o=s.match(n.other.beginningSpace);if(o===null)return s;const[a]=o;return a.length>=i.length?s.slice(i.length):s}).join(`
|
|
104
104
|
`)}class kl{constructor(e){se(this,"options");se(this,"rules");se(this,"lexer");this.options=e||jr}space(e){const n=this.rules.block.newline.exec(e);if(n&&n[0].length>0)return{type:"space",raw:n[0]}}code(e){const n=this.rules.block.code.exec(e);if(n){const r=n[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:n[0],codeBlockStyle:"indented",text:this.options.pedantic?r:eo(r,`
|
|
@@ -153,7 +153,7 @@ ${e}</tr>
|
|
|
153
153
|
`}tablecell(e){const n=this.parser.parseInline(e.tokens),r=e.header?"th":"td";return(e.align?`<${r} align="${e.align}">`:`<${r}>`)+n+`</${r}>
|
|
154
154
|
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${ln(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:n,tokens:r}){const i=this.parser.parseInline(r),s=i1(e);if(s===null)return i;e=s;let o='<a href="'+e+'"';return n&&(o+=' title="'+ln(n)+'"'),o+=">"+i+"</a>",o}image({href:e,title:n,text:r}){const i=i1(e);if(i===null)return ln(r);e=i;let s=`<img src="${e}" alt="${r}"`;return n&&(s+=` title="${ln(n)}"`),s+=">",s}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:ln(e.text)}}class Tf{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}}class Lt{constructor(e){se(this,"options");se(this,"renderer");se(this,"textRenderer");this.options=e||jr,this.options.renderer=this.options.renderer||new Cl,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Tf}static parse(e,n){return new Lt(n).parse(e)}static parseInline(e,n){return new Lt(n).parseInline(e)}parse(e,n=!0){var i,s;let r="";for(let o=0;o<e.length;o++){const a=e[o];if((s=(i=this.options.extensions)==null?void 0:i.renderers)!=null&&s[a.type]){const c=a,u=this.options.extensions.renderers[c.type].call({parser:this},c);if(u!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(c.type)){r+=u||"";continue}}const l=a;switch(l.type){case"space":{r+=this.renderer.space(l);continue}case"hr":{r+=this.renderer.hr(l);continue}case"heading":{r+=this.renderer.heading(l);continue}case"code":{r+=this.renderer.code(l);continue}case"table":{r+=this.renderer.table(l);continue}case"blockquote":{r+=this.renderer.blockquote(l);continue}case"list":{r+=this.renderer.list(l);continue}case"html":{r+=this.renderer.html(l);continue}case"paragraph":{r+=this.renderer.paragraph(l);continue}case"text":{let c=l,u=this.renderer.text(c);for(;o+1<e.length&&e[o+1].type==="text";)c=e[++o],u+=`
|
|
155
155
|
`+this.renderer.text(c);n?r+=this.renderer.paragraph({type:"paragraph",raw:u,text:u,tokens:[{type:"text",raw:u,text:u,escaped:!0}]}):r+=u;continue}default:{const c='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw new Error(c)}}}return r}parseInline(e,n=this.renderer){var i,s;let r="";for(let o=0;o<e.length;o++){const a=e[o];if((s=(i=this.options.extensions)==null?void 0:i.renderers)!=null&&s[a.type]){const c=this.options.extensions.renderers[a.type].call({parser:this},a);if(c!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){r+=c||"";continue}}const l=a;switch(l.type){case"escape":{r+=n.text(l);break}case"html":{r+=n.html(l);break}case"link":{r+=n.link(l);break}case"image":{r+=n.image(l);break}case"strong":{r+=n.strong(l);break}case"em":{r+=n.em(l);break}case"codespan":{r+=n.codespan(l);break}case"br":{r+=n.br(l);break}case"del":{r+=n.del(l);break}case"text":{r+=n.text(l);break}default:{const c='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw new Error(c)}}}return r}}class to{constructor(e){se(this,"options");se(this,"block");this.options=e||jr}preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}provideLexer(){return this.block?Ot.lex:Ot.lexInline}provideParser(){return this.block?Lt.parse:Lt.parseInline}}se(to,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens"]));class ME{constructor(...e){se(this,"defaults",gf());se(this,"options",this.setOptions);se(this,"parse",this.parseMarkdown(!0));se(this,"parseInline",this.parseMarkdown(!1));se(this,"Parser",Lt);se(this,"Renderer",Cl);se(this,"TextRenderer",Tf);se(this,"Lexer",Ot);se(this,"Tokenizer",kl);se(this,"Hooks",to);this.use(...e)}walkTokens(e,n){var i,s;let r=[];for(const o of e)switch(r=r.concat(n.call(this,o)),o.type){case"table":{const a=o;for(const l of a.header)r=r.concat(this.walkTokens(l.tokens,n));for(const l of a.rows)for(const c of l)r=r.concat(this.walkTokens(c.tokens,n));break}case"list":{const a=o;r=r.concat(this.walkTokens(a.items,n));break}default:{const a=o;(s=(i=this.defaults.extensions)==null?void 0:i.childTokens)!=null&&s[a.type]?this.defaults.extensions.childTokens[a.type].forEach(l=>{const c=a[l].flat(1/0);r=r.concat(this.walkTokens(c,n))}):a.tokens&&(r=r.concat(this.walkTokens(a.tokens,n)))}}return r}use(...e){const n=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(r=>{const i={...r};if(i.async=this.defaults.async||i.async||!1,r.extensions&&(r.extensions.forEach(s=>{if(!s.name)throw new Error("extension name required");if("renderer"in s){const o=n.renderers[s.name];o?n.renderers[s.name]=function(...a){let l=s.renderer.apply(this,a);return l===!1&&(l=o.apply(this,a)),l}:n.renderers[s.name]=s.renderer}if("tokenizer"in s){if(!s.level||s.level!=="block"&&s.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const o=n[s.level];o?o.unshift(s.tokenizer):n[s.level]=[s.tokenizer],s.start&&(s.level==="block"?n.startBlock?n.startBlock.push(s.start):n.startBlock=[s.start]:s.level==="inline"&&(n.startInline?n.startInline.push(s.start):n.startInline=[s.start]))}"childTokens"in s&&s.childTokens&&(n.childTokens[s.name]=s.childTokens)}),i.extensions=n),r.renderer){const s=this.defaults.renderer||new Cl(this.defaults);for(const o in r.renderer){if(!(o in s))throw new Error(`renderer '${o}' does not exist`);if(["options","parser"].includes(o))continue;const a=o,l=r.renderer[a],c=s[a];s[a]=(...u)=>{let d=l.apply(s,u);return d===!1&&(d=c.apply(s,u)),d||""}}i.renderer=s}if(r.tokenizer){const s=this.defaults.tokenizer||new kl(this.defaults);for(const o in r.tokenizer){if(!(o in s))throw new Error(`tokenizer '${o}' does not exist`);if(["options","rules","lexer"].includes(o))continue;const a=o,l=r.tokenizer[a],c=s[a];s[a]=(...u)=>{let d=l.apply(s,u);return d===!1&&(d=c.apply(s,u)),d}}i.tokenizer=s}if(r.hooks){const s=this.defaults.hooks||new to;for(const o in r.hooks){if(!(o in s))throw new Error(`hook '${o}' does not exist`);if(["options","block"].includes(o))continue;const a=o,l=r.hooks[a],c=s[a];to.passThroughHooks.has(o)?s[a]=u=>{if(this.defaults.async)return Promise.resolve(l.call(s,u)).then(f=>c.call(s,f));const d=l.call(s,u);return c.call(s,d)}:s[a]=(...u)=>{let d=l.apply(s,u);return d===!1&&(d=c.apply(s,u)),d}}i.hooks=s}if(r.walkTokens){const s=this.defaults.walkTokens,o=r.walkTokens;i.walkTokens=function(a){let l=[];return l.push(o.call(this,a)),s&&(l=l.concat(s.call(this,a))),l}}this.defaults={...this.defaults,...i}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,n){return Ot.lex(e,n??this.defaults)}parser(e,n){return Lt.parse(e,n??this.defaults)}parseMarkdown(e){return(r,i)=>{const s={...i},o={...this.defaults,...s},a=this.onError(!!o.silent,!!o.async);if(this.defaults.async===!0&&s.async===!1)return a(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof r>"u"||r===null)return a(new Error("marked(): input parameter is undefined or null"));if(typeof r!="string")return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));o.hooks&&(o.hooks.options=o,o.hooks.block=e);const l=o.hooks?o.hooks.provideLexer():e?Ot.lex:Ot.lexInline,c=o.hooks?o.hooks.provideParser():e?Lt.parse:Lt.parseInline;if(o.async)return Promise.resolve(o.hooks?o.hooks.preprocess(r):r).then(u=>l(u,o)).then(u=>o.hooks?o.hooks.processAllTokens(u):u).then(u=>o.walkTokens?Promise.all(this.walkTokens(u,o.walkTokens)).then(()=>u):u).then(u=>c(u,o)).then(u=>o.hooks?o.hooks.postprocess(u):u).catch(a);try{o.hooks&&(r=o.hooks.preprocess(r));let u=l(r,o);o.hooks&&(u=o.hooks.processAllTokens(u)),o.walkTokens&&this.walkTokens(u,o.walkTokens);let d=c(u,o);return o.hooks&&(d=o.hooks.postprocess(d)),d}catch(u){return a(u)}}}onError(e,n){return r=>{if(r.message+=`
|
|
156
|
-
Please report this to https://github.com/markedjs/marked.`,e){const i="<p>An error occurred:</p><pre>"+ln(r.message+"",!0)+"</pre>";return n?Promise.resolve(i):i}if(n)return Promise.reject(r);throw r}}}const Ur=new ME;function ce(t,e){return Ur.parse(t,e)}ce.options=ce.setOptions=function(t){return Ur.setOptions(t),ce.defaults=Ur.defaults,Gy(ce.defaults),ce},ce.getDefaults=gf,ce.defaults=jr,ce.use=function(...t){return Ur.use(...t),ce.defaults=Ur.defaults,Gy(ce.defaults),ce},ce.walkTokens=function(t,e){return Ur.walkTokens(t,e)},ce.parseInline=Ur.parseInline,ce.Parser=Lt,ce.parser=Lt.parse,ce.Renderer=Cl,ce.TextRenderer=Tf,ce.Lexer=Ot,ce.lexer=Ot.lex,ce.Tokenizer=kl,ce.Hooks=to,ce.parse=ce,ce.options,ce.setOptions,ce.use,ce.walkTokens,ce.parseInline,Lt.parse,Ot.lex;const a1=({message:t})=>g.jsxs("div",{className:"bg-error-secondary text-error-primary text-base p-3 rounded-inner flex items-center gap-2",children:[g.jsx(Vg,{className:"w-4 h-4 flex-none"}),g.jsx("p",{className:"text-primary-80",children:t})]}),NE=({handler:t,message:e,responseIndex:n,messageIndex:r})=>e.choices.length>0?g.jsx("ul",{className:"space-y-2 max-h-[40vh] overflow-auto no-scrollbar",children:e.choices.map((i,s)=>e.selectedChoiceId==null||i.choiceId===e.selectedChoiceId?g.jsx("li",{className:"w-full",children:g.jsx(kn,{type:"ghost",Icon:bi,onClick:e.selectedChoiceId==null?()=>{t.sendChoice(i.choiceId,{},{responseIndex:n,messageIndex:r})}:void 0,label:i.choiceText})},s):null)}):null,xf=({text:t,bubble:e,files:n})=>g.jsxs("div",{className:"space-y-2",children:[g.jsx("div",{className:"flex justify-end pl-10 text-base",children:g.jsx("div",{className:J("text-primary-60 rounded-inner whitespace-pre-wrap",e?"bg-primary-5 p-3":""),children:t})}),n!=null?g.jsx("div",{className:"flex flex-wrap justify-end gap-2",children:n.map((r,i)=>g.jsx("img",{className:"rounded-inner h-20",src:URL.createObjectURL(r)},i))}):null]}),l1=({text:t,number:e})=>g.jsxs("span",{className:"flex items-center gap-2",children:[g.jsx("span",{className:"bg-primary-10 text-primary-60 text-xs px-1.5 py-0.5 rounded-inner",children:e}),t]}),DE=({sources:t})=>{const[e,n]=D.useState(!1);return g.jsxs("details",{className:"space-y-2",open:e,onToggle:r=>{n(r.currentTarget.open)},children:[g.jsxs("summary",{className:"flex cursor-pointer items-center gap-2 rounded-inner hover:bg-primary-5 text-primary-80",children:[g.jsx(aw,{type:"ghost",Icon:e?Ng:Dg}),"Sources"]}),g.jsx("ol",{className:"space-y-2",children:t.map((r,i)=>{const s=r.fileName??r.content??"Source",o="p-3 bg-primary-5 rounded-inner w-full flex items-center justify-between text-primary-80";return g.jsx("li",{children:r.presignedUrl!=null?g.jsxs("a",{href:r.presignedUrl,className:J(o,"hover:bg-primary-10"),children:[g.jsx(l1,{text:s,number:i+1}),g.jsx(Hg,{className:"w-4 h-4 text-primary-60"})]}):g.jsx("div",{className:o,children:g.jsx(l1,{text:s,number:i+1})})},i)})})]})},AE=({responses:t,colorMode:e,chatMode:n,uploadedFiles:r,userMessageBubble:i,agentMessageBubble:s,lastBotResponseIndex:o,isWaiting:a,customModalities:l,handler:c,className:u,enabled:d})=>{const f=D.useRef(null),h=D.useRef(null);return D.useEffect(()=>{!n&&!a&&setTimeout(()=>{var v;(v=h.current)==null||v.scrollIntoView({behavior:"smooth"})})},[a,n]),D.useEffect(()=>{var v;if(n){const y=(v=f.current)==null?void 0:v.lastChild;y instanceof HTMLElement&&y.scrollIntoView({behavior:"smooth"})}},[t.length,n]),g.jsxs("div",{className:J("relative",u),children:[g.jsx("div",{"data-theme":e==="dark"?"light":"dark",className:J("absolute inset-x-0 h-[1px] top-0 bg-background opacity-[0.01] backdrop-blur-md")}),!n&&a?g.jsx(rv,{label:"Thinking",className:"absolute inset-0"}):null,g.jsxs("div",{className:J("absolute inset-0 p-2 md:p-3 overflow-y-auto no-scrollbar space-y-8",!n&&a?"opacity-0":"opacity-100"),ref:f,children:[t.map((v,y)=>{var m;if(v.type==="user")return v.payload.type==="text"?g.jsx(xf,{text:v.payload.text,bubble:i},y):v.payload.type==="structured"&&v.payload.utterance!=null&&v.payload.uploadIds!=null?g.jsx(xf,{bubble:i,text:v.payload.utterance,files:v.payload.uploadIds.map(b=>r[b]).filter(b=>b!=null)},y):null;if(v.type==="failure")return g.jsx(a1,{message:v.payload.text},y);const T=o!=null&&y===o;return g.jsxs(D.Fragment,{children:[g.jsxs("div",{className:J("space-y-2",!n&&T?"min-h-full":""),ref:T?h:void 0,children:[v.payload.messages.map((b,p)=>g.jsx("div",{className:"text-base",children:g.jsx("div",{className:J("space-y-6 markdown",s?"p-3 w-fit bg-secondary-40 mr-10 rounded-inner":""),dangerouslySetInnerHTML:{__html:ce(b.text,{async:!1})}})},p)),((m=v.payload.metadata)==null?void 0:m.sources)!=null?g.jsx(DE,{sources:v.payload.metadata.sources}):null,Object.entries(v.payload.modalities??{}).map(([b,p])=>{const k=l[b];return k==null?(console.warn(`Custom component implementation missing for the ${b} modality.`),null):g.jsx(k,{data:p,conversationHandler:c,enabled:d},b)})]}),v.payload.messages.map((b,p)=>{if(b.selectedChoiceId!=null){const k=b.choices.find(C=>C.choiceId===b.selectedChoiceId);return k==null?null:g.jsx(xf,{text:k.choiceText,bubble:i},p)}return null})]},y)}),n&&a?g.jsxs("div",{className:"text-primary-60 flex items-center gap-1 text-base",children:[g.jsx("span",{className:"w-5 h-5 block flex-none text-accent",children:g.jsx(Na,{})}),"Thinking..."]}):null]},"messages")]})};function Ef(){return Ef=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Ef.apply(null,arguments)}function jE(t,e){if(t==null)return{};var n={};for(var r in t)if({}.hasOwnProperty.call(t,r)){if(e.indexOf(r)!==-1)continue;n[r]=t[r]}return n}var UE=D.useLayoutEffect,FE=function(e){var n=In.useRef(e);return UE(function(){n.current=e}),n},c1=function(e,n){if(typeof e=="function"){e(n);return}e.current=n},BE=function(e,n){var r=In.useRef();return In.useCallback(function(i){e.current=i,r.current&&c1(r.current,null),r.current=n,n&&c1(n,i)},[n])},u1={"min-height":"0","max-height":"none",height:"0",visibility:"hidden",overflow:"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0",display:"block"},VE=function(e){Object.keys(u1).forEach(function(n){e.style.setProperty(n,u1[n],"important")})},d1=VE,st=null,f1=function(e,n){var r=e.scrollHeight;return n.sizingStyle.boxSizing==="border-box"?r+n.borderSize:r-n.paddingSize};function zE(t,e,n,r){n===void 0&&(n=1),r===void 0&&(r=1/0),st||(st=document.createElement("textarea"),st.setAttribute("tabindex","-1"),st.setAttribute("aria-hidden","true"),d1(st)),st.parentNode===null&&document.body.appendChild(st);var i=t.paddingSize,s=t.borderSize,o=t.sizingStyle,a=o.boxSizing;Object.keys(o).forEach(function(f){var h=f;st.style[h]=o[h]}),d1(st),st.value=e;var l=f1(st,t);st.value=e,l=f1(st,t),st.value="x";var c=st.scrollHeight-i,u=c*n;a==="border-box"&&(u=u+i+s),l=Math.max(u,l);var d=c*r;return a==="border-box"&&(d=d+i+s),l=Math.min(d,l),[l,c]}var h1=function(){},HE=function(e,n){return e.reduce(function(r,i){return r[i]=n[i],r},{})},$E=["borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","boxSizing","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight","paddingBottom","paddingLeft","paddingRight","paddingTop","tabSize","textIndent","textRendering","textTransform","width","wordBreak","wordSpacing","scrollbarGutter"],qE=!!document.documentElement.currentStyle,WE=function(e){var n=window.getComputedStyle(e);if(n===null)return null;var r=HE($E,n),i=r.boxSizing;if(i==="")return null;qE&&i==="border-box"&&(r.width=parseFloat(r.width)+parseFloat(r.borderRightWidth)+parseFloat(r.borderLeftWidth)+parseFloat(r.paddingRight)+parseFloat(r.paddingLeft)+"px");var s=parseFloat(r.paddingBottom)+parseFloat(r.paddingTop),o=parseFloat(r.borderBottomWidth)+parseFloat(r.borderTopWidth);return{sizingStyle:r,paddingSize:s,borderSize:o}},GE=WE;function p1(t,e,n){var r=FE(n);D.useLayoutEffect(function(){var i=function(o){return r.current(o)};if(t)return t.addEventListener(e,i),function(){return t.removeEventListener(e,i)}},[])}var KE=function(e){p1(window,"resize",e)},ZE=function(e){p1(document.fonts,"loadingdone",e)},QE=["cacheMeasurements","maxRows","minRows","onChange","onHeightChange"],JE=function(e,n){var r=e.cacheMeasurements,i=e.maxRows,s=e.minRows,o=e.onChange,a=o===void 0?h1:o,l=e.onHeightChange,c=l===void 0?h1:l,u=jE(e,QE),d=u.value!==void 0,f=D.useRef(null),h=BE(f,n),v=D.useRef(0),y=D.useRef(),T=function(){var p=f.current,k=r&&y.current?y.current:GE(p);if(k){y.current=k;var C=zE(k,p.value||p.placeholder||"x",s,i),w=C[0],x=C[1];v.current!==w&&(v.current=w,p.style.setProperty("height",w+"px","important"),c(w,{rowHeight:x}))}},m=function(p){d||T(),a(p)};return D.useLayoutEffect(T),KE(T),ZE(T),D.createElement("textarea",Ef({},u,{onChange:m,ref:h}))},YE=D.forwardRef(JE);const m1=8,XE=({className:t,handler:e,uploadUrl:n,onFileUpload:r,enabled:i})=>{const[s,o]=D.useState(!1),[a,l]=D.useState(""),[c,u]=D.useState(null),[d,f]=D.useState(null),h=D.useRef(null),v=D.useRef(null),y=ev();D.useEffect(()=>{var E;y&&((E=v.current)==null||E.focus())},[y]);const T=D.useMemo(()=>a.trim()==="",[a]),[m,b]=D.useState(!1),p=T&&d==null||m||!i,k=()=>{if(p)return;const E=(I,_)=>{(_==null?void 0:_.type)==="bot"&&(b(!1),e.unsubscribe(E),l(""),f(null),y&&setTimeout(()=>{var U;(U=v.current)==null||U.focus()}))};e.subscribe(E),b(!0),n!=null&&d!=null?e.sendStructured({uploadIds:[n.uploadId],utterance:a}):e.sendText(a)},C=n!=null&&i,w=()=>{u("Something went wrong. Please try again.")},x=E=>{var V,G;if(n==null){w();return}const I=(G=(V=E.target)==null?void 0:V.files)==null?void 0:G[0];if(I==null){w();return}const{name:_,size:U,type:$}=I;if(f({name:_,size:U,type:$}),U/1024**2>m1){u(`The file is too big. Max file size: ${m1}mb`);return}fetch(n.url,{method:"PUT",headers:{"Content-Type":"image/jpeg"},body:I}).then(()=>{u(null),r({uploadId:n.uploadId,file:I})}).catch(()=>{w()})};return g.jsx("div",{className:J("relative",t),children:g.jsxs("div",{className:J("bg-primary-5 transition-colors duration-200 p-2 rounded-outer text-base font-normal",s?"":"hover:bg-secondary-20"),children:[c!=null&&g.jsxs("div",{className:"flex items-center py-1 mb-2 w-full bg-error-secondary rounded-inner",children:[g.jsx(Qu,{size:16}),g.jsx("span",{className:"truncate ml-1",children:c})]}),d&&g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"flex items-center justify-between mb-2 w-full",children:[g.jsxs("p",{className:"flex items-center truncate mx-2",children:[c!=null?g.jsx(Qu,{size:16,className:"text-error-primary"}):g.jsx(Ag,{size:16,className:"text-primary-60"}),g.jsx("span",{className:"truncate ml-3",children:d.name})]}),g.jsx(Be,{className:"flex-none",Icon:Ug,label:"Delete",onClick:C?()=>{f(null),u(null),h.current!=null&&(h.current.value="")}:void 0,type:"ghost"})]}),g.jsx("hr",{className:"border-b-px border-background mb-2 -mx-2"})]}),g.jsxs("div",{className:J("flex items-end gap-1"),children:[C&&d==null?g.jsxs(g.Fragment,{children:[g.jsx("label",{htmlFor:"file-upload",className:"p-3 w-10 h-10 flex-none block transition-colors rounded-inner bg-primary-80 hover:bg-primary-80 text-secondary-80 cursor-pointer",children:g.jsx(Zu,{})}),g.jsx("input",{type:"file",id:"file-upload",className:"sr-only",accept:".jpg, .jpeg, .png, .webp, .mp4, .mpeg4, .avi, .mov, .pdf",onChange:x,ref:h})]}):g.jsx(Be,{className:"flex-none",Icon:Zu,label:"Upload file",type:"ghost"}),g.jsx(YE,{disabled:m||!i,className:J("h-10 w-full resize-none mr-2 px-2 py-2 outline-none","bg-transparent text-primary-80 placeholder:text-primary-40 caret-accent","disabled:text-primary-40"),placeholder:"Type something",maxRows:10,onFocus:()=>{o(!0)},onBlur:()=>{o(!1)},value:a,onChange:E=>{l(E.target.value)},onKeyDown:E=>{E.key==="Enter"&&!E.shiftKey&&(E.preventDefault(),k())},ref:v}),g.jsx(Be,{className:"flex-none",label:"Send message",onClick:p?void 0:()=>{k()},type:"main",Icon:bi})]})]})})},eP=t=>({"--font-family":t.fontFamily,"--inner-border-radius":t.innerBorderRadius,"--outer-border-radius":t.outerBorderRadius,"--primary-80":t.primary80,"--primary-60":t.primary60,"--primary-40":t.primary40,"--primary-20":t.primary20,"--primary-10":t.primary10,"--primary-5":t.primary5,"--primary-1":t.primary1,"--secondary-80":t.secondary80,"--secondary-60":t.secondary60,"--secondary-40":t.secondary40,"--secondary-20":t.secondary20,"--secondary-10":t.secondary10,"--secondary-5":t.secondary5,"--secondary-1":t.secondary1,"--accent":t.accent,"--accent-20":t.accent20,"--background":t.background,"--overlay":t.overlay,"--warning-primary":t.warningPrimary,"--warning-secondary":t.warningSecondary,"--error-primary":t.errorPrimary,"--error-secondary":t.errorSecondary}),tP={fontFamily:'"Neue Haas Grotesk", sans-serif',innerBorderRadius:"12px",outerBorderRadius:"20px",primary80:"rgba(0, 2, 9, 0.8)",primary60:"rgba(0, 2, 9, 0.6)",primary40:"rgba(0, 2, 9, 0.4)",primary20:"rgba(0, 2, 9, 0.2)",primary10:"rgba(0, 2, 9, 0.1)",primary5:"rgba(0, 2, 9, 0.05)",primary1:"rgba(0, 2, 9, 0.01)",secondary80:"rgba(255, 255, 255, 0.85)",secondary60:"rgba(255, 255, 255, 0.65)",secondary40:"rgba(255, 255, 255, 0.45)",secondary20:"rgba(255, 255, 255, 0.25)",secondary10:"rgba(255, 255, 255, 0.15)",secondary5:"rgba(255, 255, 255, 0.08)",secondary1:"rgba(255, 255, 255, 0.01)",accent:"rgb(28, 99, 218)",accent20:"rgba(28, 99, 218, 0.2)",background:"rgba(220, 220, 220, 0.9)",overlay:"rgba(0, 2, 9, 0.4)",warningPrimary:"rgb(220, 159, 3)",warningSecondary:"rgb(255, 242, 209)",errorPrimary:"rgb(157, 3, 3)",errorSecondary:"rgb(255, 223, 230)"},nP={fontFamily:'"Neue Haas Grotesk", sans-serif',innerBorderRadius:"12px",outerBorderRadius:"20px",primary80:"rgba(255, 255, 255, 0.85)",primary60:"rgba(255, 255, 255, 0.65)",primary40:"rgba(255, 255, 255, 0.45)",primary20:"rgba(255, 255, 255, 0.25)",primary10:"rgba(255, 255, 255, 0.15)",primary5:"rgba(255, 255, 255, 0.08)",primary1:"rgba(255, 255, 255, 0.01)",secondary80:"rgba(0, 2, 9, 0.8)",secondary60:"rgba(0, 2, 9, 0.6)",secondary40:"rgba(0, 2, 9, 0.4)",secondary20:"rgba(0, 2, 9, 0.2)",secondary10:"rgba(0, 2, 9, 0.1)",secondary5:"rgba(0, 2, 9, 0.05)",secondary1:"rgba(0, 2, 9, 0.01)",accent:"rgb(174, 202, 255)",accent20:"rgba(174, 202, 255, 0.25)",background:"rgba(0, 2, 9, 0.9)",overlay:"rgba(0, 2, 9, 0.4)",warningPrimary:"rgb(255, 214, 108)",warningSecondary:"rgb(95, 65, 29)",errorPrimary:"rgb(255, 133, 162)",errorSecondary:"rgb(94, 4, 4)"},rP=(t,e)=>{const n={};return t.accent!=null&&t.accent20==null&&(n.accent20=`color-mix(in srgb, ${t.accent} 20%, transparent)`),t.primary80!=null&&(t.primary60==null&&(n.primary60=`rgb(from ${t.primary80} r g b / 0.6)`),t.primary40==null&&(n.primary40=`rgb(from ${t.primary80} r g b / 0.4)`),t.primary20==null&&(n.primary20=`rgb(from ${t.primary80} r g b / 0.2)`),t.primary10==null&&(n.primary10=`rgb(from ${t.primary80} r g b / 0.1)`),t.primary5==null&&(n.primary5=`rgb(from ${t.primary80} r g b / 0.05)`),t.primary1==null&&(n.primary1=`rgb(from ${t.primary80} r g b / 0.01)`)),t.secondary80!=null&&(t.secondary60==null&&(n.secondary60=`rgb(from ${t.secondary80} r g b / 0.6)`),t.secondary40==null&&(n.secondary40=`rgb(from ${t.secondary80} r g b / 0.4)`),t.secondary20==null&&(n.secondary20=`rgb(from ${t.secondary80} r g b / 0.2)`),t.secondary10==null&&(n.secondary10=`rgb(from ${t.secondary80} r g b / 0.1)`),t.secondary5==null&&(n.secondary5=`rgb(from ${t.secondary80} r g b / 0.05)`),t.secondary1==null&&(n.secondary1=`rgb(from ${t.secondary80} r g b / 0.01)`)),{...e,...n,...t}},Sl=({colorMode:t,children:e,theme:n,className:r})=>{const i=rP(n??{},t==="dark"?nP:tP);return g.jsx("div",{className:J(r,"font-sans"),style:{...eP(i),colorScheme:t},children:e})},g1="bg-background backdrop-blur text-primary-80 rounded-outer p-2 w-[calc(100vw-16px)] max-w-[360px] space-y-4",v1=({children:t,onClose:e})=>g.jsxs("div",{className:g1,children:[g.jsx("div",{className:"flex items-center justify-end",children:g.jsx(Be,{onClick:e,Icon:Ms,type:"ghost",label:"Close"})}),t]}),y1=({children:t,className:e})=>g.jsx("div",{className:J("bg-background rounded-outer p-2 w-fit flex items-center gap-2",e),children:t}),iP=({onClick:t})=>g.jsx("button",{className:"text-sm text-primary-60 hover:text-primary-80 text-center block w-full",onClick:t,children:"Close"}),sP=({children:t})=>g.jsx("div",{className:J(g1,"absolute right-0 -top-2 transform -translate-y-full"),children:t}),oP=({handler:t,context:e,onClose:n,customModalities:r})=>{const[i,s]=D.useState(!1),[o,a]=D.useState(!0),[l,c]=D.useState(!0),{roomState:u,soundCheck:d,isUserSpeaking:f,isApplicationSpeaking:h,retrySoundCheck:v,roomData:y}=Hy({active:i,micEnabled:o,speakersEnabled:l,handler:t,context:e});return i?u==="error"?g.jsxs(v1,{onClose:n,children:[g.jsx(a1,{message:"Connection failed"}),g.jsx(iP,{onClick:n})]}):u==="pending"?g.jsxs(y1,{className:"relative",children:[g.jsx(Be,{Icon:Ns,label:"Microphone",type:"ghost",className:"invisible"}),g.jsx(Be,{Icon:Ds,label:"Speakers",type:"ghost",className:"invisible"}),g.jsx(Be,{Icon:Ms,label:"Close",type:"ghost",className:"invisible"}),g.jsx("span",{className:"w-6 h-6 block text-accent absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2",children:g.jsx(Na,{})})]}):g.jsxs(y1,{children:[g.jsxs("div",{className:"w-fit relative",children:[f?g.jsx(Ci,{className:"rounded-inner"}):null,g.jsx(Be,{Icon:Ns,label:"Microphone",type:o?"activated":"ghost",onClick:()=>{a(T=>!T)}})]}),g.jsxs("div",{className:"w-fit relative",children:[h?g.jsx(Ci,{className:"rounded-inner"}):null,g.jsx(Be,{Icon:l?Ds:Ia,label:"Speakers",type:l?"activated":"ghost",onClick:()=>{c(T=>!T)}})]}),g.jsx(Be,{label:"Close",Icon:Ms,type:"error",onClick:()=>{s(!1),n()}}),y!=null?g.jsx(qy,{Wrapper:sP,roomData:y,customModalities:r,handler:t}):null]}):g.jsxs(v1,{onClose:n,children:[g.jsx($y,{soundCheck:d}),d!=null?d.micAllowed?g.jsx(kn,{type:"main",label:"I'm ready",Icon:bi,onClick:()=>{s(!0)}}):g.jsx(kn,{type:"ghost",label:"Retry sound check",Icon:Oa,onClick:v}):null]})},b1=D.forwardRef((t,e)=>{var $;const n=D.useMemo(()=>US(t.config),[t.config]),[r,i]=D.useState([]),s=(($=r[r.length-1])==null?void 0:$.type)==="user",o=t.colorMode??"dark",[a,l]=D.useState(t.embedded),c=jS(t.config),[u,d]=D.useState(!1),f=D.useRef(t.embedded),h=t.input??"text",v=D.useCallback(V=>{t.onClose!=null&&(t.onClose(V),V.defaultPrevented||l(!1))},[t.onClose,l]);D.useEffect(()=>{f.current=a},[a]),D.useImperativeHandle(e,()=>({setExpanded:l,getExpanded(){return f.current},getConversationHandler(){return n}}),[n,l]),D.useEffect(()=>{const V=G=>{i(G)};return n.subscribe(V),()=>{n.unsubscribe(V)}},[n,i]);const y=D.useRef(!1);D.useEffect(()=>{!a||y.current||(y.current=!0,t.initializeConversation(n,t.initialContext))},[t.initializeConversation,t.initialContext,n,a]);const T=t.windowSize??(t.embedded?"full":"half"),m=D.useMemo(()=>{const V=vg(R=>R.type==="bot",r);if(V===-1)return null;const G=r[V];return(G==null?void 0:G.type)!=="bot"?null:{index:V,response:G}},[r]),b=D.useMemo(()=>{if(m==null)return;const V=vg(R=>R.choices.length>0,m.response.payload.messages);if(V===-1)return;const G=m.response.payload.messages[V];if(G!=null)return{message:G,messageIndex:V,responseIndex:m.index}},[m]),[p,k]=D.useState(!1),[C,w]=D.useState({}),x=t.customModalities??{},[E,I]=D.useState(!0);if(n==null)return null;if(!a)return t.launchIcon!==!1?g.jsx(Sl,{className:"fixed z-launchButton bottom-2 right-2 w-fit",theme:t.theme,colorMode:o,children:g.jsx(ow,{className:"backdrop-blur",iconUrl:typeof t.launchIcon=="string"?t.launchIcon:void 0,Custom:typeof t.launchIcon=="function"?t.launchIcon:void 0,onClick:()=>{l(!0)},label:"Expand chat"})}):null;if(h==="voiceMini")return g.jsx(Sl,{theme:t.theme,colorMode:o,className:"fixed z-touchpoint bottom-2 right-2 w-fit",children:g.jsx(oP,{handler:n,context:t.initialContext,onClose:()=>{l(!1)},customModalities:x})});const _=()=>{var V,G;return u?g.jsx(Wy,{reset:()=>{U(),d(!1)},className:J("flex-none",T==="full"?"w-full md:max-w-content md:mx-auto":""),onClose:()=>{d(!1)},handler:n}):c?g.jsxs(g.Fragment,{children:[g.jsx(AE,{enabled:t.enabled,userMessageBubble:t.userMessageBubble??!1,agentMessageBubble:t.agentMessageBubble??!1,chatMode:t.chatMode??!1,isWaiting:s,lastBotResponseIndex:m==null?void 0:m.index,responses:r,colorMode:o,handler:n,uploadedFiles:C,customModalities:x,className:J("flex-grow",T==="full"?"w-full md:max-w-content md:mx-auto":"")}),g.jsxs("div",{className:J("p-2 md:p-3 flex flex-col flex-none gap-2",T==="full"?"w-full md:max-w-content md:mx-auto":""),children:[b!=null?g.jsx(NE,{...b,handler:n}):null,(b==null?void 0:b.message.selectedChoiceId)!=null?null:g.jsx(XE,{enabled:t.enabled,handler:n,uploadUrl:(G=(V=m==null?void 0:m.response.payload.metadata)==null?void 0:V.uploadUrls)==null?void 0:G[0],onFileUpload:({uploadId:R,file:W})=>{w(H=>({...H,[R]:W}))}})]})]}):g.jsx(tv,{})},U=()=>{n.reset({clearResponses:!0}),h!=="voice"&&t.initializeConversation(n,t.initialContext),k(!1)};return g.jsxs(Sl,{theme:t.theme,colorMode:o,className:"grid grid-cols-2 xl:grid-cols-[1fr_632px] fixed inset-0 z-touchpoint",children:[T==="half"?g.jsx("div",{className:"hidden md:block bg-overlay"}):null,g.jsxs("div",{className:J("w-full bg-background text-primary-80 flex relative flex-col h-full backdrop-blur-overlay",{"col-span-2 md:col-span-1":T==="half","col-span-2":T==="full"}),children:[g.jsx(mw,{windowSize:t.embedded?"embedded":T,errorThemedCloseButton:h==="voice"&&p,speakerControls:h==="voice"&&p?{enabled:E,setEnabled:I}:void 0,colorMode:o,brandIcon:t.brandIcon,isSettingsOpen:u,enabled:t.enabled,toggleSettings:t.enableSettings?()=>{d(V=>!V)}:void 0,renderCollapse:t.onClose!=null,collapse:V=>{h==="voice"&&n.reset({clearResponses:!0}),k(!1),v(V)},reset:U}),h==="text"?_():g.jsxs(g.Fragment,{children:[u?g.jsx(Wy,{className:J("flex-none",T==="full"?"w-full md:max-w-content md:mx-auto":""),onClose:()=>{d(!1)},reset:()=>{U(),d(!1)},handler:n}):null,g.jsx(Xx,{active:p,initializeConversation:t.initializeConversation,setActive:k,brandIcon:t.brandIcon,handler:n,speakersEnabled:E,colorMode:o,className:u?"hidden":"flex-grow",context:t.initialContext,customModalities:x})]})]})]})});b1.displayName="App";const k1=`*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-family);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*{font-family:var(--font-family)!important}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.-top-2{top:-.5rem}.bottom-2{bottom:.5rem}.bottom-4{bottom:1rem}.left-1\\/2{left:50%}.left-4{left:1rem}.right-0{right:0}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1\\/2{top:50%}.top-4{top:1rem}.z-10{z-index:10}.z-launchButton{z-index:100}.z-touchpoint{z-index:1000}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-52{height:13rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-72{height:18rem}.h-8{height:2rem}.h-\\[128px\\]{height:128px}.h-\\[1px\\]{height:1px}.h-\\[360px\\]{height:360px}.h-full{height:100%}.max-h-\\[40vh\\]{max-height:40vh}.min-h-full{min-height:100%}.w-10{width:2.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-\\[128px\\]{width:128px}.w-\\[calc\\(100vw-16px\\)\\]{width:calc(100vw - 16px)}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.max-w-\\[360px\\]{max-width:360px}.max-w-content{max-width:640px}.flex-none{flex:none}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\\[320px\\,1fr\\]{grid-template-columns:320px 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded-full{border-radius:9999px}.rounded-inner{border-radius:var(--inner-border-radius)}.rounded-outer{border-radius:var(--outer-border-radius)}.border{border-width:1px}.border-background{border-color:var(--background)}.bg-\\[rgb\\(175\\,175\\,175\\)\\]{--tw-bg-opacity: 1;background-color:rgb(175 175 175 / var(--tw-bg-opacity))}.bg-\\[rgb\\(40\\,41\\,47\\)\\]{--tw-bg-opacity: 1;background-color:rgb(40 41 47 / var(--tw-bg-opacity))}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-black\\/50{background-color:#00000080}.bg-current{background-color:currentColor}.bg-error-primary{background-color:var(--error-primary)}.bg-error-secondary{background-color:var(--error-secondary)}.bg-overlay{background-color:var(--overlay)}.bg-primary-10{background-color:var(--primary-10)}.bg-primary-5{background-color:var(--primary-5)}.bg-primary-80{background-color:var(--primary-80)}.bg-secondary-40{background-color:var(--secondary-40)}.bg-secondary-60{background-color:var(--secondary-60)}.bg-transparent{background-color:transparent}.bg-cover{background-size:cover}.bg-center{background-position:center}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0{padding-top:0;padding-bottom:0}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\\.5{padding-top:.625rem;padding-bottom:.625rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-1{padding-bottom:.25rem}.pl-10{padding-left:2.5rem}.pl-4{padding-left:1rem}.pr-2{padding-right:.5rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-sans{font-family:var(--font-family)}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-normal{font-weight:400}.text-accent{color:var(--accent)}.text-accent-20{color:var(--accent-20)}.text-error-primary{color:var(--error-primary)}.text-primary-20{color:var(--primary-20)}.text-primary-40{color:var(--primary-40)}.text-primary-60{color:var(--primary-60)}.text-primary-80{color:var(--primary-80)}.text-secondary-40{color:var(--secondary-40)}.text-secondary-80{color:var(--secondary-80)}.placeholder-primary-20::-moz-placeholder{color:var(--primary-20)}.placeholder-primary-20::placeholder{color:var(--primary-20)}.placeholder-primary-40::-moz-placeholder{color:var(--primary-40)}.placeholder-primary-40::placeholder{color:var(--primary-40)}.caret-accent{caret-color:var(--accent)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-\\[0\\.01\\]{opacity:.01}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-0{outline-width:0px}.outline-2{outline-width:2px}.outline-accent{outline-color:var(--accent)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-overlay{--tw-backdrop-blur: blur(48px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-500{transition-duration:.5s}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@property --glow-opacity{syntax: "<percentage>"; inherits: false; initial-value: 0%;}.fullscreen-error svg{animation:error-glow 3s ease infinite;--glow-opacity: 0%;filter:drop-shadow(0 0 6px color-mix(in srgb,transparent,var(--accent) var(--glow-opacity)))}@keyframes error-glow{0%{color:var(--primary);fill-opacity:8%;--glow-opacity: 0%}22%{color:var(--primary);fill-opacity:8%;--glow-opacity: 0%}35%{color:var(--accent);fill-opacity:80%;--glow-opacity: 60%}45%{color:var(--accent);fill-opacity:70%;--glow-opacity: 30%}55%{color:var(--accent);fill-opacity:60%;--glow-opacity: 60%}60%{color:var(--primary);fill-opacity:8%;--glow-opacity: 0%}to{color:var(--primary);fill-opacity:8%;--glow-opacity: 0%}}.markdown ul{list-style-position:inside;list-style-type:disc}.markdown ol{list-style-position:inside;list-style-type:decimal}.markdown hr{border-color:var(--primary-20)}.markdown a{text-decoration-line:underline}.markdown h1,.markdown h2,.markdown h3{font-weight:700}.placeholder\\:text-primary-40::-moz-placeholder{color:var(--primary-40)}.placeholder\\:text-primary-40::placeholder{color:var(--primary-40)}.before\\:absolute:before{content:var(--tw-content);position:absolute}.before\\:inset-0:before{content:var(--tw-content);top:0;right:0;bottom:0;left:0}.before\\:-z-10:before{content:var(--tw-content);z-index:-10}.before\\:bg-transparent:before{content:var(--tw-content);background-color:transparent}.before\\:transition-colors:before{content:var(--tw-content);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.before\\:content-\\[\\'\\'\\]:before{--tw-content: "";content:var(--tw-content)}.after\\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:inset-0:after{content:var(--tw-content);top:0;right:0;bottom:0;left:0}.after\\:rounded-outer:after{content:var(--tw-content);border-radius:var(--outer-border-radius)}.after\\:content-\\[\\'\\'\\]:after{--tw-content: "";content:var(--tw-content)}.hover\\:bg-primary-10:hover{background-color:var(--primary-10)}.hover\\:bg-primary-5:hover{background-color:var(--primary-5)}.hover\\:bg-primary-80:hover{background-color:var(--primary-80)}.hover\\:bg-secondary-20:hover{background-color:var(--secondary-20)}.hover\\:text-primary-80:hover{color:var(--primary-80)}.hover\\:after\\:bg-primary-10:hover:after{content:var(--tw-content);background-color:var(--primary-10)}.focus\\:outline-0:focus{outline-width:0px}.focus\\:before\\:bg-primary-10:focus:before{content:var(--tw-content);background-color:var(--primary-10)}.focus\\:before\\:bg-primary-40:focus:before{content:var(--tw-content);background-color:var(--primary-40)}.focus\\:before\\:bg-primary-5:focus:before{content:var(--tw-content);background-color:var(--primary-5)}.focus\\:before\\:bg-primary-80:focus:before{content:var(--tw-content);background-color:var(--primary-80)}.enabled\\:hover\\:before\\:bg-primary-10:hover:enabled:before{content:var(--tw-content);background-color:var(--primary-10)}.enabled\\:hover\\:before\\:bg-primary-40:hover:enabled:before{content:var(--tw-content);background-color:var(--primary-40)}.enabled\\:hover\\:before\\:bg-primary-5:hover:enabled:before{content:var(--tw-content);background-color:var(--primary-5)}.enabled\\:hover\\:before\\:bg-primary-80:hover:enabled:before{content:var(--tw-content);background-color:var(--primary-80)}.enabled\\:active\\:before\\:bg-secondary-10:active:enabled:before{content:var(--tw-content);background-color:var(--secondary-10)}.disabled\\:bg-accent-20:disabled{background-color:var(--accent-20)}.disabled\\:bg-primary-10:disabled{background-color:var(--primary-10)}.disabled\\:bg-primary-5:disabled{background-color:var(--primary-5)}.disabled\\:bg-secondary-20:disabled{background-color:var(--secondary-20)}.disabled\\:text-primary-20:disabled{color:var(--primary-20)}.disabled\\:text-primary-40:disabled{color:var(--primary-40)}.disabled\\:text-secondary-40:disabled{color:var(--secondary-40)}@media (min-width: 768px){.md\\:absolute{position:absolute}.md\\:left-0{left:0}.md\\:right-0{right:0}.md\\:top-0{top:0}.md\\:-order-1{order:-1}.md\\:col-span-1{grid-column:span 1 / span 1}.md\\:mx-auto{margin-left:auto;margin-right:auto}.md\\:block{display:block}.md\\:w-fit{width:-moz-fit-content;width:fit-content}.md\\:max-w-content{max-width:640px}.md\\:-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\\:flex-col{flex-direction:column}.md\\:p-3{padding:.75rem}}@media (min-width: 1280px){.xl\\:grid-cols-\\[1fr_632px\\]{grid-template-columns:1fr 632px}}`,C1=({children:t,faded:e})=>g.jsx("p",{className:J("text-base",e?"text-primary-60":"text-primary-80"),children:t}),S1=({children:t})=>g.jsx("p",{className:"text-sm text-primary-60",children:t}),w1=({children:t,selected:e,onClick:n,href:r,newTab:i})=>{const s=J("block shrink-0 rounded-inner overflow-hidden","w-80 space-y-px",e?"outline outline-2 outline-accent":"",n!=null||r!=null?"hover:bg-primary-5":"");return D.useEffect(()=>{r==null&&i!=null&&console.warn("Setting the `newTab` prop on the `<CustomCard/>` has no effect if the `href` is not also set.")},[r,i]),r!=null?g.jsx("a",{className:s,href:r,onClick:n,...i?{target:"_blank",rel:"noreferrer"}:{},children:t}):n!=null?g.jsx("button",{className:s,onClick:n,children:t}):g.jsx("div",{className:s,children:t})},T1=({src:t,alt:e})=>g.jsx("img",{src:t,alt:e,className:"w-full h-52 object-cover"}),x1=({left:t,right:e,icon:n})=>g.jsxs("div",{className:"flex items-center relative justify-between gap-2 bg-primary-5 px-3 py-4",children:[g.jsx("div",{className:"space-y-1 text-left",children:t}),g.jsx("div",{className:"space-y-1 text-right",children:e}),n!=null?g.jsx(n,{className:"text-primary-60 w-4 h-4 absolute top-1/2 left-1/2 transform -translate-y-1/2 -translate-x-1/2"}):null]});/*! *****************************************************************************
|
|
156
|
+
Please report this to https://github.com/markedjs/marked.`,e){const i="<p>An error occurred:</p><pre>"+ln(r.message+"",!0)+"</pre>";return n?Promise.resolve(i):i}if(n)return Promise.reject(r);throw r}}}const Ur=new ME;function ce(t,e){return Ur.parse(t,e)}ce.options=ce.setOptions=function(t){return Ur.setOptions(t),ce.defaults=Ur.defaults,Gy(ce.defaults),ce},ce.getDefaults=gf,ce.defaults=jr,ce.use=function(...t){return Ur.use(...t),ce.defaults=Ur.defaults,Gy(ce.defaults),ce},ce.walkTokens=function(t,e){return Ur.walkTokens(t,e)},ce.parseInline=Ur.parseInline,ce.Parser=Lt,ce.parser=Lt.parse,ce.Renderer=Cl,ce.TextRenderer=Tf,ce.Lexer=Ot,ce.lexer=Ot.lex,ce.Tokenizer=kl,ce.Hooks=to,ce.parse=ce,ce.options,ce.setOptions,ce.use,ce.walkTokens,ce.parseInline,Lt.parse,Ot.lex;const a1=({message:t})=>g.jsxs("div",{className:"bg-error-secondary text-error-primary text-base p-3 rounded-inner flex items-center gap-2",children:[g.jsx(Vg,{className:"w-4 h-4 flex-none"}),g.jsx("p",{className:"text-primary-80",children:t})]}),NE=({handler:t,message:e,responseIndex:n,messageIndex:r})=>e.choices.length>0?g.jsx("ul",{className:"space-y-2 max-h-[40vh] overflow-auto no-scrollbar",children:e.choices.map((i,s)=>e.selectedChoiceId==null||i.choiceId===e.selectedChoiceId?g.jsx("li",{className:"w-full",children:g.jsx(kn,{type:"ghost",Icon:bi,onClick:e.selectedChoiceId==null?()=>{t.sendChoice(i.choiceId,{},{responseIndex:n,messageIndex:r})}:void 0,label:i.choiceText})},s):null)}):null,xf=({text:t,bubble:e,files:n})=>g.jsxs("div",{className:"space-y-2",children:[g.jsx("div",{className:"flex justify-end pl-10 text-base",children:g.jsx("div",{className:J("text-primary-60 rounded-inner whitespace-pre-wrap",e?"bg-primary-5 p-3":""),children:t})}),n!=null?g.jsx("div",{className:"flex flex-wrap justify-end gap-2",children:n.map((r,i)=>g.jsx("img",{className:"rounded-inner h-20",src:URL.createObjectURL(r)},i))}):null]}),l1=({text:t,number:e})=>g.jsxs("span",{className:"flex items-center gap-2",children:[g.jsx("span",{className:"bg-primary-10 text-primary-60 text-xs px-1.5 py-0.5 rounded-inner",children:e}),t]}),DE=({sources:t})=>{const[e,n]=D.useState(!1);return g.jsxs("details",{className:"space-y-2",open:e,onToggle:r=>{n(r.currentTarget.open)},children:[g.jsxs("summary",{className:"flex cursor-pointer items-center gap-2 rounded-inner hover:bg-primary-5 text-primary-80",children:[g.jsx(aw,{type:"ghost",Icon:e?Ng:Dg}),"Sources"]}),g.jsx("ol",{className:"space-y-2",children:t.map((r,i)=>{const s=r.fileName??r.content??"Source",o="p-3 bg-primary-5 rounded-inner w-full flex items-center justify-between text-primary-80";return g.jsx("li",{children:r.presignedUrl!=null?g.jsxs("a",{href:r.presignedUrl,className:J(o,"hover:bg-primary-10"),children:[g.jsx(l1,{text:s,number:i+1}),g.jsx(Hg,{className:"w-4 h-4 text-primary-60"})]}):g.jsx("div",{className:o,children:g.jsx(l1,{text:s,number:i+1})})},i)})})]})},AE=({responses:t,colorMode:e,chatMode:n,uploadedFiles:r,userMessageBubble:i,agentMessageBubble:s,lastBotResponseIndex:o,isWaiting:a,customModalities:l,handler:c,className:u,enabled:d})=>{const f=D.useRef(null),h=D.useRef(null);return D.useEffect(()=>{!n&&!a&&setTimeout(()=>{var v;(v=h.current)==null||v.scrollIntoView({behavior:"smooth"})})},[a,n]),D.useEffect(()=>{var v;if(n){const y=(v=f.current)==null?void 0:v.lastChild;y instanceof HTMLElement&&y.scrollIntoView({behavior:"smooth"})}},[t.length,n]),g.jsxs("div",{className:J("relative",u),children:[g.jsx("div",{"data-theme":e==="dark"?"light":"dark",className:J("absolute inset-x-0 h-[1px] top-0 bg-background opacity-[0.01] backdrop-blur-md")}),!n&&a?g.jsx(rv,{label:"Thinking",className:"absolute inset-0"}):null,g.jsxs("div",{className:J("absolute inset-0 p-2 md:p-3 overflow-y-auto no-scrollbar space-y-8",!n&&a?"opacity-0":"opacity-100"),ref:f,children:[t.map((v,y)=>{var m;if(v.type==="user")return v.payload.type==="text"?g.jsx(xf,{text:v.payload.text,bubble:i},y):v.payload.type==="structured"&&v.payload.utterance!=null&&v.payload.uploadIds!=null?g.jsx(xf,{bubble:i,text:v.payload.utterance,files:v.payload.uploadIds.map(b=>r[b]).filter(b=>b!=null)},y):null;if(v.type==="failure")return g.jsx(a1,{message:v.payload.text},y);const T=o!=null&&y===o;return g.jsxs(D.Fragment,{children:[g.jsxs("div",{className:J("space-y-2",!n&&T?"min-h-full":""),ref:T?h:void 0,children:[v.payload.messages.map((b,p)=>g.jsx("div",{className:"text-base",children:g.jsx("div",{className:J("space-y-6 markdown",s?"p-3 w-fit bg-secondary-40 mr-10 rounded-inner":""),dangerouslySetInnerHTML:{__html:ce(b.text,{async:!1})}})},p)),((m=v.payload.metadata)==null?void 0:m.sources)!=null?g.jsx(DE,{sources:v.payload.metadata.sources}):null,Object.entries(v.payload.modalities??{}).map(([b,p])=>{const k=l[b];return k==null?(console.warn(`Custom component implementation missing for the ${b} modality.`),null):g.jsx(k,{data:p,conversationHandler:c,enabled:d},b)})]}),v.payload.messages.map((b,p)=>{if(b.selectedChoiceId!=null){const k=b.choices.find(C=>C.choiceId===b.selectedChoiceId);return k==null?null:g.jsx(xf,{text:k.choiceText,bubble:i},p)}return null})]},y)}),n&&a?g.jsxs("div",{className:"text-primary-60 flex items-center gap-1 text-base",children:[g.jsx("span",{className:"w-5 h-5 block flex-none text-accent",children:g.jsx(Na,{})}),"Thinking..."]}):null]},"messages")]})};function Ef(){return Ef=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Ef.apply(null,arguments)}function jE(t,e){if(t==null)return{};var n={};for(var r in t)if({}.hasOwnProperty.call(t,r)){if(e.indexOf(r)!==-1)continue;n[r]=t[r]}return n}var UE=D.useLayoutEffect,FE=function(e){var n=In.useRef(e);return UE(function(){n.current=e}),n},c1=function(e,n){if(typeof e=="function"){e(n);return}e.current=n},BE=function(e,n){var r=In.useRef();return In.useCallback(function(i){e.current=i,r.current&&c1(r.current,null),r.current=n,n&&c1(n,i)},[n])},u1={"min-height":"0","max-height":"none",height:"0",visibility:"hidden",overflow:"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0",display:"block"},VE=function(e){Object.keys(u1).forEach(function(n){e.style.setProperty(n,u1[n],"important")})},d1=VE,st=null,f1=function(e,n){var r=e.scrollHeight;return n.sizingStyle.boxSizing==="border-box"?r+n.borderSize:r-n.paddingSize};function zE(t,e,n,r){n===void 0&&(n=1),r===void 0&&(r=1/0),st||(st=document.createElement("textarea"),st.setAttribute("tabindex","-1"),st.setAttribute("aria-hidden","true"),d1(st)),st.parentNode===null&&document.body.appendChild(st);var i=t.paddingSize,s=t.borderSize,o=t.sizingStyle,a=o.boxSizing;Object.keys(o).forEach(function(f){var h=f;st.style[h]=o[h]}),d1(st),st.value=e;var l=f1(st,t);st.value=e,l=f1(st,t),st.value="x";var c=st.scrollHeight-i,u=c*n;a==="border-box"&&(u=u+i+s),l=Math.max(u,l);var d=c*r;return a==="border-box"&&(d=d+i+s),l=Math.min(d,l),[l,c]}var h1=function(){},HE=function(e,n){return e.reduce(function(r,i){return r[i]=n[i],r},{})},$E=["borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","boxSizing","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight","paddingBottom","paddingLeft","paddingRight","paddingTop","tabSize","textIndent","textRendering","textTransform","width","wordBreak","wordSpacing","scrollbarGutter"],qE=!!document.documentElement.currentStyle,WE=function(e){var n=window.getComputedStyle(e);if(n===null)return null;var r=HE($E,n),i=r.boxSizing;if(i==="")return null;qE&&i==="border-box"&&(r.width=parseFloat(r.width)+parseFloat(r.borderRightWidth)+parseFloat(r.borderLeftWidth)+parseFloat(r.paddingRight)+parseFloat(r.paddingLeft)+"px");var s=parseFloat(r.paddingBottom)+parseFloat(r.paddingTop),o=parseFloat(r.borderBottomWidth)+parseFloat(r.borderTopWidth);return{sizingStyle:r,paddingSize:s,borderSize:o}},GE=WE;function p1(t,e,n){var r=FE(n);D.useLayoutEffect(function(){var i=function(o){return r.current(o)};if(t)return t.addEventListener(e,i),function(){return t.removeEventListener(e,i)}},[])}var KE=function(e){p1(window,"resize",e)},ZE=function(e){p1(document.fonts,"loadingdone",e)},QE=["cacheMeasurements","maxRows","minRows","onChange","onHeightChange"],JE=function(e,n){var r=e.cacheMeasurements,i=e.maxRows,s=e.minRows,o=e.onChange,a=o===void 0?h1:o,l=e.onHeightChange,c=l===void 0?h1:l,u=jE(e,QE),d=u.value!==void 0,f=D.useRef(null),h=BE(f,n),v=D.useRef(0),y=D.useRef(),T=function(){var p=f.current,k=r&&y.current?y.current:GE(p);if(k){y.current=k;var C=zE(k,p.value||p.placeholder||"x",s,i),w=C[0],x=C[1];v.current!==w&&(v.current=w,p.style.setProperty("height",w+"px","important"),c(w,{rowHeight:x}))}},m=function(p){d||T(),a(p)};return D.useLayoutEffect(T),KE(T),ZE(T),D.createElement("textarea",Ef({},u,{onChange:m,ref:h}))},YE=D.forwardRef(JE);const m1=8,XE=({className:t,handler:e,uploadUrl:n,onFileUpload:r,enabled:i})=>{const[s,o]=D.useState(!1),[a,l]=D.useState(""),[c,u]=D.useState(null),[d,f]=D.useState(null),h=D.useRef(null),v=D.useRef(null),y=ev();D.useEffect(()=>{var E;y&&((E=v.current)==null||E.focus())},[y]);const T=D.useMemo(()=>a.trim()==="",[a]),[m,b]=D.useState(!1),p=T&&d==null||m||!i,k=()=>{if(p)return;const E=(I,_)=>{(_==null?void 0:_.type)==="bot"&&(b(!1),e.unsubscribe(E),l(""),f(null),y&&setTimeout(()=>{var U;(U=v.current)==null||U.focus()}))};e.subscribe(E),b(!0),n!=null&&d!=null?e.sendStructured({uploadIds:[n.uploadId],utterance:a}):e.sendText(a)},C=n!=null&&i,w=()=>{u("Something went wrong. Please try again.")},x=E=>{var V,G;if(n==null){w();return}const I=(G=(V=E.target)==null?void 0:V.files)==null?void 0:G[0];if(I==null){w();return}const{name:_,size:U,type:$}=I;if(f({name:_,size:U,type:$}),U/1024**2>m1){u(`The file is too big. Max file size: ${m1}mb`);return}fetch(n.url,{method:"PUT",headers:{"Content-Type":"image/jpeg"},body:I}).then(()=>{u(null),r({uploadId:n.uploadId,file:I})}).catch(()=>{w()})};return g.jsx("div",{className:J("relative",t),children:g.jsxs("div",{className:J("bg-primary-5 transition-colors duration-200 p-2 rounded-outer text-base font-normal",s?"":"hover:bg-secondary-20"),children:[c!=null&&g.jsxs("div",{className:"flex items-center py-1 mb-2 w-full bg-error-secondary rounded-inner",children:[g.jsx(Qu,{size:16}),g.jsx("span",{className:"truncate ml-1",children:c})]}),d&&g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"flex items-center justify-between mb-2 w-full",children:[g.jsxs("p",{className:"flex items-center truncate mx-2",children:[c!=null?g.jsx(Qu,{size:16,className:"text-error-primary"}):g.jsx(Ag,{size:16,className:"text-primary-60"}),g.jsx("span",{className:"truncate ml-3",children:d.name})]}),g.jsx(Be,{className:"flex-none",Icon:Ug,label:"Delete",onClick:C?()=>{f(null),u(null),h.current!=null&&(h.current.value="")}:void 0,type:"ghost"})]}),g.jsx("hr",{className:"border-b-px border-background mb-2 -mx-2"})]}),g.jsxs("div",{className:J("flex items-end gap-1"),children:[C&&d==null?g.jsxs(g.Fragment,{children:[g.jsx("label",{htmlFor:"file-upload",className:"p-3 w-10 h-10 flex-none block transition-colors rounded-inner bg-primary-80 hover:bg-primary-80 text-secondary-80 cursor-pointer",children:g.jsx(Zu,{})}),g.jsx("input",{type:"file",id:"file-upload",className:"sr-only",accept:".jpg, .jpeg, .png, .webp, .mp4, .mpeg4, .avi, .mov, .pdf",onChange:x,ref:h})]}):g.jsx(Be,{className:"flex-none",Icon:Zu,label:"Upload file",type:"ghost"}),g.jsx(YE,{disabled:m||!i,className:J("h-10 w-full resize-none mr-2 px-2 py-2 outline-none","bg-transparent text-primary-80 placeholder:text-primary-40 caret-accent","disabled:text-primary-40"),placeholder:"Type something",maxRows:10,onFocus:()=>{o(!0)},onBlur:()=>{o(!1)},value:a,onChange:E=>{l(E.target.value)},onKeyDown:E=>{E.key==="Enter"&&!E.shiftKey&&(E.preventDefault(),k())},ref:v}),g.jsx(Be,{className:"flex-none",label:"Send message",onClick:p?void 0:()=>{k()},type:"main",Icon:bi})]})]})})},eP=t=>({"--font-family":t.fontFamily,"--inner-border-radius":t.innerBorderRadius,"--outer-border-radius":t.outerBorderRadius,"--primary-80":t.primary80,"--primary-60":t.primary60,"--primary-40":t.primary40,"--primary-20":t.primary20,"--primary-10":t.primary10,"--primary-5":t.primary5,"--primary-1":t.primary1,"--secondary-80":t.secondary80,"--secondary-60":t.secondary60,"--secondary-40":t.secondary40,"--secondary-20":t.secondary20,"--secondary-10":t.secondary10,"--secondary-5":t.secondary5,"--secondary-1":t.secondary1,"--accent":t.accent,"--accent-20":t.accent20,"--background":t.background,"--overlay":t.overlay,"--warning-primary":t.warningPrimary,"--warning-secondary":t.warningSecondary,"--error-primary":t.errorPrimary,"--error-secondary":t.errorSecondary}),tP={fontFamily:'"Neue Haas Grotesk", sans-serif',innerBorderRadius:"12px",outerBorderRadius:"20px",primary80:"rgba(0, 2, 9, 0.8)",primary60:"rgba(0, 2, 9, 0.6)",primary40:"rgba(0, 2, 9, 0.4)",primary20:"rgba(0, 2, 9, 0.2)",primary10:"rgba(0, 2, 9, 0.1)",primary5:"rgba(0, 2, 9, 0.05)",primary1:"rgba(0, 2, 9, 0.01)",secondary80:"rgba(255, 255, 255, 0.85)",secondary60:"rgba(255, 255, 255, 0.65)",secondary40:"rgba(255, 255, 255, 0.45)",secondary20:"rgba(255, 255, 255, 0.25)",secondary10:"rgba(255, 255, 255, 0.15)",secondary5:"rgba(255, 255, 255, 0.08)",secondary1:"rgba(255, 255, 255, 0.01)",accent:"rgb(28, 99, 218)",accent20:"rgba(28, 99, 218, 0.2)",background:"rgba(220, 220, 220, 0.9)",overlay:"rgba(0, 2, 9, 0.4)",warningPrimary:"rgb(220, 159, 3)",warningSecondary:"rgb(255, 242, 209)",errorPrimary:"rgb(157, 3, 3)",errorSecondary:"rgb(255, 223, 230)"},nP={fontFamily:'"Neue Haas Grotesk", sans-serif',innerBorderRadius:"12px",outerBorderRadius:"20px",primary80:"rgba(255, 255, 255, 0.85)",primary60:"rgba(255, 255, 255, 0.65)",primary40:"rgba(255, 255, 255, 0.45)",primary20:"rgba(255, 255, 255, 0.25)",primary10:"rgba(255, 255, 255, 0.15)",primary5:"rgba(255, 255, 255, 0.08)",primary1:"rgba(255, 255, 255, 0.01)",secondary80:"rgba(0, 2, 9, 0.8)",secondary60:"rgba(0, 2, 9, 0.6)",secondary40:"rgba(0, 2, 9, 0.4)",secondary20:"rgba(0, 2, 9, 0.2)",secondary10:"rgba(0, 2, 9, 0.1)",secondary5:"rgba(0, 2, 9, 0.05)",secondary1:"rgba(0, 2, 9, 0.01)",accent:"rgb(174, 202, 255)",accent20:"rgba(174, 202, 255, 0.25)",background:"rgba(0, 2, 9, 0.9)",overlay:"rgba(0, 2, 9, 0.4)",warningPrimary:"rgb(255, 214, 108)",warningSecondary:"rgb(95, 65, 29)",errorPrimary:"rgb(255, 133, 162)",errorSecondary:"rgb(94, 4, 4)"},rP=(t,e)=>{const n={};return t.accent!=null&&t.accent20==null&&(n.accent20=`color-mix(in srgb, ${t.accent} 20%, transparent)`),t.primary80!=null&&(t.primary60==null&&(n.primary60=`rgb(from ${t.primary80} r g b / 0.6)`),t.primary40==null&&(n.primary40=`rgb(from ${t.primary80} r g b / 0.4)`),t.primary20==null&&(n.primary20=`rgb(from ${t.primary80} r g b / 0.2)`),t.primary10==null&&(n.primary10=`rgb(from ${t.primary80} r g b / 0.1)`),t.primary5==null&&(n.primary5=`rgb(from ${t.primary80} r g b / 0.05)`),t.primary1==null&&(n.primary1=`rgb(from ${t.primary80} r g b / 0.01)`)),t.secondary80!=null&&(t.secondary60==null&&(n.secondary60=`rgb(from ${t.secondary80} r g b / 0.6)`),t.secondary40==null&&(n.secondary40=`rgb(from ${t.secondary80} r g b / 0.4)`),t.secondary20==null&&(n.secondary20=`rgb(from ${t.secondary80} r g b / 0.2)`),t.secondary10==null&&(n.secondary10=`rgb(from ${t.secondary80} r g b / 0.1)`),t.secondary5==null&&(n.secondary5=`rgb(from ${t.secondary80} r g b / 0.05)`),t.secondary1==null&&(n.secondary1=`rgb(from ${t.secondary80} r g b / 0.01)`)),{...e,...n,...t}},Sl=({colorMode:t,children:e,theme:n,className:r})=>{const i=rP(n??{},t==="dark"?nP:tP);return g.jsx("div",{className:J(r,"font-sans"),style:{...eP(i),colorScheme:t},children:e})},g1="bg-background backdrop-blur text-primary-80 rounded-outer p-2 w-[calc(100vw-16px)] max-w-[360px] space-y-4",v1=({children:t,onClose:e})=>g.jsxs("div",{className:g1,children:[g.jsx("div",{className:"flex items-center justify-end",children:g.jsx(Be,{onClick:e,Icon:Ms,type:"ghost",label:"Close"})}),t]}),y1=({children:t,className:e})=>g.jsx("div",{className:J("bg-background rounded-outer p-2 w-fit flex items-center gap-2",e),children:t}),iP=({children:t})=>g.jsx("div",{className:J(g1,"absolute right-0 -top-2 transform -translate-y-full"),children:t}),sP=({handler:t,context:e,onClose:n,customModalities:r})=>{const[i,s]=D.useState(!1),[o,a]=D.useState(!0),[l,c]=D.useState(!0),{roomState:u,soundCheck:d,isUserSpeaking:f,isApplicationSpeaking:h,retrySoundCheck:v,roomData:y}=Hy({active:i,micEnabled:o,speakersEnabled:l,handler:t,context:e});return i?u==="error"?g.jsx(v1,{onClose:n,children:g.jsx(a1,{message:"I couldn’t connect"})}):u==="pending"?g.jsxs(y1,{className:"relative",children:[g.jsx(Be,{Icon:Ns,label:"Microphone",type:"ghost",className:"invisible"}),g.jsx(Be,{Icon:Ds,label:"Speakers",type:"ghost",className:"invisible"}),g.jsx(Be,{Icon:Ms,label:"Close",type:"ghost",className:"invisible"}),g.jsx("span",{className:"w-6 h-6 block text-accent absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2",children:g.jsx(Na,{})})]}):g.jsxs(y1,{children:[g.jsxs("div",{className:"w-fit relative",children:[f?g.jsx(Ci,{className:"rounded-inner"}):null,g.jsx(Be,{Icon:Ns,label:"Microphone",type:o?"activated":"ghost",onClick:()=>{a(T=>!T)}})]}),g.jsxs("div",{className:"w-fit relative",children:[h?g.jsx(Ci,{className:"rounded-inner"}):null,g.jsx(Be,{Icon:l?Ds:Ia,label:"Speakers",type:l?"activated":"ghost",onClick:()=>{c(T=>!T)}})]}),g.jsx(Be,{label:"Close",Icon:Ms,type:"error",onClick:()=>{s(!1),n()}}),y!=null?g.jsx(qy,{Wrapper:iP,roomData:y,customModalities:r,handler:t}):null]}):g.jsxs(v1,{onClose:n,children:[g.jsx($y,{soundCheck:d,showDevices:!1}),d!=null?d.micAllowed?g.jsx(kn,{type:"main",label:"I’m ready",Icon:bi,onClick:()=>{s(!0)}}):g.jsx(kn,{type:"ghost",label:"Retry sound check",Icon:Oa,onClick:v}):null]})},b1=D.forwardRef((t,e)=>{var $;const n=D.useMemo(()=>US(t.config),[t.config]),[r,i]=D.useState([]),s=(($=r[r.length-1])==null?void 0:$.type)==="user",o=t.colorMode??"dark",[a,l]=D.useState(t.embedded),c=jS(t.config),[u,d]=D.useState(!1),f=D.useRef(t.embedded),h=t.input??"text",v=D.useCallback(V=>{t.onClose!=null&&(t.onClose(V),V.defaultPrevented||l(!1))},[t.onClose,l]);D.useEffect(()=>{f.current=a},[a]),D.useImperativeHandle(e,()=>({setExpanded:l,getExpanded(){return f.current},getConversationHandler(){return n}}),[n,l]),D.useEffect(()=>{const V=G=>{i(G)};return n.subscribe(V),()=>{n.unsubscribe(V)}},[n,i]);const y=D.useRef(!1);D.useEffect(()=>{!a||y.current||(y.current=!0,t.initializeConversation(n,t.initialContext))},[t.initializeConversation,t.initialContext,n,a]);const T=t.windowSize??(t.embedded?"full":"half"),m=D.useMemo(()=>{const V=vg(R=>R.type==="bot",r);if(V===-1)return null;const G=r[V];return(G==null?void 0:G.type)!=="bot"?null:{index:V,response:G}},[r]),b=D.useMemo(()=>{if(m==null)return;const V=vg(R=>R.choices.length>0,m.response.payload.messages);if(V===-1)return;const G=m.response.payload.messages[V];if(G!=null)return{message:G,messageIndex:V,responseIndex:m.index}},[m]),[p,k]=D.useState(!1),[C,w]=D.useState({}),x=t.customModalities??{},[E,I]=D.useState(!0);if(n==null)return null;if(!a)return t.launchIcon!==!1?g.jsx(Sl,{className:"fixed z-launchButton bottom-2 right-2 w-fit",theme:t.theme,colorMode:o,children:g.jsx(ow,{className:"backdrop-blur",iconUrl:typeof t.launchIcon=="string"?t.launchIcon:void 0,Custom:typeof t.launchIcon=="function"?t.launchIcon:void 0,onClick:()=>{l(!0)},label:"Expand chat"})}):null;if(h==="voiceMini")return g.jsx(Sl,{theme:t.theme,colorMode:o,className:"fixed z-touchpoint bottom-2 right-2 w-fit",children:g.jsx(sP,{handler:n,context:t.initialContext,onClose:()=>{l(!1)},customModalities:x})});const _=()=>{var V,G;return u?g.jsx(Wy,{reset:()=>{U(),d(!1)},className:J("flex-none",T==="full"?"w-full md:max-w-content md:mx-auto":""),onClose:()=>{d(!1)},handler:n}):c?g.jsxs(g.Fragment,{children:[g.jsx(AE,{enabled:t.enabled,userMessageBubble:t.userMessageBubble??!1,agentMessageBubble:t.agentMessageBubble??!1,chatMode:t.chatMode??!1,isWaiting:s,lastBotResponseIndex:m==null?void 0:m.index,responses:r,colorMode:o,handler:n,uploadedFiles:C,customModalities:x,className:J("flex-grow",T==="full"?"w-full md:max-w-content md:mx-auto":"")}),g.jsxs("div",{className:J("p-2 md:p-3 flex flex-col flex-none gap-2",T==="full"?"w-full md:max-w-content md:mx-auto":""),children:[b!=null?g.jsx(NE,{...b,handler:n}):null,(b==null?void 0:b.message.selectedChoiceId)!=null?null:g.jsx(XE,{enabled:t.enabled,handler:n,uploadUrl:(G=(V=m==null?void 0:m.response.payload.metadata)==null?void 0:V.uploadUrls)==null?void 0:G[0],onFileUpload:({uploadId:R,file:W})=>{w(H=>({...H,[R]:W}))}})]})]}):g.jsx(tv,{})},U=()=>{n.reset({clearResponses:!0}),h!=="voice"&&t.initializeConversation(n,t.initialContext),k(!1)};return g.jsxs(Sl,{theme:t.theme,colorMode:o,className:"grid grid-cols-2 xl:grid-cols-[1fr_632px] fixed inset-0 z-touchpoint",children:[T==="half"?g.jsx("div",{className:"hidden md:block bg-overlay"}):null,g.jsxs("div",{className:J("w-full bg-background text-primary-80 flex relative flex-col h-full backdrop-blur-overlay",{"col-span-2 md:col-span-1":T==="half","col-span-2":T==="full"}),children:[g.jsx(mw,{windowSize:t.embedded?"embedded":T,errorThemedCloseButton:h==="voice"&&p,speakerControls:h==="voice"&&p?{enabled:E,setEnabled:I}:void 0,colorMode:o,brandIcon:t.brandIcon,isSettingsOpen:u,enabled:t.enabled,toggleSettings:t.enableSettings?()=>{d(V=>!V)}:void 0,renderCollapse:t.onClose!=null,collapse:V=>{h==="voice"&&n.reset({clearResponses:!0}),k(!1),v(V)},reset:U}),h==="text"?_():g.jsxs(g.Fragment,{children:[u?g.jsx(Wy,{className:J("flex-none",T==="full"?"w-full md:max-w-content md:mx-auto":""),onClose:()=>{d(!1)},reset:()=>{U(),d(!1)},handler:n}):null,g.jsx(Xx,{active:p,initializeConversation:t.initializeConversation,setActive:k,brandIcon:t.brandIcon,handler:n,speakersEnabled:E,colorMode:o,className:u?"hidden":"flex-grow",context:t.initialContext,customModalities:x})]})]})]})});b1.displayName="App";const k1=`*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-family);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*{font-family:var(--font-family)!important}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.-top-2{top:-.5rem}.bottom-2{bottom:.5rem}.bottom-4{bottom:1rem}.left-1\\/2{left:50%}.left-4{left:1rem}.right-0{right:0}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1\\/2{top:50%}.top-4{top:1rem}.z-10{z-index:10}.z-launchButton{z-index:100}.z-touchpoint{z-index:1000}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-52{height:13rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-72{height:18rem}.h-8{height:2rem}.h-\\[128px\\]{height:128px}.h-\\[1px\\]{height:1px}.h-\\[360px\\]{height:360px}.h-full{height:100%}.max-h-\\[40vh\\]{max-height:40vh}.min-h-full{min-height:100%}.w-10{width:2.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-\\[128px\\]{width:128px}.w-\\[calc\\(100vw-16px\\)\\]{width:calc(100vw - 16px)}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.max-w-\\[360px\\]{max-width:360px}.max-w-content{max-width:640px}.flex-none{flex:none}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\\[320px\\,1fr\\]{grid-template-columns:320px 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded-full{border-radius:9999px}.rounded-inner{border-radius:var(--inner-border-radius)}.rounded-outer{border-radius:var(--outer-border-radius)}.border{border-width:1px}.border-background{border-color:var(--background)}.bg-\\[rgb\\(175\\,175\\,175\\)\\]{--tw-bg-opacity: 1;background-color:rgb(175 175 175 / var(--tw-bg-opacity))}.bg-\\[rgb\\(40\\,41\\,47\\)\\]{--tw-bg-opacity: 1;background-color:rgb(40 41 47 / var(--tw-bg-opacity))}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-black\\/50{background-color:#00000080}.bg-current{background-color:currentColor}.bg-error-primary{background-color:var(--error-primary)}.bg-error-secondary{background-color:var(--error-secondary)}.bg-overlay{background-color:var(--overlay)}.bg-primary-10{background-color:var(--primary-10)}.bg-primary-5{background-color:var(--primary-5)}.bg-primary-80{background-color:var(--primary-80)}.bg-secondary-40{background-color:var(--secondary-40)}.bg-secondary-60{background-color:var(--secondary-60)}.bg-transparent{background-color:transparent}.bg-cover{background-size:cover}.bg-center{background-position:center}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0{padding-top:0;padding-bottom:0}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\\.5{padding-top:.625rem;padding-bottom:.625rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-1{padding-bottom:.25rem}.pl-10{padding-left:2.5rem}.pl-4{padding-left:1rem}.pr-2{padding-right:.5rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-sans{font-family:var(--font-family)}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-normal{font-weight:400}.text-accent{color:var(--accent)}.text-accent-20{color:var(--accent-20)}.text-error-primary{color:var(--error-primary)}.text-primary-20{color:var(--primary-20)}.text-primary-40{color:var(--primary-40)}.text-primary-60{color:var(--primary-60)}.text-primary-80{color:var(--primary-80)}.text-secondary-40{color:var(--secondary-40)}.text-secondary-80{color:var(--secondary-80)}.placeholder-primary-20::-moz-placeholder{color:var(--primary-20)}.placeholder-primary-20::placeholder{color:var(--primary-20)}.placeholder-primary-40::-moz-placeholder{color:var(--primary-40)}.placeholder-primary-40::placeholder{color:var(--primary-40)}.caret-accent{caret-color:var(--accent)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-\\[0\\.01\\]{opacity:.01}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-0{outline-width:0px}.outline-2{outline-width:2px}.outline-accent{outline-color:var(--accent)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-overlay{--tw-backdrop-blur: blur(48px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-500{transition-duration:.5s}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@property --glow-opacity{syntax: "<percentage>"; inherits: false; initial-value: 0%;}.fullscreen-error svg{animation:error-glow 3s ease infinite;--glow-opacity: 0%;filter:drop-shadow(0 0 6px color-mix(in srgb,transparent,var(--accent) var(--glow-opacity)))}@keyframes error-glow{0%{color:var(--primary);fill-opacity:8%;--glow-opacity: 0%}22%{color:var(--primary);fill-opacity:8%;--glow-opacity: 0%}35%{color:var(--accent);fill-opacity:80%;--glow-opacity: 60%}45%{color:var(--accent);fill-opacity:70%;--glow-opacity: 30%}55%{color:var(--accent);fill-opacity:60%;--glow-opacity: 60%}60%{color:var(--primary);fill-opacity:8%;--glow-opacity: 0%}to{color:var(--primary);fill-opacity:8%;--glow-opacity: 0%}}.markdown ul{list-style-position:inside;list-style-type:disc}.markdown ol{list-style-position:inside;list-style-type:decimal}.markdown hr{border-color:var(--primary-20)}.markdown a{text-decoration-line:underline}.markdown h1,.markdown h2,.markdown h3{font-weight:700}.placeholder\\:text-primary-40::-moz-placeholder{color:var(--primary-40)}.placeholder\\:text-primary-40::placeholder{color:var(--primary-40)}.before\\:absolute:before{content:var(--tw-content);position:absolute}.before\\:inset-0:before{content:var(--tw-content);top:0;right:0;bottom:0;left:0}.before\\:-z-10:before{content:var(--tw-content);z-index:-10}.before\\:bg-transparent:before{content:var(--tw-content);background-color:transparent}.before\\:transition-colors:before{content:var(--tw-content);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.before\\:content-\\[\\'\\'\\]:before{--tw-content: "";content:var(--tw-content)}.after\\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:inset-0:after{content:var(--tw-content);top:0;right:0;bottom:0;left:0}.after\\:rounded-outer:after{content:var(--tw-content);border-radius:var(--outer-border-radius)}.after\\:content-\\[\\'\\'\\]:after{--tw-content: "";content:var(--tw-content)}.hover\\:bg-primary-10:hover{background-color:var(--primary-10)}.hover\\:bg-primary-5:hover{background-color:var(--primary-5)}.hover\\:bg-primary-80:hover{background-color:var(--primary-80)}.hover\\:bg-secondary-20:hover{background-color:var(--secondary-20)}.hover\\:text-primary-80:hover{color:var(--primary-80)}.hover\\:after\\:bg-primary-10:hover:after{content:var(--tw-content);background-color:var(--primary-10)}.focus\\:outline-0:focus{outline-width:0px}.focus\\:before\\:bg-primary-10:focus:before{content:var(--tw-content);background-color:var(--primary-10)}.focus\\:before\\:bg-primary-40:focus:before{content:var(--tw-content);background-color:var(--primary-40)}.focus\\:before\\:bg-primary-5:focus:before{content:var(--tw-content);background-color:var(--primary-5)}.focus\\:before\\:bg-primary-80:focus:before{content:var(--tw-content);background-color:var(--primary-80)}.enabled\\:hover\\:before\\:bg-primary-10:hover:enabled:before{content:var(--tw-content);background-color:var(--primary-10)}.enabled\\:hover\\:before\\:bg-primary-40:hover:enabled:before{content:var(--tw-content);background-color:var(--primary-40)}.enabled\\:hover\\:before\\:bg-primary-5:hover:enabled:before{content:var(--tw-content);background-color:var(--primary-5)}.enabled\\:hover\\:before\\:bg-primary-80:hover:enabled:before{content:var(--tw-content);background-color:var(--primary-80)}.enabled\\:active\\:before\\:bg-secondary-10:active:enabled:before{content:var(--tw-content);background-color:var(--secondary-10)}.disabled\\:bg-accent-20:disabled{background-color:var(--accent-20)}.disabled\\:bg-primary-10:disabled{background-color:var(--primary-10)}.disabled\\:bg-primary-5:disabled{background-color:var(--primary-5)}.disabled\\:bg-secondary-20:disabled{background-color:var(--secondary-20)}.disabled\\:text-primary-20:disabled{color:var(--primary-20)}.disabled\\:text-primary-40:disabled{color:var(--primary-40)}.disabled\\:text-secondary-40:disabled{color:var(--secondary-40)}@media (min-width: 768px){.md\\:absolute{position:absolute}.md\\:left-0{left:0}.md\\:right-0{right:0}.md\\:top-0{top:0}.md\\:-order-1{order:-1}.md\\:col-span-1{grid-column:span 1 / span 1}.md\\:mx-auto{margin-left:auto;margin-right:auto}.md\\:block{display:block}.md\\:w-fit{width:-moz-fit-content;width:fit-content}.md\\:max-w-content{max-width:640px}.md\\:-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\\:flex-col{flex-direction:column}.md\\:p-3{padding:.75rem}}@media (min-width: 1280px){.xl\\:grid-cols-\\[1fr_632px\\]{grid-template-columns:1fr 632px}}`,C1=({children:t,faded:e})=>g.jsx("p",{className:J("text-base",e?"text-primary-60":"text-primary-80"),children:t}),S1=({children:t})=>g.jsx("p",{className:"text-sm text-primary-60",children:t}),w1=({children:t,selected:e,onClick:n,href:r,newTab:i})=>{const s=J("block shrink-0 rounded-inner overflow-hidden","w-80 space-y-px",e?"outline outline-2 outline-accent":"",n!=null||r!=null?"hover:bg-primary-5":"");return D.useEffect(()=>{r==null&&i!=null&&console.warn("Setting the `newTab` prop on the `<CustomCard/>` has no effect if the `href` is not also set.")},[r,i]),r!=null?g.jsx("a",{className:s,href:r,onClick:n,...i?{target:"_blank",rel:"noreferrer"}:{},children:t}):n!=null?g.jsx("button",{className:s,onClick:n,children:t}):g.jsx("div",{className:s,children:t})},T1=({src:t,alt:e})=>g.jsx("img",{src:t,alt:e,className:"w-full h-52 object-cover"}),x1=({left:t,right:e,icon:n})=>g.jsxs("div",{className:"flex items-center relative justify-between gap-2 bg-primary-5 px-3 py-4",children:[g.jsx("div",{className:"space-y-1 text-left",children:t}),g.jsx("div",{className:"space-y-1 text-right",children:e}),n!=null?g.jsx(n,{className:"text-primary-60 w-4 h-4 absolute top-1/2 left-1/2 transform -translate-y-1/2 -translate-x-1/2"}):null]});/*! *****************************************************************************
|
|
157
157
|
Copyright (c) Microsoft Corporation.
|
|
158
158
|
|
|
159
159
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -166,11 +166,11 @@ Please report this to https://github.com/markedjs/marked.`,e){const i="<p>An err
|
|
|
166
166
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
167
167
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
168
168
|
PERFORMANCE OF THIS SOFTWARE.
|
|
169
|
-
***************************************************************************** */var E1=function(t,e){return(E1=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)r.hasOwnProperty(i)&&(n[i]=r[i])})(t,e)},
|
|
169
|
+
***************************************************************************** */var E1=function(t,e){return(E1=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)r.hasOwnProperty(i)&&(n[i]=r[i])})(t,e)},oP,wl,aP=(function(t){/*!
|
|
170
170
|
Copyright (c) 2017 Jed Watson.
|
|
171
171
|
Licensed under the MIT License (MIT), see
|
|
172
172
|
http://jedwatson.github.io/classnames
|
|
173
|
-
*/(function(){var e={}.hasOwnProperty;function n(){for(var r=[],i=0;i<arguments.length;i++){var s=arguments[i];if(s){var o=typeof s;if(o==="string"||o==="number")r.push(s);else if(Array.isArray(s)&&s.length){var a=n.apply(null,s);a&&r.push(a)}else if(o==="object")for(var l in s)e.call(s,l)&&s[l]&&r.push(l)}}return r.join(" ")}t.exports?(n.default=n,t.exports=n):window.classNames=n})()}(wl={path:
|
|
173
|
+
*/(function(){var e={}.hasOwnProperty;function n(){for(var r=[],i=0;i<arguments.length;i++){var s=arguments[i];if(s){var o=typeof s;if(o==="string"||o==="number")r.push(s);else if(Array.isArray(s)&&s.length){var a=n.apply(null,s);a&&r.push(a)}else if(o==="object")for(var l in s)e.call(s,l)&&s[l]&&r.push(l)}}return r.join(" ")}t.exports?(n.default=n,t.exports=n):window.classNames=n})()}(wl={path:oP,exports:{},require:function(t,e){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(e==null&&wl.path)}},wl.exports),wl.exports);function Pf(t,e,n){var r,i,s,o,a;function l(){var u=Date.now()-o;u<e&&u>=0?r=setTimeout(l,e-u):(r=null,n||(a=t.apply(s,i),s=i=null))}e==null&&(e=100);var c=function(){s=this,i=arguments,o=Date.now();var u=n&&!r;return r||(r=setTimeout(l,e)),u&&(a=t.apply(s,i),s=i=null),a};return c.clear=function(){r&&(clearTimeout(r),r=null)},c.flush=function(){r&&(a=t.apply(s,i),s=i=null,clearTimeout(r),r=null)},c}Pf.debounce=Pf;var lP=Pf;(function(t,e){e===void 0&&(e={});var n=e.insertAt;if(typeof document<"u"){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css",n==="top"&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=t:i.appendChild(document.createTextNode(t))}})(`.indiana-scroll-container {
|
|
174
174
|
overflow: auto; }
|
|
175
175
|
.indiana-scroll-container--dragging {
|
|
176
176
|
scroll-behavior: auto !important; }
|
|
@@ -195,5 +195,5 @@ Please report this to https://github.com/markedjs/marked.`,e){const i="<p>An err
|
|
|
195
195
|
.indiana-dragging {
|
|
196
196
|
cursor: -webkit-grab;
|
|
197
197
|
cursor: grab; }
|
|
198
|
-
`);var _f,
|
|
199
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var s,o=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var l=n.next();return o=l.done,l},e:function(l){a=!0,s=l},f:function(){try{o||n.return==null||n.return()}finally{if(a)throw s}}}}function I1(t,e,n){return(e=function(r){var i=function(s,o){if(typeof s!="object"||!s)return s;var a=s[Symbol.toPrimitive];if(a!==void 0){var l=a.call(s,o);if(typeof l!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(o==="string"?String:Number)(s)}(r,"string");return typeof i=="symbol"?i:i+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Tl(){return Tl=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Tl.apply(null,arguments)}function xl(t){return xl=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},xl(t)}function mP(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Rf(t,e)}function O1(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(O1=function(){return!!t})()}function L1(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function El(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?L1(Object(n),!0).forEach(function(r){I1(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):L1(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function M1(t,e){if(t==null)return{};var n,r,i=function(o,a){if(o==null)return{};var l={};for(var c in o)if({}.hasOwnProperty.call(o,c)){if(a.includes(c))continue;l[c]=o[c]}return l}(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r<s.length;r++)n=s[r],e.includes(n)||{}.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}function Rf(t,e){return Rf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},Rf(t,e)}function no(t,e){var n,r=e.replacementChars,i=e.replacement,s=e.separate,o=r,a="",l=R1(t);try{for(l.s();!(n=l.n()).done;){var c,u=n.value,d=!Object.prototype.hasOwnProperty.call(i,u)&&((c=i[o[0]])===null||c===void 0?void 0:c.test(u));(s&&u===o[0]||d)&&(o=o.slice(1),a+=u)}}catch(f){l.e(f)}finally{l.f()}return a}function N1(t,e){var n,r=e.mask,i=e.replacement,s=e.separate,o=e.showMask,a=0,l="",c=R1(r);try{for(c.s();!(n=c.n()).done;){var u=n.value;if(!o&&t[a]===void 0)break;Object.prototype.hasOwnProperty.call(i,u)&&t[a]!==void 0?l+=t[a++]:l+=u}}catch(f){c.e(f)}finally{c.f()}if(s&&!o){for(var d=r.length-1;d>=0&&l[d]===r[d];d--);l=l.slice(0,d+1)}return l}function D1(t,e){for(var n=e.mask,r=e.replacement,i=[],s=0;s<n.length;s++){var o,a=(o=t[s])!==null&&o!==void 0?o:n[s],l=Object.prototype.hasOwnProperty.call(r,a)?"replacement":t[s]!==void 0&&t[s]!==n[s]?"input":"mask";i.push({type:l,value:a,index:s})}return i}function ji(t){return t.length>0?I1({},t,/./):{}}function If(t,e){for(var n=e.start,r=n===void 0?0:n,i=e.end,s=e.mask,o=e.replacement,a=e.separate,l=t.slice(r,i),c=s.slice(r,i),u="",d=0;d<c.length;d++){var f=Object.prototype.hasOwnProperty.call(o,c[d]);f&&l[d]!==void 0&&l[d]!==c[d]?u+=l[d]:f&&a&&(u+=c[d])}return u}function A1(t,e){var n=e.mask,r=e.replacement,i=typeof r=="string"?ji(r):r,s=RegExp("[^".concat(Object.keys(i).join(""),"]"),"g");return N1(no(t,{replacementChars:n.replace(s,""),replacement:i,separate:!1}),{mask:n,replacement:i,separate:!1,showMask:!1})}function gP(t,e){var n=e.mask,r=e.replacement,i=typeof r=="string"?ji(r):r,s=If(t,{mask:n,replacement:i,separate:!1}),o=RegExp("[^".concat(Object.keys(i).join(""),"]"),"g");return no(s,{replacementChars:n.replace(o,""),replacement:i,separate:!1})}function vP(t,e){var n=e.mask,r=e.replacement,i=typeof r=="string"?ji(r):r;return D1(A1(t,{mask:n,replacement:i}),{mask:n,replacement:i})}var yP=["[","]","\\","/","^","$",".","|","?","*","+","(",")","{","}"];function j1(t){return yP.includes(t)?"\\".concat(t):t}function bP(t,e){for(var n=e.mask,r=e.replacement,i=typeof r=="string"?ji(r):r,s=t==="partial"||t==="partial-inexact",o=t==="full"||t==="partial",a="",l=0;l<n.length;l++){var c=n[l];l===0&&(a="^"),s&&(a+="("),a+=Object.prototype.hasOwnProperty.call(i,c)?"".concat(o?"(?!".concat(j1(c),")"):"","(").concat(i[c].source,")"):j1(c),l===n.length-1&&(s&&(a+=")?".repeat(n.length)),a+="$")}return a}function kP(t,e){return new Proxy(t,{set:function(n,r,i){return r==="current"&&(i!==t.current&&(t.current!==null&&e.unregister(t.current),i!==null&&e.register(i)),n[r]=i,!0)}})}function CP(t,e,n){return e=ro(e),function(r,i){if(i&&(typeof i=="object"||typeof i=="function"))return i;if(i!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(s){if(s===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return s}(r)}(t,Of()?Reflect.construct(e,n||[],ro(t).constructor):e.apply(t,n))}function U1(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function F1(t,e,n){return Object.defineProperty(t,"prototype",{writable:!1}),t}function SP(t,e,n){return(e=function(r){var i=function(s,o){if(typeof s!="object"||!s)return s;var a=s[Symbol.toPrimitive];if(a!==void 0){var l=a.call(s,o);if(typeof l!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(o==="string"?String:Number)(s)}(r,"string");return typeof i=="symbol"?i:i+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function ro(t){return ro=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ro(t)}function wP(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&io(t,e)}function Of(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Of=function(){return!!t})()}function B1(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function V1(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?B1(Object(n),!0).forEach(function(r){SP(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):B1(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function TP(t,e){if(t==null)return{};var n,r,i=function(o,a){if(o==null)return{};var l={};for(var c in o)if({}.hasOwnProperty.call(o,c)){if(a.includes(c))continue;l[c]=o[c]}return l}(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r<s.length;r++)n=s[r],e.includes(n)||{}.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}function io(t,e){return io=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},io(t,e)}function Lf(t){return Lf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Lf(t)}function Mf(t){var e=typeof Map=="function"?new Map:void 0;return Mf=function(n){if(n===null||!function(i){try{return Function.toString.call(i).indexOf("[native code]")!==-1}catch{return typeof i=="function"}}(n))return n;if(typeof n!="function")throw new TypeError("Super expression must either be null or a function");if(e!==void 0){if(e.has(n))return e.get(n);e.set(n,r)}function r(){return function(i,s,o){if(Of())return Reflect.construct.apply(null,arguments);var a=[null];a.push.apply(a,s);var l=new(i.bind.apply(i,a));return o&&io(l,o.prototype),l}(n,arguments,ro(this).constructor)}return r.prototype=Object.create(n.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),io(r,n)},Mf(t)}var so=function(t){function e(n){var r;return U1(this,e),(r=CP(this,e,[n])).name="SyntheticChangeError",r}return wP(e,t),F1(e)}(Mf(Error)),z1,xP=["options"],EP=["text","email","tel","search","url"],H1=F1(function t(e){var n=e.init,r=e.tracking;U1(this,t);var i=new WeakMap;this.register=function(s){var o;if(EP.includes(s.type)){var a=(o=s._wrapperState)!==null&&o!==void 0?o:{},l=a.initialValue,c=l===void 0?"":l,u=a.controlled,d=u!==void 0&&u,f=n({initialValue:s.value||c,controlled:d}),h=f.value,v=f.options,y={value:h,options:v,fallbackOptions:v},T={id:-1,cachedId:-1},m={value:"",selectionStart:0,selectionEnd:0},b=Object.getOwnPropertyDescriptor("_valueTracker"in s?s:HTMLInputElement.prototype,"value");Object.defineProperty(s,"value",V1(V1({},b),{},{set:function(w){var x;m.value=w,b==null||(x=b.set)===null||x===void 0||x.call(s,w)}})),s.value=h;var p=function(){var w=function(){var x,E;m.selectionStart=(x=s.selectionStart)!==null&&x!==void 0?x:0,m.selectionEnd=(E=s.selectionEnd)!==null&&E!==void 0?E:0,T.id=window.setTimeout(w)};T.id=window.setTimeout(w)},k=function(){window.clearTimeout(T.id),T.id=-1,T.cachedId=-1},C=function(w){try{var x,E;if(T.cachedId===T.id)throw new so("The input selection has not been updated.");T.cachedId=T.id;var I=s.value,_=s.selectionStart,U=s.selectionEnd;if(_===null||U===null)throw new so("The selection attributes have not been initialized.");var $,V=m.value;if(w.inputType===void 0&&(m.selectionStart=0,m.selectionEnd=V.length),_>m.selectionStart?$="insert":_<=m.selectionStart&&_<m.selectionEnd?$="deleteBackward":_===m.selectionEnd&&I.length<V.length&&($="deleteForward"),$===void 0||($==="deleteBackward"||$==="deleteForward")&&I.length>V.length)throw new so("Input type detection error.");var G="",R=m.selectionStart,W=m.selectionEnd;if($==="insert")G=I.slice(m.selectionStart,_);else{var H=V.length-I.length;R=_,W=_+H}y.value!==V?y.options=y.fallbackOptions:y.fallbackOptions=y.options;var M=y.options,q=r({inputType:$,previousValue:V,previousOptions:M,value:I,addedValue:G,changeStart:R,changeEnd:W,selectionStart:_,selectionEnd:U}),K=q.options,ee=TP(q,xP);s.value=ee.value,s.setSelectionRange(ee.selectionStart,ee.selectionEnd),y.value=ee.value,y.options=K,m.selectionStart=ee.selectionStart,m.selectionEnd=ee.selectionEnd,(x=s._valueTracker)===null||x===void 0||(E=x.setValue)===null||E===void 0||E.call(x,V)}catch(ue){if(s.value=m.value,s.setSelectionRange(m.selectionStart,m.selectionEnd),w.preventDefault(),w.stopPropagation(),ue.name!=="SyntheticChangeError")throw ue}};document.activeElement===s&&p(),s.addEventListener("focus",p),s.addEventListener("blur",k),s.addEventListener("input",C),i.set(s,{onFocus:p,onBlur:k,onInput:C})}},this.unregister=function(s){var o=i.get(s);o!==void 0&&(s.removeEventListener("focus",o.onFocus),s.removeEventListener("blur",o.onBlur),s.removeEventListener("input",o.onInput),i.delete(s))}});z1=H1,Object.defineProperty(z1.prototype,Symbol.toStringTag,{writable:!1,enumerable:!1,configurable:!0,value:"Input"});function PP(t,e){return D.useCallback(function(n){t.current=n,typeof e=="function"?e(n):Lf(e)==="object"&&e!==null&&(e.current=n)},[t,e])}var $1,_P=["track","modify"];function Ui(t){var e,n,r,i;return{mask:(e=t.mask)!==null&&e!==void 0?e:"",replacement:typeof t.replacement=="string"?ji(t.replacement):(n=t.replacement)!==null&&n!==void 0?n:{},showMask:(r=t.showMask)!==null&&r!==void 0&&r,separate:(i=t.separate)!==null&&i!==void 0&&i,track:t.track,modify:t.modify}}var q1=function(t){function e(){var n,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return hP(this,e),(n=fP(this,e,[{init:function(i){var s=i.initialValue,o=i.controlled,a=Ui(r),l=a.mask,c=a.replacement,u=a.separate,d=a.showMask;return s=o||s?s:d?l:"",{value:s,options:{mask:l,replacement:c,separate:u}}},tracking:function(i){var s=i.inputType,o=i.previousValue,a=i.previousOptions,l=i.addedValue,c=i.changeStart,u=i.changeEnd,d=Ui(r),f=d.track,h=d.modify,v=M1(d,_P),y=v.mask,T=v.replacement,m=v.showMask,b=v.separate,p=El(El({},s==="insert"?{inputType:s,data:l}:{inputType:s,data:null}),{},{value:o,selectionStart:c,selectionEnd:u}),k=f==null?void 0:f(p);if(k===!1)throw new so("Custom tracking stop.");k===null?l="":k!==!0&&k!==void 0&&(l=k);var C=h==null?void 0:h(p);(C==null?void 0:C.mask)!==void 0&&(y=C.mask),(C==null?void 0:C.replacement)!==void 0&&(T=typeof(C==null?void 0:C.replacement)=="string"?ji(C==null?void 0:C.replacement):C.replacement),(C==null?void 0:C.showMask)!==void 0&&(m=C.showMask),(C==null?void 0:C.separate)!==void 0&&(b=C.separate);var w=If(o,El({end:c},a)),x=If(o,El({start:u},a)),E=RegExp("[^".concat(Object.keys(T).join(""),"]"),"g"),I=y.replace(E,"");if(w&&(w=no(w,{replacementChars:I,replacement:T,separate:b}),I=I.slice(w.length)),l&&(l=no(l,{replacementChars:I,replacement:T,separate:!1}),I=I.slice(l.length)),s==="insert"&&l==="")throw new so("The character does not match the key value of the `replacement` object.");if(b){var _=y.slice(c,u).replace(E,""),U=_.length-l.length;U<0?x=x.slice(-U):U>0&&(x=_.slice(-U)+x)}x&&(x=no(x,{replacementChars:I,replacement:T,separate:b}));var $=N1(w+l+x,{mask:y,replacement:T,separate:b,showMask:m}),V=function(G){var R,W,H,M=G.inputType,q=G.value,K=G.addedValue,ee=G.beforeChangeValue,ue=G.mask,_n=G.replacement,Rn=G.separate,Fr=D1(q,{mask:ue,replacement:_n}).filter(function(Df){var ab=Df.type;return ab==="input"||Rn&&ab==="replacement"}),cn=(R=Fr[ee.length+K.length-1])===null||R===void 0?void 0:R.index,Zt=(W=Fr[ee.length-1])===null||W===void 0?void 0:W.index,Vi=(H=Fr[ee.length+K.length])===null||H===void 0?void 0:H.index;if(M==="insert"){if(cn!==void 0)return cn+1;if(Vi!==void 0)return Vi;if(Zt!==void 0)return Zt+1}if(M==="deleteForward"){if(Vi!==void 0)return Vi;if(Zt!==void 0)return Zt+1}if(M==="deleteBackward"){if(Zt!==void 0)return Zt+1;if(Vi!==void 0)return Vi}var ob=q.split("").findIndex(function(Df){return Object.prototype.hasOwnProperty.call(_n,Df)});return ob!==-1?ob:q.length}({inputType:s,value:$,addedValue:l,beforeChangeValue:w,mask:y,replacement:T,separate:b});return{value:$,selectionStart:V,selectionEnd:V,options:{mask:y,replacement:T,separate:b}}}}])).format=function(i){return A1(i,Ui(r))},n.formatToParts=function(i){return vP(i,Ui(r))},n.unformat=function(i){return gP(i,Ui(r))},n.generatePattern=function(i){return bP(i,Ui(r))},n}return mP(e,H1),pP(e)}();$1=q1,Object.defineProperty($1.prototype,Symbol.toStringTag,{writable:!1,enumerable:!1,configurable:!0,value:"Mask"});function RP(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=t.mask,n=t.replacement,r=t.showMask,i=t.separate,s=t.track,o=t.modify,a=D.useRef(null),l=D.useRef({mask:e,replacement:n,showMask:r,separate:i,track:s,modify:o});return l.current.mask=e,l.current.replacement=n,l.current.showMask=r,l.current.separate=i,l.current.track=s,l.current.modify=o,D.useMemo(function(){return kP(a,new q1(l.current))},[])}var IP=["component","mask","replacement","showMask","separate","track","modify"];function OP(t,e){var n=t.component,r=t.mask,i=t.replacement,s=t.showMask,o=t.separate,a=t.track,l=t.modify,c=M1(t,IP),u=RP({mask:r,replacement:i,showMask:s,separate:o,track:a,modify:l}),d=PP(u,e);return n?In.createElement(n,Tl({ref:d},c)):In.createElement("input",Tl({ref:d},c))}var LP=D.forwardRef(OP);const MP={mask:"MM / DD / YYYY",replacement:{D:/\d/,M:/\d/,Y:/\d/},showMask:!0},W1=({onSubmit:t})=>{const e=t==null,[n,r]=D.useState(null);return g.jsxs("div",{className:J("relative bg-primary-5 flex items-center justify-between pl-4 py-2 pr-2 rounded-outer transition-colors duration-500 before:content-[''] before:absolute before:transition-colors before:-z-10 before:inset-0 before:bg-transparent",e?"":"hover:bg-secondary-20"),children:[g.jsxs("div",{className:"flex items-center",children:[g.jsx(jg,{className:"w-4 h-4 text-primary-60"}),g.jsx(LP,{...MP,className:J("bg-transparent text-primary-80 outline-0 ml-2 py-2.5",e?"placeholder-primary-20 pointer-events-none":"placeholder-primary-40"),placeholder:"MM / DD / YYYY",onChange:i=>{const s=i.target.value,[o,a,l]=s.split(" / ");o!=null&&o.length===2&&a!=null&&a.length===2&&l!=null&&l.length===4?r(`${l}-${o}-${a}`):r(null)}})]}),g.jsx(Be,{className:"flex-none",label:"Send message",onClick:n==null||t==null?void 0:()=>{t(n)},type:"main",Icon:bi})]})};var NP=Object.prototype.toString;function DP(t){return typeof t=="function"||NP.call(t)==="[object Function]"}function AP(t){var e=Number(t);return isNaN(e)?0:e===0||!isFinite(e)?e:(e>0?1:-1)*Math.floor(Math.abs(e))}var jP=Math.pow(2,53)-1;function UP(t){var e=AP(t);return Math.min(Math.max(e,0),jP)}function Kt(t,e){var n=Array,r=Object(t);if(t==null)throw new TypeError("Array.from requires an array-like object - not null or undefined");for(var i=UP(r.length),s=DP(n)?Object(new n(i)):new Array(i),o=0,a;o<i;)a=r[o],s[o]=a,o+=1;return s.length=i,s}function oo(t){"@babel/helpers - typeof";return oo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},oo(t)}function FP(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function BP(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,G1(r.key),r)}}function VP(t,e,n){return e&&BP(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function zP(t,e,n){return e=G1(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function G1(t){var e=HP(t,"string");return oo(e)=="symbol"?e:e+""}function HP(t,e){if(oo(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(oo(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}var $P=function(){function t(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];FP(this,t),zP(this,"items",void 0),this.items=e}return VP(t,[{key:"add",value:function(n){return this.has(n)===!1&&this.items.push(n),this}},{key:"clear",value:function(){this.items=[]}},{key:"delete",value:function(n){var r=this.items.length;return this.items=this.items.filter(function(i){return i!==n}),r!==this.items.length}},{key:"forEach",value:function(n){var r=this;this.items.forEach(function(i){n(i,i,r)})}},{key:"has",value:function(n){return this.items.indexOf(n)!==-1}},{key:"size",get:function(){return this.items.length}}])}();const qP=typeof Set>"u"?Set:$P;function Ye(t){var e;return(e=t.localName)!==null&&e!==void 0?e:t.tagName.toLowerCase()}var WP={article:"article",aside:"complementary",button:"button",datalist:"listbox",dd:"definition",details:"group",dialog:"dialog",dt:"term",fieldset:"group",figure:"figure",form:"form",footer:"contentinfo",h1:"heading",h2:"heading",h3:"heading",h4:"heading",h5:"heading",h6:"heading",header:"banner",hr:"separator",html:"document",legend:"legend",li:"listitem",math:"math",main:"main",menu:"list",nav:"navigation",ol:"list",optgroup:"group",option:"option",output:"status",progress:"progressbar",section:"region",summary:"button",table:"table",tbody:"rowgroup",textarea:"textbox",tfoot:"rowgroup",td:"cell",th:"columnheader",thead:"rowgroup",tr:"row",ul:"list"},GP={caption:new Set(["aria-label","aria-labelledby"]),code:new Set(["aria-label","aria-labelledby"]),deletion:new Set(["aria-label","aria-labelledby"]),emphasis:new Set(["aria-label","aria-labelledby"]),generic:new Set(["aria-label","aria-labelledby","aria-roledescription"]),insertion:new Set(["aria-label","aria-labelledby"]),none:new Set(["aria-label","aria-labelledby"]),paragraph:new Set(["aria-label","aria-labelledby"]),presentation:new Set(["aria-label","aria-labelledby"]),strong:new Set(["aria-label","aria-labelledby"]),subscript:new Set(["aria-label","aria-labelledby"]),superscript:new Set(["aria-label","aria-labelledby"])};function KP(t,e){return["aria-atomic","aria-busy","aria-controls","aria-current","aria-description","aria-describedby","aria-details","aria-dropeffect","aria-flowto","aria-grabbed","aria-hidden","aria-keyshortcuts","aria-label","aria-labelledby","aria-live","aria-owns","aria-relevant","aria-roledescription"].some(function(n){var r;return t.hasAttribute(n)&&!((r=GP[e])!==null&&r!==void 0&&r.has(n))})}function K1(t,e){return KP(t,e)}function ZP(t){var e=JP(t);if(e===null||Nf.indexOf(e)!==-1){var n=QP(t);if(Nf.indexOf(e||"")===-1||K1(t,n||""))return n}return e}function QP(t){var e=WP[Ye(t)];if(e!==void 0)return e;switch(Ye(t)){case"a":case"area":case"link":if(t.hasAttribute("href"))return"link";break;case"img":return t.getAttribute("alt")===""&&!K1(t,"img")?"presentation":"img";case"input":{var n=t,r=n.type;switch(r){case"button":case"image":case"reset":case"submit":return"button";case"checkbox":case"radio":return r;case"range":return"slider";case"email":case"tel":case"text":case"url":return t.hasAttribute("list")?"combobox":"textbox";case"search":return t.hasAttribute("list")?"combobox":"searchbox";case"number":return"spinbutton";default:return null}}case"select":return t.hasAttribute("multiple")||t.size>1?"listbox":"combobox"}return null}function JP(t){var e=t.getAttribute("role");if(e!==null){var n=e.trim().split(" ")[0];if(n.length>0)return n}return null}var Nf=["presentation","none"];function ke(t){return t!==null&&t.nodeType===t.ELEMENT_NODE}function Z1(t){return ke(t)&&Ye(t)==="caption"}function Pl(t){return ke(t)&&Ye(t)==="input"}function YP(t){return ke(t)&&Ye(t)==="optgroup"}function XP(t){return ke(t)&&Ye(t)==="select"}function e_(t){return ke(t)&&Ye(t)==="table"}function t_(t){return ke(t)&&Ye(t)==="textarea"}function n_(t){var e=t.ownerDocument===null?t:t.ownerDocument,n=e.defaultView;if(n===null)throw new TypeError("no window available");return n}function r_(t){return ke(t)&&Ye(t)==="fieldset"}function i_(t){return ke(t)&&Ye(t)==="legend"}function s_(t){return ke(t)&&Ye(t)==="slot"}function o_(t){return ke(t)&&t.ownerSVGElement!==void 0}function a_(t){return ke(t)&&Ye(t)==="svg"}function l_(t){return o_(t)&&Ye(t)==="title"}function _l(t,e){if(ke(t)&&t.hasAttribute(e)){var n=t.getAttribute(e).split(" "),r=t.getRootNode?t.getRootNode():t.ownerDocument;return n.map(function(i){return r.getElementById(i)}).filter(function(i){return i!==null})}return[]}function En(t,e){return ke(t)?e.indexOf(ZP(t))!==-1:!1}function c_(t){return t.trim().replace(/\s\s+/g," ")}function u_(t,e){if(!ke(t))return!1;if(t.hasAttribute("hidden")||t.getAttribute("aria-hidden")==="true")return!0;var n=e(t);return n.getPropertyValue("display")==="none"||n.getPropertyValue("visibility")==="hidden"}function d_(t){return En(t,["button","combobox","listbox","textbox"])||Q1(t,"range")}function Q1(t,e){if(!ke(t))return!1;switch(e){case"range":return En(t,["meter","progressbar","scrollbar","slider","spinbutton"]);default:throw new TypeError("No knowledge about abstract role '".concat(e,"'. This is likely a bug :("))}}function J1(t,e){var n=Kt(t.querySelectorAll(e));return _l(t,"aria-owns").forEach(function(r){n.push.apply(n,Kt(r.querySelectorAll(e)))}),n}function f_(t){return XP(t)?t.selectedOptions||J1(t,"[selected]"):J1(t,'[aria-selected="true"]')}function h_(t){return En(t,Nf)}function p_(t){return Z1(t)}function m_(t){return En(t,["button","cell","checkbox","columnheader","gridcell","heading","label","legend","link","menuitem","menuitemcheckbox","menuitemradio","option","radio","row","rowheader","switch","tab","tooltip","treeitem"])}function g_(t){return!1}function v_(t){return Pl(t)||t_(t)?t.value:t.textContent||""}function Y1(t){var e=t.getPropertyValue("content");return/^["'].*["']$/.test(e)?e.slice(1,-1):""}function X1(t){var e=Ye(t);return e==="button"||e==="input"&&t.getAttribute("type")!=="hidden"||e==="meter"||e==="output"||e==="progress"||e==="select"||e==="textarea"}function eb(t){if(X1(t))return t;var e=null;return t.childNodes.forEach(function(n){if(e===null&&ke(n)){var r=eb(n);r!==null&&(e=r)}}),e}function y_(t){if(t.control!==void 0)return t.control;var e=t.getAttribute("for");return e!==null?t.ownerDocument.getElementById(e):eb(t)}function b_(t){var e=t.labels;if(e===null)return e;if(e!==void 0)return Kt(e);if(!X1(t))return null;var n=t.ownerDocument;return Kt(n.querySelectorAll("label")).filter(function(r){return y_(r)===t})}function k_(t){var e=t.assignedNodes();return e.length===0?Kt(t.childNodes):e}function tb(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=new qP,r=typeof Map>"u"?void 0:new Map,i=n_(t),s=e.compute,o=s===void 0?"name":s,a=e.computedStyleSupportsPseudoElements,l=a===void 0?e.getComputedStyle!==void 0:a,c=e.getComputedStyle,u=c===void 0?i.getComputedStyle.bind(i):c,d=e.hidden,f=d===void 0?!1:d,h=function(k,C){if(C!==void 0)throw new Error("use uncachedGetComputedStyle directly for pseudo elements");if(r===void 0)return u(k);var w=r.get(k);if(w)return w;var x=u(k,C);return r.set(k,x),x};function v(p,k){var C="";if(ke(p)&&l){var w=u(p,"::before"),x=Y1(w);C="".concat(x," ").concat(C)}var E=s_(p)?k_(p):Kt(p.childNodes).concat(_l(p,"aria-owns"));if(E.forEach(function(U){var $=b(U,{isEmbeddedInLabel:k.isEmbeddedInLabel,isReferenced:!1,recursion:!0}),V=ke(U)?h(U).getPropertyValue("display"):"inline",G=V!=="inline"?" ":"";C+="".concat(G).concat($).concat(G)}),ke(p)&&l){var I=u(p,"::after"),_=Y1(I);C="".concat(C," ").concat(_)}return C.trim()}function y(p,k){var C=p.getAttributeNode(k);return C!==null&&!n.has(C)&&C.value.trim()!==""?(n.add(C),C.value):null}function T(p){return ke(p)?y(p,"title"):null}function m(p){if(!ke(p))return null;if(r_(p)){n.add(p);for(var k=Kt(p.childNodes),C=0;C<k.length;C+=1){var w=k[C];if(i_(w))return b(w,{isEmbeddedInLabel:!1,isReferenced:!1,recursion:!1})}}else if(e_(p)){n.add(p);for(var x=Kt(p.childNodes),E=0;E<x.length;E+=1){var I=x[E];if(Z1(I))return b(I,{isEmbeddedInLabel:!1,isReferenced:!1,recursion:!1})}}else if(a_(p)){n.add(p);for(var _=Kt(p.childNodes),U=0;U<_.length;U+=1){var $=_[U];if(l_($))return $.textContent}return null}else if(Ye(p)==="img"||Ye(p)==="area"){var V=y(p,"alt");if(V!==null)return V}else if(YP(p)){var G=y(p,"label");if(G!==null)return G}if(Pl(p)&&(p.type==="button"||p.type==="submit"||p.type==="reset")){var R=y(p,"value");if(R!==null)return R;if(p.type==="submit")return"Submit";if(p.type==="reset")return"Reset"}var W=b_(p);if(W!==null&&W.length!==0)return n.add(p),Kt(W).map(function(K){return b(K,{isEmbeddedInLabel:!0,isReferenced:!1,recursion:!0})}).filter(function(K){return K.length>0}).join(" ");if(Pl(p)&&p.type==="image"){var H=y(p,"alt");if(H!==null)return H;var M=y(p,"title");return M!==null?M:"Submit Query"}if(En(p,["button"])){var q=v(p,{isEmbeddedInLabel:!1});if(q!=="")return q}return null}function b(p,k){if(n.has(p))return"";if(!f&&u_(p,h)&&!k.isReferenced)return n.add(p),"";var C=ke(p)?p.getAttributeNode("aria-labelledby"):null,w=C!==null&&!n.has(C)?_l(p,"aria-labelledby"):[];if(o==="name"&&!k.isReferenced&&w.length>0)return n.add(C),w.map(function(V){return b(V,{isEmbeddedInLabel:k.isEmbeddedInLabel,isReferenced:!0,recursion:!1})}).join(" ");var x=k.recursion&&d_(p)&&o==="name";if(!x){var E=(ke(p)&&p.getAttribute("aria-label")||"").trim();if(E!==""&&o==="name")return n.add(p),E;if(!h_(p)){var I=m(p);if(I!==null)return n.add(p),I}}if(En(p,["menu"]))return n.add(p),"";if(x||k.isEmbeddedInLabel||k.isReferenced){if(En(p,["combobox","listbox"])){n.add(p);var _=f_(p);return _.length===0?Pl(p)?p.value:"":Kt(_).map(function(V){return b(V,{isEmbeddedInLabel:k.isEmbeddedInLabel,isReferenced:!1,recursion:!0})}).join(" ")}if(Q1(p,"range"))return n.add(p),p.hasAttribute("aria-valuetext")?p.getAttribute("aria-valuetext"):p.hasAttribute("aria-valuenow")?p.getAttribute("aria-valuenow"):p.getAttribute("value")||"";if(En(p,["textbox"]))return n.add(p),v_(p)}if(m_(p)||ke(p)&&k.isReferenced||p_(p)||g_()){var U=v(p,{isEmbeddedInLabel:k.isEmbeddedInLabel});if(U!=="")return n.add(p),U}if(p.nodeType===p.TEXT_NODE)return n.add(p),p.textContent||"";if(k.recursion)return n.add(p),v(p,{isEmbeddedInLabel:k.isEmbeddedInLabel});var $=T(p);return $!==null?(n.add(p),$):(n.add(p),"")}return c_(b(t,{isEmbeddedInLabel:!1,isReferenced:o==="description",recursion:!1}))}function ao(t){"@babel/helpers - typeof";return ao=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ao(t)}function nb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function rb(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?nb(Object(n),!0).forEach(function(r){C_(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):nb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function C_(t,e,n){return e=S_(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function S_(t){var e=w_(t,"string");return ao(e)=="symbol"?e:e+""}function w_(t,e){if(ao(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(ao(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function ib(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=_l(t,"aria-describedby").map(function(s){return tb(s,rb(rb({},e),{},{compute:"description"}))}).join(" ");if(n===""){var r=t.getAttribute("aria-description");n=r===null?"":r}if(n===""){var i=t.getAttribute("title");n=i===null?"":i}return n}function T_(t){return En(t,["caption","code","deletion","emphasis","generic","insertion","none","paragraph","presentation","strong","subscript","superscript"])}function sb(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return T_(t)?"":tb(t,e)}const x_=t=>{if(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement){const e=sb(t)??"";return{name:e===""?t.name:e,description:ib(t),type:t.type,placeholder:t.placeholder,value:t.value}}else if(t instanceof HTMLSelectElement){const e=sb(t)??"";return{name:e===""?t.name:e,description:ib(t),type:t.type,value:t.value}}throw new TypeError("Unsupported element type")},E_=()=>{const e=Array.from(document.querySelectorAll("input, textarea, select")).map((r,i)=>({index:i,id:`${r.tagName.toLowerCase()}-${i}`,element:r})),n={};return e.forEach(({id:r,element:i})=>{n[r]=i}),{context:e.map(({id:r,element:i})=>({id:r,...x_(i)})),formElements:n}},P_=({children:t,mode:e,theme:n})=>g.jsxs(g.Fragment,{children:[g.jsx("style",{children:k1}),g.jsx(Sl,{className:"bg-background p-4 rounded-outer space-y-4",theme:n,colorMode:e,children:t})]}),__=KC.version,R_=(t=>DC.bind((e,...n)=>D.createElement(t[e]??e,...n)))({TextButton:kn,IconButton:Be,BaseText:C1,SmallText:S1,DateInput:W1,Carousel:P1,CustomCard:w1,CustomCardRow:x1,CustomCardImageRow:T1,Ripple:Ci,...$g});class I_ extends HTMLElement{constructor(){super(...arguments);zi(this,co);zi(this,Fi,null);zi(this,lo,null);zi(this,Pn,null);se(this,"onRef",null);se(this,"embedded",!0);se(this,"onClose",null);se(this,"enableSettings",!1);zi(this,Bi,!0)}set enabled(n){wt(this,Bi)!==n&&(uo(this,Bi,n),jf(this,co,Uf).call(this))}set touchpointConfiguration(n){qC(wt(this,Pn),n)||(uo(this,Pn,n),jf(this,co,Uf).call(this))}disconnectedCallback(){var n;(n=wt(this,Fi))==null||n.unmount()}}Fi=new WeakMap,lo=new WeakMap,Pn=new WeakMap,Bi=new WeakMap,co=new WeakSet,Uf=function(){wt(this,lo)??uo(this,lo,this.attachShadow({mode:"closed"})),wt(this,Fi)??uo(this,Fi,ig(wt(this,lo))),wt(this,Pn)!=null&&wt(this,Fi).render(g.jsxs(g.Fragment,{children:[g.jsx("style",{children:k1}),g.jsx(b1,{...wt(this,Pn),embedded:this.embedded,initializeConversation:wt(this,Pn).initializeConversation??((n,r)=>{var i;(((i=wt(this,Pn))==null?void 0:i.input)??"text")==="text"&&n.sendWelcomeFlow(r)}),onClose:this.onClose,enableSettings:this.enableSettings,enabled:wt(this,Bi),ref:n=>{var r;n!=null&&((r=this.onRef)==null||r.call(this,n))}})]}))},((t,e)=>{customElements.get(t)==null&&customElements.define(t,e)})("nlx-touchpoint",I_);const O_=t=>new Promise(e=>{const n=document.createElement("nlx-touchpoint");n.embedded=!1,n.onRef=r=>{e({set expanded(i){r.setExpanded(i)},get expanded(){return r.getExpanded()},get conversationHandler(){return r.getConversationHandler()},teardown:()=>{document.body.removeChild(n)}})},n.onClose=()=>{},n.enableSettings=!0,n.touchpointConfiguration=t,document.body.appendChild(n)});Z.BaseText=C1,Z.Carousel=P1,Z.CustomCard=w1,Z.CustomCardImageRow=T1,Z.CustomCardRow=x1,Z.DateInput=W1,Z.IconButton=Be,Z.Icons=$g,Z.PreviewContainer=P_,Z.React=In,Z.Ripple=Ci,Z.SmallText=S1,Z.TextButton=kn,Z.analyzePageForms=E_,Z.create=O_,Z.html=R_,Z.version=__,Object.defineProperty(Z,Symbol.toStringTag,{value:"Module"})});
|
|
198
|
+
`);var _f,cP=(_f="indiana-scroll-container",function(t,e){if(!t)return _f;var n;typeof t=="string"?n=t:e=t;var r=_f;return n&&(r+="__"+n),r+(e?Object.keys(e).reduce(function(i,s){var o=e[s];return o&&(i+=" "+(typeof o=="boolean"?r+"--"+s:r+"--"+s+"_"+o)),i},""):"")}),uP=function(t){function e(n){var r=t.call(this,n)||this;return r.onEndScroll=function(){r.scrolling=!1,!r.pressed&&r.started&&r.processEnd()},r.onScroll=function(i){var s=r.container.current;s.scrollLeft===r.scrollLeft&&s.scrollTop===r.scrollTop||(r.scrolling=!0,r.processScroll(i),r.onEndScroll())},r.onTouchStart=function(i){var s=r.props.nativeMobileScroll;if(r.isDraggable(i.target))if(r.internal=!0,s&&r.scrolling)r.pressed=!0;else{var o=i.touches[0];r.processClick(i,o.clientX,o.clientY),!s&&r.props.stopPropagation&&i.stopPropagation()}},r.onTouchEnd=function(i){var s=r.props.nativeMobileScroll;r.pressed&&(!r.started||r.scrolling&&s?r.pressed=!1:r.processEnd(),r.forceUpdate())},r.onTouchMove=function(i){var s=r.props.nativeMobileScroll;if(r.pressed&&(!s||!r.isMobile)){var o=i.touches[0];o&&r.processMove(i,o.clientX,o.clientY),i.preventDefault(),r.props.stopPropagation&&i.stopPropagation()}},r.onMouseDown=function(i){r.isDraggable(i.target)&&r.isScrollable()&&(r.internal=!0,r.props.buttons.indexOf(i.button)!==-1&&(r.processClick(i,i.clientX,i.clientY),i.preventDefault(),r.props.stopPropagation&&i.stopPropagation()))},r.onMouseMove=function(i){r.pressed&&(r.processMove(i,i.clientX,i.clientY),i.preventDefault(),r.props.stopPropagation&&i.stopPropagation())},r.onMouseUp=function(i){r.pressed&&(r.started?r.processEnd():(r.internal=!1,r.pressed=!1,r.forceUpdate(),r.props.onClick&&r.props.onClick(i)),i.preventDefault(),r.props.stopPropagation&&i.stopPropagation())},r.container=In.createRef(),r.onEndScroll=lP(r.onEndScroll,300),r.scrolling=!1,r.started=!1,r.pressed=!1,r.internal=!1,r.getRef=r.getRef.bind(r),r}return function(n,r){function i(){this.constructor=n}E1(n,r),n.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}(e,t),e.prototype.componentDidMount=function(){var n=this.props.nativeMobileScroll,r=this.container.current;window.addEventListener("mouseup",this.onMouseUp),window.addEventListener("mousemove",this.onMouseMove),window.addEventListener("touchmove",this.onTouchMove,{passive:!1}),window.addEventListener("touchend",this.onTouchEnd),r.addEventListener("touchstart",this.onTouchStart,{passive:!1}),r.addEventListener("mousedown",this.onMouseDown,{passive:!1}),n&&(this.isMobile=this.isMobileDevice(),this.isMobile&&this.forceUpdate())},e.prototype.componentWillUnmount=function(){window.removeEventListener("mouseup",this.onMouseUp),window.removeEventListener("mousemove",this.onMouseMove),window.removeEventListener("touchmove",this.onTouchMove),window.removeEventListener("touchend",this.onTouchEnd)},e.prototype.getElement=function(){return this.container.current},e.prototype.isMobileDevice=function(){return window.orientation!==void 0||navigator.userAgent.indexOf("IEMobile")!==-1},e.prototype.isDraggable=function(n){var r=this.props.ignoreElements;if(r){var i=n.closest(r);return i===null||i.contains(this.getElement())}return!0},e.prototype.isScrollable=function(){var n=this.container.current;return n&&(n.scrollWidth>n.clientWidth||n.scrollHeight>n.clientHeight)},e.prototype.processClick=function(n,r,i){var s=this.container.current;this.scrollLeft=s.scrollLeft,this.scrollTop=s.scrollTop,this.clientX=r,this.clientY=i,this.pressed=!0},e.prototype.processStart=function(n){n===void 0&&(n=!0);var r=this.props.onStartScroll;this.started=!0,n&&document.body.classList.add("indiana-dragging"),r&&r({external:!this.internal}),this.forceUpdate()},e.prototype.processScroll=function(n){if(this.started){var r=this.props.onScroll;r&&r({external:!this.internal})}else this.processStart(!1)},e.prototype.processMove=function(n,r,i){var s=this.props,o=s.horizontal,a=s.vertical,l=s.activationDistance,c=s.onScroll,u=this.container.current;this.started?(o&&(u.scrollLeft-=r-this.clientX),a&&(u.scrollTop-=i-this.clientY),c&&c({external:!this.internal}),this.clientX=r,this.clientY=i,this.scrollLeft=u.scrollLeft,this.scrollTop=u.scrollTop):(o&&Math.abs(r-this.clientX)>l||a&&Math.abs(i-this.clientY)>l)&&(this.clientX=r,this.clientY=i,this.processStart())},e.prototype.processEnd=function(){var n=this.props.onEndScroll;this.container.current&&n&&n({external:!this.internal}),this.pressed=!1,this.started=!1,this.scrolling=!1,this.internal=!1,document.body.classList.remove("indiana-dragging"),this.forceUpdate()},e.prototype.getRef=function(n){[this.container,this.props.innerRef].forEach(function(r){r&&(typeof r=="function"?r(n):r.current=n)})},e.prototype.render=function(){var n=this.props,r=n.children,i=n.draggingClassName,s=n.className,o=n.style,a=n.hideScrollbars,l=n.component;return In.createElement(l,{className:aP(s,this.pressed&&i,cP({dragging:this.pressed,"hide-scrollbars":a,"native-scroll":this.isMobile})),style:o,ref:this.getRef,onScroll:this.onScroll},r)},e.defaultProps={nativeMobileScroll:!0,hideScrollbars:!0,activationDistance:10,vertical:!0,horizontal:!0,stopPropagation:!1,style:{},component:"div",buttons:[0]},e}(D.PureComponent);const P1=({children:t})=>g.jsx(uP,{className:"flex gap-x-2 pt-3 pb-1 overflow-x-auto no-scrollbar px-2 -mx-2",children:t});function _1(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function dP(t,e,n){return e=xl(e),function(r,i){if(i&&(typeof i=="object"||typeof i=="function"))return i;if(i!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(s){if(s===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return s}(r)}(t,O1()?Reflect.construct(e,n||[],xl(t).constructor):e.apply(t,n))}function fP(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function hP(t,e,n){return Object.defineProperty(t,"prototype",{writable:!1}),t}function R1(t,e){var n=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(l,c){if(l){if(typeof l=="string")return _1(l,c);var u={}.toString.call(l).slice(8,-1);return u==="Object"&&l.constructor&&(u=l.constructor.name),u==="Map"||u==="Set"?Array.from(l):u==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(u)?_1(l,c):void 0}}(t))||e){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
199
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var s,o=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var l=n.next();return o=l.done,l},e:function(l){a=!0,s=l},f:function(){try{o||n.return==null||n.return()}finally{if(a)throw s}}}}function I1(t,e,n){return(e=function(r){var i=function(s,o){if(typeof s!="object"||!s)return s;var a=s[Symbol.toPrimitive];if(a!==void 0){var l=a.call(s,o);if(typeof l!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(o==="string"?String:Number)(s)}(r,"string");return typeof i=="symbol"?i:i+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Tl(){return Tl=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Tl.apply(null,arguments)}function xl(t){return xl=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},xl(t)}function pP(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Rf(t,e)}function O1(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(O1=function(){return!!t})()}function L1(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function El(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?L1(Object(n),!0).forEach(function(r){I1(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):L1(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function M1(t,e){if(t==null)return{};var n,r,i=function(o,a){if(o==null)return{};var l={};for(var c in o)if({}.hasOwnProperty.call(o,c)){if(a.includes(c))continue;l[c]=o[c]}return l}(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r<s.length;r++)n=s[r],e.includes(n)||{}.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}function Rf(t,e){return Rf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},Rf(t,e)}function no(t,e){var n,r=e.replacementChars,i=e.replacement,s=e.separate,o=r,a="",l=R1(t);try{for(l.s();!(n=l.n()).done;){var c,u=n.value,d=!Object.prototype.hasOwnProperty.call(i,u)&&((c=i[o[0]])===null||c===void 0?void 0:c.test(u));(s&&u===o[0]||d)&&(o=o.slice(1),a+=u)}}catch(f){l.e(f)}finally{l.f()}return a}function N1(t,e){var n,r=e.mask,i=e.replacement,s=e.separate,o=e.showMask,a=0,l="",c=R1(r);try{for(c.s();!(n=c.n()).done;){var u=n.value;if(!o&&t[a]===void 0)break;Object.prototype.hasOwnProperty.call(i,u)&&t[a]!==void 0?l+=t[a++]:l+=u}}catch(f){c.e(f)}finally{c.f()}if(s&&!o){for(var d=r.length-1;d>=0&&l[d]===r[d];d--);l=l.slice(0,d+1)}return l}function D1(t,e){for(var n=e.mask,r=e.replacement,i=[],s=0;s<n.length;s++){var o,a=(o=t[s])!==null&&o!==void 0?o:n[s],l=Object.prototype.hasOwnProperty.call(r,a)?"replacement":t[s]!==void 0&&t[s]!==n[s]?"input":"mask";i.push({type:l,value:a,index:s})}return i}function ji(t){return t.length>0?I1({},t,/./):{}}function If(t,e){for(var n=e.start,r=n===void 0?0:n,i=e.end,s=e.mask,o=e.replacement,a=e.separate,l=t.slice(r,i),c=s.slice(r,i),u="",d=0;d<c.length;d++){var f=Object.prototype.hasOwnProperty.call(o,c[d]);f&&l[d]!==void 0&&l[d]!==c[d]?u+=l[d]:f&&a&&(u+=c[d])}return u}function A1(t,e){var n=e.mask,r=e.replacement,i=typeof r=="string"?ji(r):r,s=RegExp("[^".concat(Object.keys(i).join(""),"]"),"g");return N1(no(t,{replacementChars:n.replace(s,""),replacement:i,separate:!1}),{mask:n,replacement:i,separate:!1,showMask:!1})}function mP(t,e){var n=e.mask,r=e.replacement,i=typeof r=="string"?ji(r):r,s=If(t,{mask:n,replacement:i,separate:!1}),o=RegExp("[^".concat(Object.keys(i).join(""),"]"),"g");return no(s,{replacementChars:n.replace(o,""),replacement:i,separate:!1})}function gP(t,e){var n=e.mask,r=e.replacement,i=typeof r=="string"?ji(r):r;return D1(A1(t,{mask:n,replacement:i}),{mask:n,replacement:i})}var vP=["[","]","\\","/","^","$",".","|","?","*","+","(",")","{","}"];function j1(t){return vP.includes(t)?"\\".concat(t):t}function yP(t,e){for(var n=e.mask,r=e.replacement,i=typeof r=="string"?ji(r):r,s=t==="partial"||t==="partial-inexact",o=t==="full"||t==="partial",a="",l=0;l<n.length;l++){var c=n[l];l===0&&(a="^"),s&&(a+="("),a+=Object.prototype.hasOwnProperty.call(i,c)?"".concat(o?"(?!".concat(j1(c),")"):"","(").concat(i[c].source,")"):j1(c),l===n.length-1&&(s&&(a+=")?".repeat(n.length)),a+="$")}return a}function bP(t,e){return new Proxy(t,{set:function(n,r,i){return r==="current"&&(i!==t.current&&(t.current!==null&&e.unregister(t.current),i!==null&&e.register(i)),n[r]=i,!0)}})}function kP(t,e,n){return e=ro(e),function(r,i){if(i&&(typeof i=="object"||typeof i=="function"))return i;if(i!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(s){if(s===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return s}(r)}(t,Of()?Reflect.construct(e,n||[],ro(t).constructor):e.apply(t,n))}function U1(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function F1(t,e,n){return Object.defineProperty(t,"prototype",{writable:!1}),t}function CP(t,e,n){return(e=function(r){var i=function(s,o){if(typeof s!="object"||!s)return s;var a=s[Symbol.toPrimitive];if(a!==void 0){var l=a.call(s,o);if(typeof l!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(o==="string"?String:Number)(s)}(r,"string");return typeof i=="symbol"?i:i+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function ro(t){return ro=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ro(t)}function SP(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&io(t,e)}function Of(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Of=function(){return!!t})()}function B1(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function V1(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?B1(Object(n),!0).forEach(function(r){CP(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):B1(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function wP(t,e){if(t==null)return{};var n,r,i=function(o,a){if(o==null)return{};var l={};for(var c in o)if({}.hasOwnProperty.call(o,c)){if(a.includes(c))continue;l[c]=o[c]}return l}(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r<s.length;r++)n=s[r],e.includes(n)||{}.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}function io(t,e){return io=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},io(t,e)}function Lf(t){return Lf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Lf(t)}function Mf(t){var e=typeof Map=="function"?new Map:void 0;return Mf=function(n){if(n===null||!function(i){try{return Function.toString.call(i).indexOf("[native code]")!==-1}catch{return typeof i=="function"}}(n))return n;if(typeof n!="function")throw new TypeError("Super expression must either be null or a function");if(e!==void 0){if(e.has(n))return e.get(n);e.set(n,r)}function r(){return function(i,s,o){if(Of())return Reflect.construct.apply(null,arguments);var a=[null];a.push.apply(a,s);var l=new(i.bind.apply(i,a));return o&&io(l,o.prototype),l}(n,arguments,ro(this).constructor)}return r.prototype=Object.create(n.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),io(r,n)},Mf(t)}var so=function(t){function e(n){var r;return U1(this,e),(r=kP(this,e,[n])).name="SyntheticChangeError",r}return SP(e,t),F1(e)}(Mf(Error)),z1,TP=["options"],xP=["text","email","tel","search","url"],H1=F1(function t(e){var n=e.init,r=e.tracking;U1(this,t);var i=new WeakMap;this.register=function(s){var o;if(xP.includes(s.type)){var a=(o=s._wrapperState)!==null&&o!==void 0?o:{},l=a.initialValue,c=l===void 0?"":l,u=a.controlled,d=u!==void 0&&u,f=n({initialValue:s.value||c,controlled:d}),h=f.value,v=f.options,y={value:h,options:v,fallbackOptions:v},T={id:-1,cachedId:-1},m={value:"",selectionStart:0,selectionEnd:0},b=Object.getOwnPropertyDescriptor("_valueTracker"in s?s:HTMLInputElement.prototype,"value");Object.defineProperty(s,"value",V1(V1({},b),{},{set:function(w){var x;m.value=w,b==null||(x=b.set)===null||x===void 0||x.call(s,w)}})),s.value=h;var p=function(){var w=function(){var x,E;m.selectionStart=(x=s.selectionStart)!==null&&x!==void 0?x:0,m.selectionEnd=(E=s.selectionEnd)!==null&&E!==void 0?E:0,T.id=window.setTimeout(w)};T.id=window.setTimeout(w)},k=function(){window.clearTimeout(T.id),T.id=-1,T.cachedId=-1},C=function(w){try{var x,E;if(T.cachedId===T.id)throw new so("The input selection has not been updated.");T.cachedId=T.id;var I=s.value,_=s.selectionStart,U=s.selectionEnd;if(_===null||U===null)throw new so("The selection attributes have not been initialized.");var $,V=m.value;if(w.inputType===void 0&&(m.selectionStart=0,m.selectionEnd=V.length),_>m.selectionStart?$="insert":_<=m.selectionStart&&_<m.selectionEnd?$="deleteBackward":_===m.selectionEnd&&I.length<V.length&&($="deleteForward"),$===void 0||($==="deleteBackward"||$==="deleteForward")&&I.length>V.length)throw new so("Input type detection error.");var G="",R=m.selectionStart,W=m.selectionEnd;if($==="insert")G=I.slice(m.selectionStart,_);else{var H=V.length-I.length;R=_,W=_+H}y.value!==V?y.options=y.fallbackOptions:y.fallbackOptions=y.options;var M=y.options,q=r({inputType:$,previousValue:V,previousOptions:M,value:I,addedValue:G,changeStart:R,changeEnd:W,selectionStart:_,selectionEnd:U}),K=q.options,ee=wP(q,TP);s.value=ee.value,s.setSelectionRange(ee.selectionStart,ee.selectionEnd),y.value=ee.value,y.options=K,m.selectionStart=ee.selectionStart,m.selectionEnd=ee.selectionEnd,(x=s._valueTracker)===null||x===void 0||(E=x.setValue)===null||E===void 0||E.call(x,V)}catch(ue){if(s.value=m.value,s.setSelectionRange(m.selectionStart,m.selectionEnd),w.preventDefault(),w.stopPropagation(),ue.name!=="SyntheticChangeError")throw ue}};document.activeElement===s&&p(),s.addEventListener("focus",p),s.addEventListener("blur",k),s.addEventListener("input",C),i.set(s,{onFocus:p,onBlur:k,onInput:C})}},this.unregister=function(s){var o=i.get(s);o!==void 0&&(s.removeEventListener("focus",o.onFocus),s.removeEventListener("blur",o.onBlur),s.removeEventListener("input",o.onInput),i.delete(s))}});z1=H1,Object.defineProperty(z1.prototype,Symbol.toStringTag,{writable:!1,enumerable:!1,configurable:!0,value:"Input"});function EP(t,e){return D.useCallback(function(n){t.current=n,typeof e=="function"?e(n):Lf(e)==="object"&&e!==null&&(e.current=n)},[t,e])}var $1,PP=["track","modify"];function Ui(t){var e,n,r,i;return{mask:(e=t.mask)!==null&&e!==void 0?e:"",replacement:typeof t.replacement=="string"?ji(t.replacement):(n=t.replacement)!==null&&n!==void 0?n:{},showMask:(r=t.showMask)!==null&&r!==void 0&&r,separate:(i=t.separate)!==null&&i!==void 0&&i,track:t.track,modify:t.modify}}var q1=function(t){function e(){var n,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return fP(this,e),(n=dP(this,e,[{init:function(i){var s=i.initialValue,o=i.controlled,a=Ui(r),l=a.mask,c=a.replacement,u=a.separate,d=a.showMask;return s=o||s?s:d?l:"",{value:s,options:{mask:l,replacement:c,separate:u}}},tracking:function(i){var s=i.inputType,o=i.previousValue,a=i.previousOptions,l=i.addedValue,c=i.changeStart,u=i.changeEnd,d=Ui(r),f=d.track,h=d.modify,v=M1(d,PP),y=v.mask,T=v.replacement,m=v.showMask,b=v.separate,p=El(El({},s==="insert"?{inputType:s,data:l}:{inputType:s,data:null}),{},{value:o,selectionStart:c,selectionEnd:u}),k=f==null?void 0:f(p);if(k===!1)throw new so("Custom tracking stop.");k===null?l="":k!==!0&&k!==void 0&&(l=k);var C=h==null?void 0:h(p);(C==null?void 0:C.mask)!==void 0&&(y=C.mask),(C==null?void 0:C.replacement)!==void 0&&(T=typeof(C==null?void 0:C.replacement)=="string"?ji(C==null?void 0:C.replacement):C.replacement),(C==null?void 0:C.showMask)!==void 0&&(m=C.showMask),(C==null?void 0:C.separate)!==void 0&&(b=C.separate);var w=If(o,El({end:c},a)),x=If(o,El({start:u},a)),E=RegExp("[^".concat(Object.keys(T).join(""),"]"),"g"),I=y.replace(E,"");if(w&&(w=no(w,{replacementChars:I,replacement:T,separate:b}),I=I.slice(w.length)),l&&(l=no(l,{replacementChars:I,replacement:T,separate:!1}),I=I.slice(l.length)),s==="insert"&&l==="")throw new so("The character does not match the key value of the `replacement` object.");if(b){var _=y.slice(c,u).replace(E,""),U=_.length-l.length;U<0?x=x.slice(-U):U>0&&(x=_.slice(-U)+x)}x&&(x=no(x,{replacementChars:I,replacement:T,separate:b}));var $=N1(w+l+x,{mask:y,replacement:T,separate:b,showMask:m}),V=function(G){var R,W,H,M=G.inputType,q=G.value,K=G.addedValue,ee=G.beforeChangeValue,ue=G.mask,_n=G.replacement,Rn=G.separate,Fr=D1(q,{mask:ue,replacement:_n}).filter(function(Df){var ab=Df.type;return ab==="input"||Rn&&ab==="replacement"}),cn=(R=Fr[ee.length+K.length-1])===null||R===void 0?void 0:R.index,Zt=(W=Fr[ee.length-1])===null||W===void 0?void 0:W.index,Vi=(H=Fr[ee.length+K.length])===null||H===void 0?void 0:H.index;if(M==="insert"){if(cn!==void 0)return cn+1;if(Vi!==void 0)return Vi;if(Zt!==void 0)return Zt+1}if(M==="deleteForward"){if(Vi!==void 0)return Vi;if(Zt!==void 0)return Zt+1}if(M==="deleteBackward"){if(Zt!==void 0)return Zt+1;if(Vi!==void 0)return Vi}var ob=q.split("").findIndex(function(Df){return Object.prototype.hasOwnProperty.call(_n,Df)});return ob!==-1?ob:q.length}({inputType:s,value:$,addedValue:l,beforeChangeValue:w,mask:y,replacement:T,separate:b});return{value:$,selectionStart:V,selectionEnd:V,options:{mask:y,replacement:T,separate:b}}}}])).format=function(i){return A1(i,Ui(r))},n.formatToParts=function(i){return gP(i,Ui(r))},n.unformat=function(i){return mP(i,Ui(r))},n.generatePattern=function(i){return yP(i,Ui(r))},n}return pP(e,H1),hP(e)}();$1=q1,Object.defineProperty($1.prototype,Symbol.toStringTag,{writable:!1,enumerable:!1,configurable:!0,value:"Mask"});function _P(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=t.mask,n=t.replacement,r=t.showMask,i=t.separate,s=t.track,o=t.modify,a=D.useRef(null),l=D.useRef({mask:e,replacement:n,showMask:r,separate:i,track:s,modify:o});return l.current.mask=e,l.current.replacement=n,l.current.showMask=r,l.current.separate=i,l.current.track=s,l.current.modify=o,D.useMemo(function(){return bP(a,new q1(l.current))},[])}var RP=["component","mask","replacement","showMask","separate","track","modify"];function IP(t,e){var n=t.component,r=t.mask,i=t.replacement,s=t.showMask,o=t.separate,a=t.track,l=t.modify,c=M1(t,RP),u=_P({mask:r,replacement:i,showMask:s,separate:o,track:a,modify:l}),d=EP(u,e);return n?In.createElement(n,Tl({ref:d},c)):In.createElement("input",Tl({ref:d},c))}var OP=D.forwardRef(IP);const LP={mask:"MM / DD / YYYY",replacement:{D:/\d/,M:/\d/,Y:/\d/},showMask:!0},W1=({onSubmit:t})=>{const e=t==null,[n,r]=D.useState(null);return g.jsxs("div",{className:J("relative bg-primary-5 flex items-center justify-between pl-4 py-2 pr-2 rounded-outer transition-colors duration-500 before:content-[''] before:absolute before:transition-colors before:-z-10 before:inset-0 before:bg-transparent",e?"":"hover:bg-secondary-20"),children:[g.jsxs("div",{className:"flex items-center",children:[g.jsx(jg,{className:"w-4 h-4 text-primary-60"}),g.jsx(OP,{...LP,className:J("bg-transparent text-primary-80 outline-0 ml-2 py-2.5",e?"placeholder-primary-20 pointer-events-none":"placeholder-primary-40"),placeholder:"MM / DD / YYYY",onChange:i=>{const s=i.target.value,[o,a,l]=s.split(" / ");o!=null&&o.length===2&&a!=null&&a.length===2&&l!=null&&l.length===4?r(`${l}-${o}-${a}`):r(null)}})]}),g.jsx(Be,{className:"flex-none",label:"Send message",onClick:n==null||t==null?void 0:()=>{t(n)},type:"main",Icon:bi})]})};var MP=Object.prototype.toString;function NP(t){return typeof t=="function"||MP.call(t)==="[object Function]"}function DP(t){var e=Number(t);return isNaN(e)?0:e===0||!isFinite(e)?e:(e>0?1:-1)*Math.floor(Math.abs(e))}var AP=Math.pow(2,53)-1;function jP(t){var e=DP(t);return Math.min(Math.max(e,0),AP)}function Kt(t,e){var n=Array,r=Object(t);if(t==null)throw new TypeError("Array.from requires an array-like object - not null or undefined");for(var i=jP(r.length),s=NP(n)?Object(new n(i)):new Array(i),o=0,a;o<i;)a=r[o],s[o]=a,o+=1;return s.length=i,s}function oo(t){"@babel/helpers - typeof";return oo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},oo(t)}function UP(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function FP(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,G1(r.key),r)}}function BP(t,e,n){return e&&FP(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function VP(t,e,n){return e=G1(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function G1(t){var e=zP(t,"string");return oo(e)=="symbol"?e:e+""}function zP(t,e){if(oo(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(oo(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}var HP=function(){function t(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];UP(this,t),VP(this,"items",void 0),this.items=e}return BP(t,[{key:"add",value:function(n){return this.has(n)===!1&&this.items.push(n),this}},{key:"clear",value:function(){this.items=[]}},{key:"delete",value:function(n){var r=this.items.length;return this.items=this.items.filter(function(i){return i!==n}),r!==this.items.length}},{key:"forEach",value:function(n){var r=this;this.items.forEach(function(i){n(i,i,r)})}},{key:"has",value:function(n){return this.items.indexOf(n)!==-1}},{key:"size",get:function(){return this.items.length}}])}();const $P=typeof Set>"u"?Set:HP;function Ye(t){var e;return(e=t.localName)!==null&&e!==void 0?e:t.tagName.toLowerCase()}var qP={article:"article",aside:"complementary",button:"button",datalist:"listbox",dd:"definition",details:"group",dialog:"dialog",dt:"term",fieldset:"group",figure:"figure",form:"form",footer:"contentinfo",h1:"heading",h2:"heading",h3:"heading",h4:"heading",h5:"heading",h6:"heading",header:"banner",hr:"separator",html:"document",legend:"legend",li:"listitem",math:"math",main:"main",menu:"list",nav:"navigation",ol:"list",optgroup:"group",option:"option",output:"status",progress:"progressbar",section:"region",summary:"button",table:"table",tbody:"rowgroup",textarea:"textbox",tfoot:"rowgroup",td:"cell",th:"columnheader",thead:"rowgroup",tr:"row",ul:"list"},WP={caption:new Set(["aria-label","aria-labelledby"]),code:new Set(["aria-label","aria-labelledby"]),deletion:new Set(["aria-label","aria-labelledby"]),emphasis:new Set(["aria-label","aria-labelledby"]),generic:new Set(["aria-label","aria-labelledby","aria-roledescription"]),insertion:new Set(["aria-label","aria-labelledby"]),none:new Set(["aria-label","aria-labelledby"]),paragraph:new Set(["aria-label","aria-labelledby"]),presentation:new Set(["aria-label","aria-labelledby"]),strong:new Set(["aria-label","aria-labelledby"]),subscript:new Set(["aria-label","aria-labelledby"]),superscript:new Set(["aria-label","aria-labelledby"])};function GP(t,e){return["aria-atomic","aria-busy","aria-controls","aria-current","aria-description","aria-describedby","aria-details","aria-dropeffect","aria-flowto","aria-grabbed","aria-hidden","aria-keyshortcuts","aria-label","aria-labelledby","aria-live","aria-owns","aria-relevant","aria-roledescription"].some(function(n){var r;return t.hasAttribute(n)&&!((r=WP[e])!==null&&r!==void 0&&r.has(n))})}function K1(t,e){return GP(t,e)}function KP(t){var e=QP(t);if(e===null||Nf.indexOf(e)!==-1){var n=ZP(t);if(Nf.indexOf(e||"")===-1||K1(t,n||""))return n}return e}function ZP(t){var e=qP[Ye(t)];if(e!==void 0)return e;switch(Ye(t)){case"a":case"area":case"link":if(t.hasAttribute("href"))return"link";break;case"img":return t.getAttribute("alt")===""&&!K1(t,"img")?"presentation":"img";case"input":{var n=t,r=n.type;switch(r){case"button":case"image":case"reset":case"submit":return"button";case"checkbox":case"radio":return r;case"range":return"slider";case"email":case"tel":case"text":case"url":return t.hasAttribute("list")?"combobox":"textbox";case"search":return t.hasAttribute("list")?"combobox":"searchbox";case"number":return"spinbutton";default:return null}}case"select":return t.hasAttribute("multiple")||t.size>1?"listbox":"combobox"}return null}function QP(t){var e=t.getAttribute("role");if(e!==null){var n=e.trim().split(" ")[0];if(n.length>0)return n}return null}var Nf=["presentation","none"];function ke(t){return t!==null&&t.nodeType===t.ELEMENT_NODE}function Z1(t){return ke(t)&&Ye(t)==="caption"}function Pl(t){return ke(t)&&Ye(t)==="input"}function JP(t){return ke(t)&&Ye(t)==="optgroup"}function YP(t){return ke(t)&&Ye(t)==="select"}function XP(t){return ke(t)&&Ye(t)==="table"}function e_(t){return ke(t)&&Ye(t)==="textarea"}function t_(t){var e=t.ownerDocument===null?t:t.ownerDocument,n=e.defaultView;if(n===null)throw new TypeError("no window available");return n}function n_(t){return ke(t)&&Ye(t)==="fieldset"}function r_(t){return ke(t)&&Ye(t)==="legend"}function i_(t){return ke(t)&&Ye(t)==="slot"}function s_(t){return ke(t)&&t.ownerSVGElement!==void 0}function o_(t){return ke(t)&&Ye(t)==="svg"}function a_(t){return s_(t)&&Ye(t)==="title"}function _l(t,e){if(ke(t)&&t.hasAttribute(e)){var n=t.getAttribute(e).split(" "),r=t.getRootNode?t.getRootNode():t.ownerDocument;return n.map(function(i){return r.getElementById(i)}).filter(function(i){return i!==null})}return[]}function En(t,e){return ke(t)?e.indexOf(KP(t))!==-1:!1}function l_(t){return t.trim().replace(/\s\s+/g," ")}function c_(t,e){if(!ke(t))return!1;if(t.hasAttribute("hidden")||t.getAttribute("aria-hidden")==="true")return!0;var n=e(t);return n.getPropertyValue("display")==="none"||n.getPropertyValue("visibility")==="hidden"}function u_(t){return En(t,["button","combobox","listbox","textbox"])||Q1(t,"range")}function Q1(t,e){if(!ke(t))return!1;switch(e){case"range":return En(t,["meter","progressbar","scrollbar","slider","spinbutton"]);default:throw new TypeError("No knowledge about abstract role '".concat(e,"'. This is likely a bug :("))}}function J1(t,e){var n=Kt(t.querySelectorAll(e));return _l(t,"aria-owns").forEach(function(r){n.push.apply(n,Kt(r.querySelectorAll(e)))}),n}function d_(t){return YP(t)?t.selectedOptions||J1(t,"[selected]"):J1(t,'[aria-selected="true"]')}function f_(t){return En(t,Nf)}function h_(t){return Z1(t)}function p_(t){return En(t,["button","cell","checkbox","columnheader","gridcell","heading","label","legend","link","menuitem","menuitemcheckbox","menuitemradio","option","radio","row","rowheader","switch","tab","tooltip","treeitem"])}function m_(t){return!1}function g_(t){return Pl(t)||e_(t)?t.value:t.textContent||""}function Y1(t){var e=t.getPropertyValue("content");return/^["'].*["']$/.test(e)?e.slice(1,-1):""}function X1(t){var e=Ye(t);return e==="button"||e==="input"&&t.getAttribute("type")!=="hidden"||e==="meter"||e==="output"||e==="progress"||e==="select"||e==="textarea"}function eb(t){if(X1(t))return t;var e=null;return t.childNodes.forEach(function(n){if(e===null&&ke(n)){var r=eb(n);r!==null&&(e=r)}}),e}function v_(t){if(t.control!==void 0)return t.control;var e=t.getAttribute("for");return e!==null?t.ownerDocument.getElementById(e):eb(t)}function y_(t){var e=t.labels;if(e===null)return e;if(e!==void 0)return Kt(e);if(!X1(t))return null;var n=t.ownerDocument;return Kt(n.querySelectorAll("label")).filter(function(r){return v_(r)===t})}function b_(t){var e=t.assignedNodes();return e.length===0?Kt(t.childNodes):e}function tb(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=new $P,r=typeof Map>"u"?void 0:new Map,i=t_(t),s=e.compute,o=s===void 0?"name":s,a=e.computedStyleSupportsPseudoElements,l=a===void 0?e.getComputedStyle!==void 0:a,c=e.getComputedStyle,u=c===void 0?i.getComputedStyle.bind(i):c,d=e.hidden,f=d===void 0?!1:d,h=function(k,C){if(C!==void 0)throw new Error("use uncachedGetComputedStyle directly for pseudo elements");if(r===void 0)return u(k);var w=r.get(k);if(w)return w;var x=u(k,C);return r.set(k,x),x};function v(p,k){var C="";if(ke(p)&&l){var w=u(p,"::before"),x=Y1(w);C="".concat(x," ").concat(C)}var E=i_(p)?b_(p):Kt(p.childNodes).concat(_l(p,"aria-owns"));if(E.forEach(function(U){var $=b(U,{isEmbeddedInLabel:k.isEmbeddedInLabel,isReferenced:!1,recursion:!0}),V=ke(U)?h(U).getPropertyValue("display"):"inline",G=V!=="inline"?" ":"";C+="".concat(G).concat($).concat(G)}),ke(p)&&l){var I=u(p,"::after"),_=Y1(I);C="".concat(C," ").concat(_)}return C.trim()}function y(p,k){var C=p.getAttributeNode(k);return C!==null&&!n.has(C)&&C.value.trim()!==""?(n.add(C),C.value):null}function T(p){return ke(p)?y(p,"title"):null}function m(p){if(!ke(p))return null;if(n_(p)){n.add(p);for(var k=Kt(p.childNodes),C=0;C<k.length;C+=1){var w=k[C];if(r_(w))return b(w,{isEmbeddedInLabel:!1,isReferenced:!1,recursion:!1})}}else if(XP(p)){n.add(p);for(var x=Kt(p.childNodes),E=0;E<x.length;E+=1){var I=x[E];if(Z1(I))return b(I,{isEmbeddedInLabel:!1,isReferenced:!1,recursion:!1})}}else if(o_(p)){n.add(p);for(var _=Kt(p.childNodes),U=0;U<_.length;U+=1){var $=_[U];if(a_($))return $.textContent}return null}else if(Ye(p)==="img"||Ye(p)==="area"){var V=y(p,"alt");if(V!==null)return V}else if(JP(p)){var G=y(p,"label");if(G!==null)return G}if(Pl(p)&&(p.type==="button"||p.type==="submit"||p.type==="reset")){var R=y(p,"value");if(R!==null)return R;if(p.type==="submit")return"Submit";if(p.type==="reset")return"Reset"}var W=y_(p);if(W!==null&&W.length!==0)return n.add(p),Kt(W).map(function(K){return b(K,{isEmbeddedInLabel:!0,isReferenced:!1,recursion:!0})}).filter(function(K){return K.length>0}).join(" ");if(Pl(p)&&p.type==="image"){var H=y(p,"alt");if(H!==null)return H;var M=y(p,"title");return M!==null?M:"Submit Query"}if(En(p,["button"])){var q=v(p,{isEmbeddedInLabel:!1});if(q!=="")return q}return null}function b(p,k){if(n.has(p))return"";if(!f&&c_(p,h)&&!k.isReferenced)return n.add(p),"";var C=ke(p)?p.getAttributeNode("aria-labelledby"):null,w=C!==null&&!n.has(C)?_l(p,"aria-labelledby"):[];if(o==="name"&&!k.isReferenced&&w.length>0)return n.add(C),w.map(function(V){return b(V,{isEmbeddedInLabel:k.isEmbeddedInLabel,isReferenced:!0,recursion:!1})}).join(" ");var x=k.recursion&&u_(p)&&o==="name";if(!x){var E=(ke(p)&&p.getAttribute("aria-label")||"").trim();if(E!==""&&o==="name")return n.add(p),E;if(!f_(p)){var I=m(p);if(I!==null)return n.add(p),I}}if(En(p,["menu"]))return n.add(p),"";if(x||k.isEmbeddedInLabel||k.isReferenced){if(En(p,["combobox","listbox"])){n.add(p);var _=d_(p);return _.length===0?Pl(p)?p.value:"":Kt(_).map(function(V){return b(V,{isEmbeddedInLabel:k.isEmbeddedInLabel,isReferenced:!1,recursion:!0})}).join(" ")}if(Q1(p,"range"))return n.add(p),p.hasAttribute("aria-valuetext")?p.getAttribute("aria-valuetext"):p.hasAttribute("aria-valuenow")?p.getAttribute("aria-valuenow"):p.getAttribute("value")||"";if(En(p,["textbox"]))return n.add(p),g_(p)}if(p_(p)||ke(p)&&k.isReferenced||h_(p)||m_()){var U=v(p,{isEmbeddedInLabel:k.isEmbeddedInLabel});if(U!=="")return n.add(p),U}if(p.nodeType===p.TEXT_NODE)return n.add(p),p.textContent||"";if(k.recursion)return n.add(p),v(p,{isEmbeddedInLabel:k.isEmbeddedInLabel});var $=T(p);return $!==null?(n.add(p),$):(n.add(p),"")}return l_(b(t,{isEmbeddedInLabel:!1,isReferenced:o==="description",recursion:!1}))}function ao(t){"@babel/helpers - typeof";return ao=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ao(t)}function nb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function rb(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?nb(Object(n),!0).forEach(function(r){k_(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):nb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function k_(t,e,n){return e=C_(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function C_(t){var e=S_(t,"string");return ao(e)=="symbol"?e:e+""}function S_(t,e){if(ao(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(ao(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function ib(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=_l(t,"aria-describedby").map(function(s){return tb(s,rb(rb({},e),{},{compute:"description"}))}).join(" ");if(n===""){var r=t.getAttribute("aria-description");n=r===null?"":r}if(n===""){var i=t.getAttribute("title");n=i===null?"":i}return n}function w_(t){return En(t,["caption","code","deletion","emphasis","generic","insertion","none","paragraph","presentation","strong","subscript","superscript"])}function sb(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return w_(t)?"":tb(t,e)}const T_=t=>{if(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement){const e=sb(t)??"";return{name:e===""?t.name:e,description:ib(t),type:t.type,placeholder:t.placeholder,value:t.value}}else if(t instanceof HTMLSelectElement){const e=sb(t)??"";return{name:e===""?t.name:e,description:ib(t),type:t.type,value:t.value}}throw new TypeError("Unsupported element type")},x_=()=>{const e=Array.from(document.querySelectorAll("input, textarea, select")).map((r,i)=>({index:i,id:`${r.tagName.toLowerCase()}-${i}`,element:r})),n={};return e.forEach(({id:r,element:i})=>{n[r]=i}),{context:e.map(({id:r,element:i})=>({id:r,...T_(i)})),formElements:n}},E_=({children:t,mode:e,theme:n})=>g.jsxs(g.Fragment,{children:[g.jsx("style",{children:k1}),g.jsx(Sl,{className:"bg-background p-4 rounded-outer space-y-4",theme:n,colorMode:e,children:t})]}),P_=KC.version,__=(t=>DC.bind((e,...n)=>D.createElement(t[e]??e,...n)))({TextButton:kn,IconButton:Be,BaseText:C1,SmallText:S1,DateInput:W1,Carousel:P1,CustomCard:w1,CustomCardRow:x1,CustomCardImageRow:T1,Ripple:Ci,...$g});class R_ extends HTMLElement{constructor(){super(...arguments);zi(this,co);zi(this,Fi,null);zi(this,lo,null);zi(this,Pn,null);se(this,"onRef",null);se(this,"embedded",!0);se(this,"onClose",null);se(this,"enableSettings",!1);zi(this,Bi,!0)}set enabled(n){wt(this,Bi)!==n&&(uo(this,Bi,n),jf(this,co,Uf).call(this))}set touchpointConfiguration(n){qC(wt(this,Pn),n)||(uo(this,Pn,n),jf(this,co,Uf).call(this))}disconnectedCallback(){var n;(n=wt(this,Fi))==null||n.unmount()}}Fi=new WeakMap,lo=new WeakMap,Pn=new WeakMap,Bi=new WeakMap,co=new WeakSet,Uf=function(){wt(this,lo)??uo(this,lo,this.attachShadow({mode:"closed"})),wt(this,Fi)??uo(this,Fi,ig(wt(this,lo))),wt(this,Pn)!=null&&wt(this,Fi).render(g.jsxs(g.Fragment,{children:[g.jsx("style",{children:k1}),g.jsx(b1,{...wt(this,Pn),embedded:this.embedded,initializeConversation:wt(this,Pn).initializeConversation??((n,r)=>{var i;(((i=wt(this,Pn))==null?void 0:i.input)??"text")==="text"&&n.sendWelcomeFlow(r)}),onClose:this.onClose,enableSettings:this.enableSettings,enabled:wt(this,Bi),ref:n=>{var r;n!=null&&((r=this.onRef)==null||r.call(this,n))}})]}))},((t,e)=>{customElements.get(t)==null&&customElements.define(t,e)})("nlx-touchpoint",R_);const I_=t=>new Promise(e=>{const n=document.createElement("nlx-touchpoint");n.embedded=!1,n.onRef=r=>{e({set expanded(i){r.setExpanded(i)},get expanded(){return r.getExpanded()},get conversationHandler(){return r.getConversationHandler()},teardown:()=>{document.body.removeChild(n)}})},n.onClose=()=>{},n.enableSettings=!0,n.touchpointConfiguration=t,document.body.appendChild(n)});Z.BaseText=C1,Z.Carousel=P1,Z.CustomCard=w1,Z.CustomCardImageRow=T1,Z.CustomCardRow=x1,Z.DateInput=W1,Z.IconButton=Be,Z.Icons=$g,Z.PreviewContainer=E_,Z.React=In,Z.Ripple=Ci,Z.SmallText=S1,Z.TextButton=kn,Z.analyzePageForms=x_,Z.create=I_,Z.html=__,Z.version=P_,Object.defineProperty(Z,Symbol.toStringTag,{value:"Module"})});
|