PageSourceSearch

https://www.hunkemoller.be/on/demandware.static/Sites-hunkemoller-…/v1791082701445/js/lib/vtailPlayer.min.js

js hunkemoller.be collected 2026-10-04 11:48:47 UTC 73,210 bytes, 1 lines download raw bytes

vendor: 4,104 bytes, line 1
1(()=>{"use strict";var A={187:A=>{var C,g="object"==typeof Reflect?Reflect:null,I=g&&"function"==typeof g.apply?g.apply:function(A,C,g){return Function.prototype.apply.call(A,C,g)};C=g&&"function"==typeof g.ownKeys?g.ownKeys:Object.getOwnPropertySymbols?function(A){return Object.getOwnPropertyNames(A).concat(Object.getOwnPropertySymbols(A))}:function(A){return Object.getOwnPropertyNames(A)};var t=Number.isNaN||function(A){return A!=A};function e(){e.init.call(this)}A.exports=e,A.exports.once=function(A,C){return new Promise((function(g,I){function t(){void 0!==e&&A.removeListener("error",e),g([].slice.call(arguments))}var e;"error"!==C&&(e=function(g){A.removeListener(C,t),I(g)},A.once("error",e)),A.once(C,t)}))},e.EventEmitter=e,e.prototype._events=void 0,e.prototype._eventsCount=0,e.prototype._maxListeners=void 0;var s=10;function i(A){if("function"!=typeof A)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof A)}function n(A){return void 0===A._maxListeners?e.defaultMaxListeners:A._maxListeners}function o(A,C,g,I){var t,e,s,o;if(i(g),void 0===(e=A._events)?(e=A._events=Object.create(null),A._eventsCount=0):(void 0!==e.newListener&&(A.emit("newListener",C,g.listener?g.listener:g),e=A._events),s=e[C]),void 0===s)s=e[C]=g,++A._eventsCount;else if("function"==typeof s?s=e[C]=I?[g,s]:[s,g]:I?s.unshift(g):s.push(g),(t=n(A))>0&&s.length>t&&!s.warned){s.warned=!0;var r=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(C)+" listeners added. Use emitter.setMaxListeners() to increase limit");r.name="MaxListenersExceededWarning",r.emitter=A,r.type=C,r.count=s.length,o=r,console&&console.warn&&console.warn(o)}return A}function r(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function a(A,C,g){var I={fired:!1,wrapFn:void 0,target:A,type:C,listener:g},t=r.bind(I);return t.listener=g,I.wrapFn=t,t}function c(A,C,g){var I=A._events;if(void 0===I)return[];var t=I[C];return void 0===t?[]:"function"==typeof t?g?[t.listener||t]:[t]:g?function(A){for(var C=new Array(A.length),g=0;g<C.length;++g)C[g]=A[g].listener||A[g];return C}(t):h(t,t.length)}function l(A){var C=this._events;if(void 0!==C){var g=C[A];if("function"==typeof g)return 1;if(void 0!==g)return g.length}return 0}function h(A,C){for(var g=new Array(C),I=0;I<C;++I)g[I]=A[I];return g}Object.defineProperty(e,"defaultMaxListeners",{enumerable:!0,get:function(){return s},set:function(A){if("number"!=typeof A||A<0||t(A))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+A+".");s=A}}),e.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},e.prototype.setMaxListeners=function(A){if("number"!=typeof A||A<0||t(A))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+A+".");return this._maxListeners=A,this},e.prototype.getMaxListeners=function(){return n(this)},e.prototype.emit=function(A){for(var C=[],g=1;g<arguments.length;g++)C.push(arguments[g]);var t="error"===A,e=this._events;if(void 0!==e)t=t&&void 0===e.error;else if(!t)return!1;if(t){var s;if(C.length>0&&(s=C[0]),s instanceof Error)throw s;var i=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw i.context=s,i}var n=e[A];if(void 0===n)return!1;if("function"==typeof n)I(n,this,C);else{var o=n.length,r=h(n,o);for(g=0;g<o;++g)I(r[g],this,C)}return!0},e.prototype.addListener=function(A,C){return o(this,A,C,!1)},e.prototype.on=e.prototype.addListener,e.prototype.prependListener=function(A,C){return o(this,A,C,!0)},e.prototype.once=function(A,C){return i(C),this.on(A,a(this,A,C)),this},e.prototype.prependOnceListener=function(A,C){return i(C),this.prependListener(A,a(this,A,C)),this},e.prototype.removeListener=function(A,C){var g,I,t,e,s;if(i(C),void 0===(I=this._events))return this;
1if(void 0===(g=I[A]))return this;if(g===C||g.listener===C)0==--this._eventsCount?this._events=Object.create(null):(delete I[A],I.removeListener&&this.emit("removeListener",A,g.listener||C));else if("function"!=typeof g){for(t=-1,e=g.length-1;e>=0;e--)if(g[e]===C||g[e].listener===C){s=g[e].listener,t=e;break}if(t<0)return this;0===t?g.shift():function(A,C){for(;C+1<A.length;C++)A[C]=A[C+1];A.pop()}(g,t),1===g.length&&(I[A]=g[0]),void 0!==I.removeListener&&this.emit("removeListener",A,s||C)}return this},e.prototype.off=e.prototype.removeListener,e.prototype.removeAllListeners=function(A){var C,g,I;if(void 0===(g=this._events))return this;if(void 0===g.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==g[A]&&(0==--this._eventsCount?this._events=Object.create(null):delete g[A]),this;if(0===arguments.length){var t,e=Object.keys(g);for(I=0;I<e.length;++I)"removeListener"!==(t=e[I])&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(C=g[A]))this.removeListener(A,C);else if(void 0!==C)for(I=C.length-1;I>=0;I--)this.removeListener(A,C[I]);return this},e.prototype.listeners=function(A){return c(this,A,!0)},e.prototype.rawListeners=function(A){return c(this,A,!1)},e.listenerCount=function(A,C){return"function"==typeof A.listenerCount?A.listenerCount(C):l.call(A,C)},e.prototype.listenerCount=l,e.prototype.eventNames=function(){return this._eventsCount>0?C(this._events):[]}}},C={};function g(I){if(C[I])return C[I].exports;var t=C[I]={exports:{}};return A[I](t,t.exports,g),t.exports}(()=>{class A{constructor(A,C,g,I=!0){this.prefix=A,this.color=C,this.background=g,this.log=()=>{},this.info=()=>{},this.warn=()=>{},this.error=window.console.error.bind(window.console),this.dir=()=>{},this.debug=()=>{},this.trace=()=>{}}}new A("  API  ","#FFF","#f555ec");const C="https://"+new URL(document.currentScript.src).searchParams.get("env")+"/api";class I{constructor(A={}){if(I.Instance)return I.Instance;I.Instance=this,this.TOKEN=A.token,this.requests=[]}setToken(A){this.TOKEN=A}abort(){return new Promise(((A,C)=>{this.requests.forEach((A=>{A.abort()})),A()}))}_unsetRequest(A){this.requests=this.requests.filter((C=>C!=A))}_sendRequest(A,g,I=null){return new Promise(((t,e)=>{let s=new XMLHttpRequest;s.id=g,this.requests.push(s),s.open(A,C+g),this.TOKEN&&s.setRequestHeader("Authorization","Bearer "+this.TOKEN),I instanceof FormData||(s.setRequestHeader("Content-Type","application/json"),I=JSON.stringify(I)),s.onload=()=>{if(this._unsetRequest(s),200===s.status){let A=JSON.parse(s.responseText);0===A.error_code?t(A.object):e({status:s.status,statusText:s.statusText,errorCode:A.error_code,errorMessage:A.error_message})}else e({status:s.status,statusText:s.statusText})},s.onerror=()=>{this._unsetRequest(s),e({status:s.status,statusText:s.statusText})},s.onabort=()=>{this._unsetRequest(s)},s.send(I)}))}get(A){return this._sendRequest("GET",A)}post(A,C){return this._sendRequest("POST",A,C)}postFile(A,C){let g=new FormData;return g.append("file",C,"file.jpeg"),this._sendRequest("POST",A,g)}broadcastGetBroadcastByLastRequest(){return this.post("/broadcasts/get_broadcast_by_last_request")}broadcastNewPrivateBroadcastRequest(A){return this.post("/broadcasts/new_private_broadcast_request",A)}broadcastDeleteMyPrivateBroadcast(){return this.post("/broadcasts/delete_my_private_broadcast")}productsProductShowRequest(A){return this.post("/products/product_show_request",A)}productsGetProducts(A){return this.get("/products/get_products/"+A)}videostreamGetConfig(A){return this.post("/video-stream/get_config/"+A)}imageUpload(A){return this.postFile("/images/upload",A)}chatGetLast(A){return this.get("/chat/"+A+"/last")}chatSend(A,C){return this.post("/chat/"+A+"/send",C)}userAuthClient(A){return this.post("/users/auth_client",A)}webRtcSendAnswer(A,C,g){return this.post("/web_rtc/send_answer/"+A+"/"+C,g)}webRtcSendOffer(A,C,g){return this.post("/web_rtc/send_offer/"+A+"/"+C,g)}webRtcSendCandidate(A,C,g){return this.post("/web_rtc/send_candidate/"+A+"/"+C,g)}}var t=g(187);new A("  WSS  ","#FFF","lightblue");const e="online_users",s="online_user",i="offline_user",n="broadcast_finish",o="offer";class r extends t.EventEmitter{constructor(A){if(super(),r.Instance)return r.Instance;r.Instance=this,this.TOKEN=A.token,this.SESSION_ID=null,this.wss=null,this.attemptsNumber=0}connect(A){this.wss=new WebSocket(A),this.isCorrectClose=!1,this.wss.onmessage=A=>
1{this.emit("onmessage",A);let C=JSON.parse(A.data);C.data&&C.data.code&&(this.emit(C.data.code,C.data.object),"connect_ok"===C.data.code&&(this.SESSION_ID=C.data.object.session_id))},this.wss.onerror=A=>{this.emit("onerror",A)},this.wss.onclose=A=>{this.emit("onclose",A),A.wasClean&&this.isCorrectClose||this.reconnect(A.currentTarget.url)},this.wss.onopen=A=>{this.attemptsNumber?this.emit("onreconncet",A):this.emit("onopen",A),this.attemptsNumber=0}}reconnect(A){this.attemptsNumber<100?(++this.attemptsNumber,setTimeout((()=>{this.connect(A)}),1e3)):this.emit("connectError")}disconnect(){return this.wss&&this.wss.readyState===WebSocket.OPEN?this.wss.close():this}close(){return new Promise(((A,C)=>{this.isCorrectClose=!0,this.wss&&(this.wss.onmessage=null,this.wss.onerror=null,this.wss.onclose=null,this.wss.onopen=null,this.disconnect(),this.removeListeners(this)),A()}))}removeListeners(A){A.eventNames().forEach((C=>{A.removeAllListeners(C)}))}isConnected(){return this.wss&&this.wss.readyState===WebSocket.OPEN}}new A("  ControlButton  ","#FFF","#00bcd4",!1);class a extends t.EventEmitter{constructor(A){super(),this.element=A,this.state={},this.element.addEventListener("click",(A=>{this.emit("click",A)}),!1)}enable(){this.disabled=!1,this.element.classList.remove("disabled")}disable(){this.disabled=!0,this.element.classList.add("disabled")}hide(){this.hidden=!0,this.element.classList.add("vtail-hidden")}show(){this.hidden=!1,this.element.classList.remove("vtail-hidden")}classToggle(A,C){this.element.classList.toggle(A,C)}setActive(){this.isActive=!0,this.element.classList.add("active")}unsetActive(){this.isActive=!1,this.element.classList.remove("active")}setState(A,C){this.state[A]=C}getState(A){this.state[A]}}const c=new A("  ProductsList  ","#FFF","#852cce"),l=new I,h=new r({});class d extends t.EventEmitter{constructor(A={}){super(),this.vtailWrapper=document.getElementById("vtail"),this.productsListWrapper=document.querySelector(".vtail-products"),this.productsListContent=document.querySelector(".vtail-products__content"),this.closeProductsListButton=new a(document.querySelector(".vtail-products__close")),this.closeProductsListButton.on("click",(A=>{this.onCloseBtnClick()})),this.currentProductElement=new a(document.querySelector(".vtail-player-product")),this.currentProductElement.on("click",(A=>{this.onProductItemClick(A)})),this.vtailWrapper.classList.remove("vtail-product-over-player"),this.currentProductElement.element.querySelector(".vtail-player-product__image img").removeAttribute("src"),this.currentProductElement.element.removeAttribute("data-product-id"),this.products=[],this.broadcast={},this.emit("onReady")}set broadcastID(A){this.broadcast.id=A,this.loadProducts(),h.on("new_product",(A=>{-1===this.products.findIndex((C=>C.id===A.id))&&(this.products.push(A),this.addProductToList(A,!0))}))}init(A){this.emit("onInit")}loadProducts(){this.products=[],l.productsGetProducts(this.broadcast.id).then((A=>{this.products=[...A],this.products.sort(((A,C)=>A.broadcast_timestamp-C.broadcast_timestamp)),this.products.forEach(((A,C,g)=>{this.addProductToList(A,C===g.length-1)}))})).catch((A=>{c.error("productsGetProducts",A)})),this.emit("onLoadProducts",this.products)}addProductToList(A,C=!1){let g=document.createElement("div");g.dataset.productId=A.id,g.innerHTML='<div class="vtail-product__img">\n                <img src="'+A.image_url+'"/>\n            </div>\n            <div class="vtail-product__name">'+A.title+'</div>\n            <div class="vtail-product__price">\n'+(A.original_price!==A.price?'<div class="vtail-product__price_old">'+A.original_price.toFixed(2)+"</div>\n":"")+'                <div class="vtail-product__price_current">'+A.price.toFixed(2)+"</div>\n            </div>",g.className="vtail-product",g.addEventListener("click",this.onProductItemClick.bind(this),!1),this.productsListContent.prepend(g),this.emit("onAddProductToList",A),C&&this.setCurrentProduct(A)}onProductItemClick(A){let C=A.currentTarget.dataset.productId,g=this.products.find((A=>A.id==C));this.emit("onProductClick",g)}setCurrentProduct(A){this.currentProductElement.element.querySelector(".vtail-player-product__image img").src=A.image_url,this.currentProductElement.element.dataset.productId=A.id,this.currentProduct=A,this.productsListWrapper.querySelectorAll("[data-product-id]").forEach((A=>{A.classList.remove("active")})),this.productsListWrapper.querySelector("[data-product-id='"+A.id+"']").classList.add("active"),this.vtailWrapper.classList.add("vtail-product-over-player"),this.emit
1("onSetCurrentProduct",A)}onCloseBtnClick(A){this.hideProductsList(A)}hideProductsList(A){this.productsListWrapper.classList.remove("vtail-products__opened"),this.vtailWrapper.classList.remove("vtail-products-list-opened"),this.emit("onHideProductsList",A)}showProductsList(){this.productsListWrapper.classList.add("vtail-products__opened"),this.vtailWrapper.classList.add("vtail-products-list-opened"),this.emit("onShowProductsList")}toggleProductList(){this.productsListWrapper.classList.contains("vtail-products__opened")?this.hideProductsList():this.showProductsList()}removeListeners(A){A.eventNames().forEach((C=>{A.removeAllListeners(C)}))}destroy(){this.removeListeners(this),this.removeListeners(this.closeProductsListButton),this.removeListeners(this.currentProductElement),this.productsListContent.innerHTML=""}}const u=new A("  BroadcastConnection  ","#FFF","#83ff50"),v=new I,p=new r({});class m extends t.EventEmitter{constructor(A){super(),this.options=A,this.stream=A.localStream,this.peerConnection=new RTCPeerConnection(A.configuration),this.peerConnection.onicecandidate=A=>{A&&A.candidate&&v.webRtcSendCandidate(this.options.broadcastID,this.options.receiverSessionID,{candidate:A.candidate.candidate,sdpMLineIndex:A.candidate.sdpMLineIndex,sdpMid:A.candidate.sdpMid,sender_session_id:p.SESSION_ID}).then((A=>{})).catch((A=>{u.error("webRtcSendCandidate",A.name,A.message,A)}))},this.peerConnection.ontrack=A=>{this.options.videoStreamer.srcObject=A.streams[0],this.emit("ontrack",A)},this.peerConnection.onnegotiationneeded=function(A){},this.peerConnection.onconnectionstatechange=A=>{this.emit("onconnectionstatechange",this.peerConnection.connectionState)},this.peerConnection.oniceconnectionstatechange=function(A){},this.peerConnection.onicegatheringstatechange=function(A){},this.peerConnection.onidentityresult=function(A){},this.peerConnection.onidpassertionerror=function(A){},this.peerConnection.onidpvalidationerror=function(A){},this.peerConnection.onremovestream=function(A){},this.peerConnection.onsignalingstatechange=function(A){},this.onOffer=this.onOffer.bind(this),this.onAnswer=this.onAnswer.bind(this),this.onCandidate=this.onCandidate.bind(this),p.on("answer",this.onAnswer),p.on("candidate",this.onCandidate),A.offer?this.onOffer(A.offer):this.sendOffer()}reconnect(){this.peerConnection.restartIce()}sendOffer(){this.stream.getTracks().forEach((A=>{this.sender=this.peerConnection.addTrack(A,this.stream)})),this.peerConnection.createOffer({iceRestart:!0,offerToReceiveVideo:!0,offerToReceiveAudio:!0}).then((A=>this.peerConnection.setLocalDescription(A))).then((()=>v.webRtcSendOffer(this.options.broadcastID,this.options.receiverSessionID,{type:this.peerConnection.localDescription.type,sdp:this.peerConnection.localDescription.sdp,sender_session_id:p.SESSION_ID}))).then((A=>{})).catch((A=>{u.error("sendOffer",A.name,A.message,A)}))}onOffer(A){this.peerConnection.setRemoteDescription(A).then((()=>(this.stream.getTracks().forEach((A=>{this.peerConnection.addTrack(A,this.stream)})),this.peerConnection.createAnswer()))).then((A=>this.peerConnection.setLocalDescription(A))).then((()=>v.webRtcSendAnswer(this.options.broadcastID,this.options.receiverSessionID,{type:this.peerConnection.localDescription.type,sdp:this.peerConnection.localDescription.sdp,sender_session_id:p.SESSION_ID}))).then((A=>{})).catch((A=>{u.error("onOffer",A.name,A.message,A)}))}onAnswer(A){this.peerConnection.setRemoteDescription(A).then((A=>{})).catch((A=>{u.error("onAnswer setRemoteDescription",A)}))}onCandidate(A){this.peerConnection.addIceCandidate(A).catch((A=>{}))}replaceTrack(A){this.peerConnection.getSenders().find((C=>C.track.kind==A.kind)).replaceTrack(A)}removeTrack(A){this.peerConnection.getSenders().find((C=>{C.track.kind==A.kind&&this.peerConnection.removeTrack(C)}))}addTrack(A){this.stream=A,this.stream.getTracks().forEach((A=>{this.sender=this.peerConnection.addTrack(A,this.stream)}))}close(){this.peerConnection&&(this.peerConnection.ontrack=null,this.peerConnection.onremovetrack=null,this.peerConnection.onremovestream=null,this.peerConnection.onicecandidate=null,this.peerConnection.oniceconnectionstatechange=null,this.peerConnection.onsignalingstatechange=null,this.peerConnection.onicegatheringstatechange=null,this.peerConnection.onnegotiationneeded=null,this.options.videoStreamer.srcObject&&this.options.videoStreamer.srcObject.getTracks().forEac
1h((A=>A.stop())),this.peerConnection.close(),this.peerConnection=null),this.options.videoStreamer.removeAttribute("src"),this.options.videoStreamer.removeAttribute("srcObject"),p.off("offer",this.onOffer),p.off("answer",this.onAnswer),p.off("candidate",this.onCandidate),this.removeAllListeners()}}new A("  Take Screenshot  ","#333","#fc3");class f extends t.EventEmitter{constructor(A={}){super(),this.controls=[],this.playerWrapper=document.querySelector(".vtail-player"),this.requestProductWrapper=document.querySelector(".vtail-request-product"),this.frameContainer=document.querySelector(".vtail-request-product__area"),this.requestProductContent=document.querySelector(".vtail-request-product__content"),this.videoFrameCanvas=document.querySelector(".vtail-request-product-frame"),this.pointerCanvas=document.querySelector(".vtail-request-product-pointer"),this.pointerCanvasContext=this.pointerCanvas.getContext("2d"),this.onPointerCanvasClick=this.onPointerCanvasClick.bind(this),this.pointerCanvas.addEventListener("click",this.onPointerCanvasClick,!1),this.controls.closeBtn=new a(document.querySelector(".vtail-request-product__close")),this.controls.closeBtn.on("click",(A=>{this.close()})),this.controls.sendRequestBtn=new a(document.querySelector(".vtail-request-product__button")),this.controls.sendRequestBtn.on("click",(A=>{this.sendRequest()})),this.readyToSend=!1,this.pointerOffsetX=null,this.pointerOffsetY=null}showRequestProduct(A){this.requestProductWrapper.classList.remove("vtail-hidden"),this.setFrame
1(A)}setRequestStateReady(){this.readyToSend=!0,this.controls.sendRequestBtn.enable()}setRequestStateUnready(){this.readyToSend=!1,this.controls.sendRequestBtn.disable()}close(){this.requestProductWrapper.classList.add("vtail-hidden"),this.setRequestStateUnready(),this.clearCanvas(this.videoFrameCanvas),this.clearCanvas(this.pointerCanvas),this.emit("close")}setCanvas(A,C){A.width=C.canvasWidth,A.height=C.canvasHeight,A.style.top=C.canvasTop+"px",A.style.left=C.canvasLeft+"px",A.style.position="absolute"}setFrame(A){let C=A.videoWidth,g=A.videoHeight;this.requestProductContent.style.width="98%",this.requestProductContent.style.height="98%";let I,t,e,s,i=this.frameContainer.offsetWidth,n=this.frameContainer.offsetHeight,o=C/g,r=i/n;o<r?(I=n,t=C*(I/g),s=(i-t)/2,e=0):o>r?(t=i,I=g*(t/C),s=0,e=(n-I)/2):(I=n,t=i,s=0,e=0),t=Math.round(t),I=Math.round(I),this.requestProductContent.style.width=t+"px",this.requestProductContent.style.height=I+"px";let a={canvasWidth:t,canvasHeight:I,canvasTop:0,canvasLeft:0};this.setCanvas(this.videoFrameCanvas,a),this.setCanvas(this.pointerCanvas,a),this.videoFrameCanvas.getContext("2d").drawImage(A,0,0,this.videoFrameCanvas.width,this.videoFrameCanvas.height)}drawPointer(A,C,g){A.beginPath(),A.strokeStyle="#E81E75",A.lineWidth=10,A.arc(C,g,22,0,2*Math.PI),A.stroke()}onPointerCanvasClick(A){this.clearCanvas(this.pointerCanvas),this.drawPointer(this.pointerCanvasContext,A.offsetX,A.offsetY),this.pointerOffsetX=A.offsetX,this.pointerOffsetY=A.offsetY,this.readyToSend||this.setRequestStateReady()}clearCanvas(A){A.getContext("2d").clearRect(0,0,A.width,A.height)}sendRequest(){if(this.readyToSend){this.setRequestStateUnready();let A=this.videoFrameCanvas.getContext("2d");this.drawPointer(A,this.pointerOffsetX,this.pointerOffsetY),this.videoFrameCanvas.toBlob((A=>{this.emit("sendProductRequest",A),this.close()}),"image/jpeg")}}removeListeners(A){A.eventNames().forEach((C=>{A.removeAllListeners(C)}))}destroy(){this.close(),this.removeListeners(this),Object.values(this.controls).forEach((A=>{this.removeListeners(A)})),this.pointerCanvas.removeEventListener("click",this.onPointerCanvasClick,!1)}}const b=new A("  PrivateSession  ","#FFF","#d195b7"),S=new r({}),y=new I,L="vtail-preloader-visible",w="vtail-miniplayer",E="vtail-show-controls",O="vtail-live",P=6e5,T={HIDDEN:"",WAITING:"vtail-preloader-visible-waiting",LOADING:"vtail-preloader-visible-loading",UNAVALIABLE:"vtail-preloader-visible-unavailable",DISCONNECT:"vtail-preloader-visible-disconnect",ENDED:"vtail-preloader-visible-ended",PLAYREADY:"vtail-preloader-visible-playready",NOACCESS:"vtail-preloader-visible-no-access",ISOVER:"vtail-preloader-visible-is-over",RESTART:"vtail-preloader-visible-restart",EXIT:"vtail-preloader-visible-exit"},M="vtail-vertical";class k extends t.EventEmitter{constructor(A={}){super(),this.timestamp=new Date,this.localStream={stream:null,audioTrack:{},videoTrack:{},avatarTrack:{}},this.avatarStream={},this.constraints={},this.mediaDevices={audio:[],video:[]},this.onlineUsers=[],this.takeScreenshot=new f,this.takeScreenshot.on("close",(A=>{this.controls.askProductBtn.unsetActive()})),this.takeScreenshot.on("sendProductRequest",(A=>{y.imageUpload(A).then((A=>{let C={image_url:A.url};this.sendProductRequest(C)})).catch((A=>{b.error("imageUpload",A)}))})),this.onOffer=this.onOffer.bind(this),this.onOnlineUsers=this.onOnlineUsers.bind(this),this.onOnlineUser=this.onOnlineUser.bind(this),this.onOfflineUser=this.onOfflineUser.bind(this),this.onBroadcastFinish=this.onBroadcastFinish.bind(this),this.onWSSclose=this.onWSSclose.bind(this),this.onWSSreconnect=this.onWSSreconnect.bind(this),S.on(o,this.onOffer),S.on(e,this.onOnlineUsers),S.on(s,this.onOnlineUser),S.on(i,this.onOfflineUser),S.on(n,this.onBroadcastFinish),S.on("onclose",this.onWSSclose),S.on("onreconncet",this.onWSSreconnect),this.draggableMouseDown=this.draggableMouseDown.bind(this),this.draggableMouseMove=this.draggableMouseMove.bind(this),this.draggableMouseUp=this.draggableMouseUp.bind(this),this.draggablePosition={},this.broadcast=null,this.controls=[],this.STATE=0,this.preloaderState=T.LOADING,this.playerOrientation=A.playerOrientation||M,this.miniplayerOn=A.miniplayerOn||!1,this.showVideoControls=A.showVideoControls||!0,this.liveTour=A.liveTour||!0,this.volumeControl=null,this.progressBar=null,this.productsList=new d,this.productsList.on("onSetCurrentProduct",(A=>{})),this.productsList.on("onProductClick",(A=>
1{this.emit("productDetail",A.store_product_id),this.minimizePlayer()})),this.productsList.on("onHideProductsList",(A=>{this.controls.productsListBtn.unsetActive()})),this.vtailContainer=document.getElementById("vtail"),this.videoClient=document.getElementById("vtail-player-video-local"),this.videoStreamer=document.getElementById("vtail-player-video-remote"),this.vtailAlert=document.querySelector(".vtail-alert"),this.draggableHeader=document.querySelector(".vtail-miniplayer-controls"),this.connections={streamer:{player:document.getElementById("vtail-player-video-remote")},client:{player:document.getElementById("vtail-player-video-local")},friends:[]},this.controls.overlayBtn=new a(this.vtailContainer.querySelector(".vtail-overlay")),this.controls.overlayBtn.on("click",this.onOverlayClick.bind(this)),this.controls.overlayBtn.show(),this.controls.closeBtn=new a(this.vtailContainer.querySelector(".vtail-player-button_close")),this.controls.closeBtn.on("click",this.onClose.bind(this)),this.vtailContainer.querySelectorAll(".vtail-close-confirm").forEach((A=>{A.addEventListener("click",this.onConfirmClose.bind(this),!1)})),this.vtailContainer.querySelectorAll(".vtail-close-deny").forEach((A=>{A.addEventListener("click",this.onDenyClose.bind(this),!1)})),this.initControls(),this.getBroadcast()}onClose(){this.STATE>0||this.preloaderState==T.EXIT?this.setPreloaderState(T.EXIT):this.emit("close")}onConfirmClose(){this.emit("close")}onDenyClose(){this.setPreloaderState(T.HIDDEN)}onOverlayClick(){20==this.STATE&&this.minimizePlayer()}getBroadcast(){y.broadcastGetBroadcastByLastRequest().then((A=>{A?(this.setPreloaderState(T.LOADING),this.initLocalStream().then((()=>(this.turnOffSelfView(),this.setBroadcast(A)))).then((()=>{}))):this.setPreloaderState(T.RESTART)})).catch((A=>{b.error("get_broadcast_by_last_request Error",A),this.setPreloaderState(T.RESTART)}))}setBroadcast(A){return new Promise(((C,g)=>{this.broadcast={id:A.broadcast.id,wssEventsURL:A.wss_events_url,config:A.config},this.productsList.broadcastID=A.broadcast.id,S.connect(A.wss_events_url),C()}))}initLocalStream(){return new Promise(((A,C)=>{this.enumerateDevices().then((()=>{this.constraints.audio?this.getUserMedia().then((A=>this.createAvatarStream(400,400,"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAMAAAC3Ycb+AAAACXBIWXMAAAsTAAALEwEAmpwYAAA57mlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMTEgNzkuMTU4MzI1LCAyMDE1LzA5LzEwLTAxOjEwOjIwICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICAgICAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMjAtMTAtMjJUMTU6NDE6MDUrMDM6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDIwLTEwLTIyVDE1OjQxOjA1KzAzOjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAyMC0xMC0yMlQxNTo0MTowNSswMzowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NmQ2OGVkNDMtMjA4OC0wNDQ0LTljMDQtYWE5NzAwM2RkZjY1PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6Y2RmOWQwN2MtMTQ2My0xMWViLTgzM2YtZDJkZTE3NTIzMWJmPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6Njg5ZTgzYmEtMGQ1Yi0yOTRjLTgwY2UtZWU4Y2NmNzkzYTY2PC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjY4OWU4M2JhLTBkNWItMjk0Yy04MGNlLWVlOGNjZjc5M2E2Njwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAyMC0xMC0yMlQxNTo0MTowNSswMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo2ZDY4ZWQ0My0yMDg4LTA0NDQtOWMwNC1hYTk3MDAzZGRmNjU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMjAtMTAtMjJUMTU6NDE6MDUrMDM6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+NDAwPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjQwMDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+cHrejAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACc1BMVEVmZmZnZ2doaGhpaWlqaWlqamprampra2tsa2ttbGxtbW1ubW1ubm5vbm5wb29xcHBycXFzcnJ0c3N1dHR2dXV3dXV3dnZ4dnZ4d3d5eHh6eHh6eXl7eXl7enp8enp9e3t+fHx+fX1/fX2Afn6Bf3+CgICDgICDgYGEgYGEgoKFg4OGg4OGhIS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"))).then((()=>{A()})).catch((A=>{this.setPreloaderState(T.NOACCESS),b.error("getUserMedia",A)})):this.setPreloaderState(T.NOACCESS)})).catch((A=>{b.error("enumerateDevices",A.name,A.message,A)}))}))}createAvatarStream(A,C,g){return new Promise(((I,t)=>{let e=Object.assign(document.createElement("canvas"),{width:A,height:C});this.avatarStream.context=e.getContext("2d"),this.avatarStream.image=new Image,this.avatarStream.image.onload=A=>{this.startAvatarStream(),I()},this.avatarStream.image.src=g;let s=e.captureStream();this.localStream.avatarTrack=Object.assign(s.getVideoTracks()[0],{enabled:!0})}))}startAvatarStream(){this.avatarStream.iterval=setInterval((()=>{this.avatarStream.context.drawImage(this.avatarStream.image,0,0)}),100)}stopAvatarStream(){this.avatarStream.iterval&&clearInterval(this.avatarStream.iterval)}initPlayer(){document.querySelector(".vtail-player-button_play-pause"),document.querySelector(".vtail-player-volume__button"),document.querySelector(".vtail-player-button_fullscreen"),document.querySelector(".vtail-player-button_microphone"),document.querySelector(".vtail-player-button_ask-product"),document.querySelector(".vtail-player-button_product-details"),document.querySelector(".vtail-player-button_like"),document.querySelector(".vtail-progressbar__inner"),document.querySelector(".vtail-player-volume__slider")}setPreloaderState(A){this.vtailContainer.classList.remove(L);for(let A in T)T[A]!==T.HIDDEN&&this.vtailContainer.classList.remove(T[A]);switch(A!==T.HIDDEN?(this.vtailContainer.classList.add(L,A),this.productsList&&this.productsList.hideProductsList(),this.takeScreenshot&&this.takeScreenshot.close(),this.STATE=0):this.STATE=20,this.preloaderState=A,A){case T.HIDDEN:this.STATE=20;break;case T.LOADING:this.STATE=10;break;default:this.STATE=0}}setPlayerOrientation(A){this.playerOrientation=A,A===M?(this.vtailContainer.classList.add(A),this.vtailContainer.classList.remove("vtail-horizontal")):(this.vtailContainer.classList.add(A),this.vtailContainer.classList.remove(M))}get getPlayerOrientation(){return this.playerOrientation}setMiniplayerMode(){this.miniplayerOn=!0,this.vtailContainer.classList.add(w)}unsetMiniplayerMode(){this.miniplayerOn=!1,this.vtailContainer.classList.remove(w)}get getMiniplayerMode(){return this.miniplayerOn}setVideoControls(){this.showVideoControls=!0,this.vtailContainer.classList.add(E)}unsetVideoControls(){this.showVideoControls=!1,this.vtailContainer.classList.remove(E)}get getVideoControls(){return this.showVideoControls}setLiveTourState(){this.liveTour=!0,this.vtailContainer.classList.add(O)}unsetLiveTourState(){this.liveTour=!1,this.vtailContainer.classList.remove(O)}get getLiveTourState(){return this.liveTour}showAlert(A=!1){this.vtailAlert.classList.remove("vtail-hidden"),A&&setTimeout((()=>{this.hideAlert()}),3e3)}hideAlert(){this.vtailAlert.classList.add("vtail-hidden")}initControls(){this.controls.productsListBtn=new a(this.vtailContainer.querySelector(".vtail-player-button_products-list")),this.controls.productsListBtn.unsetActive(),this.controls.productsListBtn.show(),this.controls.productsListBtn.on("click",(A=>{this.controls.productsListBtn.isActive?(this.controls.productsListBtn.unsetActive(),this.productsList.hideProductsList()):(this.controls.productsListBtn.setActive(),this.productsList.showProductsList())})),this.controls.selfCameraOnBtn=new a(this.vtailContainer.querySelector(".vtail-player-button_camera.vtail-camera-turn-on")),this.controls.selfCameraOnBtn.show(),this.controls.selfCameraOnBtn.on("click",(A=>{this.turnOnSelfView()})),this.controls.selfCameraOffBtn=new a(this.vtailContainer.querySelector(".vtail-player-button_camera.vtail-camera-turn-off")),this.controls.selfCameraOffBtn.hide(),this.controls.selfCameraOffBtn.on("click",(A=>{this.turnOffSelfView()})),this.constraints.video||this.controls.selfCameraOnBtn.hide(),this.controls.microphoneOnBtn=new a(this.vtailContainer.querySelector(".vtail-player-button_microphone.vtail-mic-turn-on")),this.controls.microphoneOnBtn.hide(),this.controls.microphoneOnBtn.on("click",(A=>{this.turnOnMicrophone()})),this.controls.microphoneOffBtn=new a(this.vtailContainer.querySelector(".vtail-player-button_microphone.vtail-mic-turn-off")),this.controls.microphoneOffBtn.show(),this.controls.microphoneOffBtn.on("click",(A=>{this.turnOffMicrophone()})),this.controls.askProductBtn=new a(this.vtailContainer.querySelector(".vtail-player-button_ask-product")),this.controls.askProductBtn.on("click",(A=>{this.onAskButtonClick()})),this.controls.miniPlayerBtn=new a(this.vtailContainer.querySelector(".vtail-player-button_miniplayer")),this.controls.miniPlayerBtn.on("click",(A=>{this.miniplayerOn?this.restorePlayer():this.minimizePlayer()}))}onOffer(A){let C=this.onlineUsers.find((C=>C.session_id==A.sender_session_id));C&&"consultant"===C.user_type&&this.createConnection("consultant",C.session_id,{sdp:A.sdp,type:A.type,sender_session_id:C.session_id})}onOnlineUsers(A){if(this.connections.consultant)return this.connections.consultant.reconnect(),!0;this.onlineUsers=A.users,this.createConnectionsForOnlineUsers(),this.emit
1("broadcastOnlineUsers",this.onlineUsers)}onOnlineUser(A){this.onlineUsers.push(A)}onOfflineUser(A){this.onlineUsers=this.onlineUsers.filter((C=>C.session_id!==A.session_id)),this.broadcast&&("consultant"===A.user_type&&this.connections.consultant&&(this.closeConnection(),this.setPreloaderState(T.LOADING)),this.emit("broadcastOfflineUser",A))}onBroadcastFinish(A){this.setPreloaderState(T.ISOVER),this.finishBroadcast()}onWSSclose(){this.setPreloaderState(T.DISCONNECT),this.connections.consultant}onWSSreconnect(){this.setPreloaderState(T.LOADING)}finishBroadcast(A=!0){return new Promise(((C,g)=>{this.videoClient.removeAttribute("src"),this.videoClient.removeAttribute("srcObject"),this.stopAvatarStream(),clearInterval(this.countDownInterval),this.localStream&&this.localStream.stream&&this.localStream.stream.getTracks().forEach((A=>A.stop())),this.connections.consultant&&(this.connections.consultant.close(),this.connections.consultant=null),this.broadcast=null,A?y.broadcastDeleteMyPrivateBroadcast().then((A=>{this.emit("broadcastFinished"),C()})).catch((A=>{b.error("broadcastDeleteMyPrivateBroadcast Error",A),g()})):C()}))}createConnectionsForOnlineUsers(){this.onlineUsers.forEach((A=>{"consultant"==A.user_type&&(this.connections.consultant&&(this.connections.consultant.close(),this.connections.consultant=null),this.createConnection("consultant",A.session_id))}))}createConnection(A,C,g){if(this.connections&&this.connections.consultant)return b.warn("createConnection connection is there"),this.setPreloaderState(T.RESTART),!1;this.connections.consultant=new m({localStream:new MediaStream([this.localStream.audioTrack,this.localStream.avatarTrack]),receiverSessionID:C,broadcastID:this.broadcast.id,videoStreamer:this.videoStreamer,videoClient:this.videoClient,configuration:{iceServers:[{urls:this.broadcast.config.turns.urls,username:this.broadcast.config.turns.username,credential:this.broadcast.config.turns.credentials}]},offer:g||null}),this.connections.consultant.on("ontrack",(()=>{this.startCountDown(),this.setPreloaderState(T.HIDDEN),this.emit("broadcastStart")})),this.connections.consultant.on("onconnectionstatechange",(A=>{"disconnected"===A&&this.setPreloaderState(T.DISCONNECT),"failed"===A&&(this.setPreloaderState(T.DISCONNECT),this.closeConnection()),"connected"===A&&T.DISCONNECT&&this.setPreloaderState(T.HIDDEN)}))}closeConnection(){this.connections.consultant&&(this.removeListeners(this.connections.consultant),this.connections.consultant.close(),this.connections.consultant=null)}enumerateDevices(){return navigator.mediaDevices.enumerateDevices().then((A=>{if(navigator.mediaDevices.getSupportedConstraints(),A.forEach((A=>{"audioinput"===A.kind&&(this.mediaDevices.audio.push(A),this.constraints.audio=!0),"videoinput"===A.kind&&(this.mediaDevices.video.push(A),this.constraints.video={facingMode:"user"})})),this.constraints.video,!this.constraints.audio)return!1}))}getUserMedia(){return navigator.mediaDevices.getUserMedia(this.constraints).then((A=>{let C=A.getAudioTracks(),g=A.getVideoTracks();return C.length&&(this.localStream.audioTrack=C[0]),g.length&&(this.localStream.videoTrack=g[0]),this.localStream.stream=A,this.localStream.stream}))}turnOnSelfView(){this.connections.consultant.replaceTrack(this.localStream.videoTrack),this.videoClient.classList.remove("vtail-hidden"),this.videoClient.srcObject=this.localStream.stream,this.videoClient.play(),this.constraints.video?(this.controls.selfCameraOnBtn.hide(),this.controls.selfCameraOffBtn.show()):(this.controls.selfCameraOffBtn.hide(),this.controls.selfCameraOnBtn.hide())}turnOffSelfView(){this.connections.consultant&&this.connections.consultant.replaceTrack(this.localStream.avatarTrack),this.videoClient.classList.add("vtail-hidden"),this.videoClient.removeAttribute("src"),this.videoClient.removeAttribute("srcObject"),this.constraints.video?(this.controls.selfCameraOffBtn.hide(),this.controls.selfCameraOnBtn.show()):(this.controls.selfCameraOffBtn.hide(),this.controls.selfCameraOnBtn.hide())}turnOnMicrophone(){this.localStream.audioTrack.enabled=!0,this.controls.microphoneOnBtn.hide(),this.controls.microphoneOffBtn.show()}turnOffMicrophone(){b.info("turnOffMicrophone"),this.localStream.audioTrack.enabled=!1,this.controls.microphoneOffBtn.hide(),this.controls.microphoneOnBtn.show()}onAskButtonClick(){this.controls.askProductBtn.setActive(),this.takeScreenshot.showRequestProduct(this.videoStreamer)}minimizePlayer(){b.info("minimizePlayer"),this.miniplayerOn=!0,this.productsList.hideProductsList(),this.takeScreenshot.close(),this.vtailContainer.classList.add("vtail-miniplayer"),this.vtailContainer.style.top=null,this.vtailContainer.style.left=null,this.controls.overlayBtn.hide(),this.emit
1("minimizePlayer"),this.draggableStart()}restorePlayer(){b.info("restorePlayer"),this.miniplayerOn=!1,this.vtailContainer.classList.remove("vtail-miniplayer"),this.vtailContainer.style.top=null,this.vtailContainer.style.left=null,this.controls.overlayBtn.show(),this.emit("restorePlayer"),this.draggableEnd()}sendProductRequest(A){A.broadcast_id=this.broadcast.id,y.productsProductShowRequest(A).then((A=>{this.showAlert(!0)})).catch((A=>{b.error("productsProductShowRequest",A)}))}startCountDown(){if(this.countDownInterval)return;b.info("startCountDown",this.broadcast.config.broadcast_resolve_date);let A=this.broadcast&&this.broadcast.config&&this.broadcast.config.broadcast_resolve_date?this.broadcast.config.broadcast_resolve_date+P:(new Date).getTime()+P;this.countDownElement=document.querySelector(".vtail-player-time"),this.countDownInterval=setInterval((()=>{let C=(new Date).getTime(),g=Math.floor((A-C)/1e3);g=g>=0?g:0,this.formatTime(g,86400,100);let I=this.formatTime(g,3600,24),t=this.formatTime(g,60,60),e=this.formatTime(g,1,60);this.countDownElement.innerHTML=I+":"+t+":"+e,g<=0&&clearInterval(this.countDownInterval)}),1001)}formatTime(A,C,g){let I=(Math.floor(A/C)%g).toString();return I.length<2&&(I="0"+I),I}draggableStart(){b.info("draggableStart"),this.draggableHeader.addEventListener("mousedown",this.draggableMouseDown,!1),this.draggableHeader.addEventListener("touchstart",this.draggableMouseDown,!1),this.draggablePosition.maxX=window.innerWidth-this.vtailContainer.offsetWidth,this.draggablePosition.maxY=window.innerHeight-this.vtailContainer.offsetHeight}draggableEnd(){b.info("draggableEnd"),this.draggableHeader.removeEventListener("mousedown",this.draggableMouseDown,!1),this.draggableHeader.removeEventListener("touchstart",this.draggableMouseDown,!1),window.removeEventListener("mousemove",this.draggableMouseMove,!0),window.removeEventListener("touchmove",this.draggableMouseMove,!0),window.removeEventListener("mouseup",this.draggableMouseUp,!1),window.removeEventListener("touchend",this.draggableMouseUp,!1)}draggableMouseDown(A){this.draggablePosition.maxX=window.innerWidth-this.vtailContainer.offsetWidth,this.draggablePosition.maxY=window.innerHeight-this.vtailContainer.offsetHeight,this.draggablePosition.x="touchmove"===A.type?A.touches[0].clientX:A.clientX,this.draggablePosition.y="touchmove"===A.type?A.touches[0].clientY:A.clientY,b.info(this.draggablePosition),window.addEventListener("mousemove",this.draggableMouseMove,!0),window.addEventListener("touchmove",this.draggableMouseMove,!0),window.addEventListener("mouseup",this.draggableMouseUp,!1),window.addEventListener("touchend",this.draggableMouseUp,!1)}draggableMouseMove(A){let C="touchmove"===A.type?A.touches[0].clientX:A.clientX,g="touchmove"===A.type?A.touches[0].clientY:A.clientY,I=this.vtailContainer.offsetLeft-this.draggablePosition.x+C,t=this.vtailContainer.offsetTop-this.draggablePosition.y+g;this.draggablePosition.x=C,this.draggablePosition.y=g,I=I<0?0:I>this.draggablePosition.maxX?this.draggablePosition.maxX:I,t=t<0?0:t>this.draggablePosition.maxY?this.draggablePosition.maxY:t,this.vtailContainer.style.left=I+"px",this.vtailContainer.style.top=t+"px"}draggableMouseUp(){window.removeEventListener("mousemove",this.draggableMouseMove,!0),window.removeEventListener("touchmove",this.draggableMouseMove,!0),window.removeEventListener("mouseup",this.draggableMouseUp,!1),window.removeEventListener("touchend",this.draggableMouseUp,!1)}close(){return b.info("close"),new Promise(((A,C)=>{this.finishBroadcast().then((()=>{this.removeListeners(this),S.off(o,this.onOffer),S.off(e,this.onOnlineUsers),S.off(s,this.onOnlineUser),S.off(i,this.onOfflineUser),S.off(n,this.onBroadcastFinish),S.off("onclose",this.onWSSclose),S.off("onreconncet",this.onWSSreconnect),A()})).catch((A=>C(A)))}))}removeListeners(A){A.eventNames().forEach((C=>{A.removeAllListeners(C)}))}destroy(A=!0){return b.info("destroy"),new Promise(((C,g)=>{this.finishBroadcast(A).then((()=>{this.removeListeners(this),b.info(S.eventNames()),S.off(o,this.onOffer),S.off(e,this.onOnlineUsers),S.off(s,this.onOnlineUser),S.off(i,this.onOfflineUser),S.off(n,this.onBroadcastFinish),S.off("onclose",this.onWSSclose),S.off("onreconncet",this.onWSSreconnect),this.productsList&&(this.removeListeners(this.productsList),this.productsList.destroy()),this.takeScreenshot&&(this.removeListeners(this.takeScreenshot),this.takeScreenshot.destroy()),Object.values(this.controls).forEac
1h((A=>{this.removeListeners(A)})),C()}))}))}}const D=new A("  index  ","#FFF","#221da0");window.VTailPlayer=function(){let A,C,g,e,s;class i extends t.EventEmitter{constructor(){super(),this.version="v2021-01-12T10:19:58.671Z"}init(){if(s)return!1;if(e)return s=!0,this.close(!1).then((()=>{e=null,s=!1,this.init()})),!1;let t=document.cookie.match("(^|;)\\s*vtail_token\\s*=\\s*([^;]+)");if(g=t?t.pop():null,!g)return D.warn("token not found"),!1;A=A||new I,A.setToken(g),C=C||new r({token:g}),e=new k,e.on("close",(()=>{this.close(!0).then((()=>{e=null,C=null,this.emit("close")})).catch((A=>D.error(A)))})),e.on("productDetail",(A=>{this.emit("productDetail",A)})),e.on("broadcastStart",(A=>{this.emit("broadcastStart",A)})),e.on("broadcastFinish",(A=>{this.emit("broadcastFinish",A)})),e.on("restorePlayer",(A=>{this.emit("restorePlayer",A)})),e.on("minimizePlayer",(A=>{this.emit("minimizePlayer",A)})),A.broadcastNewPrivateBroadcastRequest().then((A=>{})).catch((function(A){}))}close(g=!0){return e.eventNames().forEach((A=>{e.removeAllListeners(A)})),Promise.all([e?e.destroy(g):null,C?C.close():null,A&&!g?A.abort():null])}sendProductRequest(A){e.sendProductRequest(A)}}return new i}()})()})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.