zego-express-engine-webrtc
Version:
zego webrtc express sdk
1 lines • 69.2 kB
JavaScript
!function(n,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r(require("long"));else if("function"==typeof define&&define.amd)define(["long"],r);else{var t="object"==typeof exports?r(require("long")):r(n.long);for(var e in t)("object"==typeof exports?exports:n)[e]=t[e]}}("undefined"!=typeof self?self:this,(function(n){return function(){"use strict";var r={8627:function(n,r,t){t.d(r,{QYE:function(){return h},fzq:function(){return i},zcJ:function(){return g},zgL:function(){return o}});var e=t(8866),i={code:1103044,message:e.aw},g={code:1103074,message:"video track is not readable"},h={code:1103072,message:"not support beauty effect"},o={code:1103075,message:"beauty effect overload"}},8866:function(n,r,t){t.d(r,{Rl:function(){return a},Wk:function(){return c},aw:function(){return h},dO:function(){return o},fT:function(){return i},h2:function(){return u},l3:function(){return e},pt:function(){return g},qC:function(){return s}});t(7202),t(8627);var e=Promise;var i="room not exist",g="device is not found",h="stream is not from zego",o="input param error",s="local stream wrong",u="no preview",c="publish stream no found",a="network is broken"},7202:function(n,r,t){t(6994)},4872:function(n,r,t){function e(n){return void 0===n}function i(n){return n instanceof MediaStream}t.d(r,{TE:function(){return e},dr:function(){return i}})},327:function(n,r,t){t.d(r,{L:function(){return i}});var e=t(4872);function i(n,r){if(n&&!(0,e.dr)(n)&&n.zegoStream){if(r.info("cu.gs type:zego"),(0,e.dr)(n.stream))return n.stream;throw new Error("The ZegoLocalStream type requires first calling the capture api to capture the stream")}return n}},1350:function(n,r,t){t.d(r,{E:function(){return g}});var e=function(n,r,t,e){return new(t||(t=Promise))((function(i,g){function h(n){try{s(e.next(n))}catch(n){g(n)}}function o(n){try{s(e.throw(n))}catch(n){g(n)}}function s(n){var r;n.done?i(n.value):(r=n.value,r instanceof t?r:new t((function(n){n(r)}))).then(h,o)}s((e=e.apply(n,r||[])).next())}))},i=function(n,r){var t,e,i,g,h={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return g={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(g[Symbol.iterator]=function(){return this}),g;function o(o){return function(s){return function(o){if(t)throw new TypeError("Generator is already executing.");for(;g&&(g=0,o[0]&&(h=0)),h;)try{if(t=1,e&&(i=2&o[0]?e.return:o[0]?e.throw||((i=e.return)&&i.call(e),0):e.next)&&!(i=i.call(e,o[1])).done)return i;switch(e=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return h.label++,{value:o[1],done:!1};case 5:h.label++,e=o[1],o=[0];continue;case 7:o=h.ops.pop(),h.trys.pop();continue;default:if(!(i=h.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){h=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){h.label=o[1];break}if(6===o[0]&&h.label<i[1]){h.label=i[1],i=o;break}if(i&&h.label<i[2]){h.label=i[2],h.ops.push(o);break}i[2]&&h.ops.pop(),h.trys.pop();continue}o=r.call(n,h)}catch(n){o=[6,n],e=0}finally{t=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}},g=function(){function n(){this.isFirstNode=!0,this.isLastNode=!0,this.hasAnother=!1}return n.prototype.connect=function(n){return e(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return this.next=n,this.output?[4,n.setInput(this.output)]:[3,2];case 1:r.sent(),r.label=2;case 2:return[2,n]}}))}))},n.prototype.disconnect=function(n){return e(this,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return this.next?[4,this.next.setInput(null,n)]:[3,2];case 1:r.sent(),this.next=void 0,r.label=2;case 2:return[2]}}))}))},n.prototype.setNodePos=function(n,r,t){void 0!==n&&(this.isFirstNode=n),void 0!==r&&(this.isLastNode=r),"boolean"==typeof t&&(this.hasAnother=!t)},n}()},6994:function(r){r.exports=n}},t={};function e(n){var i=t[n];if(void 0!==i)return i.exports;var g=t[n]={exports:{}};return r[n](g,g.exports,e),g.exports}e.d=function(n,r){for(var t in r)e.o(r,t)&&!e.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:r[t]})},e.o=function(n,r){return Object.prototype.hasOwnProperty.call(n,r)},e.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})};var i={};e.r(i),e.d(i,{BeautyEffect:function(){return Z}});var g=e(8627),h=e(8866),o=e(4872),s=e(327),u=function(n,r,t,e){return new(t||(t=Promise))((function(i,g){function h(n){try{s(e.next(n))}catch(n){g(n)}}function o(n){try{s(e.throw(n))}catch(n){g(n)}}function s(n){var r;n.done?i(n.value):(r=n.value,r instanceof t?r:new t((function(n){n(r)}))).then(h,o)}s((e=e.apply(n,r||[])).next())}))},c=function(n,r){var t,e,i,g,h={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return g={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(g[Symbol.iterator]=function(){return this}),g;function o(o){return function(s){return function(o){if(t)throw new TypeError("Generator is already executing.");for(;g&&(g=0,o[0]&&(h=0)),h;)try{if(t=1,e&&(i=2&o[0]?e.return:o[0]?e.throw||((i=e.return)&&i.call(e),0):e.next)&&!(i=i.call(e,o[1])).done)return i;switch(e=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return h.label++,{value:o[1],done:!1};case 5:h.label++,e=o[1],o=[0];continue;case 7:o=h.ops.pop(),h.trys.pop();continue;default:if(!(i=h.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){h=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){h.label=o[1];break}if(6===o[0]&&h.label<i[1]){h.label=i[1],i=o;break}if(i&&h.label<i[2]){h.label=i[2],h.ops.push(o);break}i[2]&&h.ops.pop(),h.trys.pop();continue}o=r.call(n,h)}catch(n){o=[6,n],e=0}finally{t=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}},a="zc.p.0.sbe.3",v=function(){function n(n){this.t=n,this.recordedFrameCount=0,this.targetFrameRate=0,this.recordingDuration=0}return n.prototype.startRecordBeautyEffectOutput=function(n){return u(this,void 0,void 0,(function(){var r,t,e,i=this;return c(this,(function(g){switch(g.label){case 0:return r=6,this.recordID?(this.t.warn(a+" detector is already recording"),[2,{result:!0}]):(t=(new Date).getTime(),this.recordID=t,this.targetFrameRate=n,this.recordedFrameCount=0,this.recordingDuration=r,[4,new h.l3((function(n){window.setTimeout(n,1e3*i.recordingDuration)}))]);case 1:return g.sent(),this.recordID!==t?(this.recordID=void 0,[2,{result:!0}]):(this.recordID=void 0,e=this.recordedFrameCount/r,this.recordedFrameCount<this.targetFrameRate*this.recordingDuration/2?(this.t.warn(a+" detect effect overload: current fps: "+e),[2,{result:!1,targetFPS:this.targetFrameRate,currentFPS:e}]):(this.t.info(a+" detect effect current fps: "+e),[2,{result:!0}]))}}))}))},n.prototype.stopRecordBeautyEffectOutput=function(){this.recordedFrameCount=this.targetFrameRate=0,this.recordID=void 0},n.prototype.addFrame=function(){this.recordID&&(this.recordedFrameCount+=1)},n}();function f(n){for(var r=n,t="",e=0;e<r.length;e++){var i=r.charCodeAt(e),g=i;i>=65&&i<=90&&(g=(i-65-13+26)%26+65),i>=97&&i<=122&&(g=(i-97-13+26)%26+97),t+=String.fromCharCode(g)}return t}var A,b=function(){function n(n,r,t){this.gl=n,this.width=r,this.height=t,this.type="baseShader",this.program=null,this.program=null}return n.prototype.setEffectConfig=function(n){},n.prototype.setConstUniforms=function(){},n.prototype.resetResolution=function(n,r){this.width=n||this.width,this.height=r||this.height},n.prototype.render=function(){},n.prototype.renderPreTextures=function(n,r,t){},n.prototype.makeProgram=function(n,r){var t=this.gl,e=f(n),i=f(r),g=this.makeShader(e,t.VERTEX_SHADER),h=this.makeShader(i,t.FRAGMENT_SHADER),o=t.createProgram();return t.attachShader(o,g),t.attachShader(o,h),t.linkProgram(o),t.getProgramParameter(o,t.LINK_STATUS),o},n.prototype.release=function(){},n.prototype.makeShader=function(n,r){var t=this.gl,e=t.createShader(r);return t.shaderSource(e,n),t.compileShader(e),t.getShaderParameter(e,t.COMPILE_STATUS),e},n}(),l="nggevohgr irp4 nCbfvgvba;\nnggevohgr irp4 nGrkPbbeqvangr;\nhavsbez uvtuc sybng grkOyheJvqguBssfrg;\nhavsbez uvtuc sybng grkOyheUrvtugBssfrg;\ninelvat irp2 i_grkpbbeq0;\ninelvat irp4 grkgherFuvsg_1;\ninelvat irp4 grkgherFuvsg_2;\ninelvat irp4 grkgherFuvsg_3;\ninelvat irp4 grkgherFuvsg_4;\nibvq znva()\n{\n ty_Cbfvgvba = nCbfvgvba;\n i_grkpbbeq0 = nGrkPbbeqvangr.kl;\n\n irp2 fvatyrFgrcBssfrg = irp2(grkOyheJvqguBssfrg, grkOyheUrvtugBssfrg)*2.5;\n\n grkgherFuvsg_1 = irp4(nGrkPbbeqvangr.kl - fvatyrFgrcBssfrg, nGrkPbbeqvangr.kl + fvatyrFgrcBssfrg);\n grkgherFuvsg_2 = irp4(nGrkPbbeqvangr.kl - 2.0 * fvatyrFgrcBssfrg, nGrkPbbeqvangr.kl + 2.0 * fvatyrFgrcBssfrg);\n grkgherFuvsg_3 = irp4(nGrkPbbeqvangr.kl - 3.0 * fvatyrFgrcBssfrg, nGrkPbbeqvangr.kl + 3.0 * fvatyrFgrcBssfrg);\n grkgherFuvsg_4 = irp4(nGrkPbbeqvangr.kl - 4.0 * fvatyrFgrcBssfrg, nGrkPbbeqvangr.kl + 4.0 * fvatyrFgrcBssfrg);\n}",k="cerpvfvba zrqvhzc sybng;\nhavsbez fnzcyre2Q hGrkgher;\ninelvat irp2 i_grkpbbeq0;\ninelvat uvtuc irp4 grkgherFuvsg_1;\ninelvat uvtuc irp4 grkgherFuvsg_2;\ninelvat uvtuc irp4 grkgherFuvsg_3;\ninelvat uvtuc irp4 grkgherFuvsg_4;\nibvq znva(ibvq) { \n zrqvhzc irp3 fhz = grkgher2Q(hGrkgher, i_grkpbbeq0).eto;\n fhz += grkgher2Q(hGrkgher, grkgherFuvsg_1.kl).eto;\n fhz += grkgher2Q(hGrkgher, grkgherFuvsg_1.mj).eto;\n fhz += grkgher2Q(hGrkgher, grkgherFuvsg_2.kl).eto;\n fhz += grkgher2Q(hGrkgher, grkgherFuvsg_2.mj).eto;\n fhz += grkgher2Q(hGrkgher, grkgherFuvsg_3.kl).eto;\n fhz += grkgher2Q(hGrkgher, grkgherFuvsg_3.mj).eto;\n fhz += grkgher2Q(hGrkgher, grkgherFuvsg_4.kl).eto;\n fhz += grkgher2Q(hGrkgher, grkgherFuvsg_4.mj).eto;\n ty_SentPbybe = irp4(fhz * 0.1111, 1.0); \n}",B=(A=function(n,r){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(n[t]=r[t])},A(n,r)},function(n,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function t(){this.constructor=n}A(n,r),n.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)}),y=function(n){function r(r,t,e){var i=n.call(this,r,t,e)||this;return i.width=t,i.height=e,i.type="BlurShader",i.blurXProgram=null,i.blurYProgram=null,i.diffProgram=null,i.uIntensity=null,i.smoothIntensity=.5,i.blurTextureList=[],i.blurBufferList=[],i.blurXProgram=i.makeProgram(l,k),i.setBorderBlurProgram(i.blurXProgram,1/(t||1),0),i.blurYProgram=i.makeProgram(l,k),i.setBorderBlurProgram(i.blurYProgram,0,1/(e||1)),i.diffProgram=i.makeProgram("nggevohgr irp4 nCbfvgvba;\nnggevohgr irp4 nGrkPbbeqvangr;\nhavsbez zng4 hCZIZngevk;\ninelvat irp2 i_grkpbbeq0;\nibvq znva()\n{\n // ty_Cbfvgvba = hCZIZngevk * nCbfvgvba;\n ty_Cbfvgvba = nCbfvgvba;\n i_grkpbbeq0 = nGrkPbbeqvangr.kl;\n}","cerpvfvba zrqvhzc sybng;\nhavsbez fnzcyre2Q hGrkgher;\ninelvat irp2 i_grkpbbeq0;\nhavsbez fnzcyre2Q oyheGrkgher;\nibvq znva(ibvq) {\n irp4 vPbybe = grkgher2Q(oyheGrkgher, i_grkpbbeq0);\n irp4 zrnaPbybe = grkgher2Q(hGrkgher, i_grkpbbeq0);\n irp4 qvssPbybe = vPbybe - zrnaPbybe;\n qvssPbybe.e = zva(qvssPbybe.e * 50.0 * qvssPbybe.e, 1.0);\n qvssPbybe.t = zva(qvssPbybe.t * 50.0 * qvssPbybe.t, 1.0);\n qvssPbybe.o = zva(qvssPbybe.o * 50.0 * qvssPbybe.o, 1.0);\n ty_SentPbybe = irp4(qvssPbybe.eto, 1.0);\n}"),i.setDiffBlurProgram(i.diffProgram),i.program=i.makeProgram("\nnggevohgr irp4 nCbfvgvba;\nnggevohgr irp4 nGrkPbbeqvangr;\ninelvat irp2 i_grkpbbeq0;\nhavsbez sybng jvqguBssfrg;\nhavsbez sybng urvtugBssfrg;\ninelvat irp2 grkgherFuvsg_1;\ninelvat irp2 grkgherFuvsg_2;\ninelvat irp2 grkgherFuvsg_3;\ninelvat irp2 grkgherFuvsg_4;\nibvq znva()\n{\n ty_Cbfvgvba = nCbfvgvba;\n i_grkpbbeq0 = nGrkPbbeqvangr.kl;\n grkgherFuvsg_1 = irp2(i_grkpbbeq0 + 0.5 * irp2(jvqguBssfrg,urvtugBssfrg));\n grkgherFuvsg_2 = irp2(i_grkpbbeq0 + 0.5 * irp2(-jvqguBssfrg,-urvtugBssfrg));\n grkgherFuvsg_3 = irp2(i_grkpbbeq0 + 0.5 * irp2(-jvqguBssfrg,urvtugBssfrg));\n grkgherFuvsg_4 = irp2(i_grkpbbeq0 + 0.5 * irp2(jvqguBssfrg,-urvtugBssfrg));\n}\n","\ncerpvfvba zrqvhzc sybng;\nhavsbez fnzcyre2Q hGrkgher;\ninelvat irp2 i_grkpbbeq0;\nhavsbez fnzcyre2Q oyheGrkgher;\nhavsbez fnzcyre2Q oyheQvssGrkgher;\nhavsbez ybjc sybng oyheNycun;\nibvq znva(ibvq) {\n ybjc irp4 vPbybe = grkgher2Q(hGrkgher, i_grkpbbeq0);\n ybjc irp4 zrnaPbybe = grkgher2Q(oyheGrkgher, i_grkpbbeq0);\n ybjc irp4 inePbybe = grkgher2Q(oyheQvssGrkgher, i_grkpbbeq0);\n ybjc sybng nycun = oyheNycun * 1.0;\n ybjc sybng gurgn = 0.1;\n zrqvhzc sybng c = pynzc((zva(vPbybe.e, zrnaPbybe.e - 0.1) - 0.2) * 4.0, 0.0, 1.0);\n zrqvhzc sybng zrnaIne = znk(znk(inePbybe.e, inePbybe.t), inePbybe.o);\n zrqvhzc sybng xZva = 0.1;\n ybjc irp3 erfhygPbybe;\n xZva = (1.0 - zrnaIne / (zrnaIne + gurgn)) * c * nycun;\n erfhygPbybe = zvk(vPbybe.eto, zrnaPbybe.eto, xZva);\n erfhygPbybe = zvk(vPbybe.eto, erfhygPbybe, zva(1.0,nycun));\n ty_SentPbybe = irp4(erfhygPbybe,1.0);\n}"),i.initBlurBuffer(),i}return B(r,n),r.prototype.setEffectConfig=function(n){isNaN(n.smoothIntensity)||(this.smoothIntensity=n.smoothIntensity/100)},r.prototype.render=function(){this.gl.uniform1f(this.uIntensity,this.smoothIntensity)},r.prototype.initBlurBuffer=function(){var n=this,r=this.gl;this.blurTextureList.forEach((function(r){var t;r&&(null===(t=n.gl)||void 0===t||t.deleteTexture(r))})),this.blurBufferList.forEach((function(r){var t;r&&(null===(t=n.gl)||void 0===t||t.deleteFramebuffer(r))})),this.blurTextureList=[],this.blurBufferList=[];for(var t=0;t<3;t++){var e=r.createTexture();if(!e)return;r.bindTexture(r.TEXTURE_2D,e),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!0),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,this.width,this.height,0,r.RGBA,r.UNSIGNED_BYTE,null);var i=r.createFramebuffer();if(!i)return;r.bindFramebuffer(r.FRAMEBUFFER,i),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,e,0),this.blurTextureList.push(e),this.blurBufferList.push(i)}},r.prototype.renderPreTextures=function(n,r,t){var e=this,i=this.gl,g=[0,1,0],h=[1,1,2];[this.blurXProgram,this.blurYProgram,this.diffProgram].forEach((function(o,s){if(o){i.useProgram(o);var u=i.getUniformLocation(o,"uTexture");i.uniform1i(u,g[s]);var c=i.createBuffer();i.bindBuffer(i.ARRAY_BUFFER,c),i.bufferData(i.ARRAY_BUFFER,new Float32Array(n),i.STATIC_DRAW);var a=i.createBuffer();i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,a),i.bufferData(i.ELEMENT_ARRAY_BUFFER,new Uint16Array(r),i.STATIC_DRAW);var v=i.getAttribLocation(o,"aPosition");i.enableVertexAttribArray(v),i.vertexAttribPointer(v,3,i.FLOAT,!1,0,0);var f=i.createBuffer();i.bindBuffer(i.ARRAY_BUFFER,f),i.bufferData(i.ARRAY_BUFFER,new Float32Array(t),i.STATIC_DRAW);var A=i.getAttribLocation(o,"aTexCoordinate");i.enableVertexAttribArray(A),i.vertexAttribPointer(A,2,i.FLOAT,!1,0,0),i.bindFramebuffer(i.FRAMEBUFFER,e.blurBufferList[s]),i.clearColor(0,0,0,1),i.clear(i.COLOR_BUFFER_BIT),i.drawElements(i.TRIANGLES,6,i.UNSIGNED_SHORT,0),i.activeTexture(i.TEXTURE0+h[s]),i.bindTexture(i.TEXTURE_2D,e.blurTextureList[s])}}))},r.prototype.setConstUniforms=function(){var n=this.width,r=this.height,t=this.program;if(t){var e=this.gl;e.useProgram(t);var i=e.getUniformLocation(t,"widthOffset");e.uniform1f(i,1/n);var g=e.getUniformLocation(t,"heightOffset");e.uniform1f(g,1/r),this.uIntensity=e.getUniformLocation(t,"blurAlpha"),e.uniform1f(this.uIntensity,this.smoothIntensity);var h=e.getUniformLocation(t,"blurTexture");e.uniform1i(h,1);var o=e.getUniformLocation(t,"blurDiffTexture");e.uniform1i(o,2)}},r.prototype.resetResolution=function(n,r){this.width=n||this.width,this.height=r||this.height,this.blurXProgram&&this.setBorderBlurProgram(this.blurXProgram,1/(n||1),0),this.blurYProgram&&this.setBorderBlurProgram(this.blurYProgram,0,1/(r||1)),this.setConstUniforms(),this.initBlurBuffer()},r.prototype.setBorderBlurProgram=function(n,r,t){var e=this.gl;e.useProgram(n);var i=e.getUniformLocation(n,"texBlurWidthOffset");e.uniform1f(i,r);var g=e.getUniformLocation(n,"texBlurHeightOffset");e.uniform1f(g,t)},r.prototype.setDiffBlurProgram=function(n){var r=this.gl;r.useProgram(n);var t=r.getUniformLocation(n,"blurTexture");r.uniform1i(t,1)},r}(b),I=function(){var n=function(r,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(n[t]=r[t])},n(r,t)};return function(r,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function e(){this.constructor=r}n(r,t),r.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),E=function(n){function r(r,t,e){var i=n.call(this,r,t,e)||this;return i.width=t,i.height=e,i.type="LightShader",i.uLightIntensity=null,i.uRedIntensity=null,i.whitenIntensity=.5,i.rosyIntensity=.5,i.program=i.makeProgram("cerpvfvba uvtuc sybng;\nnggevohgr irp2 nGrkPbbeqvangr;\nnggevohgr irp4 nCbfvgvba;\nhavsbez zng4 hCZIZngevk;\ninelvat irp2 iGrkPbbeq;\nibvq znva() {\n ty_Cbfvgvba = hCZIZngevk * nCbfvgvba;\n iGrkPbbeq = nGrkPbbeqvangr;\n}","cerpvfvba uvtuc sybng;\ninelvat irp2 iGrkPbbeq;\nhavsbez fnzcyre2Q hGrkgher;\nhavsbez sybng vagrafvgl;\nhavsbez sybng ebflVagrafvgl;\nirp3 oevtugarffNaqPbagenfg(irp3 pbybe){\n sybng v = vagrafvgl * 1.0;\n sybng CV = 3.1415926;\n sybng O = 0.12 * v;\n sybng p = 0.1 * v;\n sybng x = gna((45. + 44. * p) / 180.0 * CV);\n pbybe = ((pbybe*255.0 - 127.5 * (1.0 - O)) * x + 127.5 * (1.0 + O)) / 255.0;\n erghea pbybe;\n}\nibvq znva() {\n irp4 grkgherPbybe = grkgher2Q(hGrkgher, iGrkPbbeq);\n grkgherPbybe = irp4(oevtugarffNaqPbagenfg(grkgherPbybe.eto), grkgherPbybe.j);\n grkgherPbybe.e = zva(grkgherPbybe.e + 0.06 * ebflVagrafvgl, 1.0);\n ty_SentPbybe = grkgherPbybe;\n}"),i}return I(r,n),r.prototype.setEffectConfig=function(n){isNaN(n.whitenIntensity)||(this.whitenIntensity=n.whitenIntensity/100),isNaN(n.rosyIntensity)||(this.rosyIntensity=n.rosyIntensity/100)},r.prototype.render=function(){var n=this.gl;n.uniform1f(this.uLightIntensity,this.whitenIntensity),n.uniform1f(this.uRedIntensity,this.rosyIntensity)},r.prototype.setConstUniforms=function(){var n=this.program;if(n){var r=this.gl;r.useProgram(n),this.uLightIntensity=r.getUniformLocation(n,"intensity"),r.uniform1f(this.uLightIntensity,this.whitenIntensity),this.uRedIntensity=r.getUniformLocation(n,"rosyIntensity"),r.uniform1f(this.uRedIntensity,this.rosyIntensity);var t=r.getUniformLocation(n,"uPMVMatrix");r.uniformMatrix4fv(t,!1,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}},r}(b),C=function(){var n=function(r,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(n[t]=r[t])},n(r,t)};return function(r,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function e(){this.constructor=r}n(r,t),r.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),w=function(n,r,t,e){return new(t||(t=Promise))((function(i,g){function h(n){try{s(e.next(n))}catch(n){g(n)}}function o(n){try{s(e.throw(n))}catch(n){g(n)}}function s(n){var r;n.done?i(n.value):(r=n.value,r instanceof t?r:new t((function(n){n(r)}))).then(h,o)}s((e=e.apply(n,r||[])).next())}))},Q=function(n,r){var t,e,i,g,h={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return g={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(g[Symbol.iterator]=function(){return this}),g;function o(o){return function(s){return function(o){if(t)throw new TypeError("Generator is already executing.");for(;g&&(g=0,o[0]&&(h=0)),h;)try{if(t=1,e&&(i=2&o[0]?e.return:o[0]?e.throw||((i=e.return)&&i.call(e),0):e.next)&&!(i=i.call(e,o[1])).done)return i;switch(e=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return h.label++,{value:o[1],done:!1};case 5:h.label++,e=o[1],o=[0];continue;case 7:o=h.ops.pop(),h.trys.pop();continue;default:if(!(i=h.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){h=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){h.label=o[1];break}if(6===o[0]&&h.label<i[1]){h.label=i[1],i=o;break}if(i&&h.label<i[2]){h.label=i[2],h.ops.push(o);break}i[2]&&h.ops.pop(),h.trys.pop();continue}o=r.call(n,h)}catch(n){o=[6,n],e=0}finally{t=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}},p=function(n){function r(r,t,e){var i=n.call(this,r,t,e)||this;return i.width=t,i.height=e,i.type="LowLightShader",i.uIntensity=null,i.lowlightEnhancement=!1,i.lutTex=null,i.lutImg=null,i.lutTexIdx=10,i.uLutTex=null,i.program=i.makeProgram("\nnggevohgr irp4 nCbfvgvba;\nnggevohgr irp4 nGrkPbbeqvangr;\nhavsbez sybng grkryJvqgu;\nhavsbez sybng grkryUrvtug;\ninelvat irp2 grkgherPbbeqvangr[9];\ninelvat irp2 grkgherPbbeqvangr2;\nhavsbez zng4 hCZIZngevk;\nibvq znva(){\n ty_Cbfvgvba = hCZIZngevk * nCbfvgvba;\n grkgherPbbeqvangr2 = nGrkPbbeqvangr.kl;\n grkgherPbbeqvangr[0] = nGrkPbbeqvangr.kl;\n irp2 jvqguFgrc = irp2(grkryJvqgu, 0.0);\n irp2 urvtugFgrc = irp2(0.0, grkryUrvtug);\n irp2 jvqguUrvtugFgrc = irp2(grkryJvqgu, grkryUrvtug);\n irp2 jvqguArtngvirUrvtugFgrc = irp2(grkryJvqgu, -grkryUrvtug);\n \n grkgherPbbeqvangr[0] = nGrkPbbeqvangr.kl;\n grkgherPbbeqvangr[1] = nGrkPbbeqvangr.kl - jvqguFgrc;\n grkgherPbbeqvangr[2] = nGrkPbbeqvangr.kl + jvqguFgrc;\n \n grkgherPbbeqvangr[3] = nGrkPbbeqvangr.kl - urvtugFgrc;\n grkgherPbbeqvangr[4] = nGrkPbbeqvangr.kl - jvqguUrvtugFgrc;\n grkgherPbbeqvangr[5] = nGrkPbbeqvangr.kl + jvqguArtngvirUrvtugFgrc;\n \n grkgherPbbeqvangr[6] = nGrkPbbeqvangr.kl + urvtugFgrc;\n grkgherPbbeqvangr[7] = nGrkPbbeqvangr.kl - jvqguArtngvirUrvtugFgrc;\n grkgherPbbeqvangr[8] = nGrkPbbeqvangr.kl + jvqguUrvtugFgrc;\n}\n","cerpvfvba uvtuc sybng;\ninelvat uvtuc irp2 grkgherPbbeqvangr[9];\ninelvat uvtuc irp2 grkgherPbbeqvangr2;\nhavsbez fnzcyre2Q hGrkgher;\nhavsbez fnzcyre2Q vachgVzntrGrkgher2;\nhavsbez uvtuc zng3 zngLHIgbETO;\nhavsbez uvtuc zng3 zngETOgbLHI;\nhavsbez sybng hVagrafvgl;\npbafg irp3 pbzcIrp = irp3(-0.0/255.0, -128.0/255.0, -128.0/255.0);\nirp4 eto2lhi(irp4 vachgETO) {\n irp3 bhgchgLHI;\n bhgchgLHI = zngETOgbLHI * vachgETO.eto;\n bhgchgLHI -= pbzcIrp;\n erghea irp4(pynzc(bhgchgLHI,\n irp3(0.0, 0.0, 0.0),\n irp3(1.0, 1.0, 1.0)),\n vachgETO.n);\n}\nirp2 fnghengvba(irp2 bet, sybng snpgbe) {\n irp2 zbq = irp2((bet.k - 128.0/255.0) * snpgbe + 128.0/255.0,\n (bet.l - 128.0/255.0) * snpgbe + 128.0/255.0);\n erghea pynzc(zbq, irp2(0.0, 0.0), irp2(1.0, 1.0));\n}\nirp4 lhi2eto(irp4 vachgLHI) {\n irp3 bhgchgETO;\n vachgLHI.eto += pbzcIrp;\n bhgchgETO = zngLHIgbETO * vachgLHI.eto;\n erghea irp4(pynzc(bhgchgETO,\n irp3(0.0, 0.0, 0.0),\n irp3(1.0, 1.0, 1.0)),\n vachgLHI.n);\n}\nibvq znva(){\n irp4 lhi[9];\n sbe(vag v = 0; v < 9; v++){\n lhi[v] = eto2lhi(grkgher2Q(hGrkgher, grkgherPbbeqvangr[v]));\n }\n sybng fzbbguL = 0.0;\n fzbbguL += 1.0*lhi[4].e + 2.0*lhi[3].e + 1.0*lhi[5].e;\n fzbbguL += 2.0*lhi[1].e + 4.0*lhi[0].e + 2.0*lhi[2].e;\n fzbbguL += 1.0*lhi[7].e + 2.0*lhi[6].e + 1.0*lhi[8].e;\n fzbbguL = fzbbguL / 16.0;\n sybng bhgchgL = grkgher2Q(vachgVzntrGrkgher2, irp2(fzbbguL, lhi[0].e)).e;\n irp3 arjLHI = irp3(zvk(fzbbguL, bhgchgL, hVagrafvgl), lhi[0].to);\n ty_SentPbybe = lhi2eto(irp4(arjLHI.eto, lhi[0].n));\n}\n"),i}return C(r,n),r.prototype.setEffectConfig=function(n){this.lowlightEnhancement=1===n.lowlightEnhancement},r.prototype.release=function(){this.gl.deleteTexture(this.lutTex)},r.prototype.render=function(){var n=this.gl;n.uniform1f(this.uIntensity,this.lowlightEnhancement?.6:0);var r=this,t=r.program,e=r.width,i=r.height,g=r.lutTex;if(t){var h=n.getUniformLocation(t,"texelWidth");n.uniform1f(h,1/e);var o=n.getUniformLocation(t,"texelHeight");n.uniform1f(o,1/i),n.activeTexture(n.TEXTURE0+this.lutTexIdx),n.bindTexture(n.TEXTURE_2D,g)}},r.prototype.setConstUniforms=function(){return w(this,void 0,void 0,(function(){var n,r,t,e,i,g,o,s,u,c,a=this;return Q(this,(function(v){switch(v.label){case 0:return n=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],r=[1,1,1,0,-.344,1.772,1.402,-.714,0],t=[.298973,-.168721,.500019,.58706,-.331298,-.41873,.113967,.500019,-.081289],(e=this.program)?((i=this.gl).useProgram(e),this.uIntensity=i.getUniformLocation(e,"uIntensity"),g=i.getUniformLocation(e,"matYUVtoRGB"),i.uniformMatrix3fv(g,!1,r),o=i.getUniformLocation(e,"matRGBtoYUV"),i.uniformMatrix3fv(o,!1,t),s=i.getUniformLocation(e,"uPMVMatrix"),i.uniformMatrix4fv(s,!1,n),u=i.getUniformLocation(e,"inputImageTexture2"),c=this,[4,new h.l3((function(n){var r=i.createTexture(),t=a.lutTexIdx,g=a.lutImg;g||(g=new Image);g.onload=function(){i.useProgram(e),a.lutImg=g,i.activeTexture(i.TEXTURE0+t),i.bindTexture(i.TEXTURE_2D,r),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1),i.texImage2D(i.TEXTURE_2D,0,i.LUMINANCE,i.LUMINANCE,i.UNSIGNED_BYTE,g),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.NEAREST),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.NEAREST),i.uniform1i(u,t),r&&n(r)},g.src="\ndata:image/png;base64,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"}))]):[2];case 1:return c.lutTex=v.sent(),[2]}}))}))},r}(b),G=function(){var n=function(r,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(n[t]=r[t])},n(r,t)};return function(r,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function e(){this.constructor=r}n(r,t),r.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),d=function(n){function r(r,t,e){var i=n.call(this,r,t,e)||this;return i.width=t,i.height=e,i.type="SharpnessShader",i.uIntensity=null,i.sharpenIntensity=.5,i.program=i.makeProgram("\nnggevohgr irp4 nCbfvgvba;\nnggevohgr irp4 nGrkPbbeqvangr;\nhavsbez sybng vzntrJvqguSnpgbe;\nhavsbez sybng vzntrUrvtugSnpgbe;\nhavsbez sybng funecarff; \ninelvat irp2 iGrkPbbeq;\ninelvat irp2 yrsgGrkgherPbbeqvangr;\ninelvat irp2 evtugGrkgherPbbeqvangr;\ninelvat irp2 gbcGrkgherPbbeqvangr;\ninelvat irp2 obggbzGrkgherPbbeqvangr;\ninelvat sybng pragreZhygvcyvre;\ninelvat sybng rqtrZhygvcyvre;\nibvq znva() {\n ty_Cbfvgvba = nCbfvgvba;\n irp2 jvqguFgrc = irp2(vzntrJvqguSnpgbe, 0.0);\n irp2 urvtugFgrc = irp2(0.0, vzntrUrvtugSnpgbe);\n iGrkPbbeq = nGrkPbbeqvangr.kl;\n yrsgGrkgherPbbeqvangr = nGrkPbbeqvangr.kl - jvqguFgrc;\n evtugGrkgherPbbeqvangr = nGrkPbbeqvangr.kl + jvqguFgrc;\n gbcGrkgherPbbeqvangr = nGrkPbbeqvangr.kl + urvtugFgrc;\n obggbzGrkgherPbbeqvangr = nGrkPbbeqvangr.kl - urvtugFgrc;\n pragreZhygvcyvre = 1.0 + 4.0 * funecarff;\n rqtrZhygvcyvre = funecarff;\n}\n","\ncerpvfvba uvtuc sybng;\ninelvat uvtuc irp2 iGrkPbbeq;\ninelvat uvtuc irp2 yrsgGrkgherPbbeqvangr;\ninelvat uvtuc irp2 evtugGrkgherPbbeqvangr;\ninelvat uvtuc irp2 gbcGrkgherPbbeqvangr;\ninelvat uvtuc irp2 obggbzGrkgherPbbeqvangr;\ninelvat uvtuc sybng pragreZhygvcyvre;\ninelvat uvtuc sybng rqtrZhygvcyvre;\nhavsbez fnzcyre2Q hGrkgher;\nibvq znva() {\n zrqvhzc irp4 nPbybe = grkgher2Q(hGrkgher, iGrkPbbeq);\n zrqvhzc irp3 grkgherPbybe = nPbybe.eto;\n zrqvhzc irp3 yrsgGrkgherPbybe = grkgher2Q(hGrkgher, yrsgGrkgherPbbeqvangr).eto;\n zrqvhzc irp3 evtugGrkgherPbybe = grkgher2Q(hGrkgher, evtugGrkgherPbbeqvangr).eto;\n zrqvhzc irp3 gbcGrkgherPbybe = grkgher2Q(hGrkgher, gbcGrkgherPbbeqvangr).eto;\n zrqvhzc irp3 obggbzGrkgherPbybe = grkgher2Q(hGrkgher, obggbzGrkgherPbbeqvangr).eto;\n ty_SentPbybe = irp4((grkgherPbybe * pragreZhygvcyvre - (yrsgGrkgherPbybe * rqtrZhygvcyvre + evtugGrkgherPbybe * rqtrZhygvcyvre + gbcGrkgherPbybe * rqtrZhygvcyvre + obggbzGrkgherPbybe * rqtrZhygvcyvre)), nPbybe.n);\n}"),i}return G(r,n),r.prototype.setEffectConfig=function(n){isNaN(n.sharpenIntensity)||(this.sharpenIntensity=n.sharpenIntensity/100)},r.prototype.render=function(){this.gl.uniform1f(this.uIntensity,.5*this.sharpenIntensity)},r.prototype.resetResolution=function(n,r){this.width=n||this.width,this.height=r||this.height,this.setConstUniforms()},r.prototype.setConstUniforms=function(){var n=this.width,r=this.height,t=this.program;if(t){var e=this.gl;e.useProgram(t);var i=e.getUniformLocation(t,"imageWidthFactor");e.uniform1f(i,1/n);var g=e.getUniformLocation(t,"imageHeightFactor");e.uniform1f(g,1/r),this.uIntensity=e.getUniformLocation(t,"sharpness"),e.uniform1f(this.uIntensity,.5*this.sharpenIntensity)}},r}(b),F=function(n,r,t,e){return new(t||(t=Promise))((function(i,g){function h(n){try{s(e.next(n))}catch(n){g(n)}}function o(n){try{s(e.throw(n))}catch(n){g(n)}}function s(n){var r;n.done?i(n.value):(r=n.value,r instanceof t?r:new t((function(n){n(r)}))).then(h,o)}s((e=e.apply(n,r||[])).next())}))},q=function(n,r){var t,e,i,g,h={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return g={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(g[Symbol.iterator]=function(){return this}),g;function o(o){return function(s){return function(o){if(t)throw new TypeError("Generator is already executing.");for(;g&&(g=0,o[0]&&(h=0)),h;)try{if(t=1,e&&(i=2&o[0]?e.return:o[0]?e.throw||((i=e.return)&&i.call(e),0):e.next)&&!(i=i.call(e,o[1])).done)return i;switch(e=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return h.label++,{value:o[1],done:!1};case 5:h.label++,e=o[1],o=[0];continue;case 7:o=h.ops.pop(),h.trys.pop();continue;default:if(!(i=h.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){h=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){h.label=o[1];break}if(6===o[0]&&h.label<i[1]){h.label=i[1],i=o;break}if(i&&h.label<i[2]){h.label=i[2],h.ops.push(o);break}i[2]&&h.ops.pop(),h.trys.pop();continue}o=r.call(n,h)}catch(n){o=[6,n],e=0}finally{t=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}},P="zc.p.0.sbe.2",D={errorCode:g.QYE.code,extendedData:g.QYE.message},z=function(){function n(n,r){this.t=n,this.vcMgr=r,this.gl=null,this.shouldClear=!0,this.effectConfig={sharpenIntensity:.5,whitenIntensity:.5,rosyIntensity:.5,smoothIntensity:.5,lowlightEnhancement:0},this._originResolution={width:0,height:0},this._shaderList=[],this._frameBufferList=[],this.i=[],this.h=null,this.isNoInput=!0,this.failedTimes=0,this.onRenderError=function(n){},this.enableBeauty=!1}return n.prototype.setEnableBeauty=function(n){this.enableBeauty=!!n},n.prototype.handleInitError=function(){this.failedTimes++,this.failedTimes>30&&(this.failedTimes=0,this.t.error(P+" get webgl context failed"),this.onRenderError(D))},n.prototype.init=function(n,r){return F(this,void 0,void 0,(function(){var t,e,i,g,h,o,s,u,c;return q(this,(function(a){switch(a.label){case 0:return this.vcMgr?(i=(t=this.vcMgr).gl,g=t.originWidth,h=t.originHeight,(e=t.canvasEl)&&i&&g&&h?(this._canvasEl=e,this.gl=i,this.initGL(n=n||g,r=r||h),this.h?[4,(o=new p(this.gl,n,r)).setConstUniforms()]:(this.t.error(P+" input texture not found"),this.handleInitError(),[2])):(this.handleInitError(),[2])):(this.handleInitError(),[2]);case 1:return a.sent(),(s=new y(this.gl,n,r)).setConstUniforms(),(u=new E(this.gl,n,r)).setConstUniforms(),(c=new d(this.gl,n,r)).setConstUniforms(),this._shaderList=[o,s,u,c],this.setEffectConfig(this.effectConfig),[2]}}))}))},n.prototype.render=function(n){return F(this,void 0,void 0,(function(){var r,t,e,i,g=this;return q(this,(function(h){switch(h.label){case 0:return(r=this.gl)&&this._canvasEl&&!r.isContextLost()?[3,4]:this._canvasEl?(this.t.warn(P+" gl lost, restart effect"),this.release(),[4,this.init(n.videoWidth,n.videoHeight)]):[3,2];case 1:return h.sent(),[3,3];case 2:this.t.error(P+" canvas lost"),this.onRenderError(D),h.label=3;case 3:return[2];case 4:return(this._originResolution.height!==n.videoHeight||this._originResolution.width!==n.videoWidth)&&(Math.abs(this._originResolution.height-n.videoHeight)>2||Math.abs(this._originResolution.width-n.videoWidth)>2)?0===n.videoHeight||0===n.videoWidth?[2]:(this._canvasEl.width=n.videoWidth,this._canvasEl.height=n.videoHeight,n.setAttribute("width",n.videoWidth.toString()),n.setAttribute("height",n.videoHeight.toString()),!this.gl||this.gl.isContextLost()?[3,5]:(this.t.info(P+" resolution changed to ".concat(n.videoWidth,"x").concat(n.videoHeight,", reset resolution.")),this.resetResolution(n.videoWidth,n.videoHeight),this._shaderList.forEach((function(r){r.resetResolution(n.videoWidth,n.videoHeight)})),[3,7])):[3,7];case 5:return this.t.warn(P+" resolution changed and gl context lost, restart effect"),this.release(),[4,this.init(n.videoWidth,n.videoHeight)];case 6:h.sent(),h.label=7;case 7:return t=[-1,-1,0,1,-1,0,1,1,0,-1,1,0],e=[0,1,2,0,2,3],i=[0,0,1,0,1,1,0,1],r.viewport(0,0,n.width,n.height),r.activeTexture(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,this.h),this.isNoInput&&r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,n),this._shaderList.forEach((function(n,h){var o=n.program;if(o){n.renderPreTextures&&n.renderPreTextures(t,e,i),r.useProgram(o),n.render();var s=r.getUniformLocation(o,"uTexture"),u=r.createBuffer();r.bindBuffer(r.ARRAY_BUFFER,u),r.bufferData(r.ARRAY_BUFFER,new Float32Array(t),r.STATIC_DRAW);var c=r.createBuffer();r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,c),r.bufferData(r.ELEMENT_ARRAY_BUFFER,new Uint16Array(e),r.STATIC_DRAW);var a=r.getAttribLocation(o,"aPosition");r.enableVertexAttribArray(a),r.vertexAttribPointer(a,3,r.FLOAT,!1,0,0);var v=r.createBuffer();r.bindBuffer(r.ARRAY_BUFFER,v),r.bufferData(r.ARRAY_BUFFER,new Float32Array(i),r.STATIC_DRAW);var f=r.getAttribLocation(o,"aTexCoordinate");r.enableVertexAttribArray(f),r.vertexAttribPointer(f,2,r.FLOAT,!1,0,0);var A=h===g._shaderList.length-1?null:g.i[h];r.bindFramebuffer(r.FRAMEBUFFER,h===g._shaderList.length-1?null:g._frameBufferList[h]),g.shouldClear&&(r.clearColor(0,0,0,1),r.clear(r.COLOR_BUFFER_BIT)),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),r.activeTexture(r.TEXTURE0),A&&r.bindTexture(r.TEXTURE_2D,A),r.uniform1i(s,0)}})),[2]}}))}))},n.prototype.setEffectConfig=function(n){var r=this;isNaN(n.sharpenIntensity)||(this.effectConfig.sharpenIntensity=n.sharpenIntensity),isNaN(n.whitenIntensity)||(this.effectConfig.whitenIntensity=n.whitenIntensity),isNaN(n.rosyIntensity)||(this.effectConfig.rosyIntensity=n.rosyIntensity),isNaN(n.smoothIntensity)||(this.effectConfig.smoothIntensity=n.smoothIntensity),isNaN(n.lowlightEnhancement)||(this.effectConfig.lowlightEnhancement=n.lowlightEnhancement),this._shaderList.forEach((function(n){n.setEffectConfig(r.effectConfig)}))},n.prototype.release=function(){var n=this;this._shaderList.forEach((function(r){var t;r.program&&(null===(t=n.gl)||void 0===t||t.deleteProgram(r.program))})),this.i.forEach((function(r){var t;r&&(null===(t=n.gl)||void 0===t||t.deleteTexture(r))})),this._frameBufferList.forEach((function(r){var t;r&&(null===(t=n.gl)||void 0===t||t.deleteFramebuffer(r))})),this._shaderList.forEach((function(n){n.release()})),this._shaderList=[],this.i=[],this._frameBufferList=[]},n.prototype.initGL=function(n,r){var t=this.gl;if(!t)return this.t.error(P+" webgl context not found");this.isNoInput&&(this.h=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.h),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR));for(var e=0;4>e;e++){var i=t.createTexture();if(!i)return this.t.warn(P+" create texture failed");t.bindTexture(t.TEXTURE_2D,i),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,n,r,0,t.RGBA,t.UNSIGNED_BYTE,null);var g=t.createFramebuffer();if(!g)return this.t.warn(P+" create frame buffer failed");t.bindFramebuffer(t.FRAMEBUFFER,g),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,i,0),this.i.push(i),this._frameBufferList.push(g)}t.viewport(0,0,n,r),this._originResolution.width=n,this._originResolution.height=r},n.prototype.setInputInfo=function(n,r){if(this.isNoInput=n,r){var t=r.texture;t&&(this.h=t)}},n.prototype.resetResolution=function(n,r){var t,e=this.gl;if(!e)return this.t.warn(P+" can not find webgl context");for(var i=0;i<this.i.length;i++){e.bindTexture(e.TEXTURE_2D,this.i[i]),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n,r,0,e.RGBA,e.UNSIGNED_BYTE,null)}null===(t=this.vcMgr)||void 0===t||t.resetResolution(n,r),this.onResolutionChange(),e.viewport(0,0,n,r),this._originResolution.width=n,this._originResolution.height=r},n.prototype.onResolutionChange=function(){},n}(),K=e(1350),U=function(){var n=function(r,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(n[t]=r[t])},n(r,t)};return function(r,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function e(){this.constructor=r}n(r,t),r.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),S=function(n,r,t,e){return new(t||(t=Promise))((function(i,g){function h(n){try{s(e.next(n))}catch(n){g(n)}}function o(n){try{s(e.throw(n))}catch(n){g(n)}}function s(n){var r;n.done?i(n.value):(r=n.value,r instanceof t?r:new t((function(n){n(r)}))).then(h,o)}s((e=e.apply(n,r||[])).next())}))},x=function(n,r){var t,e,i,g,h={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return g={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(g[Symbol.iterator]=function(){return this}),g;function o(o){return function(s){return function(o){if(t)throw new TypeError("Generator is already executing.");for(;g&&(g=0,o[0]&&(h=0)),h;)try{if(t=1,e&&(i=2&o[0]?e.return:o[0]?e.throw||((i=e.return)&&i.call(e),0):e.next)&&!(i=i.call(e,o[1])).done)return i;switch(e=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return h.label++,{value:o[1],done:!1};case 5:h.label++,e=o[1],o=[0];continue;case 7:o=h.ops.pop(),h.trys.pop();continue;default:if(!(i=h.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){h=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){h.label=o[1];break}if(6===o[0]&&h.label<i[1]){h.label=i[1],i=o;break}if(i&&h.label<i[2]){h.label=i[2],h.ops.push(o);break}i[2]&&h.ops.pop(),h.trys.pop();continue}o=r.call(n,h)}catch(n){o=[6,n],e=0}finally{t=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}},M={errorCode:g.zgL.code,extendedData:g.zgL.message},R="zc.p.0.sbe.1",Y=function(n){function r(r,t,e,i){var g=n.call(this)||this;return g.t=r,g.preview=e,g.u=i,g.kind="video",g._enabled=!1,g.effectTrack=null,g.lastRenderTime=0,g.renderCount=0,g.v=0,g.stateFlag={base:!1,lowLight:!1},g.isStarting=!1,g.animationFrameId=0,g.fps=15,g.detector=new v(r),g.lastRenderTime=0,g.manager=new z(r,g.vcMgr),g.manager.onRenderError=function(n){1103072===n.errorCode&&g.stopEffect(),g.onError(n)},g.manager.onResolutionChange=function(){},g.setVcMgrInfo(),g}return U(r,n),Object.defineProperty(r.prototype,"enabled",{get:function(){return this._enabled},set:function(n){this._enabled=n},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"output",{get:function(){return{track:this._output||this.input||null}},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"vcMgr",{get:function(){return this.preview.vcMgr},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"A",{get:function(){return this.u.browser},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"options",{get:function(){return this.manager.effectConfig||{}},enumerable:!1,configurable:!0}),r.prototype.setBeautyEffectOptions=function(n,r){return void 0===r&&(r={}),S(this,void 0,void 0,(function(){return x(this,(function(t){switch(t.label){case 0:return n&&this.manager.setEffectConfig(r),this.enabled===n?[3,5]:(this.manager.setEnableBeauty(n),this.enabled!==n&&this.t.info(R+" effect enabled "+n+"; options: "+JSON.stringify(r)),this.enabled=n,n?[4,this.startEffect()]:[3,2]);case 1:return t.sent(),[3,4];case 2:return[4,this.stopEffect()];case 3:t.sent(),t.label=4;case 4:t.label=5;case 5:return[2]}}))}))},r.prototype.startEffect=function(n){return void 0===n&&(n=!0),S(this,void 0,void 0,(function(){var r,t=this;return x(this,(function(e){switch(e.label){case 0:return this.isStarting=!0,this.t.info(R+" call start effect"),this.input?(r=this,[4,this.startWebGLProcessor().catch((function(n){throw t.stopEffect(),n}))]):(this.t.error(R+" start effect failed, input track is null"),[2]);case 1:return r.effectTrack=e.sent(),this.startEffectTask(n),[4,new h.l3((function(n){t.waitForOutputTrack=function(){t.waitForOutputTrack=void 0,n(void 0)}}))];case 2:return e.sent(),this.t.info(R+" start effect success"),[2]}}))}))},r.prototype.startEffectTask=function(n){var r,t=this;void 0===n&&(n=!0),this.enabled=!0,this.detector.startRecordBeautyEffectOutput(this.fps).then((function(n){!n.result&&t.onError&&t.onError(M,{targetFPS:n.targetFPS,currentFPS:n.currentFPS})})),n&&(null===(r=this.vcMgr)||void 0===r||r.setRenderTask(!0,"beauty")),this.isStarting=!1},r.prototype.stopEffect=function(n){var r,t;return void 0===n&&(n=!0),S(this,void 0,void 0,(function(){var e=this;return x(this,(function(i){return this.enabled=!1,this.t.info(R+" call stop effect"),n&&(null===(r=this.vcMgr)||void 0===r||r.setRenderTask(!1,"beauty")),null===(t=this.vcMgr)||void 0===t||t.off("renderFrame"),this.detector.stopRecordBeautyEffectOutput(),this.manager.release(),this.renderCount=0,void 0===this.removeDomTimer&&(this.removeDomTimer=window.setTimeout((function(){!1===e.enabled&&e.destroy()}),18e4)),[2]}))}))},r.prototype.destroy=function(){this.t.info(R+" destroy hidden elements"),this.canvasEl&&this.canvasEl.remove(),this.videoEl&&this.videoEl.remove(),this.videoEl=this.canvasEl=void 0,this.removeDomTimer&&(clearTimeout(this.removeDomTimer),this.removeDomTimer=void 0)},r.prototype.startWebGLProcessor=function(){var n;return S(this,void 0,void 0,(function(){return x(this,(function(r){switch(r.label){case 0:return this.t.info(R+" start webgl processor"),this.removeDomTimer&&(clearTimeout(this.removeDomTimer),this.removeDomTimer=void 0),[4,this.videoRendering()];case 1:return r.sent(),this.setVcMgrInfo(),[2,null===(n=this.vcMgr)||void 0===n?void 0:n.getCanvasTrack()]}}))}))},r.prototype.setInput=function(n,r){var t,e,i,g,h,o;return S(this,void 0,void 0,(function(){var r,s,u=this;return x(this,(function(c){return this.t.info(R+" input call"),r=!1,(null==n?void 0:n.track)&&(s=!1,this.trackWidth===(null===(t=this.vcMgr)||void 0===t?void 0:t.originWidth)&&this.trackHeight===(null===(e=this.vcMgr)||void 0===e?void 0:e.originHeight)||(s=!0,this.t.info(R+" input track wh change")),!s&&this.input===(null==n?void 0:n.track)||"safari"!==this.A||(this.t.info(R+" input track change"),this.effectTrack=null,this.stopEffect(!1),r=!0),this.input=null==n?void 0:n.track,this.trackWidth=null===(i=this.vcMgr)||void 0===i?void 0:i.originWidth,this.trackHeight=null===(g=this.vcMgr)||void 0===g?void 0:g.originHeight),n&&(this.manager.setInputInfo(this.isFirstNode,n.frameInfo),null===(h=this.vcMgr)||void 0===h||h.off("renderFrame"),null===(o=this.vcMgr)||void 0===o||o.on("renderFrame",(function(){u.renderOutput()})),r&&this.startEffect()),1==this.v&&(this.setVcMgrInfo(),this.v=0,this.startEffect()),[2]}))}))},r.prototype.renderOutput=function(){this.renderCount++,this.manager.render(this.videoEl),this.detector.addFrame(),this.renderCount>=3&&this.updateOutput(this.effectTrack)},r.prototype.setVcMgrInfo=function(){var n;if(this.vcMgr&&(null===(n=this.vcMgr)||void 0===n?void 0:n.inited)){var r=this.vcMgr,t=r.canvasEl,e=r.videoEl,i=r.originWidth,g=r.originHeight;e&&(this.videoEl=e),t&&(this.canvasEl=t,this.manager.setInputInfo(this.isFirstNode),this.manager.init(i,g))}},r.prototype.videoRendering=function(){return S(this,void 0,void 0,(function(){var n=this;return x(this,(function(r){return[2,new Promise((function(r,t){var e;n.vcMgr&&!(null===(e=n.vcMgr)||void 0===e?void 0:e.inited)?(n.vcMgr.onInited=function(){r()},n.vcMgr.onRenderFail=function(r){n.v=1,t(r)}):r()}))]}))}))},r.prototype.removeInput=function(){return S(this,void 0,void 0,(function(){return x(this,(function(n){switch(n.label){case 0:return this.input=void 0,[4,this.stopEffect()];case 1:return n.sent(),[2]}}))}))},r.prototype.updateOutput=function(n){return S(this,void 0,void 0,(function(){return x(this,(function(r){switch(r.label){case 0:return this._output===n?[3,3]:(this._output=n,this.onOutputChange?[4,this.onOutputChange(this._output)]:[3,2]);case 1:r.sent(),r.label=2;case 2:r.label=3;case 3:return this.waitForOutputTrack&&this.waitForOutputTrack(),[2]}}))}))},r.prototype.onOutputChange=function(n){var r;return S(this,void 0,void 0,(function(){return x(this,(function(t){switch(t.label){case 0:return[4,null===(r=this.next)||void 0===r?void 0:r.setInput({track:n||this.input||null})];case 1:return t.sent(),[2]}}))}))},r.prototype.onError=function(n,r){},r}(K.E),J=Y,O=function(){return O=Object.assign||function(n){for(var r,t=1,e=arguments.length;t<e;t++)for(var i in r=arguments[t])Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i]);return n},O.apply(this,arguments)},j=function(n,r,t,e){return new(t||(t=Promise))((function(i,g){function h(n){try{s(e.next(n))}catch(n){g(n)}}function o(n){try{s(e.throw(n))}catch(n){g(n)}}function s(n){var r;n.done?i(n.value):(r=n.value,r instanceof t?r:new t((function(n){n(r)}))).then(h,o)}s((e=e.apply(n,r||[])).next())}))},H=function(n,r){var t,e,i,g,h={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return g={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(g[Symbol.iterator]=function(){return this}),g;function o(o){return function(s){return function(o){if(t)throw new TypeError("Generator is already executing.");for(;g&&(g=0,o[0]&&(h=0)),h;)try{if(t=1,e&&(i=2&o[0]?e.return:o[0]?e.throw||((i=e.return)&&i.call(e),0):e.next)&&!(i=i.call(e,o[1])).done)return i;switch(e=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return h.label++,{value:o[1],done:!1};case 5:h.label++,e=o[1],o=[0];continue;case 7:o=h.ops.pop(),h.trys.pop();continue;default:if(!(i=h.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){h=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){h.label=o[1];break}if(6===o[0]&&h.label<i[1]){h.label=i[1],i=o;break}if(i&&h.label<i[2]){h.label=i[2],h.ops.push(o);break}i[2]&&h.ops.pop(),h.trys.pop();continue}o=r.call(n,h)}catch(n){o=[6,n],e=0}finally{t=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}},N="zc.p.0.sbe.0",m={setBeautyEffect:function(n,r,t,e){var i=this;return void 0===e&&(e=!0),new h.l3((function(h,u){var c,a,v=(0,s.L)(n,i.logger);if(!(0,o.dr)(v))return i.logger.error(N+" localStream not found"),void u({errorCode:1100001,extendedData:" localStream no found"});var f=function(n){h(n)},A=i.streamCenter.checkPreview(v);if(!A)return i.logger.error("zc.sbe.0 preview no found"),void f({errorCode:g.fzq.code,extendedData:g.fzq.message});var b=(null===(c=A.videoEffect)||void 0===c?void 0:c.stateFlag)||{base:!1,lowLight:!1};if(e)!(r=!!r)&&b.lowLight?t={sharpenIntensity:0,whitenIntensity:0,rosyIntensity:0,smoothIntensity:0,lowlightEnhancement:b.lowLight?1:0}:r&&(t=O({lowlightEnhancement:b.lowLight?1:0},t)),b.base=r;else{var l=t.lowlightEnhancement;t=(null===(a=A.videoEffect)||void 0===a?void 0:a.enabled)||1!==l?{lowlightEnhancement:l}:{sharpenIntensity:0,whitenIntensity:0,rosyIntensity:0,smoothIntensity:0,lowlightEnhancement:l},b.lowLight=1===l}A.setBeautyEffect(b.base||b.lowLight,t,b).then((function(){f({errorCode:0,extendedData:""})})).catch((function(n){u({errorCode:n.errorCode||n.code||-1,extendedData:n.extendedData||n.message||n.toString()})}))}))},setLowlightEnhance:function(n,r){return this.setBeautyEffect(n,!0,{lowlightEnhancement:r},!1)}},L={setBeautyEffect:function(n,r,t){var e;return j(this,void 0,void 0,(function(){var i,h,s,u=this;return H(this,(function(c){switch(c.label){case 0:if(!this.videoTrack)return this.logger.error(N+" video track no found"),[2];if(!!(0,o.TE)(WebGLRenderingContext))throw{errorCode:i=g.QYE.code,extendedData:h=g.QYE.message};return s=function(){var n;try{null===(n=u.vcMgr)||void 0===n||n.init(u.videoTrack)}catch(n){if(1001==n.code)throw{errorCode:i,extendedData:h}}},J?(this.videoEffect||(s(),this.videoEffect=new J(this.logger,this.videoTrack,this,this.stateCenter),this.videoEffect.onError=function(n,r){u.stateCenter.actionListener("beautyEffectError",u.localStream,n.errorCode,n.extendedData,r)}),n?this.videoNodeQueue.isConnected(this.videoEffect)?[3,4]:this.videoTrack&&(null===(e=this.vcMgr)||void 0===e?void 0:e.renderTrack)!==this.videoTrack?[4,this.videoNodeQueue.replaceNewSourceByTrack(this.videoTrack)]:[3,2]:[3,5]):[3,9];case 1:c.sent(),c.label=2;case 2:return[4,this.videoNodeQueue.pushBack(this.videoEffect)];case 3:c.sent(),c.label=4;case 4:return[3,7];case 5:return[4,this.videoNodeQueue.remove(this.videoEffect)];case 6:c.sent(),c.label=7;case 7:return[4,this.videoEffect.setBeautyEffectOptions(n,r)];case 8:return c.sent(),this.videoEffect.stateFlag=t,[3,10];case 9:this.logger.error(N+" beauty effect module no found"),c.label=10;case 10:return[2]}}))}))}},Z={type:"BeautyEffect",install:function(n,r){for(var t in L)Object.defineProperty(r.prototype,t,{value:L[t],writable:!1});for(var t in m)Object.defineProperty(n.prototype,t,{value:m[t],writable:!1})}};return i}()}));