@dingrtc/whiteboard 1.1.10 → 1.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +2 -2
- package/dist/index.umd.js +2 -2
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -29,10 +29,10 @@ var n,i,o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.toS
|
|
|
29
29
|
* SPDX-License-Identifier: Apache-2.0
|
|
30
30
|
*/try{wasm=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function Long(e,t,r){this.low=0|e,this.high=0|t,this.unsigned=!!r}function isLong(e){return!0===(e&&e.__isLong__)}function ctz32(e){var t=Math.clz32(e&-e);return e?31-t:t}Object.defineProperty(Long.prototype,"__isLong__",{value:!0}),Long.isLong=isLong;var INT_CACHE={},UINT_CACHE={};function fromInt(e,t){var r,n,i;return t?(i=(e>>>=0)>=0&&256>e)&&(n=UINT_CACHE[e])?n:(r=fromBits(e,0,!0),i&&(UINT_CACHE[e]=r),r):(i=(e|=0)>=-128&&128>e)&&(n=INT_CACHE[e])?n:(r=fromBits(e,0>e?-1:0,!1),i&&(INT_CACHE[e]=r),r)}function fromNumber(e,t){if(isNaN(e))return t?UZERO:ZERO;if(t){if(0>e)return UZERO;if(e>=TWO_PWR_64_DBL)return MAX_UNSIGNED_VALUE}else{if(-TWO_PWR_63_DBL>=e)return MIN_VALUE;if(e+1>=TWO_PWR_63_DBL)return MAX_VALUE}return 0>e?fromNumber(-e,t).neg():fromBits(e%TWO_PWR_32_DBL|0,e/TWO_PWR_32_DBL|0,t)}function fromBits(e,t,r){return new Long(e,t,r)}Long.fromInt=fromInt,Long.fromNumber=fromNumber,Long.fromBits=fromBits;var pow_dbl=Math.pow;function fromString(e,t,r){if(0===e.length)throw Error("empty string");if("number"==typeof t?(r=t,t=!1):t=!!t,"NaN"===e||"Infinity"===e||"+Infinity"===e||"-Infinity"===e)return t?UZERO:ZERO;if(2>(r=r||10)||r>36)throw RangeError("radix");var n;if((n=e.indexOf("-"))>0)throw Error("interior hyphen");if(0===n)return fromString(e.substring(1),t,r).neg();for(var i=fromNumber(pow_dbl(r,8)),o=ZERO,a=0;e.length>a;a+=8){var s=Math.min(8,e.length-a),c=parseInt(e.substring(a,a+s),r);if(8>s){var l=fromNumber(pow_dbl(r,s));o=o.mul(l).add(fromNumber(c))}else o=(o=o.mul(i)).add(fromNumber(c))}return o.unsigned=t,o}function fromValue(e,t){return"number"==typeof e?fromNumber(e,t):"string"==typeof e?fromString(e,t):fromBits(e.low,e.high,"boolean"==typeof t?t:e.unsigned)}Long.fromString=fromString,Long.fromValue=fromValue;var TWO_PWR_16_DBL=65536,TWO_PWR_24_DBL=1<<24,TWO_PWR_32_DBL=TWO_PWR_16_DBL*TWO_PWR_16_DBL,TWO_PWR_64_DBL=TWO_PWR_32_DBL*TWO_PWR_32_DBL,TWO_PWR_63_DBL=TWO_PWR_64_DBL/2,TWO_PWR_24=fromInt(TWO_PWR_24_DBL),ZERO=fromInt(0);Long.ZERO=ZERO;var UZERO=fromInt(0,!0);Long.UZERO=UZERO;var ONE=fromInt(1);Long.ONE=ONE;var UONE=fromInt(1,!0);Long.UONE=UONE;var NEG_ONE=fromInt(-1);Long.NEG_ONE=NEG_ONE;var MAX_VALUE=fromBits(-1,2147483647,!1);Long.MAX_VALUE=MAX_VALUE;var MAX_UNSIGNED_VALUE=fromBits(-1,-1,!0);Long.MAX_UNSIGNED_VALUE=MAX_UNSIGNED_VALUE;var MIN_VALUE=fromBits(0,-2147483648,!1);Long.MIN_VALUE=MIN_VALUE;var LongPrototype=Long.prototype;function I(e,t,r,n,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,i)}function C(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){I(o,n,i,a,s,"next",e)}function s(e){I(o,n,i,a,s,"throw",e)}a(void 0)})}}function O(e){return O="function"==typeof Symbol&&"symbol"==_typeof$3(Symbol.iterator)?function(e){return _typeof$3(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":_typeof$3(e)},O(e)}function P(e){var t=function(e,t){if("object"!=O(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!=O(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return e+""}(e,"string");return"symbol"==O(t)?t:t+""}function R(e,t,r){return(t=P(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function N(e,t){for(var r=0;t.length>r;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,P(n.key),n)}}function k(e,t,r){return t&&N(e.prototype,t),r&&N(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function M(e,t){if(t&&("object"==O(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function w(e){return w=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},w(e)}function D(e,t){return D=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},D(e,t)}function j(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&D(e,t)}function A(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}LongPrototype.toInt=function(){return this.unsigned?this.low>>>0:this.low},LongPrototype.toNumber=function(){return this.unsigned?(this.high>>>0)*TWO_PWR_32_DBL+(this.low>>>0):this.high*TWO_PWR_32_DBL+(this.low>>>0)},LongPrototype.toString=function(e){if(2>(e=e||10)||e>36)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative()){if(this.eq(MIN_VALUE)){var t=fromNumber(e),r=this.div(t),n=r.mul(t).sub(this);return r.toString(e)+n.toInt().toString(e)}return"-"+this.neg().toString(e)}for(var i=fromNumber(pow_dbl(e,6),this.unsigned),o=this,a="";;){var s=o.div(i),c=(o.sub(s.mul(i)).toInt()>>>0).toString(e);if((o=s).isZero())return c+a;for(;6>c.length;)c="0"+c;a=""+c+a}},LongPrototype.getHighBits=function(){return this.high},LongPrototype.getHighBitsUnsigned=function(){return this.high>>>0},LongPrototype.getLowBits=function(){return this.low},LongPrototype.getLowBitsUnsigned=function(){return this.low>>>0},LongPrototype.getNumBitsAbs=function(){if(this.isNegative())return this.eq(MIN_VALUE)?64:this.neg().getNumBitsAbs();for(var e=0!=this.high?this.high:this.low,t=31;t>0&&!(e&1<<t);t--);return 0!=this.high?t+33:t+1},LongPrototype.isSafeInteger=function(){var e=this.high>>21;return!e||!this.unsigned&&(-1===e&&!(0===this.low&&-2097152===this.high))},LongPrototype.isZero=function(){return 0===this.high&&0===this.low},LongPrototype.eqz=LongPrototype.isZero,LongPrototype.isNegative=function(){return!this.unsigned&&0>this.high},LongPrototype.isPositive=function(){return this.unsigned||this.high>=0},LongPrototype.isOdd=function(){return!(1&~this.low)},LongPrototype.isEven=function(){return!(1&this.low)},LongPrototype.equals=function(e){return isLong(e)||(e=fromValue(e)),(this.unsigned===e.unsigned||this.high>>>31!=1||e.high>>>31!=1)&&(this.high===e.high&&this.low===e.low)},LongPrototype.eq=LongPrototype.equals,LongPrototype.notEquals=function(e){return!this.eq(e)},LongPrototype.neq=LongPrototype.notEquals,LongPrototype.ne=LongPrototype.notEquals,LongPrototype.lessThan=function(e){return 0>this.comp(e)},LongPrototype.lt=LongPrototype.lessThan,LongPrototype.lessThanOrEqual=function(e){return 0>=this.comp(e)},LongPrototype.lte=LongPrototype.lessThanOrEqual,LongPrototype.le=LongPrototype.lessThanOrEqual,LongPrototype.greaterThan=function(e){return this.comp(e)>0},LongPrototype.gt=LongPrototype.greaterThan,LongPrototype.greaterThanOrEqual=function(e){return this.comp(e)>=0},LongPrototype.gte=LongPrototype.greaterThanOrEqual,LongPrototype.ge=LongPrototype.greaterThanOrEqual,LongPrototype.compare=function(e){if(isLong(e)||(e=fromValue(e)),this.eq(e))return 0;var t=this.isNegative(),r=e.isNegative();return t&&!r?-1:!t&&r?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1},LongPrototype.comp=LongPrototype.compare,LongPrototype.negate=function(){return!this.unsigned&&this.eq(MIN_VALUE)?MIN_VALUE:this.not().add(ONE)},LongPrototype.neg=LongPrototype.negate,LongPrototype.add=function(e){isLong(e)||(e=fromValue(e));var t=0,r=0,n=0,i=0;return n+=(i+=(65535&this.low)+(65535&e.low))>>>16,r+=(n+=(this.low>>>16)+(e.low>>>16))>>>16,t+=(r+=(65535&this.high)+(65535&e.high))>>>16,t+=(this.high>>>16)+(e.high>>>16),fromBits((n&=65535)<<16|(i&=65535),(t&=65535)<<16|(r&=65535),this.unsigned)},LongPrototype.subtract=function(e){return isLong(e)||(e=fromValue(e)),this.add(e.neg())},LongPrototype.sub=LongPrototype.subtract,LongPrototype.multiply=function(e){if(this.isZero())return this;if(isLong(e)||(e=fromValue(e)),wasm)return fromBits(wasm.mul(this.low,this.high,e.low,e.high),wasm.get_high(),this.unsigned);if(e.isZero())return this.unsigned?UZERO:ZERO;if(this.eq(MIN_VALUE))return e.isOdd()?MIN_VALUE:ZERO;if(e.eq(MIN_VALUE))return this.isOdd()?MIN_VALUE:ZERO;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(TWO_PWR_24)&&e.lt(TWO_PWR_24))return fromNumber(this.toNumber()*e.toNumber(),this.unsigned);var t=65535&this.high,r=this.low>>>16,n=65535&this.low,i=65535&e.high,o=e.low>>>16,a=65535&e.low,s=0,c=0,l=0,u=0;return l+=(u+=n*a)>>>16,c+=(l+=r*a)>>>16,l&=65535,c+=(l+=n*o)>>>16,s+=(c+=t*a)>>>16,c&=65535,s+=(c+=r*o)>>>16,c&=65535,s+=(c+=n*i)>>>16,s+=(this.high>>>16)*a+t*o+r*i+n*(e.high>>>16),fromBits((l&=65535)<<16|(u&=65535),(s&=65535)<<16|(c&=65535),this.unsigned)},LongPrototype.mul=LongPrototype.multiply,LongPrototype.divide=function(e){if(isLong(e)||(e=fromValue(e)),e.isZero())throw Error("division by zero");var t,r,n;if(wasm)return this.unsigned||-2147483648!==this.high||-1!==e.low||-1!==e.high?fromBits((this.unsigned?wasm.div_u:wasm.div_s)(this.low,this.high,e.low,e.high),wasm.get_high(),this.unsigned):this;if(this.isZero())return this.unsigned?UZERO:ZERO;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return UZERO;if(e.gt(this.shru(1)))return UONE;n=UZERO}else{if(this.eq(MIN_VALUE))return e.eq(ONE)||e.eq(NEG_ONE)?MIN_VALUE:e.eq(MIN_VALUE)?ONE:(t=this.shr(1).div(e).shl(1)).eq(ZERO)?e.isNegative()?ONE:NEG_ONE:(r=this.sub(e.mul(t)),n=t.add(r.div(e)));if(e.eq(MIN_VALUE))return this.unsigned?UZERO:ZERO;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();n=ZERO}for(r=this;r.gte(e);){t=Math.max(1,Math.floor(r.toNumber()/e.toNumber()));for(var i=Math.ceil(Math.log(t)/Math.LN2),o=i>48?pow_dbl(2,i-48):1,a=fromNumber(t),s=a.mul(e);s.isNegative()||s.gt(r);)s=(a=fromNumber(t-=o,this.unsigned)).mul(e);a.isZero()&&(a=ONE),n=n.add(a),r=r.sub(s)}return n},LongPrototype.div=LongPrototype.divide,LongPrototype.modulo=function(e){return isLong(e)||(e=fromValue(e)),wasm?fromBits((this.unsigned?wasm.rem_u:wasm.rem_s)(this.low,this.high,e.low,e.high),wasm.get_high(),this.unsigned):this.sub(this.div(e).mul(e))},LongPrototype.mod=LongPrototype.modulo,LongPrototype.rem=LongPrototype.modulo,LongPrototype.not=function(){return fromBits(~this.low,~this.high,this.unsigned)},LongPrototype.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32},LongPrototype.clz=LongPrototype.countLeadingZeros,LongPrototype.countTrailingZeros=function(){return this.low?ctz32(this.low):ctz32(this.high)+32},LongPrototype.ctz=LongPrototype.countTrailingZeros,LongPrototype.and=function(e){return isLong(e)||(e=fromValue(e)),fromBits(this.low&e.low,this.high&e.high,this.unsigned)},LongPrototype.or=function(e){return isLong(e)||(e=fromValue(e)),fromBits(this.low|e.low,this.high|e.high,this.unsigned)},LongPrototype.xor=function(e){return isLong(e)||(e=fromValue(e)),fromBits(this.low^e.low,this.high^e.high,this.unsigned)},LongPrototype.shiftLeft=function(e){return isLong(e)&&(e=e.toInt()),0==(e&=63)?this:32>e?fromBits(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):fromBits(0,this.low<<e-32,this.unsigned)},LongPrototype.shl=LongPrototype.shiftLeft,LongPrototype.shiftRight=function(e){return isLong(e)&&(e=e.toInt()),0==(e&=63)?this:32>e?fromBits(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):fromBits(this.high>>e-32,0>this.high?-1:0,this.unsigned)},LongPrototype.shr=LongPrototype.shiftRight,LongPrototype.shiftRightUnsigned=function(e){return isLong(e)&&(e=e.toInt()),0==(e&=63)?this:32>e?fromBits(this.low>>>e|this.high<<32-e,this.high>>>e,this.unsigned):fromBits(32===e?this.high:this.high>>>e-32,0,this.unsigned)},LongPrototype.shru=LongPrototype.shiftRightUnsigned,LongPrototype.shr_u=LongPrototype.shiftRightUnsigned,LongPrototype.rotateLeft=function(e){var t;return isLong(e)&&(e=e.toInt()),0==(e&=63)?this:32===e?fromBits(this.high,this.low,this.unsigned):32>e?fromBits(this.low<<e|this.high>>>(t=32-e),this.high<<e|this.low>>>t,this.unsigned):fromBits(this.high<<(e-=32)|this.low>>>(t=32-e),this.low<<e|this.high>>>t,this.unsigned)},LongPrototype.rotl=LongPrototype.rotateLeft,LongPrototype.rotateRight=function(e){var t;return isLong(e)&&(e=e.toInt()),0==(e&=63)?this:32===e?fromBits(this.high,this.low,this.unsigned):32>e?fromBits(this.high<<(t=32-e)|this.low>>>e,this.low<<t|this.high>>>e,this.unsigned):fromBits(this.low<<(t=32-(e-=32))|this.high>>>e,this.high<<t|this.low>>>e,this.unsigned)},LongPrototype.rotr=LongPrototype.rotateRight,LongPrototype.toSigned=function(){return this.unsigned?fromBits(this.low,this.high,!1):this},LongPrototype.toUnsigned=function(){return this.unsigned?this:fromBits(this.low,this.high,!0)},LongPrototype.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()},LongPrototype.toBytesLE=function(){var e=this.high,t=this.low;return[255&t,t>>>8&255,t>>>16&255,t>>>24,255&e,e>>>8&255,e>>>16&255,e>>>24]},LongPrototype.toBytesBE=function(){var e=this.high,t=this.low;return[e>>>24,e>>>16&255,e>>>8&255,255&e,t>>>24,t>>>16&255,t>>>8&255,255&t]},Long.fromBytes=function(e,t,r){return r?Long.fromBytesLE(e,t):Long.fromBytesBE(e,t)},Long.fromBytesLE=function(e,t){return new Long(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,t)},Long.fromBytesBE=function(e,t){return new Long(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],t)},"function"==typeof BigInt&&(Long.fromBigInt=function(e,t){return fromBits(Number(BigInt.asIntN(32,e)),Number(BigInt.asIntN(32,e>>BigInt(32))),t)},Long.fromValue=function(e,t){return"bigint"==typeof e?Long.fromBigInt(e,t):fromValue(e,t)},LongPrototype.toBigInt=function(){var e=BigInt(this.low>>>0);return BigInt(this.unsigned?this.high>>>0:this.high)<<BigInt(32)|e});var L,U={exports:{}},x={exports:{}};(L=x).exports=function(e,t){this.v=e,this.k=t},L.exports.__esModule=!0,L.exports.default=L.exports;var Y=x.exports,q={exports:{}},V={exports:{}};!function(e){function t(r,n,i,o){var a=Object.defineProperty;try{a({},"",{})}catch(r){a=0}e.exports=t=function(e,r,n,i){function o(r,n){t(e,r,function(e){return this._invoke(r,n,e)})}r?a?a(e,r,{value:n,enumerable:!i,configurable:!i,writable:!i}):e[r]=n:(o("next",0),o("throw",1),o("return",2))},e.exports.__esModule=!0,e.exports.default=e.exports,t(r,n,i,o)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}(V);var G=V.exports;!function(e){var t=G;function r(){
|
|
31
31
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
32
|
-
var n,i,o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.toStringTag||"@@toStringTag";function c(e,r,o,a){var s=Object.create((r&&r.prototype instanceof u?r:u).prototype);return t(s,"_invoke",function(e,t,r){var o,a,s,c=0,u=r||[],d=!1,p={p:0,n:0,v:n,a:h,f:h.bind(n,4),d:function(e,t){return o=e,a=0,s=n,p.n=t,l}};function h(e,t){for(a=e,s=t,i=0;!d&&c&&!r&&u.length>i;i++){var r,o=u[i],h=p.p,f=o[2];e>3?(r=f===t)&&(s=o[(a=o[4])?5:(a=3,3)],o[4]=o[5]=n):h>=o[0]&&((r=2>e&&o[1]>h)?(a=0,p.v=t,p.n=o[1]):f>h&&(r=3>e||o[0]>t||t>f)&&(o[4]=e,o[5]=t,p.n=f,a=0))}if(r||e>1)return l;throw d=!0,t}return function(r,u,f){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&h(u,f),a=u,s=f;(i=2>a?n:s)||!d;){o||(a?3>a?(a>1&&(p.n=-1),h(a,s)):p.n=s:p.v=s);try{if(c=2,o){if(a||(r="next"),i=o[r]){if(!(i=i.call(o,s)))throw TypeError("iterator result is not an object");if(!i.done)return i;s=i.value,2>a&&(a=0)}else 1===a&&(i=o.return)&&i.call(o),2>a&&(s=TypeError("The iterator does not provide a '"+r+"' method"),a=1);o=n}else if((i=(d=0>p.n)?s:e.call(t,p))!==l)break}catch(e){o=n,a=1,s=e}finally{c=1}}return{value:i,done:d}}}(e,o,a),!0),s}var l={};function u(){}function d(){}function p(){}i=Object.getPrototypeOf;var h=[][a]?i(i([][a]())):(t(i={},a,function(){return this}),i),f=p.prototype=u.prototype=Object.create(h);function g(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,t(e,s,"GeneratorFunction")),e.prototype=Object.create(f),e}return d.prototype=p,t(f,"constructor",p),t(p,"constructor",d),d.displayName="GeneratorFunction",t(p,s,"GeneratorFunction"),t(f),t(f,s,"Generator"),t(f,a,function(){return this}),t(f,"toString",function(){return"[object Generator]"}),(e.exports=r=function(){return{w:c,m:g}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=r,e.exports.__esModule=!0,e.exports.default=e.exports}(q);var J=q.exports,B={exports:{}},F={exports:{}},K={exports:{}};!function(e){var t=Y,r=G;e.exports=function e(n,i){function o(e,r,a,s){try{var c=n[e](r),l=c.value;return l instanceof t?i.resolve(l.v).then(function(e){o("next",e,a,s)},function(e){o("throw",e,a,s)}):i.resolve(l).then(function(e){c.value=e,a(c)},function(e){return o("throw",e,a,s)})}catch(e){s(e)}}var a;this.next||(r(e.prototype),r(e.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),r(this,"_invoke",function(e,t,r){function n(){return new i(function(t,n){o(e,r,t,n)})}return a=a?a.then(n,n):n()},!0)},e.exports.__esModule=!0,e.exports.default=e.exports}(K);var H=K.exports;!function(e){var t=J,r=H;e.exports=function(e,n,i,o,a){return new r(t().w(e,n,i,o),a||Promise)},e.exports.__esModule=!0,e.exports.default=e.exports}(F);var W=F.exports;!function(e){var t=W;e.exports=function(e,r,n,i,o){var a=t(e,r,n,i,o);return a.next().then(function(e){return e.done?e.value:a.next()})},e.exports.__esModule=!0,e.exports.default=e.exports}(B);var Q=B.exports,Z={exports:{}};!function(e){e.exports=function(e){var t=Object(e),r=[];for(var n in t)r.unshift(n);return function e(){for(;r.length;)if((n=r.pop())in t)return e.value=n,e.done=!1,e;return e.done=!0,e}},e.exports.__esModule=!0,e.exports.default=e.exports}(Z);var z=Z.exports,$={exports:{}},X={exports:{}};!function(e){function t(r){return e.exports=t="function"==typeof Symbol&&"symbol"==_typeof$3(Symbol.iterator)?function(e){return _typeof$3(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":_typeof$3(e)},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}(X);var ee=X.exports;!function(e){var t=ee.default;e.exports=function(e){if(null!=e){var r=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}throw new TypeError(t(e)+" is not iterable")},e.exports.__esModule=!0,e.exports.default=e.exports}($);var te=$.exports;!function(e){var t=Y,r=J,n=Q,i=W,o=H,a=z,s=te;function c(){var l=r(),u=l.m(c),d=(Object.getPrototypeOf?Object.getPrototypeOf(u):u.__proto__).constructor;function p(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===d||"GeneratorFunction"===(t.displayName||t.name))}var h={throw:1,return:2,break:3,continue:3};function f(e){var t,r;return function(n){t||(t={stop:function(){return r(n.a,2)},catch:function(){return n.v},abrupt:function(e,t){return r(n.a,h[e],t)},delegateYield:function(e,i,o){return t.resultName=i,r(n.d,s(e),o)},finish:function(e){return r(n.f,e)}},r=function(e,r,i){n.p=t.prev,n.n=t.next;try{return e(r,i)}finally{t.next=n.n}}),t.resultName&&(t[t.resultName]=n.v,t.resultName=void 0),t.sent=n.v,t.next=n.n;try{return e.call(this,t)}finally{n.p=t.prev,n.n=t.next}}}return(e.exports=c=function(){return{wrap:function(e,t,r,n){return l.w(f(e),t,r,n&&n.reverse())},isGeneratorFunction:p,mark:l.m,awrap:function(e,r){return new t(e,r)},AsyncIterator:o,async:function(e,t,r,o,a){return(p(t)?i:n)(f(e),t,r,o,a)},keys:a,values:s}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=c,e.exports.__esModule=!0,e.exports.default=e.exports}(U);var ne=(0,U.exports)(),ie=ne;try{regeneratorRuntime=ne}catch(e){"object"==("undefined"==typeof globalThis?"undefined":_typeof$3(globalThis))?globalThis.regeneratorRuntime=ne:Function("r","regeneratorRuntime = r")(ne)}var re,oe,se,ae,de,ce,pe=A(ie);!function(e){var t;(t=e.Result||(e.Result={}))[t.Ok=0]="Ok",t[t.Error=1]="Error"}(re||(re={})),function(e){var t;(t=e.Type||(e.Type={}))[t.kUnknown=0]="kUnknown",t[t.kConnectReq=1]="kConnectReq",t[t.kConnectResp=2]="kConnectResp",t[t.kDisconnect=3]="kDisconnect",t[t.kChannelCreated=4]="kChannelCreated",t[t.kChannelClosed=5]="kChannelClosed",t[t.kPing=6]="kPing",t[t.kPong=7]="kPong",t[t.kData=64]="kData"}(oe||(oe={})),function(e){var t;(t=e.MessageType||(e.MessageType={}))[t.TYPE_UNKNOWN=0]="TYPE_UNKNOWN",t[t.TYPE_NODE_JOIN=1]="TYPE_NODE_JOIN",t[t.TYPE_NODE_JOIN_CONFIRM=2]="TYPE_NODE_JOIN_CONFIRM",t[t.TYPE_NODE_LEFT=3]="TYPE_NODE_LEFT",t[t.TYPE_ATTACH_USER_CONFIRM=4]="TYPE_ATTACH_USER_CONFIRM",t[t.TYPE_DETACH_USER_CONFIRM=5]="TYPE_DETACH_USER_CONFIRM",t[t.TYPE_NODE_MAP_UPDATE=6]="TYPE_NODE_MAP_UPDATE",t[t.TYPE_CREATE_SESSION=7]="TYPE_CREATE_SESSION",t[t.TYPE_CREATE_SESSION_CONFIRM=8]="TYPE_CREATE_SESSION_CONFIRM",t[t.TYPE_SESSION_CREATED=9]="TYPE_SESSION_CREATED",t[t.TYPE_JOIN_SESSION=10]="TYPE_JOIN_SESSION",t[t.TYPE_JOIN_SESSION_CONFIRM=11]="TYPE_JOIN_SESSION_CONFIRM",t[t.TYPE_LEAVE_SESSION=12]="TYPE_LEAVE_SESSION",t[t.TYPE_LEAVE_SESSION_CONFIRM=13]="TYPE_LEAVE_SESSION_CONFIRM",t[t.TYPE_CLOSE_SESSION=14]="TYPE_CLOSE_SESSION",t[t.TYPE_CLOSE_SESSION_CONFIRM=15]="TYPE_CLOSE_SESSION_CONFIRM",t[t.TYPE_SESSION_CLOSED=16]="TYPE_SESSION_CLOSED",t[t.TYPE_SESSION_CMD_DATA=17]="TYPE_SESSION_CMD_DATA",t[t.TYPE_SESSION_CMD_DATA_CONFIRM=18]="TYPE_SESSION_CMD_DATA_CONFIRM",t[t.TYPE_SESSION_CMD_DATA_NOTIFICATION=19]="TYPE_SESSION_CMD_DATA_NOTIFICATION",t[t.TYPE_SESSION_DATA=20]="TYPE_SESSION_DATA",t[t.TYPE_NODE_MAP_SNAPSHOT=21]="TYPE_NODE_MAP_SNAPSHOT",t[t.TYPE_CLOSE_SWITCHER=22]="TYPE_CLOSE_SWITCHER",t[t.TYPE_KICK_USER=23]="TYPE_KICK_USER",t[t.TYPE_JOIN_GROUP=24]="TYPE_JOIN_GROUP",t[t.TYPE_JOIN_GROUP_CONFIRM=25]="TYPE_JOIN_GROUP_CONFIRM",t[t.TYPE_LEAVE_GROUP=26]="TYPE_LEAVE_GROUP",t[t.TYPE_LEAVE_GROUP_CONFIRM=27]="TYPE_LEAVE_GROUP_CONFIRM",t[t.TYPE_GROUP_CREATED=28]="TYPE_GROUP_CREATED",t[t.TYPE_GROUP_DESTROYED=29]="TYPE_GROUP_DESTROYED",t[t.TYPE_GROUP_STATUS=30]="TYPE_GROUP_STATUS",t[t.TYPE_SWITCHER_UPDATE=31]="TYPE_SWITCHER_UPDATE",t[t.TYPE_SERVICE_STATUS=32]="TYPE_SERVICE_STATUS",t[t.TYPE_SESSION_SYNC_REQUEST=33]="TYPE_SESSION_SYNC_REQUEST"}(se||(se={})),function(e){var t;(t=e.RpcType||(e.RpcType={}))[t.Req=0]="Req",t[t.Resp=1]="Resp"}(ae||(ae={})),function(e){var t,r,n;(t=e.MessageType||(e.MessageType={}))[t.AuthType=0]="AuthType",t[t.AuthResponseType=1]="AuthResponseType",t[t.ChannelBindType=2]="ChannelBindType",t[t.ChannelBindResponseType=3]="ChannelBindResponseType",t[t.KeepaliveType=4]="KeepaliveType",t[t.KeepaliveResponseType=5]="KeepaliveResponseType",t[t.ChannelDataType=6]="ChannelDataType",t[t.ReAuthType=7]="ReAuthType",t[t.ReAuthResponseType=8]="ReAuthResponseType",t[t.RefreshTicketType=9]="RefreshTicketType",t[t.RefreshTicketResponseType=10]="RefreshTicketResponseType",t[t.ServerRequestType=11]="ServerRequestType",t[t.ChannelUnBindType=12]="ChannelUnBindType",t[t.ChannelUnBindResponseType=13]="ChannelUnBindResponseType",t[t.RpcProxyRequestType=14]="RpcProxyRequestType",t[t.RpcProxyResponseType=15]="RpcProxyResponseType",function(e){e[e.Ok=0]="Ok",e[e.Error=1]="Error",e[e.ErrorLogin=2]="ErrorLogin",e[e.ErrorDSInternal=3]="ErrorDSInternal"}(e.ErrorCode||(e.ErrorCode={})),(r=e.AuthErrorMsg||(e.AuthErrorMsg={}))[r.SignatureInvalid=0]="SignatureInvalid",r[r.Expired=1]="Expired",r[r.Unavailable=2]="Unavailable",function(e){e[e.MessageChannel=0]="MessageChannel",e[e.PortalChannel=1]="PortalChannel",e[e.DataSwitcherChannel=2]="DataSwitcherChannel"}(e.ChannelType||(e.ChannelType={})),(n=e.ServerEvent||(e.ServerEvent={}))[n.RejoinRequest=0]="RejoinRequest",n[n.ReauthRequest=1]="ReauthRequest"}(de||(de={}));var le="https://gslb.dingrtc.com",ue=1e4,ye=2e3,he=function(e,t,r){return{protocol:"1.0",configJsonStr:JSON.stringify({needPersonalityAudioStream:!0,outPeerConnectionNotReuse:!0,enable_sys_audio:0,mute_audio_record:r}),userAgent:{sdk:{version:e,type:"JavaScript",scene:t},runtime:{name:Environment.browserType,version:Environment.browserVersion},os:{name:Environment.system,version:Environment.systemVersion}}}},fe="TopServer",ve={confirmTypes:[se.MessageType.TYPE_ATTACH_USER_CONFIRM,se.MessageType.TYPE_JOIN_SESSION_CONFIRM,se.MessageType.TYPE_LEAVE_SESSION_CONFIRM,se.MessageType.TYPE_CLOSE_SESSION_CONFIRM,se.MessageType.TYPE_SESSION_CMD_DATA_CONFIRM,se.MessageType.TYPE_JOIN_GROUP_CONFIRM,se.MessageType.TYPE_LEAVE_GROUP_CONFIRM],rpcTypeKeyMap:R(R(R(R(R(R(R({},se.MessageType.TYPE_JOIN_SESSION,"joinSession"),se.MessageType.TYPE_LEAVE_SESSION,"leaveSession"),se.MessageType.TYPE_CLOSE_SESSION,"closeSession"),se.MessageType.TYPE_SESSION_DATA,"sessionData"),se.MessageType.TYPE_SESSION_CMD_DATA,"sessionCmdData"),se.MessageType.TYPE_JOIN_GROUP,"joinGroup"),se.MessageType.TYPE_LEAVE_GROUP,"leaveGroup"),sendDataTypes:[se.MessageType.TYPE_SESSION_DATA,se.MessageType.TYPE_SESSION_CMD_DATA],msgTypeKeyMap:(ce={},R(R(R(R(R(R(R(R(R(R(ce,se.MessageType.TYPE_JOIN_SESSION_CONFIRM,"joinSessionConfirm"),se.MessageType.TYPE_CLOSE_SESSION_CONFIRM,"closeSessionConfirm"),se.MessageType.TYPE_SESSION_CLOSED,"sessionClosed"),se.MessageType.TYPE_SESSION_CREATED,"sessionCreated"),se.MessageType.TYPE_LEAVE_SESSION_CONFIRM,"leaveSessionConfirm"),se.MessageType.TYPE_SESSION_CMD_DATA_CONFIRM,"sessionCmdDataConfirm"),se.MessageType.TYPE_SESSION_CMD_DATA_NOTIFICATION,"sessionCmdDataNoti"),se.MessageType.TYPE_SESSION_DATA,"sessionData"),se.MessageType.TYPE_ATTACH_USER_CONFIRM,"attachUserConfirm"),se.MessageType.TYPE_DETACH_USER_CONFIRM,"detachUserConfirm"),R(R(R(R(R(R(R(R(R(ce,se.MessageType.TYPE_NODE_MAP_SNAPSHOT,"nodeMapSnapshot"),se.MessageType.TYPE_NODE_MAP_UPDATE,"nodeMapUpdate"),se.MessageType.TYPE_GROUP_CREATED,"groupCreated"),se.MessageType.TYPE_GROUP_DESTROYED,"groupDestroyed"),se.MessageType.TYPE_JOIN_GROUP,"groupStatus"),se.MessageType.TYPE_JOIN_GROUP_CONFIRM,"joinGroupConfirm"),se.MessageType.TYPE_LEAVE_GROUP_CONFIRM,"leaveGroupConfirm"),se.MessageType.TYPE_SERVICE_STATUS,"serviceStatus"),se.MessageType.TYPE_SWITCHER_UPDATE,"switcherUpdate"))},me=getProtobufRoot({options:{syntax:"proto3"},nested:{signal_msg:{nested:{AudioSsrcSpec:{fields:{ssrc:{type:"uint32",id:1},rtxSsrc:{type:"uint32",id:2}}},VideoSsrcSpec:{fields:{ssrc:{type:"uint32",id:1},rtxSsrc:{type:"uint32",id:2},fecSsrc:{type:"uint32",id:3}}},MultiPcAdaptRequestInfo:{fields:{audioSsrcSpec:{rule:"repeated",type:"AudioSsrcSpec",id:1},videoSsrcSpec:{rule:"repeated",type:"VideoSsrcSpec",id:2}}},AudioStreamFormat:{fields:{codec:{type:"string",id:1},sampleRate:{type:"int64",id:2},channelNum:{type:"int64",id:3}}},AudioFormatPreference:{fields:{preferred:{type:"AudioStreamFormat",id:1},optional:{rule:"repeated",type:"AudioStreamFormat",id:2}}},AudioStreamOptional:{fields:{format:{rule:"repeated",type:"AudioStreamFormat",id:1}}},VideoStreamFormat:{fields:{codec:{type:"string",id:1},profile:{type:"string",id:2}}},VideoFormatPreference:{fields:{preferred:{type:"VideoStreamFormat",id:1},optional:{rule:"repeated",type:"VideoStreamFormat",id:2}}},FormatPreference:{fields:{audio:{type:"AudioFormatPreference",id:1},video:{type:"VideoFormatPreference",id:2}}},Resolution:{fields:{width:{type:"uint32",id:1},height:{type:"uint32",id:2}}},VideoSsrcParameters:{fields:{ssrc:{type:"uint32",id:1},framerate:{type:"int32",id:2},resolution:{type:"Resolution",id:3},maxBitrate:{type:"int32",id:4},minBitrate:{type:"int32",id:5},active:{type:"bool",id:6},bitrate:{type:"int64",id:7},tlayer:{type:"int64",id:8},multiSlice:{type:"int64",id:9},keyFrameInterval:{type:"int64",id:10},constantPpsid:{type:"int64",id:11}}},VideoParameters:{oneofs:{_resolutionLevel:{oneof:["resolutionLevel"]}},fields:{ssrc:{type:"uint32",id:1},resolution:{type:"Resolution",id:2},framerate:{type:"int32",id:3},bitrate:{type:"string",id:4},multiSlice:{type:"int32",id:5},keyFrameInterval:{type:"int64",id:6},constantPpsid:{type:"int64",id:7},resolutionLevel:{type:"uint32",id:8,options:{proto3_optional:!0}}}},GroupVersion:{fields:{id:{type:"string",id:1},ver:{type:"int64",id:2}}},StreamInfo:{fields:{type:{type:"string",id:1},owner:{type:"string",id:2},attributesJsonStr:{type:"string",id:3},label:{type:"string",id:4},createTime:{type:"int64",id:7}}},StreamVideoParameters:{fields:{resolution:{type:"Resolution",id:1},framerate:{type:"int64",id:2},bitrate:{type:"int64",id:3},keyFrameInterval:{type:"int64",id:4},multiSlice:{type:"int64",id:5},constantPpsid:{type:"int64",id:6}}},VideoStreamPara:{fields:{specs:{rule:"repeated",type:"string",id:1},resolution:{rule:"repeated",type:"Resolution",id:2},framerate:{rule:"repeated",type:"int32",id:3},bitrate:{rule:"repeated",type:"string",id:4},keyFrameInterval:{rule:"repeated",type:"int32",id:5}}},VideoStreamOptional:{fields:{format:{rule:"repeated",type:"VideoStreamFormat",id:1},parameters:{type:"VideoStreamPara",id:2}}},StreamAudioDesc:{fields:{trackId:{type:"string",id:1},msid:{type:"string",id:2},status:{type:"string",id:3},format:{type:"AudioStreamFormat",id:4},source:{type:"string",id:5},ssrc:{rule:"repeated",type:"uint32",id:6},ssrcGroup:{rule:"repeated",type:"AudioSsrcSpec",id:7},optional:{type:"AudioStreamOptional",id:8}}},StreamVideoDesc:{fields:{trackId:{type:"string",id:1},msid:{type:"string",id:2},status:{type:"string",id:3},source:{type:"string",id:4},format:{type:"VideoStreamFormat",id:5},ssrc:{rule:"repeated",type:"uint32",id:6},ssrcGroup:{rule:"repeated",type:"VideoSsrcSpec",id:7},parameters:{type:"StreamVideoParameters",id:8},optional:{type:"VideoStreamOptional",id:9},highestResolutionLevel:{type:"int32",id:10}}},StreamMediaDesc:{fields:{audio:{type:"StreamAudioDesc",id:1},video:{type:"StreamVideoDesc",id:2}}},Stream:{fields:{id:{type:"string",id:1},type:{type:"string",id:2},media:{type:"StreamMediaDesc",id:3},info:{type:"StreamInfo",id:4},version:{type:"int64",id:5}}},OriginMsg:{fields:{type:{type:"string",id:1},id:{type:"string",id:2}}},ErrorMsg:{fields:{id:{type:"string",id:1},code:{type:"int32",id:2},msg:{type:"string",id:3},origin:{type:"OriginMsg",id:4}}},ErrorMsgs:{fields:{globalStatus:{type:"string",id:1},detailStatus:{rule:"repeated",type:"ErrorMsg",id:2}}},Permission:{fields:{audio:{type:"bool",id:1},video:{type:"bool",id:2}}},PermissionInfo:{fields:{subscribe:{type:"Permission",id:1},publish:{type:"Permission",id:2},vip:{type:"bool",id:3}}},ParticipantInfo:{fields:{id:{type:"string",id:1},user:{type:"string",id:2},role:{type:"string",id:3},ver:{type:"int64",id:4},propertiesJsonStr:{type:"string",id:5}}},RoomInfo:{fields:{id:{type:"string",id:1},views:{rule:"repeated",type:"string",id:2},participants:{rule:"repeated",type:"ParticipantInfo",id:3},participantsVer:{type:"int64",id:4},streams:{rule:"repeated",type:"Stream",id:5},streamsVer:{type:"uint64",id:6},conferenceVer:{type:"uint64",id:7},ts:{type:"int64",id:8},audioSelectEnableV1:{type:"bool",id:9},simulcastEnableV1:{type:"bool",id:10},mediaOutVideoParameters:{rule:"repeated",type:"VideoStreamFormat",id:11},propertiesJsonStr:{type:"string",id:12},ssrcClientSequence:{type:"uint32",id:13},ssrcMask:{type:"uint32",id:14},timeLeft:{type:"int64",id:15},groupList:{rule:"repeated",type:"string",id:16},groupListVer:{type:"int64",id:17}}},ParticipantVer:{fields:{id:{type:"string",id:1},ver:{type:"int64",id:2}}},ParticipantDetail:{fields:{id:{type:"string",id:1},user:{type:"string",id:2},role:{type:"string",id:3},ver:{type:"int64",id:4},propertiesJsonStr:{type:"string",id:5},permission:{type:"PermissionInfo",id:6}}},QueryParticipantsData:{fields:{id:{type:"string",id:1},data:{type:"ParticipantDetail",id:2}}},SetPropertiesData:{fields:{id:{type:"string",id:1},ver:{type:"int64",id:2},propertiesJsonStr:{type:"string",id:3}}},Os:{fields:{name:{type:"string",id:1},version:{type:"string",id:2}}},Runtime:{fields:{name:{type:"string",id:1},version:{type:"string",id:2}}},Sdk:{fields:{version:{type:"string",id:1},type:{type:"string",id:2}}},UserAgent:{fields:{os:{type:"Os",id:1},runtime:{type:"Runtime",id:2},sdk:{type:"Sdk",id:3}}},JoinRequest:{fields:{protocol:{type:"string",id:1},token:{type:"string",id:2},userAgent:{type:"UserAgent",id:3},configJsonStr:{type:"string",id:4},tid:{type:"string",id:5},traceId:{type:"string",id:6}}},JoinResponse:{fields:{user:{type:"string",id:1},role:{type:"string",id:2},permission:{type:"PermissionInfo",id:3},room:{type:"RoomInfo",id:4},id:{type:"string",id:5}}},RejoinRequest:{fields:{token:{type:"string",id:1},tid:{type:"string",id:2},traceId:{type:"string",id:3}}},RejoinResponse:{fields:{participantsVer:{type:"int64",id:1},streamsVer:{type:"uint64",id:2}}},LeaveRequest:{fields:{roomId:{type:"string",id:1},participantId:{type:"string",id:2},tid:{type:"string",id:3},traceId:{type:"string",id:4}}},QueryParticipantsVerRequest:{fields:{roomId:{type:"string",id:1},participantId:{type:"string",id:2},pids:{rule:"repeated",type:"string",id:3},tid:{type:"string",id:4},traceId:{type:"string",id:5}}},QueryParticipantsVerResponse:{fields:{participants:{rule:"repeated",type:"ParticipantVer",id:1},totalVer:{type:"int64",id:2},msg:{type:"string",id:3}}},QueryParticipantsRequest:{fields:{roomId:{type:"string",id:1},participantId:{type:"string",id:2},pids:{rule:"repeated",type:"string",id:3},tid:{type:"string",id:4},traceId:{type:"string",id:5}}},QueryParticipantsResponse:{fields:{totalVer:{type:"int64",id:1},msg:{type:"string",id:2},participants:{rule:"repeated",type:"QueryParticipantsData",id:3}}},GetParticipantsAndStreamsRequest:{fields:{roomId:{type:"string",id:1},participantId:{type:"string",id:2},pids:{rule:"repeated",type:"string",id:3},tid:{type:"string",id:4},traceId:{type:"string",id:5}}},GetParticipantsAndStreamsResponse:{fields:{ts:{type:"int64",id:1},msg:{type:"string",id:2},participants:{rule:"repeated",type:"ParticipantDetail",id:3},streams:{rule:"repeated",type:"Stream",id:4}}},SetParticipantPropertiesRequest:{fields:{roomId:{type:"string",id:1},participantId:{type:"string",id:2},propertiesJsonStr:{type:"string",id:3},tid:{type:"string",id:4},traceId:{type:"string",id:5}}},RemoveParticipantPropertiesRequest:{fields:{roomId:{type:"string",id:1},participantId:{type:"string",id:2},propertiesJsonStr:{type:"string",id:3},tid:{type:"string",id:4},traceId:{type:"string",id:5}}},ParticipantNotification:{oneofs:{data:{oneof:["info","participantId","propertiesData"]}},fields:{action:{type:"string",id:1},totalVer:{type:"int64",id:2},msgId:{type:"string",id:3},tid:{type:"string",id:4},traceId:{type:"string",id:5},info:{type:"ParticipantInfo",id:10},participantId:{type:"string",id:11},propertiesData:{type:"SetPropertiesData",id:12}}},SyncNotification:{fields:{streamsVer:{type:"int64",id:1},participantsVer:{type:"int64",id:2},conferenceVer:{type:"int64",id:3},msgId:{type:"string",id:4},tid:{type:"string",id:5},traceId:{type:"string",id:6},groupListVer:{type:"int64",id:7},groupVer:{rule:"repeated",type:"GroupVersion",id:8}}},Result:{values:{Ok:0,Error:1}},Response:{oneofs:{data:{oneof:["reason","joinResponse","queryParticipantsResponse","queryParticipantsVerResponse","rejoinResponse"]}},fields:{result:{type:"Result",id:1},tid:{type:"string",id:2},traceId:{type:"string",id:3},code:{type:"int32",id:4},reason:{type:"string",id:11},joinResponse:{type:"JoinResponse",id:12},queryParticipantsResponse:{type:"QueryParticipantsResponse",id:13},queryParticipantsVerResponse:{type:"QueryParticipantsVerResponse",id:14},rejoinResponse:{type:"RejoinResponse",id:23}}},ConferenceNotification:{fields:{action:{type:"string",id:1},ver:{type:"int64",id:2},id:{type:"string",id:3},msgId:{type:"string",id:4},tid:{type:"string",id:5},traceId:{type:"string",id:6},propertiesJsonStr:{type:"string",id:7}}},DropNotification:{fields:{tid:{type:"string",id:1},traceId:{type:"string",id:2},code:{type:"int32",id:3},reason:{type:"string",id:4}}},NotificationItem:{oneofs:{notification:{oneof:["participantNotification","syncNotification","conferenceNotification"]}},fields:{event:{type:"string",id:1},participantNotification:{type:"ParticipantNotification",id:12},syncNotification:{type:"SyncNotification",id:15},conferenceNotification:{type:"ConferenceNotification",id:16}}},BatchNotification:{fields:{notificationItem:{rule:"repeated",type:"NotificationItem",id:1},tid:{type:"string",id:2},traceId:{type:"string",id:3}}}}},ddmsg:{options:{optimize_for:"LITE_RUNTIME"},nested:{Type:{values:{kUnknown:0,kConnectReq:1,kConnectResp:2,kDisconnect:3,kChannelCreated:4,kChannelClosed:5,kPing:6,kPong:7,kData:64}},Message:{oneofs:{messageOneof:{oneof:["connectReq","connectResp","diconnect","channelsCreated","channelsClosed","data"]}},fields:{msgType:{type:"Type",id:1},connectReq:{type:"ConnectReq",id:2},connectResp:{type:"ConnectResp",id:3},diconnect:{type:"Disconnect",id:4},channelsCreated:{type:"ChannelsCreated",id:5},channelsClosed:{type:"ChannelsClosed",id:6},data:{type:"Data",id:64}}},ServerAddress:{fields:{name:{type:"string",id:1},ip:{type:"string",id:2},port:{type:"uint32",id:3}}},Channel:{fields:{channelId:{type:"uint32",id:1},customizedChannelType:{type:"uint32",id:2},ownerEndpointId:{type:"uint32",id:3}}},ConnectReq:{fields:{parentAddr:{type:"ServerAddress",id:1},topAddr:{type:"ServerAddress",id:2},nodeId:{type:"fixed64",id:3},requestId:{type:"int32",id:4},subdsType:{type:"int32",id:5},reqData:{type:"bytes",id:10}}},ConnectResp:{fields:{result:{type:"int32",id:1},requestId:{type:"int32",id:2},nodeId:{type:"fixed64",id:3},parentNodeId:{type:"fixed64",id:4},topNodeId:{type:"fixed64",id:5},channels:{rule:"repeated",type:"Channel",id:6},respData:{type:"bytes",id:10}}},Disconnect:{fields:{reason:{type:"int32",id:1}}},ChannelsCreated:{fields:{channels:{rule:"repeated",type:"Channel",id:1}}},ChannelsClosed:{fields:{reason:{type:"int32",id:1},channels:{rule:"repeated",type:"Channel",id:2}}},Data:{fields:{priority:{type:"uint32",id:1},uniform:{type:"bool",id:2},echo:{type:"bool",id:3},compressed:{type:"bool",id:4},from:{type:"fixed64",id:5},to:{type:"fixed64",id:6},excludes:{rule:"repeated",type:"fixed64",id:7},data:{type:"bytes",id:10}}}}},dsmsg:{options:{optimize_for:"LITE_RUNTIME"},nested:{MessageType:{values:{TYPE_UNKNOWN:0,TYPE_NODE_JOIN:1,TYPE_NODE_JOIN_CONFIRM:2,TYPE_NODE_LEFT:3,TYPE_ATTACH_USER_CONFIRM:4,TYPE_DETACH_USER_CONFIRM:5,TYPE_NODE_MAP_UPDATE:6,TYPE_CREATE_SESSION:7,TYPE_CREATE_SESSION_CONFIRM:8,TYPE_SESSION_CREATED:9,TYPE_JOIN_SESSION:10,TYPE_JOIN_SESSION_CONFIRM:11,TYPE_LEAVE_SESSION:12,TYPE_LEAVE_SESSION_CONFIRM:13,TYPE_CLOSE_SESSION:14,TYPE_CLOSE_SESSION_CONFIRM:15,TYPE_SESSION_CLOSED:16,TYPE_SESSION_CMD_DATA:17,TYPE_SESSION_CMD_DATA_CONFIRM:18,TYPE_SESSION_CMD_DATA_NOTIFICATION:19,TYPE_SESSION_DATA:20,TYPE_NODE_MAP_SNAPSHOT:21,TYPE_CLOSE_SWITCHER:22,TYPE_KICK_USER:23,TYPE_JOIN_GROUP:24,TYPE_JOIN_GROUP_CONFIRM:25,TYPE_LEAVE_GROUP:26,TYPE_LEAVE_GROUP_CONFIRM:27,TYPE_GROUP_CREATED:28,TYPE_GROUP_DESTROYED:29,TYPE_GROUP_STATUS:30,TYPE_SWITCHER_UPDATE:31,TYPE_SERVICE_STATUS:32,TYPE_SESSION_SYNC_REQUEST:33}},Message:{oneofs:{messageOneof:{oneof:["nodeJoin","nodeJoinConfirm","nodeLeft","attachUserConfirm","detachUserConfirm","nodeMapUpdate","createSession","createSessionConfirm","sessionCreated","joinSession","joinSessionConfirm","leaveSession","leaveSessionConfirm","closeSession","closeSessionConfirm","sessionClosed","sessionCmdData","sessionCmdDataConfirm","sessionCmdDataNoti","sessionData","nodeMapSnapshot","closeSwitcher","kickUser","joinGroup","joinGroupConfirm","leaveGroup","leaveGroupConfirm","groupCreated","groupDestroyed","groupStatus","switcherUpdate","serviceStatus","sessionSyncReq"]}},fields:{version:{type:"int32",id:1},type:{type:"MessageType",id:2},nodeJoin:{type:"NodeJoin",id:3},nodeJoinConfirm:{type:"NodeJoinConfirm",id:4},nodeLeft:{type:"NodeLeft",id:5},attachUserConfirm:{type:"AttachUserConfirm",id:6},detachUserConfirm:{type:"DetachUserConfirm",id:7},nodeMapUpdate:{type:"NodeMapUpdate",id:8},createSession:{type:"CreateSession",id:9},createSessionConfirm:{type:"CreateSessionConfirm",id:10},sessionCreated:{type:"SessionCreated",id:11},joinSession:{type:"JoinSession",id:12},joinSessionConfirm:{type:"JoinSessionConfirm",id:13},leaveSession:{type:"LeaveSession",id:14},leaveSessionConfirm:{type:"LeaveSessionConfirm",id:15},closeSession:{type:"CloseSession",id:16},closeSessionConfirm:{type:"CloseSessionConfirm",id:17},sessionClosed:{type:"SessionClosed",id:18},sessionCmdData:{type:"SessionCmdData",id:19},sessionCmdDataConfirm:{type:"SessionCmdDataConfirm",id:20},sessionCmdDataNoti:{type:"SessionCmdDataNotification",id:21},sessionData:{type:"SessionData",id:22},nodeMapSnapshot:{type:"NodeMapSnapshot",id:23},closeSwitcher:{type:"CloseSwitcher",id:24},kickUser:{type:"KickUser",id:25},joinGroup:{type:"JoinGroup",id:26},joinGroupConfirm:{type:"JoinGroupConfirm",id:27},leaveGroup:{type:"LeaveGroup",id:28},leaveGroupConfirm:{type:"LeaveGroupConfirm",id:29},groupCreated:{type:"GroupCreated",id:30},groupDestroyed:{type:"GroupDestroyed",id:31},groupStatus:{type:"GroupStatus",id:32},switcherUpdate:{type:"SwitcherUpdate",id:33},serviceStatus:{type:"ServiceStatus",id:34},sessionSyncReq:{type:"SessionSyncRequrst",id:35}}},NodeJoin:{fields:{nodeName:{type:"string",id:1},remainingTime:{type:"int32",id:2}}},NodeJoinConfirm:{fields:{nodeName:{type:"string",id:1},channels:{rule:"repeated",type:"Channel",id:2},endpointId:{type:"int32",id:3},sessionCreateds:{rule:"repeated",type:"SessionCreated",id:4},config:{type:"Config",id:5}}},Config:{fields:{nodeInfoBundleSize:{type:"int32",id:1}}},NodeLeft:{fields:{nodeId:{type:"uint64",id:1}}},AttachUserConfirm:{fields:{pid:{type:"string",id:1},nodeId:{type:"uint64",id:2},serverNodeId:{type:"uint64",id:3},topServerNodeId:{type:"uint64",id:4},endpointId:{type:"int32",id:5},result:{type:"uint32",id:6},channels:{rule:"repeated",type:"Channel",id:7},sessionCreateds:{rule:"repeated",type:"SessionCreated",id:8},reason:{type:"uint32",id:9}}},DetachUser:{fields:{pid:{type:"string",id:1},nodeId:{type:"uint64",id:2},reason:{type:"uint32",id:3}}},DetachUserConfirm:{fields:{pid:{type:"string",id:1},nodeId:{type:"uint64",id:2},result:{type:"uint32",id:3}}},NodeMapUpdate:{fields:{items:{rule:"repeated",type:"NodeMapUpdateItem",id:1}}},NodeMapUpdateItem:{fields:{pid:{type:"string",id:1},nodeId:{type:"uint64",id:2},action:{type:"uint32",id:3},uid:{type:"string",id:4},userName:{type:"string",id:5}}},NodeMapSnapshot:{fields:{start:{type:"bool",id:1},end:{type:"bool",id:2},items:{rule:"repeated",type:"NodeMapUpdateItem",id:3}}},NodeMapSnapshotItem:{fields:{pid:{type:"string",id:1},nodeId:{type:"uint64",id:2}}},CreateSession:{fields:{sessionType:{type:"int32",id:1},sessionKey:{type:"string",id:2},customSessionData:{type:"string",id:3}}},CreateSessionConfirm:{fields:{sessionType:{type:"int32",id:1},sessionKey:{type:"string",id:2},endpointId:{type:"int32",id:3},result:{type:"uint32",id:4}}},SessionCreated:{fields:{sessionType:{type:"int32",id:1},sessionKey:{type:"string",id:2},endpointId:{type:"int32",id:3},channels:{rule:"repeated",type:"Channel",id:4},customSessionData:{type:"string",id:5},groupCreated:{rule:"repeated",type:"GroupCreated",id:6}}},JoinSession:{fields:{sessionType:{type:"int32",id:1},sessionKey:{type:"string",id:2},pid:{type:"string",id:3},nodeId:{type:"uint64",id:4},customSessionData:{type:"string",id:5}}},JoinSessionConfirm:{fields:{sessionType:{type:"int32",id:1},sessionKey:{type:"string",id:2},endpointId:{type:"int32",id:3},pid:{type:"string",id:4},nodeId:{type:"uint64",id:5},result:{type:"uint32",id:6},channels:{rule:"repeated",type:"Channel",id:7},customSessionData:{type:"string",id:8}}},LeaveSession:{fields:{sessionType:{type:"int32",id:1},sessionKey:{type:"string",id:2},nodeId:{type:"uint64",id:3}}},LeaveSessionConfirm:{fields:{sessionType:{type:"int32",id:1},sessionKey:{type:"string",id:2},nodeId:{type:"uint64",id:3},result:{type:"uint32",id:4}}},CloseSession:{fields:{sessionType:{type:"int32",id:1},sessionKey:{type:"string",id:2},nodeId:{type:"uint64",id:3}}},CloseSessionConfirm:{fields:{sessionType:{type:"int32",id:1},sessionKey:{type:"string",id:2},result:{type:"uint32",id:3}}},SessionClosed:{fields:{sessionType:{type:"int32",id:1},sessionKey:{type:"string",id:2}}},Channel:{fields:{id:{type:"int32",id:1},type:{type:"uint32",id:2}}},SessionCmdData:{fields:{cmdType:{type:"uint32",id:1},cmd:{type:"string",id:2},requestId:{type:"uint32",id:3},data:{type:"bytes",id:4},broadcast:{type:"bool",id:5},echo:{type:"bool",id:6},toNodeId:{type:"uint64",id:7},fromPid:{type:"string",id:8}}},SessionCmdDataConfirm:{fields:{cmdType:{type:"uint32",id:1},cmd:{type:"string",id:2},requestId:{type:"uint32",id:3},result:{type:"uint32",id:4},fromPid:{type:"string",id:5}}},SessionCmdDataNotification:{fields:{cmdType:{type:"uint32",id:1},cmd:{type:"string",id:2},requestId:{type:"uint32",id:3},data:{type:"bytes",id:4},fromPid:{type:"string",id:5}}},SessionData:{fields:{data:{type:"bytes",id:1}}},CloseSwitcher:{fields:{reason:{type:"uint32",id:1}}},KickUser:{fields:{pid:{type:"string",id:1},nodeId:{type:"uint64",id:2},reason:{type:"uint32",id:3}}},JoinGroup:{fields:{nodeId:{type:"uint64",id:1},groupId:{type:"string",id:2},requestId:{type:"uint32",id:3}}},JoinGroupConfirm:{fields:{nodeId:{type:"uint64",id:1},groupId:{type:"string",id:2},result:{type:"uint32",id:3},channel:{type:"Channel",id:4},requestId:{type:"uint32",id:5}}},LeaveGroup:{fields:{nodeId:{type:"uint64",id:1},groupId:{type:"string",id:2},requestId:{type:"uint32",id:3}}},LeaveGroupConfirm:{fields:{nodeId:{type:"uint64",id:1},groupId:{type:"string",id:2},result:{type:"uint32",id:3},requestId:{type:"uint32",id:4}}},GroupCreated:{fields:{groupId:{type:"string",id:1},channel:{type:"Channel",id:2},status:{type:"int32",id:3}}},GroupDestroyed:{fields:{groupId:{type:"string",id:1}}},GroupStatus:{fields:{groupId:{type:"string",id:1},status:{type:"int32",id:2}}},SwitcherUpdate:{fields:{channelUpdates:{rule:"repeated",type:"ChannelUpdate",id:1}}},ChannelUpdate:{fields:{endpointId:{type:"int32",id:1},groupId:{type:"string",id:2},channel:{type:"Channel",id:3}}},ServiceStatus:{fields:{status:{type:"int32",id:1},data:{type:"string",id:2}}},SessionSyncRequrst:{fields:{nodeId:{type:"uint64",id:1}}}}},rpc:{nested:{RpcType:{values:{Req:0,Resp:1}},RpcMessage:{fields:{Version:{type:"uint32",id:1},MagicNumber:{type:"uint32",id:2},Type:{type:"RpcType",id:3},RpcId:{type:"uint32",id:4},NeedAck:{type:"bool",id:5},Method:{type:"string",id:6},Data:{type:"bytes",id:7}}}}},rtmpproxy:{nested:{CreateRtmpProxyPushRequest:{fields:{appId:{type:"string",id:1},roomId:{type:"string",id:2},streamId:{type:"string",id:3},timestamp:{type:"string",id:4},nonce:{type:"string",id:5},signature:{type:"string",id:6},localInfo:{type:"string",id:7},sdp:{type:"string",id:8},user:{type:"string",id:9},pid:{type:"string",id:10}}},CreateRtmpProxyPushResponse:{fields:{code:{type:"int32",id:1},errMsg:{type:"string",id:2}}},CreateRtmpProxyPullRequest:{fields:{appId:{type:"string",id:1},roomId:{type:"string",id:2},streamId:{type:"string",id:3},timestamp:{type:"string",id:4},nonce:{type:"string",id:5},signature:{type:"string",id:6},localInfo:{type:"string",id:7},sdp:{type:"string",id:8},user:{type:"string",id:9},pid:{type:"string",id:10}}},CreateRtmpProxyPullResponse:{fields:{code:{type:"int32",id:1},errMsg:{type:"string",id:2}}}}},transport:{nested:{MessageType:{values:{AuthType:0,AuthResponseType:1,ChannelBindType:2,ChannelBindResponseType:3,KeepaliveType:4,KeepaliveResponseType:5,ChannelDataType:6,ReAuthType:7,ReAuthResponseType:8,RefreshTicketType:9,RefreshTicketResponseType:10,ServerRequestType:11,ChannelUnBindType:12,ChannelUnBindResponseType:13,RpcProxyRequestType:14,RpcProxyResponseType:15}},ErrorCode:{values:{Ok:0,Error:1,ErrorLogin:2,ErrorDSInternal:3}},AuthErrorMsg:{values:{SignatureInvalid:0,Expired:1,Unavailable:2}},PingConfig:{fields:{pingInterval:{type:"uint32",id:1},pingTimeout:{type:"uint32",id:2}}},TransportOptions:{oneofs:{_supportPingConfig:{oneof:["supportPingConfig"]}},fields:{supportReliable:{type:"bool",id:1},reliableId:{type:"string",id:2},supportPingConfig:{type:"bool",id:3,options:{proto3_optional:!0}}}},Auth:{fields:{token:{type:"string",id:1},duplicate:{type:"bool",id:2},options:{type:"TransportOptions",id:3}}},AuthResponse:{fields:{code:{type:"ErrorCode",id:1},reason:{type:"string",id:2},ticket:{type:"string",id:3},errorMsg:{type:"AuthErrorMsg",id:4},pingConfig:{type:"PingConfig",id:5}}},ReAuth:{fields:{id:{type:"string",id:1},ticket:{type:"string",id:2},options:{type:"TransportOptions",id:3}}},ReAuthResponse:{fields:{code:{type:"ErrorCode",id:1},reason:{type:"string",id:2},ticket:{type:"string",id:3},errorMsg:{type:"AuthErrorMsg",id:4},pingConfig:{type:"PingConfig",id:5}}},RefreshTicket:{fields:{}},RefreshTicketResponse:{fields:{code:{type:"ErrorCode",id:1},reason:{type:"string",id:2},ticket:{type:"string",id:3}}},ChannelType:{values:{MessageChannel:0,PortalChannel:1,DataSwitcherChannel:2}},ChannelBind:{fields:{type:{type:"ChannelType",id:1},chanId:{type:"uint64",id:2},address:{type:"string",id:3}}},ChannelBindResponse:{fields:{code:{type:"ErrorCode",id:1},reason:{type:"string",id:2},chanId:{type:"uint64",id:3}}},ChannelUnBind:{fields:{type:{type:"ChannelType",id:1},chanId:{type:"uint64",id:2}}},ChannelUnBindResponse:{fields:{code:{type:"ErrorCode",id:1},reason:{type:"string",id:2},chanId:{type:"uint64",id:3}}},Keepalive:{fields:{sequence:{type:"uint32",id:1},pingMs:{type:"uint64",id:2}}},KeepaliveResponse:{fields:{sequence:{type:"uint32",id:1},pongMs:{type:"uint64",id:2}}},ChannelData:{fields:{chanId:{type:"uint64",id:1},data:{type:"bytes",id:2}}},ServerEvent:{values:{RejoinRequest:0,ReauthRequest:1}},Notification:{fields:{event:{type:"ServerEvent",id:1}}},RpcProxyRequest:{fields:{rpcId:{type:"string",id:1},targetServer:{type:"string",id:2},targetServerSubProcessIndex:{type:"uint64",id:3},rpcMethod:{type:"string",id:4},rpcRequestBody:{type:"bytes",id:5}}},RpcProxyResponse:{fields:{rpcId:{type:"string",id:1},rpcResponseCode:{type:"uint32",id:2},rpcResponseBody:{type:"bytes",id:3}}},Message:{oneofs:{data:{oneof:["auth","authResponse","channelBind","channelBindResponse","keepalive","keepaliveResponse","channelData","reauth","reauthResponse","refreshTicket","refreshTicketResponse","notification","channelUnBind","channelUnBindResponse","rpcProxyRequest","rpcProxyResponse"]}},fields:{Type:{type:"MessageType",id:1},Version:{type:"uint32",id:2},SequenceId:{type:"uint32",id:3},auth:{type:"Auth",id:11},authResponse:{type:"AuthResponse",id:12},channelBind:{type:"ChannelBind",id:13},channelBindResponse:{type:"ChannelBindResponse",id:14},keepalive:{type:"Keepalive",id:15},keepaliveResponse:{type:"KeepaliveResponse",id:16},channelData:{type:"ChannelData",id:17},reauth:{type:"ReAuth",id:18},reauthResponse:{type:"ReAuthResponse",id:19},refreshTicket:{type:"RefreshTicket",id:20},refreshTicketResponse:{type:"RefreshTicketResponse",id:21},notification:{type:"Notification",id:22},channelUnBind:{type:"ChannelUnBind",id:23},channelUnBindResponse:{type:"ChannelUnBindResponse",id:24},rpcProxyRequest:{type:"RpcProxyRequest",id:25},rpcProxyResponse:{type:"RpcProxyResponse",id:26}}}}}}}),be=me.lookupType("signal_msg.Response"),Te=me.lookupType("signal_msg.BatchNotification"),Se=me.lookupType("signal_msg.ParticipantNotification"),Ee=me.lookupType("signal_msg.ConferenceNotification"),Ie=me.lookupType("signal_msg.DropNotification"),Ce=me.lookupType("signal_msg.SyncNotification"),Oe=me.lookupType("signal_msg.RejoinRequest"),Pe=me.lookupType("rtmpproxy.CreateRtmpProxyPushRequest");me.lookupType("rtmpproxy.CreateRtmpProxyPullRequest");var Re=me.lookupType("signal_msg.QueryParticipantsVerRequest"),_e=me.lookupType("signal_msg.QueryParticipantsRequest"),Ne=me.lookupType("signal_msg.JoinRequest"),ke=me.lookupType("transport.Message"),Me=me.lookupType("rpc.RpcMessage"),we=me.lookupType("ddmsg.Message"),De=me.lookupType("dsmsg.Message");function je(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(je=function(){return!!e})()}me.lookupType("ddmsg.Data");var Ae=function(){function e(){var t,r,n;return _(this,e),r=this,n=w(n=e),t=M(r,je()?Reflect.construct(n,[],w(r).constructor):n.apply(r,undefined)),Object.defineProperty(t,"timer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(t,"seconds",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(t,"gapTime",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(t,"sequence",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(t,"maxTime",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),t.timer=null,t.gapTime=15e3,t.maxTime=6e4,t.seconds=0,t.sequence=0,t}return j(e,EventEmitter),k(e,[{key:"start",value:function(e){var t=this,r=e||{},n=r.pingInterval,i=r.pingTimeout;n&&i&&(this.stop(),this.gapTime=1e3*n,this.maxTime=1e3*i),this.timer||(this.ping(),this.timer=addTimer(function(){if(t.seconds++,1e3*t.seconds%t.gapTime==0&&t.ping(),1e3*t.seconds>t.maxTime)throw t.stop(),t.emit("retry"),new DingRTCError(ErrorCode.ConnectionHeartbeatTimeout)},1e3,"interval"))}},{key:"ping",value:function(){var e={sequence:++this.sequence,pingMs:Date.now()};this.emit("ping",{keepalive:e})}},{key:"pong",value:function(e){this.sequence=e.sequence,this.seconds=0}},{key:"stop",value:function(){this.timer&&(removeTimer(this.timer,"interval"),this.timer=null,this.sequence=0,this.seconds=0)}}])}();function Le(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Le=function(){return!!e})()}var Ue,xe,Ye,qe,Ve,Ge,Je,Be=function(){function e(t,r){var n,i,o;return _(this,e),i=this,o=w(o=e),n=M(i,Le()?Reflect.construct(o,[],w(i).constructor):o.apply(i,undefined)),Object.defineProperty(n,"socket",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(n,"reporter",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(n,"rpcId",{enumerable:!0,configurable:!0,writable:!0,value:20}),Object.defineProperty(n,"requestMap",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"proxyReqMap",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"domain",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),n.socket=t,n.reporter=r,n.logger=n.reporter.getLoggerWithPrefix("[chn-basictrans]"),n.requestMap=new Map,n.proxyReqMap=new Map,n}return j(e,EventEmitter),k(e,[{key:"connect",value:function(e,t){var r=this,n=JSON.parse(fromBase64(e)),i=n.secure,o=n.relayServerHosts,a=void 0===o?[]:o;return a[0]&&(this.domain=a[0]),new Promise(function(n,o){var s=(i?"wss":"ws")+"://"+(a[0]||r.domain);r.socket.removeAllListeners(),r.socket.init(s,e,t),r.socket.on("reauth",function(){r.emit("reauth")}),r.socket.on("rejoin",function(){r.emit("rejoin")}),r.socket.on("connection-state-change",function(e,t,i){r.emit("connection-state-change",e,t,i),"disconnected"===e?o(i):"connected"===e&&n()})})}},{key:"disconnect",value:function(){var e;if(this.requestMap.clear(),null!==(e=this.socket)&&void 0!==e&&e.instance&&"disconnected"!==this.socket.state)return this.socket.close(!0)}},{key:"sendChnData",value:function(e,t){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o={MagicNumber:5,Version:1,Type:0,NeedAck:!0,RpcId:this.rpcId++,Method:e,Data:t},a=Me.encode(o).finish();return i&&this.logger.debug("rpcId ".concat(o.RpcId,":").concat(e," param====> ").concat(JSON.stringify(n||""))),new Promise(function(t,s){r.socket.send(de.MessageType.ChannelDataType,{channelData:{data:a,chanId:1}},o.RpcId,e);var c=o.RpcId;r.requestMap.set(c,{resolve:t,reject:s,payload:{methond:e,internal:i,rpcId:c,param:n||""}}),addTimer(function(){var t=r.requestMap.get(c);null!=t&&t.reject&&(t.reject(new DingRTCError(ErrorCode.APICallTimeOut,"".concat(e," timeout"))),r.requestMap.delete(c))},ue)})}},{key:"proxyRtmpReq",value:function(e,t,r,n){var i=this;this.logger.info("rpcRequestBody===",n);var o=Pe.encode(n).finish();return new Promise(function(n,a){var s=e||createUuid(10);i.socket.send(de.MessageType.RpcProxyRequestType,{rpcProxyRequest:{rpcId:s,targetServer:t,targetServerSubProcessIndex:0,rpcMethod:r,rpcRequestBody:o}}),i.proxyReqMap.set(e,{resolve:n,reject:a}),addTimer(function(){var t=i.proxyReqMap.get(e);null!=t&&t.reject&&(t.reject(new DingRTCError(ErrorCode.APICallTimeOut,"proxyRtmpReq timeout ".concat(r," ").concat(e))),i.proxyReqMap.delete(e))},ue)})}},{key:"onProxyRtmpResponseMsg",value:function(e){var t=this.proxyReqMap.get(e.rpcProxyResponse.rpcId);e.rpcProxyResponse.rpcResponseCode?null==t||t.reject(e.rpcProxyResponse.rpcResponseCode):null==t||t.resolve(e.rpcProxyResponse.rpcResponseBody)}},{key:"handleNotification",value:function(e,t){var r=this;if("batch-notify"===e){var n=Te.decode(t).notificationItem,i=["participant","conference","sync"];n.forEach(function(e){"participant"===e.event?r.emit("participant",e.participantNotification):"conference"===e.event?r.emit("conference",e.conferenceNotification):"sync"===e.event&&r.emit("sync",e.syncNotification)}),n.filter(function(e){return!i.includes(e.event)}).length&&this.emit("batch-notify",t)}else"participant"===e?this.emit("participant",Se.decode(t)):"conference"===e?this.emit("conference",Ee.decode(t)):"drop"===e?this.emit("drop",Ie.decode(t)):"sync"===e?this.emit("sync",Ce.decode(t)):this.emit("notify",e,t)}},{key:"onMessage",value:function(e){var t=Me.decode(new Uint8Array(e.channelData.data));if(t.Type===ae.RpcType.Resp){var r=this.requestMap.get(t.RpcId);if(!r)return;var n=r.resolve,i=r.reject,o=r.payload;if(o.internal){var a=be.decode(t.Data);a.result===re.Result.Ok?(this.logger.debug("rpcId ".concat(o.rpcId,": ").concat(o.methond," result====> ").concat(JSON.stringify(a))),n(a)):(this.logger.error("rpcId ".concat(o.rpcId,": ").concat(o.methond," error====> ").concat(JSON.stringify(a))),i(a))}else n(t.Data);this.requestMap.delete(t.RpcId)}else t.Type===ae.RpcType.Req&&this.handleNotification(t.Method,t.Data)}}])}();!function(e){e[e.UserKickOut=2011]="UserKickOut",e[e.UserReplaced=2012]="UserReplaced"}(Ue||(Ue={})),function(e){e[e.Unknown=0]="Unknown",e[e.SubtopDS=1]="SubtopDS",e[e.Linkserver=2]="Linkserver",e[e.Vmixer=3]="Vmixer",e[e.Minutes=4]="Minutes"}(xe||(xe={})),function(e){e[e.UnknownId=0]="UnknownId",e[e.ControlNodeId=1]="ControlNodeId",e[e.TerminalNodeId=2]="TerminalNodeId",e[e.ChannelId=3]="ChannelId"}(Ye||(Ye={})),function(e){e[e.NORMAL_ATTACH=0]="NORMAL_ATTACH",e[e.FORCE_REATTACH=1]="FORCE_REATTACH",e[e.RESYNC=2]="RESYNC"}(qe||(qe={})),function(e){e[e.NODE_JOIN=0]="NODE_JOIN",e[e.NODE_LEAVE=1]="NODE_LEAVE"}(Ve||(Ve={})),function(e){e[e.High=0]="High",e[e.Normal=1]="Normal",e[e.Low=2]="Low"}(Ge||(Ge={})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.DEFAULT=1]="DEFAULT",e[e.NODE_MAP=2]="NODE_MAP"}(Je||(Je={}));var Fe=function(e){return"number"==typeof e?Long.fromNumber(e,!0):new Long(e.low,e.high,e.unsigned)},Ke=function(){function e(){_(this,e)}return k(e,null,[{key:"isValidId",value:function(t){var r=Fe(t);if(r.and(e.ChannelMaskLong.not()).eq(Long.ZERO))return!0;var n=r.and(e.NodeTypeMaskLong).eq(e.NodeTypeMaskLong),i=r.and(e.TerminalMaskLong).eq(Long.ZERO);if(!n&&i||n&&!i)return!1;var o=r.and(e.UseCtrlL1MaskLong).eq(e.UseCtrlL1MaskLong),a=r.and(e.CtrlLayer1MaskLong).eq(Long.ZERO);return!(o&&a||!o&&!a)}},{key:"getIdType",value:function(t){var r=Fe(t);return r.and(e.ChannelMaskLong).eq(r)?Ye.ChannelId:e.isValidId(t)?r.and(e.NodeTypeMaskLong).eq(e.NodeTypeMaskLong)?Ye.ControlNodeId:Ye.TerminalNodeId:Ye.UnknownId}},{key:"replaceClusterId",value:function(t,r){return t.and(e.ClusterIdMaskLong.not()).or(Long.fromNumber(r).shiftLeft(42))}},{key:"getTopNodeId",value:function(t){return(4095&t)<<42|e.NodeTypeMask}},{key:"extractParentNodeId",value:function(t,r){var n=Fe(t);if(!this.isValidId(n)||this.isTopControlNode(n))return Long.ZERO;var i=n.and(e.EndpointMaskLong),o=n.and(e.NodeTypeMaskLong).equals(e.NodeTypeMaskLong),a=n.and(e.UseCtrlL1MaskLong).equals(e.UseCtrlL1MaskLong);if(o&&a||!o&&!a){var s=e.replaceClusterId(e.NodeTypeMaskLong.or(e.CtrlLayer0MaskLong.or(e.SubDsMaskLong).and(n)),r).or(i);return o&&a?s.and(e.SubDsMaskLong.not()).or(Long.fromNumber((15&xe.SubtopDS)<<54)):s}return o&&!a?e.replaceClusterId(Long.fromNumber(e.NodeTypeMask),r).or(i).and(e.SubDsMaskLong.not()):!o&&a?e.replaceClusterId(e.NodeTypeMaskLong.or(e.UseCtrlL1MaskLong).or(e.CtrlLayer0MaskLong).or(e.CtrlLayer1MaskLong.or(e.CtrlLayer1MaskLong).or(e.SubDsMaskLong)).and(n),r).or(i):0}},{key:"extractNodeIdWithoutClusterId",value:function(t){var r=e.EndpointMaskLong.or(e.ClusterIdMaskLong).or(e.ReservedMaskLong).or(e.SubDsMask);return Fe(t).and(r.not())}},{key:"isTopControlNode",value:function(t){var r=Fe(t);return r.and(e.NodeTypeMaskLong).equals(e.NodeTypeMaskLong)&&r.and(e.UseCtrlL1MaskLong).or(e.CtrlLayer0MaskLong).or(e.CtrlLayer1MaskLong).or(e.TerminalMaskLong)}},{key:"isDirectChild",value:function(t,r){if(0==(r&e.NodeTypeMask))return!1;var n=t&(e.CtrlLayer0Mask|e.CtrlLayer1Mask|e.TerminalMask),i=r&(e.CtrlLayer0Mask|e.CtrlLayer1Mask|e.TerminalMask);return n!=r&&0!=t&&(i==(n&(e.CtrlLayer0Mask|e.CtrlLayer1Mask))||i==(n&e.CtrlLayer0Mask)&&0==(n&~(e.CtrlLayer0Mask|e.CtrlLayer1Mask))||0==i&&0==(t&~e.CtrlLayer0Mask))}},{key:"isChild",value:function(t,r){if(0==(r&e.NodeTypeMask))return!1;var n=t&(e.CtrlLayer0Mask|e.CtrlLayer1Mask|e.TerminalMask),i=r&(e.CtrlLayer0Mask|e.CtrlLayer1Mask|e.TerminalMask);return n!==i&&0!==n&&(0===i||r==(n&(e.CtrlLayer0Mask|e.CtrlLayer1Mask))||i==(n&e.CtrlLayer0Mask))}},{key:"isMe",value:function(t,r){if(!this.isValidId(t)||!this.isValidId(r))return!1;var n=e.EndpointMaskLong.or(e.ClusterIdMask).or(e.ReservedMaskLong);return Fe(t).and(n.not()).eq(Fe(r).and(n.not()))}},{key:"extractEndpointId",value:function(t){return Fe(t).and(e.EndpointMaskLong).toNumber()}},{key:"composeId",value:function(t,r){return Fe(t).and(e.EndpointMaskLong.not()).or(Fe(r))}},{key:"extractNodeId",value:function(t){return Fe(t).and(e.EndpointMaskLong.not())}}])}();function He(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function We(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?He(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):He(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function Qe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Qe=function(){return!!e})()}Object.defineProperty(Ke,"ReservedMask",{enumerable:!0,configurable:!0,writable:!0,value:63<<58}),Object.defineProperty(Ke,"SubDsMask",{enumerable:!0,configurable:!0,writable:!0,value:15<<54}),Object.defineProperty(Ke,"ClusterIdMask",{enumerable:!0,configurable:!0,writable:!0,value:4193280}),Object.defineProperty(Ke,"NodeTypeMask",{enumerable:!0,configurable:!0,writable:!0,value:512}),Object.defineProperty(Ke,"UseCtrlL1Mask",{enumerable:!0,configurable:!0,writable:!0,value:256}),Object.defineProperty(Ke,"CtrlLayer0Mask",{enumerable:!0,configurable:!0,writable:!0,value:1023<<30}),Object.defineProperty(Ke,"CtrlLayer1Mask",{enumerable:!0,configurable:!0,writable:!0,value:1023<<20}),Object.defineProperty(Ke,"TerminalMask",{enumerable:!0,configurable:!0,writable:!0,value:1048320}),Object.defineProperty(Ke,"EndpointMask",{enumerable:!0,configurable:!0,writable:!0,value:255}),Object.defineProperty(Ke,"ChannelMask",{enumerable:!0,configurable:!0,writable:!0,value:255}),Object.defineProperty(Ke,"ReservedMaskLong",{enumerable:!0,configurable:!0,writable:!0,value:Long.fromNumber(63).shiftLeft(58)}),Object.defineProperty(Ke,"SubDsMaskLong",{enumerable:!0,configurable:!0,writable:!0,value:Long.fromNumber(15).shiftLeft(54)}),Object.defineProperty(Ke,"ClusterIdMaskLong",{enumerable:!0,configurable:!0,writable:!0,value:Long.fromNumber(4095).shiftLeft(42)}),Object.defineProperty(Ke,"NodeTypeMaskLong",{enumerable:!0,configurable:!0,writable:!0,value:Long.fromNumber(1).shiftLeft(41)}),Object.defineProperty(Ke,"UseCtrlL1MaskLong",{enumerable:!0,configurable:!0,writable:!0,value:Long.fromNumber(1).shiftLeft(40)}),Object.defineProperty(Ke,"CtrlLayer0MaskLong",{enumerable:!0,configurable:!0,writable:!0,value:Long.fromNumber(1023).shiftLeft(30)}),Object.defineProperty(Ke,"CtrlLayer1MaskLong",{enumerable:!0,configurable:!0,writable:!0,value:Long.fromNumber(63).shiftLeft(20)}),Object.defineProperty(Ke,"TerminalMaskLong",{enumerable:!0,configurable:!0,writable:!0,value:Long.fromNumber(4095).shiftLeft(8)}),Object.defineProperty(Ke,"EndpointMaskLong",{enumerable:!0,configurable:!0,writable:!0,value:Long.fromNumber(255)}),Object.defineProperty(Ke,"ChannelMaskLong",{enumerable:!0,configurable:!0,writable:!0,value:Long.fromNumber(255)});var Ze=function(){function e(t,r){var n,i,o;return _(this,e),i=this,o=w(o=e),n=M(i,Qe()?Reflect.construct(o,[],w(i).constructor):o.apply(i,undefined)),Object.defineProperty(n,"socket",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(n,"requestMap",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"attachUserConfirm",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),n.socket=t,n.logger=r.getLoggerWithPrefix("[chn-switchtrans]"),n.requestMap=new Map,n}return j(e,EventEmitter),k(e,[{key:"channelBind",value:function(e){var t=this,r={chanId:2,type:de.ChannelType.DataSwitcherChannel,address:location.hostname},n="".concat(e,"#").concat(se.MessageType.TYPE_ATTACH_USER_CONFIRM);return this.commitRPC(function(){return t.socket.send(de.MessageType.ChannelBindType,{channelBind:r}).catch(function(e){var r;throw null===(r=t.requestMap.get(n))||void 0===r||r.reject(e),t.requestMap.delete(n),e})},n)}},{key:"commitRPC",value:function(e,t){var r=this;return t?new Promise(function(n,i){e(),r.requestMap.set(t,{resolve:n,reject:i}),addTimer(function(){var e=r.requestMap.get(t);null!=e&&e.reject&&(e.reject(new DingRTCError(ErrorCode.APICallTimeOut,"".concat(t," timeout"))),r.requestMap.delete(t))},8e3)}):Promise.resolve(e())}},{key:"send",value:function(e,t){var r,n=this,i=e[ve.rpcTypeKeyMap[e.type]],o=i.sessionType,a=i.sessionKey,s=i.requestId,c=i.groupId,l=i.nodeId;s?r="".concat(Ke.extractEndpointId(t.from),"#").concat(s):a?r="".concat(o,"#").concat(a,"#").concat(e.type+1):c&&(r="".concat(""+l,"#").concat(c,"#").concat(e.type+1));var u={msgType:oe.Type.kData,data:We(We({},t),{},{data:De.encode(e).finish()})},d={Type:de.MessageType.ChannelDataType,Version:1,channelData:{chanId:2,data:we.encode(u).finish()}};return this.commitRPC(function(){return n.socket.instance.send(ke.encode(d).finish())},r)}},{key:"onMessage",value:function(e){var t=we.decode(e),r=t.data,n=r.to,i=r.from,o=r.data;if(t.msgType===oe.Type.kData){var a;try{a=De.decode(o)}catch(e){return void this.logger.warn("handleMessage, dsmsg parse failed")}var s=Ke.getIdType(n)===Ye.ChannelId,c=Ke.extractEndpointId(s?i:n),l=a.type,u=ve.msgTypeKeyMap[l],d=a[u];if(d)if(ve.confirmTypes.includes(l)){this.logger.debug("".concat(u,": ").concat(JSON.stringify(d)));var p,h=d.result,f=d.requestId,g=d.sessionKey,y=d.sessionType,v=d.serverNodeId,m=d.pid,b=d.groupId,S=d.nodeId;f?p="".concat(c,"#").concat(f):v?p="".concat(m,"#").concat(l):g?p="".concat(y,"#").concat(g,"#").concat(l):b&&(p="".concat(""+S,"#").concat(b,"#").concat(l));var _=this.requestMap.get(p);if(!_)return;0===h?(this.logger.info("".concat(u," rpcId:").concat(p," result===> ").concat(JSON.stringify(d))),_.resolve(d)):(this.logger.warn("".concat(u," rpcId:").concat(p," error===> ").concat(JSON.stringify(d))),_.reject(d)),this.requestMap.delete(p)}else l===se.MessageType.TYPE_SESSION_CMD_DATA_NOTIFICATION?this.emit("sessionCmdData",c,s,d):l===se.MessageType.TYPE_SESSION_DATA?this.emit("sessionData",i,c,s?n:0,d):l===se.MessageType.TYPE_DETACH_USER_CONFIRM?this.emit("detachUserConfirm",d):l===se.MessageType.TYPE_NODE_MAP_UPDATE?this.emit("nodeMapUpdated",c,d):l===se.MessageType.TYPE_NODE_MAP_SNAPSHOT?this.emit("nodeMapSnapshot",c,d):l===se.MessageType.TYPE_SESSION_CREATED?this.emit("sessionCreated",d):l===se.MessageType.TYPE_SESSION_CLOSED?this.emit("sessionClosed",d):l===se.MessageType.TYPE_GROUP_CREATED?this.emit("groupCreated",c,d):l===se.MessageType.TYPE_GROUP_DESTROYED?this.emit("groupDestroyed",c,d):l===se.MessageType.TYPE_SERVICE_STATUS?this.emit("serviceStatus",c,d):l===se.MessageType.TYPE_SWITCHER_UPDATE&&this.emit("switchUpdate",d);else this.logger.warn("msgType: ".concat(u," has no payload"))}}}])}();function ze(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function $e(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return($e=function(){return!!e})()}var Xe=function(){function e(t){var r,n,i;return _(this,e),n=this,i=w(i=e),r=M(n,$e()?Reflect.construct(i,[],w(n).constructor):i.apply(n,undefined)),Object.defineProperty(r,"instance",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"heartBeat",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"requestMap",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"ticket",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"token",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"refreshTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"sequenceId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"rejoin",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"basicTransport",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"switchTransport",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"destroyed",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"retryCount",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"socketReconnectionTimeoutTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"signalReconnectionTimeoutTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"connectionTimeoutTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"state",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"instantlyReconnect",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.logger.info("instantlyReconnect for browser offline event"),window.removeEventListener("offline",r.instantlyReconnect),"reconnecting"!==r.state&&r.setTimerToReconnectSocket(!0)}}),r.logger=t.getLoggerWithPrefix("[chn-socket]"),r.state="disconnected",r.requestMap=new Map,r.heartBeat=new Ae,r.refreshTimer=null,r.sequenceId=1,r.retryCount=0,r.switchTransport=new Ze(r,t),r.basicTransport=new Be(r,t),r}return j(e,EventEmitter),k(e,[{key:"onHeartBeat",value:function(){var e=this;this.heartBeat.on("retry",function(){e.destroyed||e.reconnect("keepalive")}),this.heartBeat.on("ping",function(t){e.send(de.MessageType.KeepaliveType,t)})}},{key:"setTimerToReconnectSocket",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.signalReconnectionTimeoutTimer&&(removeTimer(this.signalReconnectionTimeoutTimer),this.signalReconnectionTimeoutTimer=null),this.signalReconnectionTimeoutTimer=addTimer(function(){e.reconnect(t?"reconnect for noWaitTime":"reconnect req Timeout")},t?0:15e3)}},{key:"reconnect",value:function(e){this.close(),this.logger.debug("retry connect start, for ".concat(e)),this.clearConnectionTimer(!0),"connected"!==this.state&&"connecting"!==this.state||this.updateState("reconnecting"),this.init(this.url,this.token,!1,6e3)}},{key:"init",value:function(e,t){var r,n=this,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1;o>0&&(r=addTimer(function(){n.logger.info("finish connect init due to timeout"),n.instance.onclose=null,n.instance.onerror=null,n.instance.onopen=null,n.instance.onmessage=null,n.instance.close(),n.onClose(new CloseEvent("socket connect timeout, positive finished"))},o)),this.url=e,this.token=t,this.rejoin=i,"reconnecting"!==this.state&&(this.updateState("connecting"),this.connectionTimeoutTimer=addTimer(function(){n.updateState("disconnected","network_error"),n.close(!0)},32e3)),this.instance=new WebSocket(e),this.instance.binaryType="arraybuffer",this.instance.onopen=function(){removeTimer(r),n.onOpen()},this.instance.onmessage=function(e){n.onMessage(e)},this.instance.onerror=function(e){n.onError(e)},this.instance.onclose=function(e){removeTimer(r),n.onClose(e)}}},{key:"clear",value:function(){this.heartBeat.stop(),this.clearConnectionTimer(),this.requestMap.clear(),this.heartBeat.removeAllListeners()}},{key:"close",value:function(){this.destroyed=arguments.length>0&&void 0!==arguments[0]&&arguments[0],this.clear(),this.instance&&(this.instance.onerror=null,this.instance.onmessage=null,this.instance.onclose=null,this.instance.onopen=null,this.instance.close(),this.instance=null)}},{key:"getTransportData",value:function(e,t){var r=function(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ze(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ze(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({Type:e,Version:1,SequenceId:this.sequenceId++},t);return ke.encode(r).finish()}},{key:"send",value:function(e,t,r,n){var i,o,a=this;if(1!==(null===(i=this.instance)||void 0===i?void 0:i.readyState))return Promise.reject("socket state error: ".concat((null===(o=this.instance)||void 0===o?void 0:o.readyState)||0));var s=this.getTransportData(e,t);if(de.MessageType.KeepaliveType!==e&&this.setTimerToReconnectSocket(),![de.MessageType.KeepaliveType,de.MessageType.ChannelDataType].includes(e))return new Promise(function(t,i){a.instance.send(s);var o=null!=r?r:e,c=n||e;a.requestMap.set(o,{resolve:t,reject:i}),addTimer(function(){var e=a.requestMap.get(o);null!=e&&e.reject&&(e.reject(new DingRTCError(ErrorCode.APICallTimeOut,"".concat(c," timeout"))),a.requestMap.delete(o))},ue)});this.instance.send(s)}},{key:"clearConnectionTimer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.signalReconnectionTimeoutTimer&&(removeTimer(this.signalReconnectionTimeoutTimer),this.signalReconnectionTimeoutTimer=null),this.socketReconnectionTimeoutTimer&&e&&(removeTimer(this.socketReconnectionTimeoutTimer),this.socketReconnectionTimeoutTimer=null),null!=this.connectionTimeoutTimer&&(removeTimer(this.connectionTimeoutTimer),this.connectionTimeoutTimer=null)}},{key:"channelBind",value:function(){this.logger.info("channelBind started");var e={chanId:1,type:de.ChannelType.PortalChannel,address:location.hostname};return this.send(de.MessageType.ChannelBindType,{channelBind:e})}},{key:"auth",value:function(e){var t=this;return this.logger.info("auth started rejoin=",this.rejoin),this.send(de.MessageType.AuthType,{auth:{token:e,duplicate:this.rejoin,options:{supportReliable:!1,supportPingConfig:!0}}}).then(function(e){if(t.logger.info("auth res",e),t.refresh(e.ticket),e.pingConfig)return e.pingConfig})}},{key:"refresh",value:function(e){var t=this;this.ticket=e;var r=JSON.parse(fromBase64(e)).notAfter,n=Date.now();if(n-1e4<r){var i=r-n-6e4;0>i&&(i=r-n-1e4),removeTimer(this.refreshTimer),this.refreshTimer=addTimer(function(){t.refreshTicket().then(function(e){t.refresh(e.ticket)})},i)}else this.logger.warn("Reconnection ticket expires too soon.")}},{key:"refreshTicket",value:function(){return this.send(de.MessageType.RefreshTicketType,{refreshTicket:{}})}},{key:"reauth",value:function(e){var t=this;return this.send(de.MessageType.ReAuthType,{reauth:{ticket:e,options:{supportReliable:!1,supportPingConfig:!0}}}).then(function(e){t.emit("reauth"),e.pingConfig&&t.heartBeat.start(e.pingConfig)}).catch(function(e){t.logger.error("reauth error"+JSON.stringify(e)),(null==e?void 0:e.errorMsg)!==de.AuthErrorMsg.Unavailable?t.onRejoin():(t.updateState("disconnected","timeout"),t.close(!0))})}},{key:"onRejoin",value:function(){this.rejoin||(this.emit("rejoin"),this.logger.warn("rejoin started")),this.close(!0)}},{key:"onMessage",value:function(e){this.setTimerToReconnectSocket();var t=ke.decode(new Uint8Array(e.data));if(t.Type===de.MessageType.ChannelDataType)1===t.channelData.chanId?this.basicTransport.onMessage(t):2===t.channelData.chanId&&this.switchTransport.onMessage(t.channelData.data);else if(t.Type===de.MessageType.RpcProxyResponseType)this.logger.debug("onmsg",t.Type,t),this.basicTransport.onProxyRtmpResponseMsg(t);else if(t.Type===de.MessageType.KeepaliveResponseType)this.heartBeat.pong(t.keepaliveResponse);else if(t.Type===de.MessageType.ServerRequestType){var r=t.notification.event;this.logger.warn("server request ".concat(1===r?"reauth":"rejoin")),r===de.ServerEvent.ReauthRequest?this.reauth(this.ticket):r===de.ServerEvent.RejoinRequest&&this.onRejoin()}else{var n,i,o=new Map([[de.MessageType.AuthResponseType,t.authResponse],[de.MessageType.ChannelBindResponseType,t.channelBindResponse],[de.MessageType.ReAuthResponseType,t.reauthResponse],[de.MessageType.RefreshTicketResponseType,t.refreshTicketResponse]]).get(t.Type);o.code===de.ErrorCode.Ok?null===(n=this.requestMap.get(t.Type-1))||void 0===n||n.resolve(o):null===(i=this.requestMap.get(t.Type-1))||void 0===i||i.reject(o),this.requestMap.delete(t.Type-1)}}},{key:"onError",value:function(e){this.logger.error("onError: ".concat(JSON.stringify(e)))}},{key:"onOpen",value:(t=C(pe.mark(function e(){var t,r,n=this;return pe.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.clearConnectionTimer(!0),this.retryCount=0,window.addEventListener("offline",this.instantlyReconnect),"reconnecting"!==this.state){e.next=1;break}this.reauth(this.ticket).then(function(){n.rejoin=!1,n.updateState("connected"),n.onHeartBeat()}),e.next=5;break;case 1:return e.prev=1,e.next=2,this.auth(this.token);case 2:return t=e.sent,e.next=3,this.channelBind();case 3:this.logger.info("channelBind res",e.sent),this.rejoin=!1,this.updateState("connected"),this.onHeartBeat(),this.heartBeat.start(t),e.next=5;break;case 4:e.prev=4,r=e.catch(1),this.logger.debug("auth or channelBind failed",r),this.updateState("disconnected","server_error"),this.close(!0);case 5:case"end":return e.stop()}},e,this,[[1,4]])})),function(){return t.apply(this,arguments)})},{key:"updateState",value:function(e,t){e!==this.state&&(this.emit("connection-state-change",e,this.state,t),this.state=e)}},{key:"onClose",value:function(e){var t=this;this.logger.warn("socket closed:"+JSON.stringify(e)),this.rejoin?this.updateState("disconnected","server_error"):this.destroyed||("reconnecting"===this.state?(this.retryCount++,this.retryCount>18?(this.updateState("disconnected","network_error"),this.retryCount=0):this.socketReconnectionTimeoutTimer=addTimer(function(){t.reconnect("retry count"+t.retryCount)},ye)):"connecting"==this.state?this.socketReconnectionTimeoutTimer=addTimer(function(){t.reconnect("localNetwork")},ye):"disconnected"!==this.state&&(this.socketReconnectionTimeoutTimer=addTimer(function(){t.reconnect("server closed, retry count"+t.retryCount)},ye))),this.clear()}}]);var t}();function et(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function tt(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?et(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):et(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var nt=getReporter().getLoggerWithPrefix("[ch-gslb]");function it(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(it=function(){return!!e})()}var rt=function(){function e(t,r){var n,i,o;return _(this,e),i=this,o=w(o=e),n=M(i,it()?Reflect.construct(o,[],w(i).constructor):o.apply(i,undefined)),Object.defineProperty(n,"reporter",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(n,"transport",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),n.transport=t.basicTransport,n.reporter=r,n.logger=n.reporter.getLoggerWithPrefix("[chn-signaling]"),n.forwardNotification(),n}return j(e,EventEmitter),k(e,[{key:"forwardNotification",value:function(){var e=this;["participant","batch-notify","conference","drop","notify","rejoin","connection-state-change","sync","reauth"].forEach(function(t){e.transport.on(t,function(){for(var r=arguments.length,n=Array(r),i=0;r>i;i++)n[i]=arguments[i];e.emit.apply(e,[t].concat(n))})})}},{key:"relogin",value:function(e){var t=this,r=e.token,n=Oe.encode(e).finish();return this.transport.connect(r,!0).then(function(){return t.transport.sendChnData("rejoin-login",n,e,!0).then(function(e){return e.rejoinResponse})})}},{key:"login",value:function(e){var t=this,r=e.token,n=Ne.encode(e).finish();return this.transport.connect(r,!1).then(function(){return t.transport.sendChnData("login",n,e,!0).then(function(e){return e.joinResponse})})}},{key:"diconnect",value:function(){return this.transport.disconnect()}},{key:"logout",value:function(){var e=this;return this.transport.sendChnData("logout",void 0,null,!0).catch(function(t){e.logger.debug("logout api called failed ".concat(JSON.stringify(t)))}),this.diconnect()}},{key:"getUsersVer",value:function(e){var t=Re.encode(e).finish();return this.transport.sendChnData("query-participants-ver",t,e,!0).then(function(e){return e.queryParticipantsVerResponse})}},{key:"getUsers",value:function(e){var t=_e.encode(e).finish();return this.transport.sendChnData("query-participants",t,e,!0).then(function(e){return e.queryParticipantsResponse})}},{key:"rpc",value:function(e,t,r){return this.transport.sendChnData(e,t,r)}}])}();function ot(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);t>r;r++)n[r]=e[r];return n}function st(e,t){if(e){if("string"==typeof e)return ot(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ot(e,t):void 0}}function at(e){return function(e){if(Array.isArray(e))return ot(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||st(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function dt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ct(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?dt(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):dt(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function pt(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return lt(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?lt(e,t):void 0}}(e))||t){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return e.length>n?{done:!1,value:e[n++]}:{done:!0}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw o}}}}function lt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);t>r;r++)n[r]=e[r];return n}function ut(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ut=function(){return!!e})()}var yt,ht,ft,gt,vt,mt,bt,Tt=function(){function e(t){var r,n,i;return _(this,e),n=this,i=w(i=e),r=M(n,ut()?Reflect.construct(i,[],w(n).constructor):i.apply(n,undefined)),Object.defineProperty(r,"channel",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(r,"participants",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"currentPid",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"reporter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"totalVer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"onConnectionStateChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t){r.logger.info("chn connection-state-change",e,t),"connected"===e&&"reconnecting"===t&&r.sync(!1)}}),r.participants=new Map,r.channel=t,r.reporter=t.reporter,r.logger=r.reporter.getLoggerWithPrefix("[chn-usermgr]"),r.handleEvent=r.handleEvent.bind(r),r.handleSyncEvent=r.handleSyncEvent.bind(r),r.sync=r.sync.bind(r),r}return j(e,EventEmitter),k(e,[{key:"currentUids",get:function(){return at(this.participants.values()).map(function(e){return e.user})}},{key:"init",value:function(e,t,r){var n,i=pt(e);try{for(i.s();!(n=i.n()).done;){var o=n.value;this.participants.set(o.id,o)}}catch(e){i.e(e)}finally{i.f()}this.totalVer=t,this.currentPid=r,this.channel.signaling.on("participant",this.handleEvent),this.channel.signaling.on("sync",this.handleSyncEvent),this.channel.signaling.on("reauth",this.sync),this.channel.on("connection-state-change",this.onConnectionStateChange)}},{key:"clear",value:function(){this.participants.clear(),this.currentPid="",this.totalVer=0,this.channel.signaling.off("participant",this.handleEvent),this.channel.signaling.off("sync",this.handleSyncEvent),this.channel.signaling.off("reauth",this.sync),this.channel.off("connection-state-change",this.onConnectionStateChange)}},{key:"handleEvent",value:function(e,t){var r=this;this.logger.info("channelUserEvent",e);var n=e.action,i=e.info,o=e.participantId,a=e.totalVer,s=e.propertiesData,c=this.totalVer,l=this.participants.get(o||(null==s?void 0:s.id));if(a==c+1||-999==a||t)if("join"===n&&i){var u=at(this.participants.values()).filter(function(e){return e.user===i.user});this.participants.set(i.id,i),0===u.length?this.emit("user","join",i):(this.logger.info("delete same uid participants, for new join",i,u),u.map(function(e){return r.participants.delete(e.id)}),this.emit("user","participant-replace",i,u))}else"leave"===n?l?(this.participants.delete(o),this.currentUids.includes(l.user)?this.logger.info("user ".concat(l.user," has another pid in channel")):this.emit("user","leave",l)):this.logger.info("Received leave message for unknown participant."):"setProperties"===n&&(l.propertiesJsonStr=JSON.stringify(ct(ct({},JSON.parse(l.propertiesJsonStr||"{}")),JSON.parse(s.propertiesJsonStr||"{}"))),this.emit("user","update",l));t||this.totalVer>=a&&-999!==a||(a===c+1&&(this.totalVer=a),a>c+1&&!t&&this.sync())}},{key:"handleSyncEvent",value:function(e){e.participantsVer>this.totalVer&&this.sync()}},{key:"sync",value:(t=C(pe.mark(function e(){var t,r,n,i,o,a,s,c,l,u,d,p,h,f,g,y,v,m,b,S,_,w,I,T,E,O,P,C,R=arguments;return pe.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.logger.info("request sync user checkUserVer=",t=!(R.length>0&&void 0!==R[0])||R[0]),r=[],n=[],e.next=1,this.channel.signaling.getUsersVer({});case 1:o=(i=e.sent).participants,a=i.totalVer,s=at(this.participants.keys()),c=o.map(function(e){return e.id}),l=pt(o);try{for(l.s();!(u=l.n()).done;)f=(p=u.value).ver,this.participants.has(h=p.id)?((null===(d=this.participants.get(h))||void 0===d?void 0:d.ver)!==f&&t||!t)&&r.push(h):n.push(h)}catch(e){l.e(e)}finally{l.f()}if(this.reporter.trace.syncEvent("user",s,c),g=s.filter(function(e){return!c.includes(e)}),y=at(new Set(r.concat(g,n))),this.totalVer=a,0!==y.length){e.next=2;break}return this.logger.info("no diff user, return"),e.abrupt("return");case 2:return e.next=3,this.channel.signaling.getUsers({pids:y});case 3:m=(v=e.sent).totalVer,b=v.participants,S=new Map,_=pt(this.participants.values());try{for(_.s();!(w=_.n()).done;)S.set((I=w.value).id,I)}catch(e){_.e(e)}finally{_.f()}T=pt(b);try{for(T.s();!(E=T.n()).done;)this.participants.has((O=E.value).id)?(this.participants.set(O.id,O.data),this.handleEvent({action:"setProperties",participantId:O.id,info:this.participants.get(O.id),totalVer:m,propertiesData:O.data},!0)):S.set(O.id,O.data)}catch(e){T.e(e)}finally{T.f()}for(P=0;P<at(S.values()).length;P++)n.includes((C=S[P]).id)?this.handleEvent({action:"join",participantId:C.id,info:C,totalVer:m},!0):g.includes(C.id)&&this.handleEvent({action:"leave",participantId:C.id,info:C,totalVer:m},!0);this.totalVer=m;case 4:case"end":return e.stop()}},e,this)})),function(){return t.apply(this,arguments)})}]);var t}();function St(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,s=[],c=!0,l=!1;try{if(o=(r=r.call(e)).next,0===t);else for(;!(c=(n=o.call(r)).done)&&(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw i}}return s}}(e,t)||st(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}!function(e){e[e.UNKNOWN=-1]="UNKNOWN",e[e.WHITEBOARD=0]="WHITEBOARD",e[e.RTCSERVICE=1]="RTCSERVICE",e[e.RTCSUBTITLE=2]="RTCSUBTITLE",e[e.CUSTOMIZE=101]="CUSTOMIZE"}(yt||(yt={})),function(e){e[e.NODE_JOIN=0]="NODE_JOIN",e[e.NODE_LEAVE=1]="NODE_LEAVE"}(ht||(ht={})),function(e){e[e.RTMS=0]="RTMS",e[e.SDK=1]="SDK",e[e.APP=2]="APP"}(ft||(ft={})),function(e){e[e.OPEN=0]="OPEN",e[e.CLOSE=1]="CLOSE",e[e.ERROR=2]="ERROR"}(gt||(gt={})),function(e){e.IDLE="idle",e.READY="ready"}(vt||(vt={})),function(e){e.UNINITED="uninited",e.READY="ready",e.LEFT="left",e.CLOSED="closed"}(mt||(mt={})),function(e){e.UNINITED="uninited",e.BINDING="binding",e.READY="ready",e.CLOSED="closed"}(bt||(bt={}));var Et=k(function e(t){_(this,e),Object.defineProperty(this,"log",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pending",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"nodesInfo",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"pid",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pidToNodeInfo",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"getNodeInfoKey",{enumerable:!0,configurable:!0,writable:!0,value:function(e){return"number"==typeof e?"number"+e:"low".concat(e.low,"high").concat(e.high,"unsigned").concat(e.unsigned)}}),this.log=t},[{key:"handleNodeMapUpdate",value:function(e){var t=this;return e.items.filter(function(e){return e.action===ht.NODE_JOIN&&t.addNode(e)||e.action===ht.NODE_LEAVE&&t.removeNode(e)})}},{key:"handleNodeMapSnapshot",value:function(e){var t=this,r=e.end,n=e.items;if(e.start&&this.pending.clear(),n.forEach(function(e){return t.pending.set(e.pid,e)}),r){this.log.info("Snapshot,size:".concat(this.pidToNodeInfo.size," to:").concat(this.pending.size));var i=[];return this.pidToNodeInfo.forEach(function(e,r){var n;i.push({pid:r,uid:e.uid,userName:e.userName,nodeId:(null===(n=t.pending.get(r))||void 0===n?void 0:n.nodeId)||e.nodeId,action:t.pending.has(r)?ht.NODE_JOIN:ht.NODE_LEAVE}),t.pending.delete(r)}),this.pending.forEach(function(e,t){i.push({pid:t,nodeId:e.nodeId,uid:e.uid,userName:e.userName,action:ht.NODE_JOIN})}),this.pending.clear(),this.handleNodeMapUpdate({items:i})}}},{key:"getNodeInfo",value:function(e){var t=this.getNodeInfoKey(e);return this.nodesInfo.get(t)}},{key:"addNode",value:function(e){var t=e.pid,r=e.nodeId,n=this.getNodeInfoKey(r);return this.nodesInfo.has(n)?(this.log.debug("updateNode,pid:".concat(t,", nodeId:").concat(r)),this.nodesInfo.set(n,e),this.pidToNodeInfo.set(n,e),!1):(this.log.debug("addNode,pid:".concat(t,", nodeId:").concat(r)),this.nodesInfo.set(n,e),this.pidToNodeInfo.set(t,e),t!==this.pid)}},{key:"removeNode",value:function(e){var t=e.pid,r=e.nodeId,n=this.getNodeInfoKey(r);return!!this.nodesInfo.has(n)&&(this.log.debug("removeNode, pid:".concat(t,", nodeId:").concat(r)),this.nodesInfo.delete(n),this.pidToNodeInfo.delete(t),t!==this.pid)}},{key:"getPid",value:function(e){var t,r=this.getNodeInfoKey(e);return null===(t=this.nodesInfo.get(r))||void 0===t?void 0:t.pid}},{key:"clear",value:function(){this.pending.clear(),this.nodesInfo.clear(),this.pidToNodeInfo.clear()}}]),It=k(function e(t,r,n,i){_(this,e),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nodeId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"channel",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:vt.IDLE}),Object.defineProperty(this,"logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"session",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.id=r.groupId,this.session=n,this.logger=i.getLoggerWithPrefix("[chn-dsgroup]"),this.nodeId=t,this.channel=r.channel},[{key:"join",value:function(){var e=this;return this.logger.info("join dsgroup ".concat(this.session.id,"#group:").concat(this.id," state:").concat(null==this?void 0:this.state)),new Promise(function(t,r){e.session.switcher.enquenTask.add(function(){if((null==e?void 0:e.state)!==vt.READY){var n={type:se.MessageType.TYPE_JOIN_GROUP,joinGroup:{groupId:e.id,nodeId:Ke.extractNodeId(e.nodeId)}};return e.session.switcher.send(n,{to:Ke.extractParentNodeId(e.nodeId,0),priority:Ge.Low,uniform:!1,endpointId:e.session.endpointId}).then(function(){e.state=vt.READY,t()}).catch(r)}r(new DingRTCError(ErrorCode.InvaildState,"group is already ready"))})})}},{key:"leave",value:function(){var e=this;return this.logger.info("leave dsgroup ".concat(this.session.id,"#group:").concat(this.id," state:").concat(null==this?void 0:this.state)),new Promise(function(t,r){(null==e?void 0:e.state)!==vt.READY&&r(new DingRTCError(ErrorCode.InvaildState,"group is not ready")),e.session.switcher.enquenTask.add(function(){var n={type:se.MessageType.TYPE_LEAVE_GROUP,leaveGroup:{groupId:e.id,nodeId:Ke.extractNodeId(e.nodeId)}};return e.session.switcher.send(n,{to:Ke.extractParentNodeId(e.nodeId,0),priority:Ge.Low,uniform:!1,endpointId:e.session.endpointId}).then(function(){e.state=vt.IDLE,t()}).catch(r)})})}}]);function Ct(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Ct=function(){return!!e})()}var Ot=function(){function e(t,r,n,i){var o,a,s;return _(this,e),a=this,s=w(s=e),o=M(a,Ct()?Reflect.construct(s,[],w(a).constructor):s.apply(a,undefined)),Object.defineProperty(o,"type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(o,"syncing",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(o,"pendingMessages",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(o,"joinPromise",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(o,"groups",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(o,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(o,"logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(o,"reporter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(o,"switcher",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(o,"state",{enumerable:!0,configurable:!0,writable:!0,value:mt.UNINITED}),Object.defineProperty(o,"endpointId",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(o,"nodeMap",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(o,"broadcastChannel",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(o,"userData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),o.type=t,o.id=r,o.switcher=n,o.reporter=i,o.logger=i.getLoggerWithPrefix("[chn-dssession]"),o.nodeMap=new Et(o.logger),o.join=o.join.bind(o),o.leave=o.leave.bind(o),o.close=o.close.bind(o),o}return j(e,EventEmitter),k(e,[{key:"available",get:function(){var e;return"connected"===(null===(e=this.switcher)||void 0===e||null===(e=e.channel)||void 0===e?void 0:e.connectionState)&&this.state===mt.READY}},{key:"recover",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.logger.info("".concat(this.type,"#").concat(this.id," recover rejoin:").concat(e,",state:").concat(this.state)),e?this.state==mt.READY&&(this.syncing=!0,this.join()):this.syncing=!0}},{key:"retransmit",value:function(){for(this.logger.info("retransmit ".concat(this.type,"#").concat(this.id," pengingMsgLen:").concat(this.pendingMessages.length));this.pendingMessages.length;){var e=this.pendingMessages.shift(),t=e.resolve,r=e.reject;this.sendInner(e.message).then(t).catch(r)}}},{key:"join",value:function(e){var t,r=this;return this.logger.info("dssession join ".concat(this.type,"#").concat(this.id," state=").concat(this.state)),null!==(t=this.switcher)&&void 0!==t&&null!==(t=t.channel)&&void 0!==t&&t.enableDS?new Promise(function(t,n){r.switcher.enquenTask.add(function(){if(r.state!==mt.READY||r.syncing)return r.joinPromise={resolve:t,reject:n},r.switcher.send({type:se.MessageType.TYPE_JOIN_SESSION,joinSession:{sessionType:r.type,sessionKey:r.id,customSessionData:e||r.userData,nodeId:r.switcher.nodeId,pid:r.switcher.pid}}).then(function(e){var t,n;r.logger.info("dssession join ",e);var i=e.customSessionData,o=e.channels;r.endpointId=e.endpointId,r.broadcastChannel=null===(t=o.find(function(e){return e.type===Je.DEFAULT}))||void 0===t?void 0:t.id,r.userData=i,r.state=mt.READY,null===(n=r.joinPromise)||void 0===n||n.resolve(e)}).catch(function(e){var t;r.logger.info("dssession join error",e),null===(t=r.joinPromise)||void 0===t||t.reject(e),r.joinPromise=null});n(new DingRTCError(ErrorCode.InvaildState,"session is already ready"))})}):Promise.reject(new DingRTCError(ErrorCode.InvaildState,"dataSwitcher not enabled"))}},{key:"leave",value:function(){var e,t=this;return null!==(e=this.switcher)&&void 0!==e&&null!==(e=e.channel)&&void 0!==e&&e.enableDS?(this.logger.info("dssession leave ".concat(this.type,"#").concat(this.id," state:").concat(this.state)),new Promise(function(e,r){t.state!==mt.READY&&r(new DingRTCError(ErrorCode.InvaildState,"session is not ready")),t.switcher.enquenTask.add(function(){return t.switcher.send({type:se.MessageType.TYPE_LEAVE_SESSION,leaveSession:{sessionType:t.type,sessionKey:t.id,nodeId:t.switcher.nodeId}}).then(function(){t.state=mt.LEFT,e()}).catch(r)})})):Promise.reject(new DingRTCError(ErrorCode.InvaildState,"dataSwitcher not enabled"))}},{key:"close",value:function(){var e,t=this;return null!==(e=this.switcher)&&void 0!==e&&null!==(e=e.channel)&&void 0!==e&&e.enableDS?(this.logger.info("dssession close ".concat(this.type,"#").concat(this.id," state:").concat(this.state)),new Promise(function(e,r){t.switcher.enquenTask.add(function(){return t.state===mt.CLOSED&&r(new DingRTCError(ErrorCode.InvaildState,"session is already closed")),t.switcher.send({type:se.MessageType.TYPE_CLOSE_SESSION,closeSession:{sessionType:t.type,sessionKey:t.id,nodeId:t.switcher.nodeId}}).then(function(){t.state=mt.CLOSED,e()}).catch(r)})})):Promise.reject(new DingRTCError(ErrorCode.InvaildState,"dataSwitcher not enabled"))}},{key:"sendMessage",value:function(e){var t=this;return new Promise(function(r,n){if(t.state===mt.READY)return t.syncing||!t.available?(t.pendingMessages.length>1e3&&t.pendingMessages.shift().reject(new DingRTCError(ErrorCode.InvaildState,"pending size is full")),void t.pendingMessages.push({message:e,resolve:r,reject:n})):t.sendInner(e).then(r).catch(n);n(new DingRTCError(ErrorCode.InvaildState,"session is not ready"))})}},{key:"sendInner",value:function(e){var t,r,n,i,o=e.targetPid,a=e.echo,s=e.uniform,c=void 0!==s&&s,l=e.message,u=e.cmd,d=e.cmdType,p=e.requestId,h=e.groupId,f=u&&void 0!==d;t=o===fe?Ke.getTopNodeId(0):null===(r=this.nodeMap.pidToNodeInfo.get(o))||void 0===r?void 0:r.nodeId;var g,y="string"==typeof l?(new TextEncoder).encode(l):l;f?(n=Ke.composeId(this.switcher.serverNodeId,this.endpointId),i={type:se.MessageType.TYPE_SESSION_CMD_DATA,sessionCmdData:{cmd:u,echo:a,cmdType:d,toNodeId:t,requestId:p,data:y,broadcast:!o,fromPid:this.switcher.pid}}):(n=o?Ke.composeId(t,this.endpointId):this.broadcastChannel,h&&!o&&(n=null===(g=this.groups.get(h))||void 0===g||null===(g=g.channel)||void 0===g?void 0:g.id),i={type:se.MessageType.TYPE_SESSION_DATA,sessionData:{data:y}});return this.switcher.send(i,{to:n,echo:a,uniform:c,broadcast:!o,endpointId:this.endpointId,priority:f?Ge.Normal:Ge.Low})}},{key:"handleNodeMapSnapshot",value:function(e){var t,r=this,n=this.nodeMap.handleNodeMapSnapshot(e);e.end&&(n.length&&(n.forEach(function(e){var t=r.switcher.nodeMap.getNodeInfo(e.nodeId);t&&(e.uid=t.uid,e.userName=t.userName)}),this.logger.info("handleNodeMapSnapshot ".concat(this.type,"#").concat(this.id," updated=").concat(JSON.stringify(n))),this.emit("user-update",n)),this.retransmit(),null===(t=this.joinPromise)||void 0===t||t.resolve(),this.joinPromise=null,this.syncing&&(this.syncing=!1,this.logger.info("rejoin success ".concat(this.type,"#").concat(this.id))))}},{key:"handleNodeMapUpdate",value:function(e){var t=this,r=this.nodeMap.handleNodeMapUpdate(e);r.length&&(r.forEach(function(e){var r=t.switcher.nodeMap.getNodeInfo(e.nodeId);r&&(e.uid=r.uid,e.userName=r.userName)}),this.logger.info("handleNodeMapUpdate ".concat(this.type,"#").concat(this.id," nodeUpdated:").concat(JSON.stringify(r))),this.emit("user-update",r))}},{key:"handleSessionCreated",value:function(e,t,r){this.endpointId=e,this.broadcastChannel=t,this.userData=r}},{key:"handleSessionClosed",value:function(){this.state=mt.CLOSED,this.emit("leave","closed")}},{key:"handleSessionCmdData",value:function(e,t){var r=t.fromPid,n=t.cmd,i=t.cmdType,o=t.requestId,a=t.data,s=this.type!==yt.CUSTOMIZE?(new TextDecoder).decode(a):a;this.emit("message",{cmd:n,cmdType:i,requestId:o,broadcast:e,messageType:this.type!==yt.CUSTOMIZE?"STRING":"BINARY",pid:r,message:s})}},{key:"handleSessionData",value:function(e,t,r){var n,i,o=r.data,a=this.nodeMap.getPid(Ke.extractNodeId(e)),s=this.type!==yt.CUSTOMIZE?(new TextDecoder).decode(o):o,c=this.type!==yt.CUSTOMIZE?"STRING":"BINARY";t&&(n=null===(i=at(this.groups.values()).filter(function(e){var r;return(null==e||null===(r=e.channel)||void 0===r?void 0:r.id)===t})[0])||void 0===i?void 0:i.id);var l={pid:a,message:s,broadcast:!!t,messageType:c};n&&(l.groupId=n),this.emit("message",l)}},{key:"getGroup",value:function(e){var t=this.groups.get(e);return t||(t=new It(Ke.composeId(this.switcher.nodeId,this.endpointId),{groupId:e},this,this.reporter),this.groups.set(e,t)),t}},{key:"joinGroup",value:function(e){return this.getGroup(e).join()}},{key:"leaveGroup",value:function(e){return this.groups.has(e)?this.getGroup(e).leave():Promise.reject(new DingRTCError(ErrorCode.InvaildArgument,"group not found"))}},{key:"handleGroupCreated",value:function(e){var t=e.groupId;this.logger.info("groupcreated ".concat(this.type,"#").concat(this.id,"#").concat(t," msg:").concat(JSON.stringify(e)));var r=this.groups.get(t);r?r.channel=e.channel:(r=new It(Ke.composeId(this.switcher.nodeId,this.endpointId),e,this,this.reporter),this.groups.set(t,r),this.emit("group-add",r))}},{key:"handleGroupDestroyed",value:function(e){var t=e.groupId;this.logger.info("GroupDestroyed ".concat(this.type,"#").concat(this.id,"#").concat(t," msg:").concat(JSON.stringify(e)));var r=this.groups.get(t);r&&(this.groups.delete(t),this.emit("group-remove",r))}},{key:"handleServiceStatus",value:function(e){var t=e.status;this.logger.info("ServiceStatus ".concat(this.type,"#").concat(this.id," msg:").concat(JSON.stringify(e))),this.emit("service-status",t)}},{key:"handleChannelUpdate",value:function(e){var t=this;this.logger.info("ChannelUpdated ".concat(this.type,"#").concat(this.id," msg:").concat(JSON.stringify(e))),e.forEach(function(e){var r;e.groupId?t.getGroup(e.groupId).channel=e.channel:(null==e||null===(r=e.channel)||void 0===r?void 0:r.type)===Je.DEFAULT&&(t.broadcastChannel=e.channel.id)})}}])}();function Pt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Pt=function(){return!!e})()}updateProtobuf(Long);var Rt=function(){function e(t){var r,n,i;return _(this,e),n=this,i=w(i=e),r=M(n,Pt()?Reflect.construct(i,[],w(n).constructor):i.apply(n,undefined)),Object.defineProperty(r,"endpointId",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(r,"nodeMap",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"broadcastChannel",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(r,"switcherTransport",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"sessionEndPointMap",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(r,"log",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"reporter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"pid",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"nodeId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"channel",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"state",{enumerable:!0,configurable:!0,writable:!0,value:bt.UNINITED}),Object.defineProperty(r,"serverNodeId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"enquenTask",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"sessionMap",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),r.enquenTask=taskQueue(),r.channel=t,r.log=t.reporter.getLoggerWithPrefix("[chn-ds]"),r.reporter=t.reporter,r.nodeMap=new Et(r.log),r.handleDetachUserConfirm=r.handleDetachUserConfirm.bind(r),r.handleNodeMapSnapshot=r.handleNodeMapSnapshot.bind(r),r.handleNodeMapUpdate=r.handleNodeMapUpdate.bind(r),r.handleSessionClosed=r.handleSessionClosed.bind(r),r.handleSessionCreated=r.handleSessionCreated.bind(r),r.handleSessionData=r.handleSessionData.bind(r),r.handleSessionCmdData=r.handleSessionCmdData.bind(r),r.handleGroupCreated=r.handleGroupCreated.bind(r),r.handleGroupDestroyed=r.handleGroupDestroyed.bind(r),r.handleServiceStatus=r.handleServiceStatus.bind(r),r.handleSwitchUpdate=r.handleSwitchUpdate.bind(r),r}return j(e,EventEmitter),k(e,[{key:"init",value:function(e){var t=this,r=this.state;if(this.log.debug("init switcher channelBind start:".concat(r),e),r!==bt.BINDING)return this.switcherTransport=this.channel.socket.switchTransport,this.pid=e,this.state=bt.BINDING,this.switcherTransport.channelBind(e).then(function(r){t.nodeMap.pid=e,t.addEventListeners(),t.handleAttachUserConfirm(r),t.enquenTask.start()}).catch(function(){var r=C(pe.mark(function r(n){return pe.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return t.log.warn("pid:".concat(e," switcher channelBind failed:").concat(tryJsonStringify(n))),r.next=1,awaitTime(1);case 1:"connected"===t.channel.connectionState&&t.state!==bt.CLOSED&&(t.state=bt.UNINITED,t.init(e));case 2:case"end":return r.stop()}},r)}));return function(e){return r.apply(this,arguments)}}())}},{key:"addEventListeners",value:function(){this.switcherTransport.on("detachUserConfirm",this.handleDetachUserConfirm),this.switcherTransport.on("nodeMapSnapshot",this.handleNodeMapSnapshot),this.switcherTransport.on("nodeMapUpdated",this.handleNodeMapUpdate),this.switcherTransport.on("sessionClosed",this.handleSessionClosed),this.switcherTransport.on("sessionCreated",this.handleSessionCreated),this.switcherTransport.on("sessionData",this.handleSessionData),this.switcherTransport.on("sessionCmdData",this.handleSessionCmdData),this.switcherTransport.on("groupCreated",this.handleGroupCreated),this.switcherTransport.on("groupDestroyed",this.handleGroupDestroyed),this.switcherTransport.on("serviceStatus",this.handleServiceStatus),this.switcherTransport.on("switchUpdate",this.handleSwitchUpdate)}},{key:"removeEventListeners",value:function(){this.switcherTransport&&(this.switcherTransport.off("detachUserConfirm",this.handleDetachUserConfirm),this.switcherTransport.off("nodeMapSnapshot",this.handleNodeMapSnapshot),this.switcherTransport.off("nodeMapUpdated",this.handleNodeMapUpdate),this.switcherTransport.off("sessionClosed",this.handleSessionClosed),this.switcherTransport.off("sessionCreated",this.handleSessionCreated),this.switcherTransport.off("sessionData",this.handleSessionData),this.switcherTransport.off("sessionCmdData",this.handleSessionCmdData),this.switcherTransport.off("groupCreated",this.handleGroupCreated),this.switcherTransport.off("groupDestroyed",this.handleGroupDestroyed),this.switcherTransport.off("serviceStatus",this.handleServiceStatus),this.switcherTransport.off("switchUpdate",this.handleSwitchUpdate))}},{key:"clear",value:function(){this.switcherTransport.attachUserConfirm=null,this.sessionMap.clear(),this.nodeMap.clear(),this.enquenTask=taskQueue(),this.sessionEndPointMap.clear(),this.state=bt.UNINITED,this.removeEventListeners()}},{key:"getSession",value:function(e,t){var r;if(t.length>128)throw new DingRTCError(ErrorCode.InvaildArgument,"invalid id");var n=null===(r=this.sessionMap.get(e))||void 0===r?void 0:r.get(t);return n||(this.log.info("new local DSSession:".concat(e,"#").concat(t)),n=new Ot(e,t,this,this.reporter),this.sessionMap.get(e)?this.sessionMap.get(e).set(t,n):this.sessionMap.set(e,new Map([[t,n]]))),n}},{key:"fetchSession",value:function(e,t){var r=this.sessionEndPointMap.get(e);if(r)return r;this.log.warn("".concat(t," fetchSession:").concat(e," not existed"))}},{key:"send",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.state===bt.CLOSED)return Promise.reject(new DingRTCError(ErrorCode.InvaildState,"switcher is closed"));var r=t.echo,n=void 0!==r&&r,i=t.priority,o=void 0===i?Ge.High:i,a=t.broadcast,s=void 0!==a&&a,c=t.uniform,l=void 0===c||c,u=t.to,d=o===Ge.High,p=Ke.composeId(this.nodeId,d?this.endpointId:t.endpointId);return d&&(u=s?this.broadcastChannel:Ke.composeId(this.serverNodeId,this.endpointId)),this.switcherTransport.send(e,{to:u,from:p,compressed:!1,priority:o,uniform:d||l,echo:n})}},{key:"handleNodeMapUpdate",value:function(e,t){var r;e===this.endpointId?this.nodeMap.handleNodeMapUpdate(t):null===(r=this.fetchSession(e,"NodeMapUpdate"))||void 0===r||r.handleNodeMapUpdate(t)}},{key:"handleAttachUserConfirm",value:function(e){var t,r=this,n=e.nodeId,i=e.serverNodeId,o=e.endpointId,a=e.sessionCreateds,s=e.reason;this.broadcastChannel=null===(t=e.channels.find(function(e){return e.type===Je.DEFAULT}))||void 0===t?void 0:t.id,this.nodeId=n,this.endpointId=o,this.serverNodeId=i;var c=[qe.NORMAL_ATTACH,qe.FORCE_REATTACH].includes(s);this.sessionMap.forEach(function(e,t){e.forEach(function(e,n){a.some(function(e){return e.sessionType===t&&e.sessionKey===n})?e.recover(c):r.handleSessionClosed({sessionKey:n,sessionType:t})})}),a.forEach(function(e){r.handleSessionCreated(e)}),this.state=bt.READY}},{key:"handleNodeMapSnapshot",value:function(e,t){var r;this.endpointId==e?this.nodeMap.handleNodeMapSnapshot(t):null===(r=this.fetchSession(e,"NodeMapSnapshot"))||void 0===r||r.handleNodeMapSnapshot(t)}},{key:"handleSessionCreated",value:function(e){var t,r,n=e.sessionKey,i=e.sessionType,o=e.endpointId,a=e.customSessionData,s=null===(t=e.channels.find(function(e){return e.type===Je.DEFAULT}))||void 0===t?void 0:t.id,c=null===(r=this.sessionMap.get(i))||void 0===r?void 0:r.get(n),l=!c,u=l||c&&!c.available;this.log.info("onSessionCreated: ".concat(i,"#").concat(n," is ").concat(l?"new":"existed")),l&&(this.log.info("Created ".concat(i,"#").concat(n)),c=new Ot(i,n,this,this.reporter),this.sessionMap.get(i)?this.sessionMap.get(i).set(n,c):this.sessionMap.set(i,new Map([[n,c]]))),this.sessionEndPointMap.set(o,c),c.handleSessionCreated(o,s,a),u&&this.emit("sessionCreate",{type:i,id:n})}},{key:"handleSessionClosed",value:function(e){var t,r=e.sessionKey,n=e.sessionType,i=null===(t=this.sessionMap.get(n))||void 0===t?void 0:t.get(r);this.log.info("handleSessionClosed: ".concat(n,"#").concat(r," is ").concat(i?"closed":"not existed")),i&&i.state!==mt.UNINITED&&(i.handleSessionClosed(),this.log.info("Closed ".concat(n,"#").concat(r," is closed")),this.sessionMap.get(n).delete(r),this.sessionEndPointMap.delete(i.endpointId),this.emit("sessionClose",{type:n,id:r}))}},{key:"handleDetachUserConfirm",value:function(e){var t=e.pid,r=e.result;this.log.warn("DetachUser pid:".concat(this.pid," result:").concat(r," state:").concat(this.state)),t==this.pid&&0===r&&this.state!==bt.CLOSED&&(this.state=bt.CLOSED)}},{key:"handleSessionCmdData",value:function(e,t,r){var n;null===(n=this.fetchSession(e,"CmdData"))||void 0===n||n.handleSessionCmdData(t,r)}},{key:"handleSessionData",value:function(e,t,r,n){var i;null===(i=this.fetchSession(t,"SessionData"))||void 0===i||i.handleSessionData(e,r,n)}},{key:"handleGroupCreated",value:function(e,t){var r;null===(r=this.fetchSession(e,"GroupCreated"))||void 0===r||r.handleGroupCreated(t)}},{key:"handleGroupDestroyed",value:function(e,t){var r;null===(r=this.fetchSession(e,"GroupDestroyed"))||void 0===r||r.handleGroupDestroyed(t)}},{key:"handleServiceStatus",value:function(e,t){var r;null===(r=this.fetchSession(e,"ServiceStatus"))||void 0===r||r.handleServiceStatus(t)}},{key:"handleSwitchUpdate",value:function(e){var t=this,r=e.channelUpdates,n={};(void 0===r?[]:r).forEach(function(e){var r;e.endpointId===t.endpointId?(null===(r=e.channel)||void 0===r?void 0:r.type)===Je.DEFAULT&&(t.log.info("SwitchUpdate broadcastChannel:".concat(e.channel.id)),t.broadcastChannel=e.channel.id):n[e.endpointId]=(n[e.endpointId]||[]).concat(e)}),Object.entries(n).forEach(function(e){var r,n=St(e,2),i=n[1];null===(r=t.fetchSession(+n[0],"ChannelUpdate"))||void 0===r||r.handleChannelUpdate(i)})}}])}();function _t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Nt(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?_t(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_t(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function kt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(kt=function(){return!!e})()}var Mt=function(){function e(t){var r,n,i;_(this,e),n=this,i=w(i=e),r=M(n,kt()?Reflect.construct(i,[],w(n).constructor):i.apply(n,undefined)),Object.defineProperty(r,"dataSwitcher",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"signaling",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"reporter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"joinInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"sdkVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"scene",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"socket",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"enableDS",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(r,"id",{enumerable:!0,configurable:!0,writable:!0,value:createUuid(6)}),Object.defineProperty(r,"userManager",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"connectionState",{enumerable:!0,configurable:!0,writable:!0,value:"disconnected"}),Object.defineProperty(r,"securityToken",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"staticConfig",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"checkJoinParam",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=!t;return r||("userName"===e?r=(new TextEncoder).encode(t).length>64:"token"!==e&&(r=t.length>64||/[^a-zA-Z0-9_-]/g.test(t))),r?"Join with invalid ".concat(e):""}});var o=t.reporter,a=t.scene;return r.sdkVersion=t.sdkVersion,r.scene=a,r.reporter=o,r.logger=r.reporter.getLoggerWithPrefix("[ch-channel]"),r.userManager=new Tt(r),r.dataSwitcher=new Rt(r),r.handleRejoin=r.handleRejoin.bind(r),r.handleConferenceEvent=r.handleConferenceEvent.bind(r),r.handleDropEvent=r.handleDropEvent.bind(r),r.handleConnectionChangeEvent=r.handleConnectionChangeEvent.bind(r),r.handleUserEvent=r.handleUserEvent.bind(r),r.handleSyncEvent=r.handleSyncEvent.bind(r),r.handleNotifyEvent=r.handleNotifyEvent.bind(r),r.handleReauthEvent=r.handleReauthEvent.bind(r),r.handleBatchNotifyEvent=r.handleBatchNotifyEvent.bind(r),r}return j(e,EventEmitter),k(e,[{key:"gslb",get:function(){return getGslb()}},{key:"addEventListeners",value:function(){this.signaling.on("rejoin",this.handleRejoin),this.signaling.on("conference",this.handleConferenceEvent),this.signaling.on("drop",this.handleDropEvent),this.signaling.on("sync",this.handleSyncEvent),this.signaling.on("connection-state-change",this.handleConnectionChangeEvent),this.userManager.on("user",this.handleUserEvent),this.signaling.on("batch-notify",this.handleBatchNotifyEvent),this.signaling.on("notify",this.handleNotifyEvent),this.signaling.on("reauth",this.handleReauthEvent)}},{key:"removeEventListeners",value:function(){this.signaling.off("rejoin",this.handleRejoin),this.signaling.off("conference",this.handleConferenceEvent),this.signaling.off("drop",this.handleDropEvent),this.signaling.off("sync",this.handleSyncEvent),this.signaling.off("connection-state-change",this.handleConnectionChangeEvent),this.userManager.off("user",this.handleUserEvent),this.signaling.off("batch-notify",this.handleBatchNotifyEvent),this.signaling.off("notify",this.handleNotifyEvent),this.signaling.off("reauth",this.handleReauthEvent)}},{key:"handleLeave",value:function(e){this.reporter.trace.wtLeave(e),this.userManager.clear(),this.dataSwitcher.clear(),this.joinInfo=null,this.removeEventListeners();var t=this.connectionState;this.connectionState="disconnected",this.signaling.diconnect(),this.reporter.stop(),this.emit("connection-state-change","disconnected",t,e)}},{key:"modifyToken",value:function(e,t){var r=JSON.parse(window.atob(t));return r.properties=Nt(Nt({},r.properties),{},{__nick:e,SdkType:Environment.sdkType,TerminalType:Environment.terminalType}),toBase64(JSON.stringify(r))}},{key:"beforeJoin",value:function(e,t){var r=this;this.reporter.trace.wtGslb("accessGslbStart");var n=e.channel,i=e.uid,o=e.token,a=e.userName;this.handleConnectionChangeEvent("connecting",this.connectionState);var s={timestamp:Date.now(),deviceId:deviceId,userId:i,sdkVersion:this.sdkVersion,channelId:n,accessToken:o};return t&&(s=Nt(Nt({},s),{},{attributes:Nt({},t)})),function(e){var t=e.userId,r=e.accessToken,n=e.sdkVersion,i=getGslb()||le,o="/v1/users/".concat(t,"/access");delete e.userId,delete e.accessToken,delete e.sdkVersion;var a=tt(tt({},e),{},{deviceSpecs:{platform:"Web",sdkv:n,osv:Environment.systemVersion,manu:Environment.manu,model:Environment.model}});return Environment.cpu&&(a.deviceSpecs.cpuUarch=Environment.cpu),new Promise(function(e,t){var n=setTimeout(function(){t(new DingRTCError(ErrorCode.NetworkError,"accessGslb timeout"))},6e3);post$1("".concat(i).concat(o),JSON.stringify(a),{Authorization:r}).then(function(t){e(t),clearTimeout(n)}).catch(function(e){t(e),clearTimeout(n)})}).catch(function(e){return nt.info("".concat(i," access error:").concat(tryJsonStringify(e))),Promise.reject(e)})}(s).then(function(e){var t,n=e.logService,i=e.securityToken,o=e.access,s=o.staticConfig,c=o.iceConfig,l=o.rtcToken,u=o.rtmpConfig,d=s.statsConfig,p=void 0===d?{uploadIntervalMs:UPLOAD_LOG_INTERVAL,statsIntervalMs:METRIC_STATS_INTERVAL}:d;r.staticConfig=s,r.reporter.trace.wtGslb("accessGslbSuccess",tryJsonStringify(e));var h=Date.now();return r.reporter.updateCommonInfo({serverDiffTime:(1e3*(null!==(t=null==i?void 0:i.updateTime)&&void 0!==t?t:0)||h)-h}),r.reporter.trace.wtGslb("accessGslbSuccess",tryJsonStringify(e)),n?r.reporter.start({securityToken:i,logService:n,cycleStatsConfig:p}):r.logger.warn("logService is empty"),{rtcToken:r.modifyToken(a,l),iceConfig:c,securityToken:i,rtmpConfig:u}}).catch(function(e){var t=e.code,n=e.cause;return r.logger.info("accessGslbFailed",e),r.reporter.trace.wtGslb("accessGslbFailed",tryJsonStringify(e)),r.connectionState="disconnected",Promise.reject(converToRtcErrorFromGslbCode(t,n))})}},{key:"beforeRejoin",value:function(e,t){var r=this;this.reporter.trace.wtGslb("linkerServerStart");var n=e.channel,i=e.uid,o=e.appId,a=e.userName;return function(e){var t=e.userId;delete e.userId;var r="/v1/users/".concat(t,"/link-server"),n=getGslb()||le;return post$1("".concat(n).concat(r),JSON.stringify(e)).catch(function(e){return nt.info("".concat(n," link-server error:").concat(tryJsonStringify(e))),Promise.reject(e)})}({timestamp:Date.now(),deviceId:deviceId,userId:i,channelId:n,appId:o,securityToken:this.reporter.securityToken,participantId:t}).then(function(e){var t=e.access.rtcToken;return r.reporter.updateSecurityToken(e.securityToken),r.reporter.trace.wtGslb("linkerServerSuccess",tryJsonStringify(e)),r.modifyToken(a,t)}).catch(function(e){var t=e.code,n=e.cause;throw r.reporter.trace.wtGslb("linkerServerFailed",tryJsonStringify(e)),converToRtcErrorFromGslbCode(t,n)})}},{key:"join",value:(r=C(pe.mark(function e(t,r,n){var i,o,a,s,c,l,u,d,p,h,f,g,y,v,m,b=this;return pe.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:this.logger.info("channel join, joinInfo, gslb",t,r),o=(i=t||{}).channel,a=i.uid,s=i.userName,l=i.token,u=[this.checkJoinParam("appId",c=i.appId),this.checkJoinParam("token",l),this.checkJoinParam("channel",o),this.checkJoinParam("uid",a),this.checkJoinParam("userName",s)],d=0;case 1:if(u.length<=d){e.next=3;break}if(!u[d]){e.next=2;break}return e.abrupt("return",Promise.reject(new DingRTCError(ErrorCode.JoinChannelFailed,u[d])));case 2:d++,e.next=1;break;case 3:if(r&&setGslb(r),"disconnected"===this.connectionState){e.next=4;break}return e.abrupt("return",Promise.reject(new DingRTCError(ErrorCode.InvaildState,"channel is not disconnected")));case 4:return this.reporter.updateCommonInfo({apid:c,usrid:a,usrn:s,clientId:this.id,roomName:o,udid:Environment.deviceId,sdkvrs:this.sdkVersion}),this.reporter.trace.wtJoin(!0),p=Date.now(),e.next=5,this.beforeJoin(t,n);case 5:return f=(h=e.sent).rtcToken,g=h.iceConfig,v=h.rtmpConfig,this.securityToken=y=h.securityToken,m=Date.now(),this.reporter.trace.join(!0),this.socket&&this.socket.removeAllListeners(),this.socket=new Xe(this.reporter),this.joinInfo=t,this.signaling=new rt(this.socket,this.reporter),this.addEventListeners(),e.abrupt("return",this.signaling.login(Nt({token:f},he(this.sdkVersion,this.scene,t.initMicMuted?1:0))).then(function(e){var t=e.room,r=t.participants,n=t.participantsVer,i=e.id;return b.dataSwitcher.init(i),b.userManager.init(r,n,i),b.reporter.trace.join(!1,Date.now()-m,!0),b.reporter.trace.wtJoin(!1,Date.now()-p,!0),{joinResponse:e,iceConfig:g,securityToken:y,rtmpConfig:v}}).catch(function(e){throw b.reporter.trace.wtJoin(!0,Date.now()-p,!1,tryJsonStringify(e)),e}));case 6:case"end":return e.stop()}},e,this)})),function(e,t,n){return r.apply(this,arguments)})},{key:"handleConferenceEvent",value:function(e){this.logger.info("roomEvent ".concat(JSON.stringify(e))),"destroy"===(null==e?void 0:e.action)&&this.handleLeave("channel_banned")}},{key:"handleConnectionChangeEvent",value:function(e,t,r){e!==this.connectionState&&("disconnected"===e?this.handleLeave(r):(this.connectionState=e,this.emit("connection-state-change",e,t)))}},{key:"handleDropEvent",value:function(e){this.logger.info("dropEvent ".concat((null==e?void 0:e.reason)||(null==e?void 0:e.code))),this.handleLeave((null==e?void 0:e.code)===Ue.UserReplaced?"uid_replaced":"uid_banned")}},{key:"handleRejoin",value:function(){var e=this,t=Date.now();this.reporter.trace.wtReJoin(!0),this.beforeRejoin(this.joinInfo,this.userManager.currentPid).then(function(r){var n=Date.now();return e.reporter.trace.rejoin(!0),e.rejoin(r).then(function(){e.dataSwitcher.init(e.userManager.currentPid),e.reporter.trace.rejoin(!1,Date.now()-n),e.reporter.trace.wtReJoin(!1,Date.now()-t,!0)},function(t){throw e.reporter.trace.rejoin(!1,Date.now()-n,!1,tryJsonStringify(t)),t})}).catch(function(r){e.reporter.trace.wtReJoin(!1,Date.now()-t,!1,tryJsonStringify(r)),e.handleLeave("server_error")})}},{key:"handleUserEvent",value:function(e,t){this.emit("user",e,t)}},{key:"handleNotifyEvent",value:function(e,t){this.emit("notify",e,t)}},{key:"handleBatchNotifyEvent",value:function(e){this.emit("batch-notify",e)}},{key:"handleSyncEvent",value:function(e){this.emit("sync",e)}},{key:"handleReauthEvent",value:function(){this.dataSwitcher.init(this.userManager.currentPid)}},{key:"rejoin",value:(t=C(pe.mark(function e(t){var r=this;return pe.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.signaling.relogin({token:t}).then(function(e){r.signaling.emit("sync",e)}));case 1:case"end":return e.stop()}},e,this)})),function(e){return t.apply(this,arguments)})},{key:"leave",value:function(){this.signaling.logout(),this.handleLeave("leave")}}]);var t,r}(),_a,LogLevel;function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray$1(e)}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray$1(e)||_nonIterableSpread()}!function(e){e[e.NoLog=0]="NoLog",e[e.Fatal=1]="Fatal",e[e.Error=2]="Error",e[e.Warning=3]="Warning",e[e.Info=4]="Info",e[e.Debug=5]="Debug"}(LogLevel||(LogLevel={})),window._dingrtc_wb_logs=window._dingrtc_wb_logs||[];var Log=function(){return _createClass$1(function e(){_classCallCheck$1(this,e)},null,[{key:"attach",value:function(e){_a.logger=e.getLoggerWithPrefix("[wb]")}},{key:"setPrintToConsoleEnanled",value:function(e){this.printToConsole=e}}])}();function _superPropBase(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=_getPrototypeOf$1(e)););return e}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=_superPropBase(e,t);if(n){var i=Object.getOwnPropertyDescriptor(n,t);return i.get?i.get.call(3>arguments.length?e:r):i.value}},_get.apply(null,arguments)}function listCacheClear(){this.__data__=[],this.size=0}function eq(e,t){return e===t||e!=e&&t!=t}function assocIndexOf(e,t){for(var r=e.length;r--;)if(eq(e[r][0],t))return r;return-1}_a=Log,Object.defineProperty(Log,"printToConsole",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(Log,"logLevel",{enumerable:!0,configurable:!0,writable:!0,value:LogLevel.Info}),Object.defineProperty(Log,"isprint",{enumerable:!0,configurable:!0,writable:!0,value:function(e){return e>31&&!(e in[])}}),Object.defineProperty(Log,"dump",{enumerable:!0,configurable:!0,writable:!0,value:function(e){for(var t=new Uint8Array(e),r=0,n="\n",i=0;t.length>i;){var o="",a="";for(r=0;16>r&&t.length>i;i++,r++)o+=("00"+Number(t[i]).toString(16)).slice(-2)+" ",_a.isprint(t[i])?a+=String.fromCharCode(t[i]):a+=".";for(var s="";16>r;r++)s+=" ";n+=o+s+" "+a+"\n"}return n+="\n"}}),Object.defineProperty(Log,"toString",{enumerable:!0,configurable:!0,writable:!0,value:function(e){return"object"===_typeof$3(e)&&(e instanceof ArrayBuffer||e instanceof Uint8Array)?_a.dump(e):"object"===_typeof$3(e)?JSON.stringify(e):e?""+e:"undefined"}}),Object.defineProperty(Log,"print",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t,r,n){var i,o=(new Date).toISOString()+" [RtcWhiteboard] "+r;_a.logLevel>t&&(i=_a.logger).info.apply(i,[o].concat(_toConsumableArray(n)));window._dingrtc_wb_logs.push("".concat(o," ").concat(n.map(_a.toString).join(" "))),_a.printToConsole&&e.apply(void 0,[o].concat(_toConsumableArray(n)))}}),Object.defineProperty(Log,"level",{enumerable:!0,configurable:!0,writable:!0,value:function(e){_a.logLevel=e}}),Object.defineProperty(Log,"logDebug",{enumerable:!0,configurable:!0,writable:!0,value:function(){for(var e=arguments.length,t=Array(e),r=0;e>r;r++)t[r]=arguments[r];_a.print(console.log,LogLevel.Debug,"DEBUG",t)}}),Object.defineProperty(Log,"logInfo",{enumerable:!0,configurable:!0,writable:!0,value:function(){for(var e=arguments.length,t=Array(e),r=0;e>r;r++)t[r]=arguments[r];_a.print(console.info,LogLevel.Info,"INFO",t)}}),Object.defineProperty(Log,"logWarn",{enumerable:!0,configurable:!0,writable:!0,value:function(){for(var e=arguments.length,t=Array(e),r=0;e>r;r++)t[r]=arguments[r];_a.print(console.warn,LogLevel.Warning,"WARN",t)}}),Object.defineProperty(Log,"logError",{enumerable:!0,configurable:!0,writable:!0,value:function(){for(var e=arguments.length,t=Array(e),r=0;e>r;r++)t[r]=arguments[r];_a.print(console.error,LogLevel.Error,"ERROR",t)}}),Object.defineProperty(Log,"logFatal",{enumerable:!0,configurable:!0,writable:!0,value:function(){for(var e=arguments.length,t=Array(e),r=0;e>r;r++)t[r]=arguments[r];_a.print(console.error,LogLevel.Fatal,"FATAL",t)}});var arrayProto=Array.prototype,splice=arrayProto.splice;function listCacheDelete(e){var t=this.__data__,r=assocIndexOf(t,e);return r>=0&&(r==t.length-1?t.pop():splice.call(t,r,1),--this.size,!0)}function listCacheGet(e){var t=this.__data__,r=assocIndexOf(t,e);return 0>r?void 0:t[r][1]}function listCacheHas(e){return assocIndexOf(this.__data__,e)>-1}function listCacheSet(e,t){var r=this.__data__,n=assocIndexOf(r,e);return 0>n?(++this.size,r.push([e,t])):r[n][1]=t,this}function ListCache(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function stackClear(){this.__data__=new ListCache,this.size=0}function stackDelete(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}function stackGet(e){return this.__data__.get(e)}function stackHas(e){return this.__data__.has(e)}ListCache.prototype.clear=listCacheClear,ListCache.prototype.delete=listCacheDelete,ListCache.prototype.get=listCacheGet,ListCache.prototype.has=listCacheHas,ListCache.prototype.set=listCacheSet;var freeGlobal="object"==typeof global&&global&&global.Object===Object&&global,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),Symbol$1=root.Symbol,objectProto$f=Object.prototype,hasOwnProperty$c=objectProto$f.hasOwnProperty,nativeObjectToString$1=objectProto$f.toString,symToStringTag$1=Symbol$1?Symbol$1.toStringTag:void 0;function getRawTag(e){var t=hasOwnProperty$c.call(e,symToStringTag$1),r=e[symToStringTag$1];try{e[symToStringTag$1]=void 0;var n=!0}catch(e){}var i=nativeObjectToString$1.call(e);return n&&(t?e[symToStringTag$1]=r:delete e[symToStringTag$1]),i}var objectProto$e=Object.prototype,nativeObjectToString=objectProto$e.toString;function objectToString(e){return nativeObjectToString.call(e)}var nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag=Symbol$1?Symbol$1.toStringTag:void 0;function baseGetTag(e){return null==e?void 0===e?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(e)?getRawTag(e):objectToString(e)}function isObject$1(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var asyncTag="[object AsyncFunction]",funcTag$2="[object Function]",genTag$1="[object GeneratorFunction]",proxyTag="[object Proxy]";function isFunction$1(e){if(!isObject$1(e))return!1;var t=baseGetTag(e);return t==funcTag$2||t==genTag$1||t==asyncTag||t==proxyTag}var coreJsData=root["__core-js_shared__"],maskSrcKey=(uid=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||""),uid?"Symbol(src)_1."+uid:""),uid;function isMasked(e){return!!maskSrcKey&&maskSrcKey in e}var funcProto$2=Function.prototype,funcToString$2=funcProto$2.toString;function toSource(e){if(null!=e){try{return funcToString$2.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reIsHostCtor=/^\[object .+?Constructor\]$/,funcProto$1=Function.prototype,objectProto$d=Object.prototype,funcToString$1=funcProto$1.toString,hasOwnProperty$b=objectProto$d.hasOwnProperty,reIsNative=RegExp("^"+funcToString$1.call(hasOwnProperty$b).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative(e){return!(!isObject$1(e)||isMasked(e))&&(isFunction$1(e)?reIsNative:reIsHostCtor).test(toSource(e))}function getValue(e,t){return null==e?void 0:e[t]}function getNative(e,t){var r=getValue(e,t);return baseIsNative(r)?r:void 0}var Map$1=getNative(root,"Map"),nativeCreate=getNative(Object,"create");function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{},this.size=0}function hashDelete(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var HASH_UNDEFINED$2="__lodash_hash_undefined__",objectProto$c=Object.prototype,hasOwnProperty$a=objectProto$c.hasOwnProperty;function hashGet(e){var t=this.__data__;if(nativeCreate){var r=t[e];return r===HASH_UNDEFINED$2?void 0:r}return hasOwnProperty$a.call(t,e)?t[e]:void 0}var objectProto$b=Object.prototype,hasOwnProperty$9=objectProto$b.hasOwnProperty;function hashHas(e){var t=this.__data__;return nativeCreate?void 0!==t[e]:hasOwnProperty$9.call(t,e)}var HASH_UNDEFINED$1="__lodash_hash_undefined__";function hashSet(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=nativeCreate&&void 0===t?HASH_UNDEFINED$1:t,this}function Hash(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function mapCacheClear(){this.size=0,this.__data__={hash:new Hash,map:new(Map$1||ListCache),string:new Hash}}function isKeyable(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}function getMapData(e,t){var r=e.__data__;return isKeyable(t)?r["string"==typeof t?"string":"hash"]:r.map}function mapCacheDelete(e){var t=getMapData(this,e).delete(e);return this.size-=t?1:0,t}function mapCacheGet(e){return getMapData(this,e).get(e)}function mapCacheHas(e){return getMapData(this,e).has(e)}function mapCacheSet(e,t){var r=getMapData(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}function MapCache(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Hash.prototype.clear=hashClear,Hash.prototype.delete=hashDelete,Hash.prototype.get=hashGet,Hash.prototype.has=hashHas,Hash.prototype.set=hashSet,MapCache.prototype.clear=mapCacheClear,MapCache.prototype.delete=mapCacheDelete,MapCache.prototype.get=mapCacheGet,MapCache.prototype.has=mapCacheHas,MapCache.prototype.set=mapCacheSet;var LARGE_ARRAY_SIZE=200;function stackSet(e,t){var r=this.__data__;if(r instanceof ListCache){var n=r.__data__;if(!Map$1||LARGE_ARRAY_SIZE-1>n.length)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new MapCache(n)}return r.set(e,t),this.size=r.size,this}function Stack(e){var t=this.__data__=new ListCache(e);this.size=t.size}function arrayEach(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}Stack.prototype.clear=stackClear,Stack.prototype.delete=stackDelete,Stack.prototype.get=stackGet,Stack.prototype.has=stackHas,Stack.prototype.set=stackSet;var defineProperty=function(){try{var e=getNative(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();function baseAssignValue(e,t,r){"__proto__"==t&&defineProperty?defineProperty(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}var objectProto$a=Object.prototype,hasOwnProperty$8=objectProto$a.hasOwnProperty;function assignValue(e,t,r){var n=e[t];hasOwnProperty$8.call(e,t)&&eq(n,r)&&(void 0!==r||t in e)||baseAssignValue(e,t,r)}function copyObject(e,t,r,n){var i=!r;r||(r={});for(var o=-1,a=t.length;++o<a;){var s=t[o],c=void 0;void 0===c&&(c=e[s]),i?baseAssignValue(r,s,c):assignValue(r,s,c)}return r}function baseTimes(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}function isObjectLike(e){return null!=e&&"object"==typeof e}var argsTag$3="[object Arguments]";function baseIsArguments(e){return isObjectLike(e)&&baseGetTag(e)==argsTag$3}var objectProto$9=Object.prototype,hasOwnProperty$7=objectProto$9.hasOwnProperty,propertyIsEnumerable$1=objectProto$9.propertyIsEnumerable,isArguments=baseIsArguments(function(){return arguments}())?baseIsArguments:function(e){return isObjectLike(e)&&hasOwnProperty$7.call(e,"callee")&&!propertyIsEnumerable$1.call(e,"callee")},isArray$1=Array.isArray;function stubFalse(){return!1}var freeExports$2="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule$2=freeExports$2&&"object"==typeof module&&module&&!module.nodeType&&module,moduleExports$2=freeModule$2&&freeModule$2.exports===freeExports$2,Buffer$1=moduleExports$2?root.Buffer:void 0,nativeIsBuffer=Buffer$1?Buffer$1.isBuffer:void 0,isBuffer$1=nativeIsBuffer||stubFalse,MAX_SAFE_INTEGER$1=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(e,t){var r=typeof e;return!!(t=null==t?MAX_SAFE_INTEGER$1:t)&&("number"==r||"symbol"!=r&&reIsUint.test(e))&&e>-1&&e%1==0&&t>e}var MAX_SAFE_INTEGER=9007199254740991;function isLength(e){return"number"==typeof e&&e>-1&&e%1==0&&MAX_SAFE_INTEGER>=e}var argsTag$2="[object Arguments]",arrayTag$2="[object Array]",boolTag$3="[object Boolean]",dateTag$3="[object Date]",errorTag$2="[object Error]",funcTag$1="[object Function]",mapTag$5="[object Map]",numberTag$4="[object Number]",objectTag$4="[object Object]",regexpTag$3="[object RegExp]",setTag$5="[object Set]",stringTag$4="[object String]",weakMapTag$2="[object WeakMap]",arrayBufferTag$3="[object ArrayBuffer]",dataViewTag$4="[object DataView]",float32Tag$2="[object Float32Array]",float64Tag$2="[object Float64Array]",int8Tag$2="[object Int8Array]",int16Tag$2="[object Int16Array]",int32Tag$2="[object Int32Array]",uint8Tag$2="[object Uint8Array]",uint8ClampedTag$2="[object Uint8ClampedArray]",uint16Tag$2="[object Uint16Array]",uint32Tag$2="[object Uint32Array]",typedArrayTags={};function baseIsTypedArray(e){return isObjectLike(e)&&isLength(e.length)&&!!typedArrayTags[baseGetTag(e)]}function baseUnary(e){return function(t){return e(t)}}typedArrayTags[float32Tag$2]=typedArrayTags[float64Tag$2]=typedArrayTags[int8Tag$2]=typedArrayTags[int16Tag$2]=typedArrayTags[int32Tag$2]=typedArrayTags[uint8Tag$2]=typedArrayTags[uint8ClampedTag$2]=typedArrayTags[uint16Tag$2]=typedArrayTags[uint32Tag$2]=!0,typedArrayTags[argsTag$2]=typedArrayTags[arrayTag$2]=typedArrayTags[arrayBufferTag$3]=typedArrayTags[boolTag$3]=typedArrayTags[dataViewTag$4]=typedArrayTags[dateTag$3]=typedArrayTags[errorTag$2]=typedArrayTags[funcTag$1]=typedArrayTags[mapTag$5]=typedArrayTags[numberTag$4]=typedArrayTags[objectTag$4]=typedArrayTags[regexpTag$3]=typedArrayTags[setTag$5]=typedArrayTags[stringTag$4]=typedArrayTags[weakMapTag$2]=!1;var freeExports$1="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule$1=freeExports$1&&"object"==typeof module&&module&&!module.nodeType&&module,moduleExports$1=freeModule$1&&freeModule$1.exports===freeExports$1,freeProcess=moduleExports$1&&freeGlobal.process,nodeUtil=function(){try{var e=freeModule$1&&freeModule$1.require&&freeModule$1.require("util").types;return e||freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch(e){}}(),nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray,isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray,objectProto$8=Object.prototype,hasOwnProperty$6=objectProto$8.hasOwnProperty;function arrayLikeKeys(e,t){var r=isArray$1(e),n=!r&&isArguments(e),i=!r&&!n&&isBuffer$1(e),o=!r&&!n&&!i&&isTypedArray(e),a=r||n||i||o,s=a?baseTimes(e.length,String):[],c=s.length;for(var l in e)!t&&!hasOwnProperty$6.call(e,l)||a&&("length"==l||i&&("offset"==l||"parent"==l)||o&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||isIndex(l,c))||s.push(l);return s}var objectProto$7=Object.prototype;function isPrototype(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||objectProto$7)}function overArg(e,t){return function(r){return e(t(r))}}var nativeKeys=overArg(Object.keys,Object),objectProto$6=Object.prototype,hasOwnProperty$5=objectProto$6.hasOwnProperty;function baseKeys(e){if(!isPrototype(e))return nativeKeys(e);var t=[];for(var r in Object(e))hasOwnProperty$5.call(e,r)&&"constructor"!=r&&t.push(r);return t}function isArrayLike(e){return null!=e&&isLength(e.length)&&!isFunction$1(e)}function keys(e){return isArrayLike(e)?arrayLikeKeys(e):baseKeys(e)}function baseAssign(e,t){return e&©Object(t,keys(t),e)}function nativeKeysIn(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}var objectProto$5=Object.prototype,hasOwnProperty$4=objectProto$5.hasOwnProperty;function baseKeysIn(e){if(!isObject$1(e))return nativeKeysIn(e);var t=isPrototype(e),r=[];for(var n in e)("constructor"!=n||!t&&hasOwnProperty$4.call(e,n))&&r.push(n);return r}function keysIn(e){return isArrayLike(e)?arrayLikeKeys(e,!0):baseKeysIn(e)}function baseAssignIn(e,t){return e&©Object(t,keysIn(t),e)}var freeExports="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule=freeExports&&"object"==typeof module&&module&&!module.nodeType&&module,moduleExports=freeModule&&freeModule.exports===freeExports,Buffer=moduleExports?root.Buffer:void 0,allocUnsafe=Buffer?Buffer.allocUnsafe:void 0;function cloneBuffer(e,t){if(t)return e.slice();var r=e.length,n=allocUnsafe?allocUnsafe(r):new e.constructor(r);return e.copy(n),n}function copyArray(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}function arrayFilter(e,t){for(var r=-1,n=null==e?0:e.length,i=0,o=[];++r<n;){var a=e[r];t(a,r,e)&&(o[i++]=a)}return o}function stubArray(){return[]}var objectProto$4=Object.prototype,propertyIsEnumerable=objectProto$4.propertyIsEnumerable,nativeGetSymbols$1=Object.getOwnPropertySymbols,getSymbols=nativeGetSymbols$1?function(e){return null==e?[]:arrayFilter(nativeGetSymbols$1(e=Object(e)),function(t){return propertyIsEnumerable.call(e,t)})}:stubArray;function copySymbols(e,t){return copyObject(e,getSymbols(e),t)}function arrayPush(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}var getPrototype=overArg(Object.getPrototypeOf,Object),nativeGetSymbols=Object.getOwnPropertySymbols,getSymbolsIn=nativeGetSymbols?function(e){for(var t=[];e;)arrayPush(t,getSymbols(e)),e=getPrototype(e);return t}:stubArray;function copySymbolsIn(e,t){return copyObject(e,getSymbolsIn(e),t)}function baseGetAllKeys(e,t,r){var n=t(e);return isArray$1(e)?n:arrayPush(n,r(e))}function getAllKeys(e){return baseGetAllKeys(e,keys,getSymbols)}function getAllKeysIn(e){return baseGetAllKeys(e,keysIn,getSymbolsIn)}var DataView=getNative(root,"DataView"),Promise$1=getNative(root,"Promise"),Set$1=getNative(root,"Set"),WeakMap=getNative(root,"WeakMap"),mapTag$4="[object Map]",objectTag$3="[object Object]",promiseTag="[object Promise]",setTag$4="[object Set]",weakMapTag$1="[object WeakMap]",dataViewTag$3="[object DataView]",dataViewCtorString=toSource(DataView),mapCtorString=toSource(Map$1),promiseCtorString=toSource(Promise$1),setCtorString=toSource(Set$1),weakMapCtorString=toSource(WeakMap),getTag=baseGetTag;(DataView&&getTag(new DataView(new ArrayBuffer(1)))!=dataViewTag$3||Map$1&&getTag(new Map$1)!=mapTag$4||Promise$1&&getTag(Promise$1.resolve())!=promiseTag||Set$1&&getTag(new Set$1)!=setTag$4||WeakMap&&getTag(new WeakMap)!=weakMapTag$1)&&(getTag=function(e){var t=baseGetTag(e),r=t==objectTag$3?e.constructor:void 0,n=r?toSource(r):"";if(n)switch(n){case dataViewCtorString:return dataViewTag$3;case mapCtorString:return mapTag$4;case promiseCtorString:return promiseTag;case setCtorString:return setTag$4;case weakMapCtorString:return weakMapTag$1}return t});var objectProto$3=Object.prototype,hasOwnProperty$3=objectProto$3.hasOwnProperty;function initCloneArray(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&hasOwnProperty$3.call(e,"index")&&(r.index=e.index,r.input=e.input),r}var Uint8Array$1=root.Uint8Array;function cloneArrayBuffer(e){var t=new e.constructor(e.byteLength);return new Uint8Array$1(t).set(new Uint8Array$1(e)),t}function cloneDataView(e,t){var r=t?cloneArrayBuffer(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}var reFlags=/\w*$/;function cloneRegExp(e){var t=new e.constructor(e.source,reFlags.exec(e));return t.lastIndex=e.lastIndex,t}var symbolProto$2=Symbol$1?Symbol$1.prototype:void 0,symbolValueOf$1=symbolProto$2?symbolProto$2.valueOf:void 0;function cloneSymbol(e){return symbolValueOf$1?Object(symbolValueOf$1.call(e)):{}}function cloneTypedArray(e,t){var r=t?cloneArrayBuffer(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}var boolTag$2="[object Boolean]",dateTag$2="[object Date]",mapTag$3="[object Map]",numberTag$3="[object Number]",regexpTag$2="[object RegExp]",setTag$3="[object Set]",stringTag$3="[object String]",symbolTag$3="[object Symbol]",arrayBufferTag$2="[object ArrayBuffer]",dataViewTag$2="[object DataView]",float32Tag$1="[object Float32Array]",float64Tag$1="[object Float64Array]",int8Tag$1="[object Int8Array]",int16Tag$1="[object Int16Array]",int32Tag$1="[object Int32Array]",uint8Tag$1="[object Uint8Array]",uint8ClampedTag$1="[object Uint8ClampedArray]",uint16Tag$1="[object Uint16Array]",uint32Tag$1="[object Uint32Array]";function initCloneByTag(e,t,r){var n=e.constructor;switch(t){case arrayBufferTag$2:return cloneArrayBuffer(e);case boolTag$2:case dateTag$2:return new n(+e);case dataViewTag$2:return cloneDataView(e,r);case float32Tag$1:case float64Tag$1:case int8Tag$1:case int16Tag$1:case int32Tag$1:case uint8Tag$1:case uint8ClampedTag$1:case uint16Tag$1:case uint32Tag$1:return cloneTypedArray(e,r);case mapTag$3:return new n;case numberTag$3:case stringTag$3:return new n(e);case regexpTag$2:return cloneRegExp(e);case setTag$3:return new n;case symbolTag$3:return cloneSymbol(e)}}var objectCreate=Object.create,baseCreate=function(){function e(){}return function(t){if(!isObject$1(t))return{};if(objectCreate)return objectCreate(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();function initCloneObject(e){return"function"!=typeof e.constructor||isPrototype(e)?{}:baseCreate(getPrototype(e))}var mapTag$2="[object Map]";function baseIsMap(e){return isObjectLike(e)&&getTag(e)==mapTag$2}var nodeIsMap=nodeUtil&&nodeUtil.isMap,isMap=nodeIsMap?baseUnary(nodeIsMap):baseIsMap,setTag$2="[object Set]";function baseIsSet(e){return isObjectLike(e)&&getTag(e)==setTag$2}var nodeIsSet=nodeUtil&&nodeUtil.isSet,isSet=nodeIsSet?baseUnary(nodeIsSet):baseIsSet,CLONE_DEEP_FLAG$2=1,CLONE_FLAT_FLAG$1=2,CLONE_SYMBOLS_FLAG$2=4,argsTag$1="[object Arguments]",arrayTag$1="[object Array]",boolTag$1="[object Boolean]",dateTag$1="[object Date]",errorTag$1="[object Error]",funcTag="[object Function]",genTag="[object GeneratorFunction]",mapTag$1="[object Map]",numberTag$2="[object Number]",objectTag$2="[object Object]",regexpTag$1="[object RegExp]",setTag$1="[object Set]",stringTag$2="[object String]",symbolTag$2="[object Symbol]",weakMapTag="[object WeakMap]",arrayBufferTag$1="[object ArrayBuffer]",dataViewTag$1="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",cloneableTags={};function baseClone(e,t,r,n,i,o){var a,s=t&CLONE_DEEP_FLAG$2,c=t&CLONE_FLAT_FLAG$1,l=t&CLONE_SYMBOLS_FLAG$2;if(r&&(a=i?r(e,n,i,o):r(e)),void 0!==a)return a;if(!isObject$1(e))return e;var u=isArray$1(e);if(u){if(a=initCloneArray(e),!s)return copyArray(e,a)}else{var d=getTag(e),p=d==funcTag||d==genTag;if(isBuffer$1(e))return cloneBuffer(e,s);if(d==objectTag$2||d==argsTag$1||p&&!i){if(a=c||p?{}:initCloneObject(e),!s)return c?copySymbolsIn(e,baseAssignIn(a,e)):copySymbols(e,baseAssign(a,e))}else{if(!cloneableTags[d])return i?e:{};a=initCloneByTag(e,d,s)}}o||(o=new Stack);var h=o.get(e);if(h)return h;o.set(e,a),isSet(e)?e.forEach(function(n){a.add(baseClone(n,t,r,n,e,o))}):isMap(e)&&e.forEach(function(n,i){a.set(i,baseClone(n,t,r,i,e,o))});var f=u?void 0:(l?c?getAllKeysIn:getAllKeys:c?keysIn:keys)(e);return arrayEach(f||e,function(n,i){f&&(n=e[i=n]),assignValue(a,i,baseClone(n,t,r,i,e,o))}),a}cloneableTags[argsTag$1]=cloneableTags[arrayTag$1]=cloneableTags[arrayBufferTag$1]=cloneableTags[dataViewTag$1]=cloneableTags[boolTag$1]=cloneableTags[dateTag$1]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[mapTag$1]=cloneableTags[numberTag$2]=cloneableTags[objectTag$2]=cloneableTags[regexpTag$1]=cloneableTags[setTag$1]=cloneableTags[stringTag$2]=cloneableTags[symbolTag$2]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=!0,cloneableTags[errorTag$1]=cloneableTags[funcTag]=cloneableTags[weakMapTag]=!1;var CLONE_DEEP_FLAG$1=1,CLONE_SYMBOLS_FLAG$1=4;function cloneDeep(e){return baseClone(e,CLONE_DEEP_FLAG$1|CLONE_SYMBOLS_FLAG$1)}var symbolTag$1="[object Symbol]";function isSymbol(e){return"symbol"==typeof e||isObjectLike(e)&&baseGetTag(e)==symbolTag$1}function arrayMap(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}var symbolProto$1=Symbol$1?Symbol$1.prototype:void 0,symbolToString=symbolProto$1?symbolProto$1.toString:void 0;function baseToString(e){if("string"==typeof e)return e;if(isArray$1(e))return arrayMap(e,baseToString)+"";if(isSymbol(e))return symbolToString?symbolToString.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}var reWhitespace=/\s/;function trimmedEndIndex(e){for(var t=e.length;t--&&reWhitespace.test(e.charAt(t)););return t}var reTrimStart=/^\s+/;function baseTrim(e){return e?e.slice(0,trimmedEndIndex(e)+1).replace(reTrimStart,""):e}var NAN=NaN,reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsOctal=/^0o[0-7]+$/i,freeParseInt=parseInt;function toNumber(e){if("number"==typeof e)return e;if(isSymbol(e))return NAN;if(isObject$1(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=isObject$1(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=baseTrim(e);var r=reIsBinary.test(e);return r||reIsOctal.test(e)?freeParseInt(e.slice(2),r?2:8):reIsBadHex.test(e)?NAN:+e}var INFINITY=1/0,MAX_INTEGER=17976931348623157e292;function toFinite(e){return e?(e=toNumber(e))===INFINITY||e===-INFINITY?(0>e?-1:1)*MAX_INTEGER:e==e?e:0:0===e?e:0}function toInteger(e){var t=toFinite(e),r=t%1;return t==t?r?t-r:t:0}function identity(e){return e}function apply(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}var HOT_COUNT=800,HOT_SPAN=16,nativeNow=Date.now;function shortOut(e){var t=0,r=0;return function(){var n=nativeNow(),i=HOT_SPAN-(n-r);if(r=n,i>0){if(++t>=HOT_COUNT)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function constant(e){return function(){return e}}var baseSetToString=defineProperty?function(e,t){return defineProperty(e,"toString",{configurable:!0,enumerable:!1,value:constant(t),writable:!0})}:identity,setToString=shortOut(baseSetToString);function baseFindIndex(e,t,r,n){for(var i=e.length,o=r+-1;++o<i;)if(t(e[o],o,e))return o;return-1}function baseIsNaN(e){return e!=e}function strictIndexOf(e,t,r){for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return-1}function baseIndexOf(e,t,r){return t==t?strictIndexOf(e,t,r):baseFindIndex(e,baseIsNaN,r)}var nativeMax$3=Math.max;function overRest(e,t,r){return t=nativeMax$3(void 0===t?e.length-1:t,0),function(){for(var n=arguments,i=-1,o=nativeMax$3(n.length-t,0),a=Array(o);++i<o;)a[i]=n[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=n[i];return s[t]=r(a),apply(e,this,s)}}function baseRest(e,t){return setToString(overRest(e,t,identity),e+"")}function isIterateeCall(e,t,r){if(!isObject$1(r))return!1;var n=typeof t;return!!("number"==n?isArrayLike(r)&&isIndex(t,r.length):"string"==n&&t in r)&&eq(r[t],e)}function createAssigner(e){return baseRest(function(t,r){var n=-1,i=r.length,o=i>1?r[i-1]:void 0,a=i>2?r[2]:void 0;for(o=e.length>3&&"function"==typeof o?(i--,o):void 0,a&&isIterateeCall(r[0],r[1],a)&&(o=3>i?void 0:o,i=1),t=Object(t);++n<i;){var s=r[n];s&&e(t,s,n,o)}return t})}var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;function isKey(e,t){if(isArray$1(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!isSymbol(e))||(reIsPlainProp.test(e)||!reIsDeepProp.test(e)||null!=t&&e in Object(t))}var FUNC_ERROR_TEXT$2="Expected a function";function memoize(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(FUNC_ERROR_TEXT$2);var r=function(){var n=arguments,i=t?t.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var a=e.apply(this,n);return r.cache=o.set(i,a)||o,a};return r.cache=new(memoize.Cache||MapCache),r}memoize.Cache=MapCache;var MAX_MEMOIZE_SIZE=500;function memoizeCapped(e){var t=memoize(e,function(e){return r.size===MAX_MEMOIZE_SIZE&&r.clear(),e}),r=t.cache;return t}var rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,reEscapeChar=/\\(\\)?/g,stringToPath=memoizeCapped(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(rePropName,function(e,r,n,i){t.push(n?i.replace(reEscapeChar,"$1"):r||e)}),t});function toString$1(e){return null==e?"":baseToString(e)}function castPath(e,t){return isArray$1(e)?e:isKey(e,t)?[e]:stringToPath(toString$1(e))}function toKey(e){if("string"==typeof e||isSymbol(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function baseGet(e,t){for(var r=0,n=(t=castPath(t,e)).length;null!=e&&n>r;)e=e[toKey(t[r++])];return r&&r==n?e:void 0}function get(e,t,r){var n=null==e?void 0:baseGet(e,t);return void 0===n?r:n}var spreadableSymbol=Symbol$1?Symbol$1.isConcatSpreadable:void 0;function isFlattenable(e){return isArray$1(e)||isArguments(e)||!!(spreadableSymbol&&e&&e[spreadableSymbol])}function baseFlatten(e,t,r,n,i){var o=-1,a=e.length;for(r||(r=isFlattenable),i||(i=[]);++o<a;){var s=e[o];r(s)?arrayPush(i,s):i[i.length]=s}return i}function flatten(e){return(null==e?0:e.length)?baseFlatten(e):[]}function flatRest(e){return setToString(overRest(e,void 0,flatten),e+"")}var objectTag$1="[object Object]",funcProto=Function.prototype,objectProto$2=Object.prototype,funcToString=funcProto.toString,hasOwnProperty$2=objectProto$2.hasOwnProperty,objectCtorString=funcToString.call(Object);function isPlainObject$1(e){if(!isObjectLike(e)||baseGetTag(e)!=objectTag$1)return!1;var t=getPrototype(e);if(null===t)return!0;var r=hasOwnProperty$2.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&funcToString.call(r)==objectCtorString}function baseSlice(e,t,r){var n=-1,i=e.length;0>t&&(t=-t>i?0:i+t),0>(r=r>i?i:r)&&(r+=i),i=t>r?0:r-t>>>0,t>>>=0;for(var o=Array(i);++n<i;)o[n]=e[n+t];return o}function baseClamp(e,t,r){return e==e&&(void 0!==r&&(e=e>r?r:e),e=t>e?t:e),e}var HASH_UNDEFINED="__lodash_hash_undefined__";function setCacheAdd(e){return this.__data__.set(e,HASH_UNDEFINED),this}function setCacheHas(e){return this.__data__.has(e)}function SetCache(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new MapCache;++t<r;)this.add(e[t])}function arraySome(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}function cacheHas(e,t){return e.has(t)}SetCache.prototype.add=SetCache.prototype.push=setCacheAdd,SetCache.prototype.has=setCacheHas;var COMPARE_PARTIAL_FLAG$5=1,COMPARE_UNORDERED_FLAG$3=2;function equalArrays(e,t,r,n,i,o){var a=r&COMPARE_PARTIAL_FLAG$5,s=e.length,c=t.length;if(!(s==c||a&&c>s))return!1;var l=o.get(e),u=o.get(t);if(l&&u)return l==t&&u==e;var d=-1,p=!0,h=r&COMPARE_UNORDERED_FLAG$3?new SetCache:void 0;for(o.set(e,t),o.set(t,e);++d<s;){var f=e[d],g=t[d];if(n)var y=a?n(g,f,d,t,e,o):n(f,g,d,e,t,o);if(void 0!==y){if(y)continue;p=!1;break}if(h){if(!arraySome(t,function(e,t){if(!cacheHas(h,t)&&(f===e||i(f,e,r,n,o)))return h.push(t)})){p=!1;break}}else if(f!==g&&!i(f,g,r,n,o)){p=!1;break}}return o.delete(e),o.delete(t),p}function mapToArray(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}function setToArray(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}var COMPARE_PARTIAL_FLAG$4=1,COMPARE_UNORDERED_FLAG$2=2,boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",mapTag="[object Map]",numberTag$1="[object Number]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag$1="[object String]",symbolTag="[object Symbol]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",symbolProto=Symbol$1?Symbol$1.prototype:void 0,symbolValueOf=symbolProto?symbolProto.valueOf:void 0;function equalByTag(e,t,r,n,i,o,a){switch(r){case dataViewTag:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case arrayBufferTag:return!(e.byteLength!=t.byteLength||!o(new Uint8Array$1(e),new Uint8Array$1(t)));case boolTag:case dateTag:case numberTag$1:return eq(+e,+t);case errorTag:return e.name==t.name&&e.message==t.message;case regexpTag:case stringTag$1:return e==t+"";case mapTag:var s=mapToArray;case setTag:if(s||(s=setToArray),e.size!=t.size&&!(n&COMPARE_PARTIAL_FLAG$4))return!1;var c=a.get(e);if(c)return c==t;n|=COMPARE_UNORDERED_FLAG$2,a.set(e,t);var l=equalArrays(s(e),s(t),n,i,o,a);return a.delete(e),l;case symbolTag:if(symbolValueOf)return symbolValueOf.call(e)==symbolValueOf.call(t)}return!1}var COMPARE_PARTIAL_FLAG$3=1,objectProto$1=Object.prototype,hasOwnProperty$1=objectProto$1.hasOwnProperty;function equalObjects(e,t,r,n,i,o){var a=r&COMPARE_PARTIAL_FLAG$3,s=getAllKeys(e),c=s.length;if(c!=getAllKeys(t).length&&!a)return!1;for(var l=c;l--;){var u=s[l];if(!(a?u in t:hasOwnProperty$1.call(t,u)))return!1}var d=o.get(e),p=o.get(t);if(d&&p)return d==t&&p==e;var h=!0;o.set(e,t),o.set(t,e);for(var f=a;++l<c;){var g=e[u=s[l]],y=t[u];if(n)var v=a?n(y,g,u,t,e,o):n(g,y,u,e,t,o);if(!(void 0===v?g===y||i(g,y,r,n,o):v)){h=!1;break}f||(f="constructor"==u)}if(h&&!f){var m=e.constructor,b=t.constructor;m==b||!("constructor"in e)||!("constructor"in t)||"function"==typeof m&&m instanceof m&&"function"==typeof b&&b instanceof b||(h=!1)}return o.delete(e),o.delete(t),h}var COMPARE_PARTIAL_FLAG$2=1,argsTag="[object Arguments]",arrayTag="[object Array]",objectTag="[object Object]",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty;function baseIsEqualDeep(e,t,r,n,i,o){var a=isArray$1(e),s=isArray$1(t),c=a?arrayTag:getTag(e),l=s?arrayTag:getTag(t),u=(c=c==argsTag?objectTag:c)==objectTag,d=(l=l==argsTag?objectTag:l)==objectTag,p=c==l;if(p&&isBuffer$1(e)){if(!isBuffer$1(t))return!1;a=!0,u=!1}if(p&&!u)return o||(o=new Stack),a||isTypedArray(e)?equalArrays(e,t,r,n,i,o):equalByTag(e,t,c,r,n,i,o);if(!(r&COMPARE_PARTIAL_FLAG$2)){var h=u&&hasOwnProperty.call(e,"__wrapped__"),f=d&&hasOwnProperty.call(t,"__wrapped__");if(h||f){var g=h?e.value():e,y=f?t.value():t;return o||(o=new Stack),i(g,y,r,n,o)}}return!!p&&(o||(o=new Stack),equalObjects(e,t,r,n,i,o))}function baseIsEqual(e,t,r,n,i){return e===t||(null==e||null==t||!isObjectLike(e)&&!isObjectLike(t)?e!=e&&t!=t:baseIsEqualDeep(e,t,r,n,baseIsEqual,i))}var COMPARE_PARTIAL_FLAG$1=1,COMPARE_UNORDERED_FLAG$1=2;function baseIsMatch(e,t,r,n){var i=r.length,o=i;if(null==e)return!o;for(e=Object(e);i--;){var a=r[i];if(a[2]?a[1]!==e[a[0]]:!(a[0]in e))return!1}for(;++i<o;){var s=(a=r[i])[0],c=e[s],l=a[1];if(a[2]){if(void 0===c&&!(s in e))return!1}else{var u=new Stack;if(!baseIsEqual(l,c,COMPARE_PARTIAL_FLAG$1|COMPARE_UNORDERED_FLAG$1,n,u))return!1}}return!0}function isStrictComparable(e){return e==e&&!isObject$1(e)}function getMatchData(e){for(var t=keys(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,isStrictComparable(i)]}return t}function matchesStrictComparable(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}}function baseMatches(e){var t=getMatchData(e);return 1==t.length&&t[0][2]?matchesStrictComparable(t[0][0],t[0][1]):function(r){return r===e||baseIsMatch(r,e,t)}}function baseHasIn(e,t){return null!=e&&t in Object(e)}function hasPath(e,t,r){for(var n=-1,i=(t=castPath(t,e)).length,o=!1;++n<i;){var a=toKey(t[n]);if(!(o=null!=e&&r(e,a)))break;e=e[a]}return o||++n!=i?o:!!(i=null==e?0:e.length)&&isLength(i)&&isIndex(a,i)&&(isArray$1(e)||isArguments(e))}function hasIn(e,t){return null!=e&&hasPath(e,t,baseHasIn)}var COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;function baseMatchesProperty(e,t){return isKey(e)&&isStrictComparable(t)?matchesStrictComparable(toKey(e),t):function(r){var n=get(r,e);return void 0===n&&n===t?hasIn(r,e):baseIsEqual(t,n,COMPARE_PARTIAL_FLAG|COMPARE_UNORDERED_FLAG)}}function baseProperty(e){return function(t){return null==t?void 0:t[e]}}function basePropertyDeep(e){return function(t){return baseGet(t,e)}}function property(e){return isKey(e)?baseProperty(toKey(e)):basePropertyDeep(e)}function baseIteratee(e){return"function"==typeof e?e:null==e?identity:"object"==typeof e?isArray$1(e)?baseMatchesProperty(e[0],e[1]):baseMatches(e):property(e)}function createBaseFor(e){return function(e,t,r){for(var n=-1,i=Object(e),o=r(e),a=o.length;a--;){var s=o[++n];if(!1===t(i[s],s,i))break}return e}}var baseFor=createBaseFor();function baseForOwn(e,t){return e&&baseFor(e,t,keys)}function createBaseEach(e,t){return function(t,r){if(null==t)return t;if(!isArrayLike(t))return e(t,r);for(var n=t.length,i=-1,o=Object(t);++i<n&&!1!==r(o[i],i,o););return t}}var baseEach=createBaseEach(baseForOwn),now=function(){return root.Date.now()},FUNC_ERROR_TEXT$1="Expected a function",nativeMax$2=Math.max,nativeMin=Math.min;function debounce(e,t,r){var n,i,o,a,s,c,l=0,u=!1,d=!1,p=!0;if("function"!=typeof e)throw new TypeError(FUNC_ERROR_TEXT$1);function h(t){var r=n,o=i;return n=i=void 0,l=t,a=e.apply(o,r)}function f(e){var r=e-c;return void 0===c||r>=t||0>r||d&&e-l>=o}function g(){var e=now();if(f(e))return y(e);s=setTimeout(g,function(e){var r=t-(e-c);return d?nativeMin(r,o-(e-l)):r}(e))}function y(e){return s=void 0,p&&n?h(e):(n=i=void 0,a)}function v(){var e=now(),r=f(e);if(n=arguments,i=this,c=e,r){if(void 0===s)return function(e){return l=e,s=setTimeout(g,t),u?h(e):a}(c);if(d)return clearTimeout(s),s=setTimeout(g,t),h(c)}return void 0===s&&(s=setTimeout(g,t)),a}return t=toNumber(t)||0,isObject$1(r)&&(u=!!r.leading,o=(d="maxWait"in r)?nativeMax$2(toNumber(r.maxWait)||0,t):o,p="trailing"in r?!!r.trailing:p),v.cancel=function(){void 0!==s&&clearTimeout(s),l=0,n=c=i=s=void 0},v.flush=function(){return void 0===s?a:y(now())},v}function assignMergeValue(e,t,r){(void 0!==r&&!eq(e[t],r)||void 0===r&&!(t in e))&&baseAssignValue(e,t,r)}function isArrayLikeObject(e){return isObjectLike(e)&&isArrayLike(e)}function safeGet(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}function toPlainObject(e){return copyObject(e,keysIn(e))}function baseMergeDeep(e,t,r,n,i,o,a){var s=safeGet(e,r),c=safeGet(t,r),l=a.get(c);if(l)assignMergeValue(e,r,l);else{var u=o?o(s,c,r+"",e,t,a):void 0,d=void 0===u;if(d){var p=isArray$1(c),h=!p&&isBuffer$1(c),f=!p&&!h&&isTypedArray(c);u=c,p||h||f?isArray$1(s)?u=s:isArrayLikeObject(s)?u=copyArray(s):h?(d=!1,u=cloneBuffer(c,!0)):f?(d=!1,u=cloneTypedArray(c,!0)):u=[]:isPlainObject$1(c)||isArguments(c)?(u=s,isArguments(s)?u=toPlainObject(s):isObject$1(s)&&!isFunction$1(s)||(u=initCloneObject(c))):d=!1}d&&(a.set(c,u),i(u,c,n,o,a),a.delete(c)),assignMergeValue(e,r,u)}}function baseMerge(e,t,r,n,i){e!==t&&baseFor(t,function(o,a){if(i||(i=new Stack),isObject$1(o))baseMergeDeep(e,t,a,r,baseMerge,n,i);else{var s=n?n(safeGet(e,a),o,a+"",e,t,i):void 0;void 0===s&&(s=o),assignMergeValue(e,a,s)}},keysIn)}function last(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}function endsWith(e,t,r){e=toString$1(e),t=baseToString(t);var n=e.length,i=r=void 0===r?n:baseClamp(toInteger(r),0,n);return(r-=t.length)>=0&&e.slice(r,i)==t}var MAX_ARRAY_LENGTH=4294967295;function toLength(e){return e?baseClamp(toInteger(e),0,MAX_ARRAY_LENGTH):0}function baseFill(e,t,r,n){var i=e.length;for(0>(r=toInteger(r))&&(r=-r>i?0:i+r),0>(n=void 0===n||n>i?i:toInteger(n))&&(n+=i),n=r>n?0:toLength(n);n>r;)e[r++]=t;return e}function fill(e,t,r,n){return(null==e?0:e.length)?baseFill(e,t,r,n):[]}function createFind(e){return function(t,r,n){var i=Object(t);if(!isArrayLike(t)){var o=baseIteratee(r);t=keys(t),r=function(e){return o(i[e],e,i)}}var a=e(t,r,n);return a>-1?i[o?t[a]:a]:void 0}}var nativeMax$1=Math.max;function findIndex(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var i=null==r?0:toInteger(r);return 0>i&&(i=nativeMax$1(n+i,0)),baseFindIndex(e,baseIteratee(t),i)}var find=createFind(findIndex);function baseMap(e,t){var r=-1,n=isArrayLike(e)?Array(e.length):[];return baseEach(e,function(e,i,o){n[++r]=t(e,i,o)}),n}var stringTag="[object String]";function isString$1(e){return"string"==typeof e||!isArray$1(e)&&isObjectLike(e)&&baseGetTag(e)==stringTag}function baseValues(e,t){return arrayMap(t,function(t){return e[t]})}function values(e){return null==e?[]:baseValues(e,keys(e))}var nativeMax=Math.max;function includes(e,t,r,n){e=isArrayLike(e)?e:values(e),r=r?toInteger(r):0;var i=e.length;return 0>r&&(r=nativeMax(i+r,0)),isString$1(e)?i>=r&&e.indexOf(t,r)>-1:!!i&&baseIndexOf(e,t,r)>-1}function parent(e,t){return 2>t.length?e:baseGet(e,baseSlice(t,0,-1))}var numberTag="[object Number]";function isNumber$1(e){return"number"==typeof e||isObjectLike(e)&&baseGetTag(e)==numberTag}var merge$1=createAssigner(function(e,t,r){baseMerge(e,t,r)});function baseUnset(e,t){return null==(e=parent(e,t=castPath(t,e)))||delete e[toKey(last(t))]}function customOmitClone(e){return isPlainObject$1(e)?void 0:e}var CLONE_DEEP_FLAG=1,CLONE_FLAT_FLAG=2,CLONE_SYMBOLS_FLAG=4,omit=flatRest(function(e,t){var r={};if(null==e)return r;var n=!1;t=arrayMap(t,function(t){return t=castPath(t,e),n||(n=t.length>1),t}),copyObject(e,getAllKeysIn(e),r),n&&(r=baseClone(r,CLONE_DEEP_FLAG|CLONE_FLAT_FLAG|CLONE_SYMBOLS_FLAG,customOmitClone));for(var i=t.length;i--;)baseUnset(r,t[i]);return r});function baseSortBy(e,t){var r=e.length;for(e.sort(t);r--;)e[r]=e[r].value;return e}function compareAscending(e,t){if(e!==t){var r=void 0!==e,n=null===e,i=e==e,o=isSymbol(e),a=void 0!==t,s=null===t,c=t==t,l=isSymbol(t);if(!s&&!l&&!o&&e>t||o&&a&&c&&!s&&!l||n&&a&&c||!r&&c||!i)return 1;if(!n&&!o&&!l&&t>e||l&&r&&i&&!n&&!o||s&&r&&i||!a&&i||!c)return-1}return 0}function compareMultiple(e,t,r){for(var n=-1,i=e.criteria,o=t.criteria,a=i.length,s=r.length;++n<a;){var c=compareAscending(i[n],o[n]);if(c)return s>n?c*("desc"==r[n]?-1:1):c}return e.index-t.index}function baseOrderBy(e,t,r){t=t.length?arrayMap(t,function(e){return isArray$1(e)?function(t){return baseGet(t,1===e.length?e[0]:e)}:e}):[identity];var n=-1;return t=arrayMap(t,baseUnary(baseIteratee)),baseSortBy(baseMap(e,function(e,r,i){return{criteria:arrayMap(t,function(t){return t(e)}),index:++n,value:e}}),function(e,t){return compareMultiple(e,t,r)})}function orderBy(e,t,r,n){return null==e?[]:(isArray$1(t)||(t=null==t?[]:[t]),isArray$1(r)||(r=null==r?[]:[r]),baseOrderBy(e,t,r))}function baseSome(e,t){var r;return baseEach(e,function(e,n,i){return!(r=t(e,n,i))}),!!r}function some(e,t,r){return(isArray$1(e)?arraySome:baseSome)(e,baseIteratee(t))}var FUNC_ERROR_TEXT="Expected a function",utilCanvas,utilCtx;function throttle(e,t,r){var n=!0,i=!0;if("function"!=typeof e)throw new TypeError(FUNC_ERROR_TEXT);return isObject$1(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),debounce(e,t,{leading:n,maxWait:t,trailing:i})}function getSharedCanvasCtx(){return utilCanvas||(utilCanvas=document.createElement("canvas")),utilCtx||(utilCtx=utilCanvas.getContext("2d")),utilCtx}function renderRect(e,t,r,n,i,o){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"transparent";e.save(),e.beginPath(),e.strokeStyle=o,e.lineWidth=a,e.fillStyle=s,e.rect(t,r,n,i),e.closePath(),e.stroke(),e.fill(),e.restore()}function renderArc(e,t,r,n,i){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"transparent",a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1;e.save(),e.beginPath(),e.strokeStyle=i,e.lineWidth=a,e.fillStyle=o,e.arc(t,r,n,0,2*Math.PI),e.closePath(),e.stroke(),e.fill(),e.restore()}function drawRoundedRectangle(e,t,r,n,i,o,a,s){e.save(),e.lineWidth=1,e.beginPath(),e.moveTo(t+o,r),e.lineTo(t+n-o,r),e.arc(t+n-o,r+o,o,1.5*Math.PI,2*Math.PI),e.lineTo(t+n,r+i-o),e.arc(t+n-o,r+i-o,o,0,.5*Math.PI),e.lineTo(t+o,r+i),e.arc(t+o,r+i-o,o,.5*Math.PI,Math.PI),e.lineTo(t,r+o),e.arc(t+o,r+o,o,Math.PI,1.5*Math.PI),e.fillStyle=a,e.strokeStyle=s,e.fill(),e.stroke(),e.closePath(),e.restore()}var OUTLINE_CORNER_ARC_RADIUS=4,SELECTED_SHAPE_STROKE_COLOR="#008FF9",ResizeType;!function(e){e[e.width=0]="width",e[e.height=1]="height",e[e.widthAndHeight=2]="widthAndHeight",e[e.none=3]="none"}(ResizeType||(ResizeType={}));var OutlineResizeHandle=function(){return _createClass$1(function e(t,r,n,i){var o=4>=arguments.length||void 0===arguments[4]||arguments[4];_classCallCheck$1(this,e),Object.defineProperty(this,"getX",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"getY",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"cursorStyle",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"resizeType",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"renderSelf",{enumerable:!0,configurable:!0,writable:!0,value:o})},[{key:"render",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0;this.renderSelf&&renderArc(e,this.getX(),this.getY(),OUTLINE_CORNER_ARC_RADIUS/r,t?"transparent":SELECTED_SHAPE_STROKE_COLOR,t?"transparent":"#fff")}},{key:"isPointInShape",value:function(e,t){return e>this.getX()-OUTLINE_CORNER_ARC_RADIUS&&e<this.getX()+OUTLINE_CORNER_ARC_RADIUS&&t>this.getY()-OUTLINE_CORNER_ARC_RADIUS&&t<this.getY()+OUTLINE_CORNER_ARC_RADIUS}}])}();function rotate(e,t,r){var n=e.x-t.x,i=e.y-t.y;return{x:n*Math.cos(r)-i*Math.sin(r)+t.x,y:i*Math.cos(r)+n*Math.sin(r)+t.y}}Object.defineProperty(OutlineResizeHandle,"ResizeType",{enumerable:!0,configurable:!0,writable:!0,value:ResizeType});var Model=function(){return _createClass$1(function e(t){if(_classCallCheck$1(this,e),Object.defineProperty(this,"points",{enumerable:!0,configurable:!0,writable:!0,value:t}),!t)throw Error("Points is required");if(!t.length)throw Error("Points must have at least one point")},[{key:"setPoints",value:function(e){if(!e)throw Error("Points is required");if(!e.length)throw Error("Points must have at least one point");this.points=e}},{key:"setPointAtIndex",value:function(e,t){this.points[e]=t}},{key:"minx",get:function(){return Math.min.apply(Math,_toConsumableArray(this.points.map(function(e){return e.x})))}},{key:"miny",get:function(){return Math.min.apply(Math,_toConsumableArray(this.points.map(function(e){return e.y})))}},{key:"maxx",get:function(){return Math.max.apply(Math,_toConsumableArray(this.points.map(function(e){return e.x})))}},{key:"maxy",get:function(){return Math.max.apply(Math,_toConsumableArray(this.points.map(function(e){return e.y})))}},{key:"width",get:function(){return this.maxx-this.minx}},{key:"height",get:function(){return this.maxy-this.miny}},{key:"center",get:function(){return{x:(this.minx+this.maxx)/2,y:(this.maxy+this.miny)/2}}},{key:"rotate",value:function(e){var t=this;return this.points.map(function(r){return rotate(r,t.center,e)})}}])}(),DEFAULT_DOC_ID="doc0",DEFAULT_FONT_FAMILY='"Microsoft YaHei", 宋体, sans-serif',browserFingerprint=localStorage.getItem("browser_fingerprint");browserFingerprint||(browserFingerprint=genGUID(),localStorage.setItem("browser_fingerprint",browserFingerprint));var DEFAULT_FILL_COLOR="rgba(112,124,138,1)",TRANSPARENT="rgba(255, 255, 255, 0)",PDF_DEFALT_WIDTH=1280,DEFAULT_BACKGROUND=TRANSPARENT,RENDER_RATE=15,RENDER_INTEVAL=1e3/RENDER_RATE,SHAPE_SEQ_LINK_STR="_sid_",ANNOTATION_PREFIX="ding#annotation",SESSIONID_REGEXP=/[^a-zA-Z0-9_-]/g,ShapeType,ShapeOrderType,ShapeFillType,ShapeLineType,ShapeFontFormatType,ShapeVisibleType,InteractionStatusType;function getShapeFont(e,t){return e&&t?ShapeFontFormatType.bold_italic:e?ShapeFontFormatType.bold:t?ShapeFontFormatType.italic:ShapeFontFormatType.normal}function numTo2Base(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,r=fill(Array(t),"0").join("")+e.toString(2);return r.substr(r.length-t,t)}function rgba2num(e){var t=e.match(/(\d(\.\d+)?)+/g),r=Number(get(t,0,0)),n=Number(get(t,1,0)),i=Number(get(t,2,0)),o=Number(get(t,3,0));return(numTo2Base(r)+numTo2Base(n)+numTo2Base(i)+numTo2Base(Math.round(255*o))).split("").reverse().reduce(function(e,t,r){return e+("1"===t?Math.pow(2,r):0)},0)}function num2rgba(e){var t=numTo2Base(e,32),r=parseInt(t.substr(0,8),2),n=parseInt(t.substr(8,8),2),i=parseInt(t.substr(16,8),2),o=parseInt(t.substr(24,8),2)/255;return"rgba(".concat(r,",").concat(n,",").concat(i,",").concat(o,")")}function getURLBase64(e){return new Promise(function(t,r){var n=new XMLHttpRequest;n.open("get",e,!0),n.responseType="blob",n.onload=function(){if(200===this.status){var e=this.response,r=new FileReader;r.onloadend=function(e){t(e.target.result)},r.readAsDataURL(e)}},n.onerror=function(){r()},n.send()})}function genGUID(){var e=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var r=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"===t?r:3&r|8).toString(16)})}function formateDate(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"yyyyMMdd-hhmmss",r={"M+":e.getMonth()+1,"d+":e.getDate(),"h+":e.getHours(),"m+":e.getMinutes(),"s+":e.getSeconds(),"q+":Math.floor((e.getMonth()+3)/3),S:e.getMilliseconds()};for(var n in/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(e.getFullYear()+"").substr(4-RegExp.$1.length))),r)RegExp("("+n+")").test(t)&&(t=t.replace(RegExp.$1,1===RegExp.$1.length?r[n]:("00"+r[n]).substr((""+r[n]).length)));return t}function genRandomDocId(){return"doc-".concat(Date.now())}function numArr2points(e){var t=e.split(" ").map(function(e){return parseInt(e)});if(t){var r=[];return t.forEach(function(e,n){n>t.length-1||n%2!=1||r.push({x:t[n-1],y:e})}),r}}function points2numArr(e){return e.reduce(function(e,t){return e.push(t.x,t.y),e},[])}function generateShapeStyle(e){if(e)return{lineWidth:e.linewidth,strokeStyle:num2rgba(e.linecolor),fillStyle:num2rgba(e.fillcolor),fillType:e.filltype,dashed:"dashed"===e.linestyle}}function generateShapeFont(e){if(e)return{fontSize:parseInt(e.size),bold:e.format.includes("bold"),italic:e.format.includes("italic")}}function seqIdToShapeId(e,t){return"".concat(t).concat(SHAPE_SEQ_LINK_STR).concat(e)}function _callSuper$v(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$v()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$v(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$v=function(){return!!e})()}!function(e){e.Click="click",e.Select="select",e.Pen="pen",e.Line="line",e.Rect="rect",e.Square="square",e.Ellipse="ellipse",e.Circle="circle",e.Text="text",e.Triangle="triangle",e.Rhombic="rhombic",e.Arrow="arrow",e.Delete="delete",e.Image="image",e.Stamp="stamp",e.Video="video",e.Audio="audio",e.Eraser="eraser",e.Brush="eraser",e.EraserIndicator="eraserIndicator",e.LaserPointer="laserPointer",e.Cursor="cursor",e.Drag="drag"}(ShapeType||(ShapeType={})),function(e){e.back="back",e.front="front",e.normal="normal",e.bg="bg"}(ShapeOrderType||(ShapeOrderType={})),function(e){e.none="none",e.color="color"}(ShapeFillType||(ShapeFillType={})),function(e){e.solid="solid",e.dashed="dashed"}(ShapeLineType||(ShapeLineType={})),function(e){e.normal="normal",e.bold="bold",e.italic="italic",e.bold_italic="bold_italic"}(ShapeFontFormatType||(ShapeFontFormatType={})),function(e){e.invisible="0",e.visible="1"}(ShapeVisibleType||(ShapeVisibleType={})),function(e){e[e.default=0]="default",e[e.focused=1]="focused",e[e.selected=2]="selected",e[e.resizing=3]="resizing",e[e.rotating=4]="rotating",e[e.willBeDeleted=5]="willBeDeleted"}(InteractionStatusType||(InteractionStatusType={}));var EXTENTION_SELECT_WIDTH=10,WILL_BE_DELETED_STROKE_COLOR="#E17055",DASH_STYLE=[7,7],BaseShape=function(e){function t(e,r,n){var i,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"belong_to_none_page";return _classCallCheck$1(this,t),i=_callSuper$v(this,t),Object.defineProperty(i,"shapeId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(i,"creator",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(i,"pageId",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(i,"hash",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(i,"_order",{enumerable:!0,configurable:!0,writable:!0,value:ShapeOrderType.normal}),Object.defineProperty(i,"_orderTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(i,"rngReverse",{enumerable:!0,configurable:!0,writable:!0,value:{xReversed:!1,yReversed:!1}}),Object.defineProperty(i,"transformOriginalInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(i,"resizeStartHandle",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(i,"resizeOriginPosition",{enumerable:!0,configurable:!0,writable:!0,value:i.center}),Object.defineProperty(i,"_visible",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(i,"_interactionStatus",{enumerable:!0,configurable:!0,writable:!0,value:InteractionStatusType.default}),Object.defineProperty(i,"model",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),i.model=new Model(e),i._orderTime=(new Date).getTime(),i.emitRenderRequest(),i}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"shouldRenderOutline",get:function(){return this.interactionStatus===InteractionStatusType.focused||this.interactionStatus===InteractionStatusType.willBeDeleted||this.interactionStatus===InteractionStatusType.selected}},{key:"emitRenderRequest",value:function(){this.hash++,this.emit("requestRender",this)}},{key:"order",get:function(){return this._order},set:function(e){this._order=e,this.emitRenderRequest()}},{key:"orderTime",get:function(){return this._orderTime},set:function(e){this._orderTime=e,this.emitRenderRequest()}},{key:"visible",get:function(){return this._visible},set:function(e){this._visible=e,this.emitRenderRequest()}},{key:"interactionStatus",get:function(){return this._interactionStatus},set:function(e){this._interactionStatus!==e&&(this._interactionStatus=e,this.emitRenderRequest())}},{key:"points",get:function(){return this.model.points},set:function(e){this.model.setPoints(e),this.emitRenderRequest()}},{key:"shapeSeq",get:function(){var e=this.shapeId.split(SHAPE_SEQ_LINK_STR);return e[e.length-1]}},{key:"render",value:function(e,t){this.isShapeInRect(t.viewport)&&this._visible&&this.renderShape(e,t)}},{key:"renderOutline",value:function(e,t){this.shouldRenderOutline&&(e.save(),e.strokeStyle=this.interactionStatus===InteractionStatusType.willBeDeleted?WILL_BE_DELETED_STROKE_COLOR:SELECTED_SHAPE_STROKE_COLOR,e.lineWidth=1/t,e.setLineDash(DASH_STYLE),e.beginPath(),this.outlineResizeHandles.forEach(function(t,r){0===r?e.moveTo(t.getX(),t.getY()):e.lineTo(t.getX(),t.getY())}),e.closePath(),e.stroke(),e.restore(),this.interactionStatus===InteractionStatusType.selected&&this.outlineResizeHandles.filter(function(e){return e.resizeType!==ResizeType.none}).forEach(function(r){return r.render(e,!1,t)}))}},{key:"isShapeInRect",value:function(e){return!(this.minx>e.maxx||this.miny>e.maxy||e.minx>this.maxx||e.miny>this.maxy)}},{key:"isPointInShapeRect",value:function(e,t){return!(this.minx>e||e>this.maxx||this.miny>t||t>this.maxy)}},{key:"export",value:function(){return{points:cloneDeep(this.points),shapeId:this.shapeId,visible:this.visible,type:this.shapeType,rngReverse:cloneDeep(this.rngReverse),creator:this.creator,orderTime:this.orderTime,order:this.order}}},{key:"getRgnData",value:function(){if(this.shapeType===ShapeType.Arrow||this.shapeType===ShapeType.Line)return[this.points[0].x,this.points[0].y,this.points[1].x,this.points[1].y].join(" ");var e=this.rngReverse,t=e.xReversed,r=e.yReversed;return[t?this.maxx:this.minx,r?this.maxy:this.miny,t?this.minx:this.maxx,r?this.miny:this.maxy].join(" ")}},{key:"minx",get:function(){var e;return null===(e=this.model)||void 0===e?void 0:e.minx}},{key:"miny",get:function(){var e;return null===(e=this.model)||void 0===e?void 0:e.miny}},{key:"maxx",get:function(){var e;return null===(e=this.model)||void 0===e?void 0:e.maxx}},{key:"maxy",get:function(){var e;return null===(e=this.model)||void 0===e?void 0:e.maxy}},{key:"width",get:function(){var e;return null===(e=this.model)||void 0===e?void 0:e.width}},{key:"height",get:function(){var e;return null===(e=this.model)||void 0===e?void 0:e.height}},{key:"center",get:function(){return{x:(this.minx+this.maxx)/2,y:(this.maxy+this.miny)/2}}},{key:"storeTransformStartPoints",value:function(){this.transformOriginalInfo=cloneDeep(this)}},{key:"onMoveStart",value:function(){this.storeTransformStartPoints()}},{key:"onMove",value:function(e,t){this.model.setPoints(this.transformOriginalInfo.points.map(function(r){return{x:r.x+e,y:r.y+t}})),this.emitRenderRequest()}},{key:"onMoveEnd",value:function(e,t){this.model.setPoints(this.transformOriginalInfo.points.map(function(r){return{x:r.x+e,y:r.y+t}})),this.emitRenderRequest()}},{key:"onResizeStart",value:function(e,t){var r=findIndex(this.outlineResizeHandles,function(r){return r.isPointInShape(e,t)});if(-1!==r){this.storeTransformStartPoints(),this.resizeStartHandle={x:this.outlineResizeHandles[r].getX(),y:this.outlineResizeHandles[r].getY(),resizeType:this.outlineResizeHandles[r].resizeType,index:r};var n=this.outlineResizeHandles.length;this.resizeOriginPosition={x:this.outlineResizeHandles[(r+n/2)%n].getX(),y:this.outlineResizeHandles[(r+n/2)%n].getY()}}}},{key:"onResize",value:function(e,t,r){this.updateRgnReverse(e,t);var n=this.resizeStartHandle,i=this.resizeOriginPosition;if(n&&i){if(this.shapeType===ShapeType.Arrow||this.shapeType===ShapeType.Line){var o=this.resizeStartHandle.x===this.transformOriginalInfo.points[0].x&&this.resizeStartHandle.y===this.transformOriginalInfo.points[0].y?0:1;return this.model.setPointAtIndex(o,{x:this.transformOriginalInfo.points[o].x+e,y:this.transformOriginalInfo.points[o].y+t}),void this.emitRenderRequest()}this.resizeByRatio(n.resizeType===ResizeType.width||n.resizeType===ResizeType.widthAndHeight?(n.x-i.x+e)/(n.x-i.x):1,n.resizeType===ResizeType.height||n.resizeType===ResizeType.widthAndHeight?(n.y-i.y+t)/(n.y-i.y):1,i)}}},{key:"resizeByRatio",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.center;if(e&&t){var n=this.transformOriginalInfo.rngReverse.xReversed,i=this.transformOriginalInfo.rngReverse.yReversed;this.rngReverse={xReversed:0>e?!n:n,yReversed:0>t?!i:i},this.model.setPoints(this.transformOriginalInfo.points.map(function(n){return{x:Math.round(r.x+(n.x-r.x)*(Number.isFinite(e)?e:1)),y:Math.round(r.y+(n.y-r.y)*(Number.isFinite(t)?t:1))}})),this.emitRenderRequest()}}},{key:"updateRgnReverse",value:function(e,t){if(this.resizeStartHandle){var r=this.resizeStartHandle.x-this.resizeOriginPosition.x,n=this.resizeStartHandle.y-this.resizeOriginPosition.y,i=this.transformOriginalInfo.rngReverse.xReversed,o=this.transformOriginalInfo.rngReverse.yReversed;this.rngReverse={xReversed:(r>0?0>r+e:r+e>0)?!i:i,yReversed:(n>0?0>n+t:n+t>0)?!o:o}}}},{key:"onResizeEnd",value:function(e,t,r){this.updateRgnReverse(e,t),this.resizeStartHandle=void 0,this.resizeOriginPosition=this.center}},{key:"onRotate",value:function(e){var t=this.model.rotate(e);this.points=t}},{key:"outlineResizeHandles",get:function(){var e=this,t=[new OutlineResizeHandle(function(){return e.minx},function(){return e.miny},"nwse-resize",ResizeType.widthAndHeight),new OutlineResizeHandle(function(){return(e.minx+e.maxx)/2},function(){return e.miny},"ns-resize",ResizeType.height),new OutlineResizeHandle(function(){return e.maxx},function(){return e.miny},"nesw-resize",ResizeType.widthAndHeight),new OutlineResizeHandle(function(){return e.maxx},function(){return(e.miny+e.maxy)/2},"ew-resize",ResizeType.width),new OutlineResizeHandle(function(){return e.maxx},function(){return e.maxy},"nwse-resize",ResizeType.widthAndHeight),new OutlineResizeHandle(function(){return(e.minx+e.maxx)/2},function(){return e.maxy},"ns-resize",ResizeType.height),new OutlineResizeHandle(function(){return e.minx},function(){return e.maxy},"nesw-resize",ResizeType.widthAndHeight),new OutlineResizeHandle(function(){return e.minx},function(){return(e.miny+e.maxy)/2},"ew-resize",ResizeType.width)];return this.shapeType===ShapeType.Arrow||this.shapeType===ShapeType.Line?t.map(function(t){return t.renderSelf=t.getX()===e.points[0].x&&t.getY()===e.points[0].y||t.getX()===e.points[1].x&&t.getY()===e.points[1].y,t}):this.shapeType===ShapeType.Text?t.map(function(e,t){return 3!==t&&7!==t&&(e.renderSelf=!1),e}):t}},{key:"destructor",value:function(){}},{key:"genDrawMsg",value:function(e){return{pageId:this.pageId,name:e,shape:this.shapeType,order:this.order,orderTime:new Date(this.orderTime).toISOString(),data:points2numArr(this.model.points).join(" "),visible:this.visible?ShapeVisibleType.visible:ShapeVisibleType.invisible}}},{key:"genRgnMsg",value:function(e){return{pageId:this.pageId,name:e,shape:this.shapeType,rgn:this.getRgnData()}}}])}();function _callSuper$u(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$u()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$u(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$u=function(){return!!e})()}Object.defineProperty(BaseShape,"GIF_RENDER_RATE",{enumerable:!0,configurable:!0,writable:!0,value:12});var EraserIndicator=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$u(this,t,[[{x:0,y:0},{x:0,y:0}],"EraserIndicator","userMe","noPageId"])}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"clone",value:function(){throw Error("Method not implemented.")}},{key:"shapeType",get:function(){return ShapeType.EraserIndicator}},{key:"shouldSelectAfterAdd",value:function(){return!1}},{key:"isPointInShape",value:function(){return!1}},{key:"renderShape",value:function(e,t){var r=t.lineWidth,n=t.scale;e.save(),e.beginPath(),e.strokeStyle="rgba(255,87,34,1)",e.lineWidth=2/n,e.arc(this.points[0].x,this.points[0].y,(r-2/n>0?r-2/n:1)/2,0,2*Math.PI),e.stroke(),e.restore()}}])}();function _callSuper$t(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$t()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$t(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$t=function(){return!!e})()}var SELECT_RANGE_COLOR="rgba(112,124,138,0.2)",DELETE_RANGE_COLOR="rgba(244,67,54,0.2)",SelectIndicator=function(e){function t(){var e;return _classCallCheck$1(this,t),e=_callSuper$t(this,t,[[{x:0,y:0},{x:0,y:0}],"Select","userMe","noPage"]),Object.defineProperty(e,"shapeStyle",{enumerable:!0,configurable:!0,writable:!0,value:{lineWidth:1,strokeStyle:"rgba(0,0,0,0.6)",fillStyle:"rgba(112,124,138,0.2)"}}),e}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"clone",value:function(){throw Error("Method not implemented.")}},{key:"shapeType",get:function(){return ShapeType.Select}},{key:"shouldSelectAfterAdd",value:function(){return!1}},{key:"isPointInShape",value:function(){return!1}},{key:"renderShape",value:function(e,t){e.save();var r=this.points[0].x,n=this.points[0].y,i=this.points[1].x-this.points[0].x,o=this.points[1].y-this.points[0].y;e.beginPath(),e.strokeStyle=this.shapeStyle.strokeStyle,e.fillStyle=t.insertType===ShapeType.Select?SELECT_RANGE_COLOR:DELETE_RANGE_COLOR,e.rect(r,n,i,o),e.closePath(),e.fillRect(r+this.shapeStyle.lineWidth/2,n+this.shapeStyle.lineWidth/2,i-this.shapeStyle.lineWidth,o-this.shapeStyle.lineWidth),e.lineWidth=this.shapeStyle.lineWidth,e.stroke(),e.restore()}}])}(),hammer={exports:{}};
|
|
32
|
+
var n,i,o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.toStringTag||"@@toStringTag";function c(e,r,o,a){var s=Object.create((r&&r.prototype instanceof u?r:u).prototype);return t(s,"_invoke",function(e,t,r){var o,a,s,c=0,u=r||[],d=!1,p={p:0,n:0,v:n,a:h,f:h.bind(n,4),d:function(e,t){return o=e,a=0,s=n,p.n=t,l}};function h(e,t){for(a=e,s=t,i=0;!d&&c&&!r&&u.length>i;i++){var r,o=u[i],h=p.p,f=o[2];e>3?(r=f===t)&&(s=o[(a=o[4])?5:(a=3,3)],o[4]=o[5]=n):h>=o[0]&&((r=2>e&&o[1]>h)?(a=0,p.v=t,p.n=o[1]):f>h&&(r=3>e||o[0]>t||t>f)&&(o[4]=e,o[5]=t,p.n=f,a=0))}if(r||e>1)return l;throw d=!0,t}return function(r,u,f){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&h(u,f),a=u,s=f;(i=2>a?n:s)||!d;){o||(a?3>a?(a>1&&(p.n=-1),h(a,s)):p.n=s:p.v=s);try{if(c=2,o){if(a||(r="next"),i=o[r]){if(!(i=i.call(o,s)))throw TypeError("iterator result is not an object");if(!i.done)return i;s=i.value,2>a&&(a=0)}else 1===a&&(i=o.return)&&i.call(o),2>a&&(s=TypeError("The iterator does not provide a '"+r+"' method"),a=1);o=n}else if((i=(d=0>p.n)?s:e.call(t,p))!==l)break}catch(e){o=n,a=1,s=e}finally{c=1}}return{value:i,done:d}}}(e,o,a),!0),s}var l={};function u(){}function d(){}function p(){}i=Object.getPrototypeOf;var h=[][a]?i(i([][a]())):(t(i={},a,function(){return this}),i),f=p.prototype=u.prototype=Object.create(h);function g(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,t(e,s,"GeneratorFunction")),e.prototype=Object.create(f),e}return d.prototype=p,t(f,"constructor",p),t(p,"constructor",d),d.displayName="GeneratorFunction",t(p,s,"GeneratorFunction"),t(f),t(f,s,"Generator"),t(f,a,function(){return this}),t(f,"toString",function(){return"[object Generator]"}),(e.exports=r=function(){return{w:c,m:g}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=r,e.exports.__esModule=!0,e.exports.default=e.exports}(q);var J=q.exports,B={exports:{}},F={exports:{}},K={exports:{}};!function(e){var t=Y,r=G;e.exports=function e(n,i){function o(e,r,a,s){try{var c=n[e](r),l=c.value;return l instanceof t?i.resolve(l.v).then(function(e){o("next",e,a,s)},function(e){o("throw",e,a,s)}):i.resolve(l).then(function(e){c.value=e,a(c)},function(e){return o("throw",e,a,s)})}catch(e){s(e)}}var a;this.next||(r(e.prototype),r(e.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),r(this,"_invoke",function(e,t,r){function n(){return new i(function(t,n){o(e,r,t,n)})}return a=a?a.then(n,n):n()},!0)},e.exports.__esModule=!0,e.exports.default=e.exports}(K);var H=K.exports;!function(e){var t=J,r=H;e.exports=function(e,n,i,o,a){return new r(t().w(e,n,i,o),a||Promise)},e.exports.__esModule=!0,e.exports.default=e.exports}(F);var W=F.exports;!function(e){var t=W;e.exports=function(e,r,n,i,o){var a=t(e,r,n,i,o);return a.next().then(function(e){return e.done?e.value:a.next()})},e.exports.__esModule=!0,e.exports.default=e.exports}(B);var Q=B.exports,Z={exports:{}};!function(e){e.exports=function(e){var t=Object(e),r=[];for(var n in t)r.unshift(n);return function e(){for(;r.length;)if((n=r.pop())in t)return e.value=n,e.done=!1,e;return e.done=!0,e}},e.exports.__esModule=!0,e.exports.default=e.exports}(Z);var z=Z.exports,$={exports:{}},X={exports:{}};!function(e){function t(r){return e.exports=t="function"==typeof Symbol&&"symbol"==_typeof$3(Symbol.iterator)?function(e){return _typeof$3(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":_typeof$3(e)},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}(X);var ee=X.exports;!function(e){var t=ee.default;e.exports=function(e){if(null!=e){var r=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}throw new TypeError(t(e)+" is not iterable")},e.exports.__esModule=!0,e.exports.default=e.exports}($);var te=$.exports;!function(e){var t=Y,r=J,n=Q,i=W,o=H,a=z,s=te;function c(){var l=r(),u=l.m(c),d=(Object.getPrototypeOf?Object.getPrototypeOf(u):u.__proto__).constructor;function p(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===d||"GeneratorFunction"===(t.displayName||t.name))}var h={throw:1,return:2,break:3,continue:3};function f(e){var t,r;return function(n){t||(t={stop:function(){return r(n.a,2)},catch:function(){return n.v},abrupt:function(e,t){return r(n.a,h[e],t)},delegateYield:function(e,i,o){return t.resultName=i,r(n.d,s(e),o)},finish:function(e){return r(n.f,e)}},r=function(e,r,i){n.p=t.prev,n.n=t.next;try{return e(r,i)}finally{t.next=n.n}}),t.resultName&&(t[t.resultName]=n.v,t.resultName=void 0),t.sent=n.v,t.next=n.n;try{return e.call(this,t)}finally{n.p=t.prev,n.n=t.next}}}return(e.exports=c=function(){return{wrap:function(e,t,r,n){return l.w(f(e),t,r,n&&n.reverse())},isGeneratorFunction:p,mark:l.m,awrap:function(e,r){return new t(e,r)},AsyncIterator:o,async:function(e,t,r,o,a){return(p(t)?i:n)(f(e),t,r,o,a)},keys:a,values:s}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=c,e.exports.__esModule=!0,e.exports.default=e.exports}(U);var ne=(0,U.exports)(),ie=ne;try{regeneratorRuntime=ne}catch(e){"object"==("undefined"==typeof globalThis?"undefined":_typeof$3(globalThis))?globalThis.regeneratorRuntime=ne:Function("r","regeneratorRuntime = r")(ne)}var re,oe,se,ae,de,ce,pe=A(ie);!function(e){var t;(t=e.Result||(e.Result={}))[t.Ok=0]="Ok",t[t.Error=1]="Error"}(re||(re={})),function(e){var t;(t=e.Type||(e.Type={}))[t.kUnknown=0]="kUnknown",t[t.kConnectReq=1]="kConnectReq",t[t.kConnectResp=2]="kConnectResp",t[t.kDisconnect=3]="kDisconnect",t[t.kChannelCreated=4]="kChannelCreated",t[t.kChannelClosed=5]="kChannelClosed",t[t.kPing=6]="kPing",t[t.kPong=7]="kPong",t[t.kData=64]="kData"}(oe||(oe={})),function(e){var t;(t=e.MessageType||(e.MessageType={}))[t.TYPE_UNKNOWN=0]="TYPE_UNKNOWN",t[t.TYPE_NODE_JOIN=1]="TYPE_NODE_JOIN",t[t.TYPE_NODE_JOIN_CONFIRM=2]="TYPE_NODE_JOIN_CONFIRM",t[t.TYPE_NODE_LEFT=3]="TYPE_NODE_LEFT",t[t.TYPE_ATTACH_USER_CONFIRM=4]="TYPE_ATTACH_USER_CONFIRM",t[t.TYPE_DETACH_USER_CONFIRM=5]="TYPE_DETACH_USER_CONFIRM",t[t.TYPE_NODE_MAP_UPDATE=6]="TYPE_NODE_MAP_UPDATE",t[t.TYPE_CREATE_SESSION=7]="TYPE_CREATE_SESSION",t[t.TYPE_CREATE_SESSION_CONFIRM=8]="TYPE_CREATE_SESSION_CONFIRM",t[t.TYPE_SESSION_CREATED=9]="TYPE_SESSION_CREATED",t[t.TYPE_JOIN_SESSION=10]="TYPE_JOIN_SESSION",t[t.TYPE_JOIN_SESSION_CONFIRM=11]="TYPE_JOIN_SESSION_CONFIRM",t[t.TYPE_LEAVE_SESSION=12]="TYPE_LEAVE_SESSION",t[t.TYPE_LEAVE_SESSION_CONFIRM=13]="TYPE_LEAVE_SESSION_CONFIRM",t[t.TYPE_CLOSE_SESSION=14]="TYPE_CLOSE_SESSION",t[t.TYPE_CLOSE_SESSION_CONFIRM=15]="TYPE_CLOSE_SESSION_CONFIRM",t[t.TYPE_SESSION_CLOSED=16]="TYPE_SESSION_CLOSED",t[t.TYPE_SESSION_CMD_DATA=17]="TYPE_SESSION_CMD_DATA",t[t.TYPE_SESSION_CMD_DATA_CONFIRM=18]="TYPE_SESSION_CMD_DATA_CONFIRM",t[t.TYPE_SESSION_CMD_DATA_NOTIFICATION=19]="TYPE_SESSION_CMD_DATA_NOTIFICATION",t[t.TYPE_SESSION_DATA=20]="TYPE_SESSION_DATA",t[t.TYPE_NODE_MAP_SNAPSHOT=21]="TYPE_NODE_MAP_SNAPSHOT",t[t.TYPE_CLOSE_SWITCHER=22]="TYPE_CLOSE_SWITCHER",t[t.TYPE_KICK_USER=23]="TYPE_KICK_USER",t[t.TYPE_JOIN_GROUP=24]="TYPE_JOIN_GROUP",t[t.TYPE_JOIN_GROUP_CONFIRM=25]="TYPE_JOIN_GROUP_CONFIRM",t[t.TYPE_LEAVE_GROUP=26]="TYPE_LEAVE_GROUP",t[t.TYPE_LEAVE_GROUP_CONFIRM=27]="TYPE_LEAVE_GROUP_CONFIRM",t[t.TYPE_GROUP_CREATED=28]="TYPE_GROUP_CREATED",t[t.TYPE_GROUP_DESTROYED=29]="TYPE_GROUP_DESTROYED",t[t.TYPE_GROUP_STATUS=30]="TYPE_GROUP_STATUS",t[t.TYPE_SWITCHER_UPDATE=31]="TYPE_SWITCHER_UPDATE",t[t.TYPE_SERVICE_STATUS=32]="TYPE_SERVICE_STATUS",t[t.TYPE_SESSION_SYNC_REQUEST=33]="TYPE_SESSION_SYNC_REQUEST"}(se||(se={})),function(e){var t;(t=e.RpcType||(e.RpcType={}))[t.Req=0]="Req",t[t.Resp=1]="Resp"}(ae||(ae={})),function(e){var t,r,n;(t=e.MessageType||(e.MessageType={}))[t.AuthType=0]="AuthType",t[t.AuthResponseType=1]="AuthResponseType",t[t.ChannelBindType=2]="ChannelBindType",t[t.ChannelBindResponseType=3]="ChannelBindResponseType",t[t.KeepaliveType=4]="KeepaliveType",t[t.KeepaliveResponseType=5]="KeepaliveResponseType",t[t.ChannelDataType=6]="ChannelDataType",t[t.ReAuthType=7]="ReAuthType",t[t.ReAuthResponseType=8]="ReAuthResponseType",t[t.RefreshTicketType=9]="RefreshTicketType",t[t.RefreshTicketResponseType=10]="RefreshTicketResponseType",t[t.ServerRequestType=11]="ServerRequestType",t[t.ChannelUnBindType=12]="ChannelUnBindType",t[t.ChannelUnBindResponseType=13]="ChannelUnBindResponseType",t[t.RpcProxyRequestType=14]="RpcProxyRequestType",t[t.RpcProxyResponseType=15]="RpcProxyResponseType",function(e){e[e.Ok=0]="Ok",e[e.Error=1]="Error",e[e.ErrorLogin=2]="ErrorLogin",e[e.ErrorDSInternal=3]="ErrorDSInternal"}(e.ErrorCode||(e.ErrorCode={})),(r=e.AuthErrorMsg||(e.AuthErrorMsg={}))[r.SignatureInvalid=0]="SignatureInvalid",r[r.Expired=1]="Expired",r[r.Unavailable=2]="Unavailable",function(e){e[e.MessageChannel=0]="MessageChannel",e[e.PortalChannel=1]="PortalChannel",e[e.DataSwitcherChannel=2]="DataSwitcherChannel"}(e.ChannelType||(e.ChannelType={})),(n=e.ServerEvent||(e.ServerEvent={}))[n.RejoinRequest=0]="RejoinRequest",n[n.ReauthRequest=1]="ReauthRequest"}(de||(de={}));var le="https://gslb.dingrtc.com",ue=1e4,ye=2e3,he=function(e,t,r){return{protocol:"1.0",configJsonStr:JSON.stringify({needPersonalityAudioStream:!0,outPeerConnectionNotReuse:!0,enable_sys_audio:0,mute_audio_record:r}),userAgent:{sdk:{version:e,type:"JavaScript",scene:t},runtime:{name:Environment.browserType,version:Environment.browserVersion},os:{name:Environment.system,version:Environment.systemVersion}}}},fe="TopServer",ve={confirmTypes:[se.MessageType.TYPE_ATTACH_USER_CONFIRM,se.MessageType.TYPE_JOIN_SESSION_CONFIRM,se.MessageType.TYPE_LEAVE_SESSION_CONFIRM,se.MessageType.TYPE_CLOSE_SESSION_CONFIRM,se.MessageType.TYPE_SESSION_CMD_DATA_CONFIRM,se.MessageType.TYPE_JOIN_GROUP_CONFIRM,se.MessageType.TYPE_LEAVE_GROUP_CONFIRM],rpcTypeKeyMap:R(R(R(R(R(R(R({},se.MessageType.TYPE_JOIN_SESSION,"joinSession"),se.MessageType.TYPE_LEAVE_SESSION,"leaveSession"),se.MessageType.TYPE_CLOSE_SESSION,"closeSession"),se.MessageType.TYPE_SESSION_DATA,"sessionData"),se.MessageType.TYPE_SESSION_CMD_DATA,"sessionCmdData"),se.MessageType.TYPE_JOIN_GROUP,"joinGroup"),se.MessageType.TYPE_LEAVE_GROUP,"leaveGroup"),sendDataTypes:[se.MessageType.TYPE_SESSION_DATA,se.MessageType.TYPE_SESSION_CMD_DATA],msgTypeKeyMap:(ce={},R(R(R(R(R(R(R(R(R(R(ce,se.MessageType.TYPE_JOIN_SESSION_CONFIRM,"joinSessionConfirm"),se.MessageType.TYPE_CLOSE_SESSION_CONFIRM,"closeSessionConfirm"),se.MessageType.TYPE_SESSION_CLOSED,"sessionClosed"),se.MessageType.TYPE_SESSION_CREATED,"sessionCreated"),se.MessageType.TYPE_LEAVE_SESSION_CONFIRM,"leaveSessionConfirm"),se.MessageType.TYPE_SESSION_CMD_DATA_CONFIRM,"sessionCmdDataConfirm"),se.MessageType.TYPE_SESSION_CMD_DATA_NOTIFICATION,"sessionCmdDataNoti"),se.MessageType.TYPE_SESSION_DATA,"sessionData"),se.MessageType.TYPE_ATTACH_USER_CONFIRM,"attachUserConfirm"),se.MessageType.TYPE_DETACH_USER_CONFIRM,"detachUserConfirm"),R(R(R(R(R(R(R(R(R(ce,se.MessageType.TYPE_NODE_MAP_SNAPSHOT,"nodeMapSnapshot"),se.MessageType.TYPE_NODE_MAP_UPDATE,"nodeMapUpdate"),se.MessageType.TYPE_GROUP_CREATED,"groupCreated"),se.MessageType.TYPE_GROUP_DESTROYED,"groupDestroyed"),se.MessageType.TYPE_JOIN_GROUP,"groupStatus"),se.MessageType.TYPE_JOIN_GROUP_CONFIRM,"joinGroupConfirm"),se.MessageType.TYPE_LEAVE_GROUP_CONFIRM,"leaveGroupConfirm"),se.MessageType.TYPE_SERVICE_STATUS,"serviceStatus"),se.MessageType.TYPE_SWITCHER_UPDATE,"switcherUpdate"))},me=getProtobufRoot({options:{syntax:"proto3"},nested:{signal_msg:{nested:{AudioSsrcSpec:{fields:{ssrc:{type:"uint32",id:1},rtxSsrc:{type:"uint32",id:2}}},VideoSsrcSpec:{fields:{ssrc:{type:"uint32",id:1},rtxSsrc:{type:"uint32",id:2},fecSsrc:{type:"uint32",id:3}}},MultiPcAdaptRequestInfo:{fields:{audioSsrcSpec:{rule:"repeated",type:"AudioSsrcSpec",id:1},videoSsrcSpec:{rule:"repeated",type:"VideoSsrcSpec",id:2}}},AudioStreamFormat:{fields:{codec:{type:"string",id:1},sampleRate:{type:"int64",id:2},channelNum:{type:"int64",id:3}}},AudioFormatPreference:{fields:{preferred:{type:"AudioStreamFormat",id:1},optional:{rule:"repeated",type:"AudioStreamFormat",id:2}}},AudioStreamOptional:{fields:{format:{rule:"repeated",type:"AudioStreamFormat",id:1}}},VideoStreamFormat:{fields:{codec:{type:"string",id:1},profile:{type:"string",id:2}}},VideoFormatPreference:{fields:{preferred:{type:"VideoStreamFormat",id:1},optional:{rule:"repeated",type:"VideoStreamFormat",id:2}}},FormatPreference:{fields:{audio:{type:"AudioFormatPreference",id:1},video:{type:"VideoFormatPreference",id:2}}},Resolution:{fields:{width:{type:"uint32",id:1},height:{type:"uint32",id:2}}},VideoSsrcParameters:{fields:{ssrc:{type:"uint32",id:1},framerate:{type:"int32",id:2},resolution:{type:"Resolution",id:3},maxBitrate:{type:"int32",id:4},minBitrate:{type:"int32",id:5},active:{type:"bool",id:6},bitrate:{type:"int64",id:7},tlayer:{type:"int64",id:8},multiSlice:{type:"int64",id:9},keyFrameInterval:{type:"int64",id:10},constantPpsid:{type:"int64",id:11}}},VideoParameters:{oneofs:{_resolutionLevel:{oneof:["resolutionLevel"]}},fields:{ssrc:{type:"uint32",id:1},resolution:{type:"Resolution",id:2},framerate:{type:"int32",id:3},bitrate:{type:"string",id:4},multiSlice:{type:"int32",id:5},keyFrameInterval:{type:"int64",id:6},constantPpsid:{type:"int64",id:7},resolutionLevel:{type:"uint32",id:8,options:{proto3_optional:!0}}}},GroupVersion:{fields:{id:{type:"string",id:1},ver:{type:"int64",id:2}}},StreamInfo:{fields:{type:{type:"string",id:1},owner:{type:"string",id:2},attributesJsonStr:{type:"string",id:3},label:{type:"string",id:4},createTime:{type:"int64",id:7}}},StreamVideoParameters:{fields:{resolution:{type:"Resolution",id:1},framerate:{type:"int64",id:2},bitrate:{type:"int64",id:3},keyFrameInterval:{type:"int64",id:4},multiSlice:{type:"int64",id:5},constantPpsid:{type:"int64",id:6}}},VideoStreamPara:{fields:{specs:{rule:"repeated",type:"string",id:1},resolution:{rule:"repeated",type:"Resolution",id:2},framerate:{rule:"repeated",type:"int32",id:3},bitrate:{rule:"repeated",type:"string",id:4},keyFrameInterval:{rule:"repeated",type:"int32",id:5}}},VideoStreamOptional:{fields:{format:{rule:"repeated",type:"VideoStreamFormat",id:1},parameters:{type:"VideoStreamPara",id:2}}},StreamAudioDesc:{fields:{trackId:{type:"string",id:1},msid:{type:"string",id:2},status:{type:"string",id:3},format:{type:"AudioStreamFormat",id:4},source:{type:"string",id:5},ssrc:{rule:"repeated",type:"uint32",id:6},ssrcGroup:{rule:"repeated",type:"AudioSsrcSpec",id:7},optional:{type:"AudioStreamOptional",id:8}}},StreamVideoDesc:{fields:{trackId:{type:"string",id:1},msid:{type:"string",id:2},status:{type:"string",id:3},source:{type:"string",id:4},format:{type:"VideoStreamFormat",id:5},ssrc:{rule:"repeated",type:"uint32",id:6},ssrcGroup:{rule:"repeated",type:"VideoSsrcSpec",id:7},parameters:{type:"StreamVideoParameters",id:8},optional:{type:"VideoStreamOptional",id:9},highestResolutionLevel:{type:"int32",id:10}}},StreamMediaDesc:{fields:{audio:{type:"StreamAudioDesc",id:1},video:{type:"StreamVideoDesc",id:2}}},Stream:{fields:{id:{type:"string",id:1},type:{type:"string",id:2},media:{type:"StreamMediaDesc",id:3},info:{type:"StreamInfo",id:4},version:{type:"int64",id:5}}},OriginMsg:{fields:{type:{type:"string",id:1},id:{type:"string",id:2}}},ErrorMsg:{fields:{id:{type:"string",id:1},code:{type:"int32",id:2},msg:{type:"string",id:3},origin:{type:"OriginMsg",id:4}}},ErrorMsgs:{fields:{globalStatus:{type:"string",id:1},detailStatus:{rule:"repeated",type:"ErrorMsg",id:2}}},Permission:{fields:{audio:{type:"bool",id:1},video:{type:"bool",id:2}}},PermissionInfo:{fields:{subscribe:{type:"Permission",id:1},publish:{type:"Permission",id:2},vip:{type:"bool",id:3}}},ParticipantInfo:{fields:{id:{type:"string",id:1},user:{type:"string",id:2},role:{type:"string",id:3},ver:{type:"int64",id:4},propertiesJsonStr:{type:"string",id:5}}},RoomInfo:{fields:{id:{type:"string",id:1},views:{rule:"repeated",type:"string",id:2},participants:{rule:"repeated",type:"ParticipantInfo",id:3},participantsVer:{type:"int64",id:4},streams:{rule:"repeated",type:"Stream",id:5},streamsVer:{type:"uint64",id:6},conferenceVer:{type:"uint64",id:7},ts:{type:"int64",id:8},audioSelectEnableV1:{type:"bool",id:9},simulcastEnableV1:{type:"bool",id:10},mediaOutVideoParameters:{rule:"repeated",type:"VideoStreamFormat",id:11},propertiesJsonStr:{type:"string",id:12},ssrcClientSequence:{type:"uint32",id:13},ssrcMask:{type:"uint32",id:14},timeLeft:{type:"int64",id:15},groupList:{rule:"repeated",type:"string",id:16},groupListVer:{type:"int64",id:17}}},ParticipantVer:{fields:{id:{type:"string",id:1},ver:{type:"int64",id:2}}},ParticipantDetail:{fields:{id:{type:"string",id:1},user:{type:"string",id:2},role:{type:"string",id:3},ver:{type:"int64",id:4},propertiesJsonStr:{type:"string",id:5},permission:{type:"PermissionInfo",id:6}}},QueryParticipantsData:{fields:{id:{type:"string",id:1},data:{type:"ParticipantDetail",id:2}}},SetPropertiesData:{fields:{id:{type:"string",id:1},ver:{type:"int64",id:2},propertiesJsonStr:{type:"string",id:3}}},Os:{fields:{name:{type:"string",id:1},version:{type:"string",id:2}}},Runtime:{fields:{name:{type:"string",id:1},version:{type:"string",id:2}}},Sdk:{fields:{version:{type:"string",id:1},type:{type:"string",id:2}}},UserAgent:{fields:{os:{type:"Os",id:1},runtime:{type:"Runtime",id:2},sdk:{type:"Sdk",id:3}}},JoinRequest:{fields:{protocol:{type:"string",id:1},token:{type:"string",id:2},userAgent:{type:"UserAgent",id:3},configJsonStr:{type:"string",id:4},tid:{type:"string",id:5},traceId:{type:"string",id:6}}},JoinResponse:{fields:{user:{type:"string",id:1},role:{type:"string",id:2},permission:{type:"PermissionInfo",id:3},room:{type:"RoomInfo",id:4},id:{type:"string",id:5}}},RejoinRequest:{fields:{token:{type:"string",id:1},tid:{type:"string",id:2},traceId:{type:"string",id:3}}},RejoinResponse:{fields:{participantsVer:{type:"int64",id:1},streamsVer:{type:"uint64",id:2}}},LeaveRequest:{fields:{roomId:{type:"string",id:1},participantId:{type:"string",id:2},tid:{type:"string",id:3},traceId:{type:"string",id:4}}},QueryParticipantsVerRequest:{fields:{roomId:{type:"string",id:1},participantId:{type:"string",id:2},pids:{rule:"repeated",type:"string",id:3},tid:{type:"string",id:4},traceId:{type:"string",id:5}}},QueryParticipantsVerResponse:{fields:{participants:{rule:"repeated",type:"ParticipantVer",id:1},totalVer:{type:"int64",id:2},msg:{type:"string",id:3}}},QueryParticipantsRequest:{fields:{roomId:{type:"string",id:1},participantId:{type:"string",id:2},pids:{rule:"repeated",type:"string",id:3},tid:{type:"string",id:4},traceId:{type:"string",id:5}}},QueryParticipantsResponse:{fields:{totalVer:{type:"int64",id:1},msg:{type:"string",id:2},participants:{rule:"repeated",type:"QueryParticipantsData",id:3}}},GetParticipantsAndStreamsRequest:{fields:{roomId:{type:"string",id:1},participantId:{type:"string",id:2},pids:{rule:"repeated",type:"string",id:3},tid:{type:"string",id:4},traceId:{type:"string",id:5}}},GetParticipantsAndStreamsResponse:{fields:{ts:{type:"int64",id:1},msg:{type:"string",id:2},participants:{rule:"repeated",type:"ParticipantDetail",id:3},streams:{rule:"repeated",type:"Stream",id:4}}},SetParticipantPropertiesRequest:{fields:{roomId:{type:"string",id:1},participantId:{type:"string",id:2},propertiesJsonStr:{type:"string",id:3},tid:{type:"string",id:4},traceId:{type:"string",id:5}}},RemoveParticipantPropertiesRequest:{fields:{roomId:{type:"string",id:1},participantId:{type:"string",id:2},propertiesJsonStr:{type:"string",id:3},tid:{type:"string",id:4},traceId:{type:"string",id:5}}},ParticipantNotification:{oneofs:{data:{oneof:["info","participantId","propertiesData"]}},fields:{action:{type:"string",id:1},totalVer:{type:"int64",id:2},msgId:{type:"string",id:3},tid:{type:"string",id:4},traceId:{type:"string",id:5},info:{type:"ParticipantInfo",id:10},participantId:{type:"string",id:11},propertiesData:{type:"SetPropertiesData",id:12}}},SyncNotification:{fields:{streamsVer:{type:"int64",id:1},participantsVer:{type:"int64",id:2},conferenceVer:{type:"int64",id:3},msgId:{type:"string",id:4},tid:{type:"string",id:5},traceId:{type:"string",id:6},groupListVer:{type:"int64",id:7},groupVer:{rule:"repeated",type:"GroupVersion",id:8}}},Result:{values:{Ok:0,Error:1}},Response:{oneofs:{data:{oneof:["reason","joinResponse","queryParticipantsResponse","queryParticipantsVerResponse","rejoinResponse"]}},fields:{result:{type:"Result",id:1},tid:{type:"string",id:2},traceId:{type:"string",id:3},code:{type:"int32",id:4},reason:{type:"string",id:11},joinResponse:{type:"JoinResponse",id:12},queryParticipantsResponse:{type:"QueryParticipantsResponse",id:13},queryParticipantsVerResponse:{type:"QueryParticipantsVerResponse",id:14},rejoinResponse:{type:"RejoinResponse",id:23}}},ConferenceNotification:{fields:{action:{type:"string",id:1},ver:{type:"int64",id:2},id:{type:"string",id:3},msgId:{type:"string",id:4},tid:{type:"string",id:5},traceId:{type:"string",id:6},propertiesJsonStr:{type:"string",id:7}}},DropNotification:{fields:{tid:{type:"string",id:1},traceId:{type:"string",id:2},code:{type:"int32",id:3},reason:{type:"string",id:4}}},NotificationItem:{oneofs:{notification:{oneof:["participantNotification","syncNotification","conferenceNotification"]}},fields:{event:{type:"string",id:1},participantNotification:{type:"ParticipantNotification",id:12},syncNotification:{type:"SyncNotification",id:15},conferenceNotification:{type:"ConferenceNotification",id:16}}},BatchNotification:{fields:{notificationItem:{rule:"repeated",type:"NotificationItem",id:1},tid:{type:"string",id:2},traceId:{type:"string",id:3}}}}},ddmsg:{options:{optimize_for:"LITE_RUNTIME"},nested:{Type:{values:{kUnknown:0,kConnectReq:1,kConnectResp:2,kDisconnect:3,kChannelCreated:4,kChannelClosed:5,kPing:6,kPong:7,kData:64}},Message:{oneofs:{messageOneof:{oneof:["connectReq","connectResp","diconnect","channelsCreated","channelsClosed","data"]}},fields:{msgType:{type:"Type",id:1},connectReq:{type:"ConnectReq",id:2},connectResp:{type:"ConnectResp",id:3},diconnect:{type:"Disconnect",id:4},channelsCreated:{type:"ChannelsCreated",id:5},channelsClosed:{type:"ChannelsClosed",id:6},data:{type:"Data",id:64}}},ServerAddress:{fields:{name:{type:"string",id:1},ip:{type:"string",id:2},port:{type:"uint32",id:3}}},Channel:{fields:{channelId:{type:"uint32",id:1},customizedChannelType:{type:"uint32",id:2},ownerEndpointId:{type:"uint32",id:3}}},ConnectReq:{fields:{parentAddr:{type:"ServerAddress",id:1},topAddr:{type:"ServerAddress",id:2},nodeId:{type:"fixed64",id:3},requestId:{type:"int32",id:4},subdsType:{type:"int32",id:5},reqData:{type:"bytes",id:10}}},ConnectResp:{fields:{result:{type:"int32",id:1},requestId:{type:"int32",id:2},nodeId:{type:"fixed64",id:3},parentNodeId:{type:"fixed64",id:4},topNodeId:{type:"fixed64",id:5},channels:{rule:"repeated",type:"Channel",id:6},respData:{type:"bytes",id:10}}},Disconnect:{fields:{reason:{type:"int32",id:1}}},ChannelsCreated:{fields:{channels:{rule:"repeated",type:"Channel",id:1}}},ChannelsClosed:{fields:{reason:{type:"int32",id:1},channels:{rule:"repeated",type:"Channel",id:2}}},Data:{fields:{priority:{type:"uint32",id:1},uniform:{type:"bool",id:2},echo:{type:"bool",id:3},compressed:{type:"bool",id:4},from:{type:"fixed64",id:5},to:{type:"fixed64",id:6},excludes:{rule:"repeated",type:"fixed64",id:7},data:{type:"bytes",id:10}}}}},dsmsg:{options:{optimize_for:"LITE_RUNTIME"},nested:{MessageType:{values:{TYPE_UNKNOWN:0,TYPE_NODE_JOIN:1,TYPE_NODE_JOIN_CONFIRM:2,TYPE_NODE_LEFT:3,TYPE_ATTACH_USER_CONFIRM:4,TYPE_DETACH_USER_CONFIRM:5,TYPE_NODE_MAP_UPDATE:6,TYPE_CREATE_SESSION:7,TYPE_CREATE_SESSION_CONFIRM:8,TYPE_SESSION_CREATED:9,TYPE_JOIN_SESSION:10,TYPE_JOIN_SESSION_CONFIRM:11,TYPE_LEAVE_SESSION:12,TYPE_LEAVE_SESSION_CONFIRM:13,TYPE_CLOSE_SESSION:14,TYPE_CLOSE_SESSION_CONFIRM:15,TYPE_SESSION_CLOSED:16,TYPE_SESSION_CMD_DATA:17,TYPE_SESSION_CMD_DATA_CONFIRM:18,TYPE_SESSION_CMD_DATA_NOTIFICATION:19,TYPE_SESSION_DATA:20,TYPE_NODE_MAP_SNAPSHOT:21,TYPE_CLOSE_SWITCHER:22,TYPE_KICK_USER:23,TYPE_JOIN_GROUP:24,TYPE_JOIN_GROUP_CONFIRM:25,TYPE_LEAVE_GROUP:26,TYPE_LEAVE_GROUP_CONFIRM:27,TYPE_GROUP_CREATED:28,TYPE_GROUP_DESTROYED:29,TYPE_GROUP_STATUS:30,TYPE_SWITCHER_UPDATE:31,TYPE_SERVICE_STATUS:32,TYPE_SESSION_SYNC_REQUEST:33}},Message:{oneofs:{messageOneof:{oneof:["nodeJoin","nodeJoinConfirm","nodeLeft","attachUserConfirm","detachUserConfirm","nodeMapUpdate","createSession","createSessionConfirm","sessionCreated","joinSession","joinSessionConfirm","leaveSession","leaveSessionConfirm","closeSession","closeSessionConfirm","sessionClosed","sessionCmdData","sessionCmdDataConfirm","sessionCmdDataNoti","sessionData","nodeMapSnapshot","closeSwitcher","kickUser","joinGroup","joinGroupConfirm","leaveGroup","leaveGroupConfirm","groupCreated","groupDestroyed","groupStatus","switcherUpdate","serviceStatus","sessionSyncReq"]}},fields:{version:{type:"int32",id:1},type:{type:"MessageType",id:2},nodeJoin:{type:"NodeJoin",id:3},nodeJoinConfirm:{type:"NodeJoinConfirm",id:4},nodeLeft:{type:"NodeLeft",id:5},attachUserConfirm:{type:"AttachUserConfirm",id:6},detachUserConfirm:{type:"DetachUserConfirm",id:7},nodeMapUpdate:{type:"NodeMapUpdate",id:8},createSession:{type:"CreateSession",id:9},createSessionConfirm:{type:"CreateSessionConfirm",id:10},sessionCreated:{type:"SessionCreated",id:11},joinSession:{type:"JoinSession",id:12},joinSessionConfirm:{type:"JoinSessionConfirm",id:13},leaveSession:{type:"LeaveSession",id:14},leaveSessionConfirm:{type:"LeaveSessionConfirm",id:15},closeSession:{type:"CloseSession",id:16},closeSessionConfirm:{type:"CloseSessionConfirm",id:17},sessionClosed:{type:"SessionClosed",id:18},sessionCmdData:{type:"SessionCmdData",id:19},sessionCmdDataConfirm:{type:"SessionCmdDataConfirm",id:20},sessionCmdDataNoti:{type:"SessionCmdDataNotification",id:21},sessionData:{type:"SessionData",id:22},nodeMapSnapshot:{type:"NodeMapSnapshot",id:23},closeSwitcher:{type:"CloseSwitcher",id:24},kickUser:{type:"KickUser",id:25},joinGroup:{type:"JoinGroup",id:26},joinGroupConfirm:{type:"JoinGroupConfirm",id:27},leaveGroup:{type:"LeaveGroup",id:28},leaveGroupConfirm:{type:"LeaveGroupConfirm",id:29},groupCreated:{type:"GroupCreated",id:30},groupDestroyed:{type:"GroupDestroyed",id:31},groupStatus:{type:"GroupStatus",id:32},switcherUpdate:{type:"SwitcherUpdate",id:33},serviceStatus:{type:"ServiceStatus",id:34},sessionSyncReq:{type:"SessionSyncRequrst",id:35}}},NodeJoin:{fields:{nodeName:{type:"string",id:1},remainingTime:{type:"int32",id:2}}},NodeJoinConfirm:{fields:{nodeName:{type:"string",id:1},channels:{rule:"repeated",type:"Channel",id:2},endpointId:{type:"int32",id:3},sessionCreateds:{rule:"repeated",type:"SessionCreated",id:4},config:{type:"Config",id:5}}},Config:{fields:{nodeInfoBundleSize:{type:"int32",id:1}}},NodeLeft:{fields:{nodeId:{type:"uint64",id:1}}},AttachUserConfirm:{fields:{pid:{type:"string",id:1},nodeId:{type:"uint64",id:2},serverNodeId:{type:"uint64",id:3},topServerNodeId:{type:"uint64",id:4},endpointId:{type:"int32",id:5},result:{type:"uint32",id:6},channels:{rule:"repeated",type:"Channel",id:7},sessionCreateds:{rule:"repeated",type:"SessionCreated",id:8},reason:{type:"uint32",id:9}}},DetachUser:{fields:{pid:{type:"string",id:1},nodeId:{type:"uint64",id:2},reason:{type:"uint32",id:3}}},DetachUserConfirm:{fields:{pid:{type:"string",id:1},nodeId:{type:"uint64",id:2},result:{type:"uint32",id:3}}},NodeMapUpdate:{fields:{items:{rule:"repeated",type:"NodeMapUpdateItem",id:1}}},NodeMapUpdateItem:{fields:{pid:{type:"string",id:1},nodeId:{type:"uint64",id:2},action:{type:"uint32",id:3},uid:{type:"string",id:4},userName:{type:"string",id:5}}},NodeMapSnapshot:{fields:{start:{type:"bool",id:1},end:{type:"bool",id:2},items:{rule:"repeated",type:"NodeMapUpdateItem",id:3}}},NodeMapSnapshotItem:{fields:{pid:{type:"string",id:1},nodeId:{type:"uint64",id:2}}},CreateSession:{fields:{sessionType:{type:"int32",id:1},sessionKey:{type:"string",id:2},customSessionData:{type:"string",id:3}}},CreateSessionConfirm:{fields:{sessionType:{type:"int32",id:1},sessionKey:{type:"string",id:2},endpointId:{type:"int32",id:3},result:{type:"uint32",id:4}}},SessionCreated:{fields:{sessionType:{type:"int32",id:1},sessionKey:{type:"string",id:2},endpointId:{type:"int32",id:3},channels:{rule:"repeated",type:"Channel",id:4},customSessionData:{type:"string",id:5},groupCreated:{rule:"repeated",type:"GroupCreated",id:6}}},JoinSession:{fields:{sessionType:{type:"int32",id:1},sessionKey:{type:"string",id:2},pid:{type:"string",id:3},nodeId:{type:"uint64",id:4},customSessionData:{type:"string",id:5}}},JoinSessionConfirm:{fields:{sessionType:{type:"int32",id:1},sessionKey:{type:"string",id:2},endpointId:{type:"int32",id:3},pid:{type:"string",id:4},nodeId:{type:"uint64",id:5},result:{type:"uint32",id:6},channels:{rule:"repeated",type:"Channel",id:7},customSessionData:{type:"string",id:8}}},LeaveSession:{fields:{sessionType:{type:"int32",id:1},sessionKey:{type:"string",id:2},nodeId:{type:"uint64",id:3}}},LeaveSessionConfirm:{fields:{sessionType:{type:"int32",id:1},sessionKey:{type:"string",id:2},nodeId:{type:"uint64",id:3},result:{type:"uint32",id:4}}},CloseSession:{fields:{sessionType:{type:"int32",id:1},sessionKey:{type:"string",id:2},nodeId:{type:"uint64",id:3}}},CloseSessionConfirm:{fields:{sessionType:{type:"int32",id:1},sessionKey:{type:"string",id:2},result:{type:"uint32",id:3}}},SessionClosed:{fields:{sessionType:{type:"int32",id:1},sessionKey:{type:"string",id:2}}},Channel:{fields:{id:{type:"int32",id:1},type:{type:"uint32",id:2}}},SessionCmdData:{fields:{cmdType:{type:"uint32",id:1},cmd:{type:"string",id:2},requestId:{type:"uint32",id:3},data:{type:"bytes",id:4},broadcast:{type:"bool",id:5},echo:{type:"bool",id:6},toNodeId:{type:"uint64",id:7},fromPid:{type:"string",id:8}}},SessionCmdDataConfirm:{fields:{cmdType:{type:"uint32",id:1},cmd:{type:"string",id:2},requestId:{type:"uint32",id:3},result:{type:"uint32",id:4},fromPid:{type:"string",id:5}}},SessionCmdDataNotification:{fields:{cmdType:{type:"uint32",id:1},cmd:{type:"string",id:2},requestId:{type:"uint32",id:3},data:{type:"bytes",id:4},fromPid:{type:"string",id:5}}},SessionData:{fields:{data:{type:"bytes",id:1}}},CloseSwitcher:{fields:{reason:{type:"uint32",id:1}}},KickUser:{fields:{pid:{type:"string",id:1},nodeId:{type:"uint64",id:2},reason:{type:"uint32",id:3}}},JoinGroup:{fields:{nodeId:{type:"uint64",id:1},groupId:{type:"string",id:2},requestId:{type:"uint32",id:3}}},JoinGroupConfirm:{fields:{nodeId:{type:"uint64",id:1},groupId:{type:"string",id:2},result:{type:"uint32",id:3},channel:{type:"Channel",id:4},requestId:{type:"uint32",id:5}}},LeaveGroup:{fields:{nodeId:{type:"uint64",id:1},groupId:{type:"string",id:2},requestId:{type:"uint32",id:3}}},LeaveGroupConfirm:{fields:{nodeId:{type:"uint64",id:1},groupId:{type:"string",id:2},result:{type:"uint32",id:3},requestId:{type:"uint32",id:4}}},GroupCreated:{fields:{groupId:{type:"string",id:1},channel:{type:"Channel",id:2},status:{type:"int32",id:3}}},GroupDestroyed:{fields:{groupId:{type:"string",id:1}}},GroupStatus:{fields:{groupId:{type:"string",id:1},status:{type:"int32",id:2}}},SwitcherUpdate:{fields:{channelUpdates:{rule:"repeated",type:"ChannelUpdate",id:1}}},ChannelUpdate:{fields:{endpointId:{type:"int32",id:1},groupId:{type:"string",id:2},channel:{type:"Channel",id:3}}},ServiceStatus:{fields:{status:{type:"int32",id:1},data:{type:"string",id:2}}},SessionSyncRequrst:{fields:{nodeId:{type:"uint64",id:1}}}}},rpc:{nested:{RpcType:{values:{Req:0,Resp:1}},RpcMessage:{fields:{Version:{type:"uint32",id:1},MagicNumber:{type:"uint32",id:2},Type:{type:"RpcType",id:3},RpcId:{type:"uint32",id:4},NeedAck:{type:"bool",id:5},Method:{type:"string",id:6},Data:{type:"bytes",id:7}}}}},rtmpproxy:{nested:{CreateRtmpProxyPushRequest:{fields:{appId:{type:"string",id:1},roomId:{type:"string",id:2},streamId:{type:"string",id:3},timestamp:{type:"string",id:4},nonce:{type:"string",id:5},signature:{type:"string",id:6},localInfo:{type:"string",id:7},sdp:{type:"string",id:8},user:{type:"string",id:9},pid:{type:"string",id:10}}},CreateRtmpProxyPushResponse:{fields:{code:{type:"int32",id:1},errMsg:{type:"string",id:2}}},CreateRtmpProxyPullRequest:{fields:{appId:{type:"string",id:1},roomId:{type:"string",id:2},streamId:{type:"string",id:3},timestamp:{type:"string",id:4},nonce:{type:"string",id:5},signature:{type:"string",id:6},localInfo:{type:"string",id:7},sdp:{type:"string",id:8},user:{type:"string",id:9},pid:{type:"string",id:10}}},CreateRtmpProxyPullResponse:{fields:{code:{type:"int32",id:1},errMsg:{type:"string",id:2}}}}},transport:{nested:{MessageType:{values:{AuthType:0,AuthResponseType:1,ChannelBindType:2,ChannelBindResponseType:3,KeepaliveType:4,KeepaliveResponseType:5,ChannelDataType:6,ReAuthType:7,ReAuthResponseType:8,RefreshTicketType:9,RefreshTicketResponseType:10,ServerRequestType:11,ChannelUnBindType:12,ChannelUnBindResponseType:13,RpcProxyRequestType:14,RpcProxyResponseType:15}},ErrorCode:{values:{Ok:0,Error:1,ErrorLogin:2,ErrorDSInternal:3}},AuthErrorMsg:{values:{SignatureInvalid:0,Expired:1,Unavailable:2}},PingConfig:{fields:{pingInterval:{type:"uint32",id:1},pingTimeout:{type:"uint32",id:2}}},TransportOptions:{oneofs:{_supportPingConfig:{oneof:["supportPingConfig"]}},fields:{supportReliable:{type:"bool",id:1},reliableId:{type:"string",id:2},supportPingConfig:{type:"bool",id:3,options:{proto3_optional:!0}}}},Auth:{fields:{token:{type:"string",id:1},duplicate:{type:"bool",id:2},options:{type:"TransportOptions",id:3}}},AuthResponse:{fields:{code:{type:"ErrorCode",id:1},reason:{type:"string",id:2},ticket:{type:"string",id:3},errorMsg:{type:"AuthErrorMsg",id:4},pingConfig:{type:"PingConfig",id:5}}},ReAuth:{fields:{id:{type:"string",id:1},ticket:{type:"string",id:2},options:{type:"TransportOptions",id:3}}},ReAuthResponse:{fields:{code:{type:"ErrorCode",id:1},reason:{type:"string",id:2},ticket:{type:"string",id:3},errorMsg:{type:"AuthErrorMsg",id:4},pingConfig:{type:"PingConfig",id:5}}},RefreshTicket:{fields:{}},RefreshTicketResponse:{fields:{code:{type:"ErrorCode",id:1},reason:{type:"string",id:2},ticket:{type:"string",id:3}}},ChannelType:{values:{MessageChannel:0,PortalChannel:1,DataSwitcherChannel:2}},ChannelBind:{fields:{type:{type:"ChannelType",id:1},chanId:{type:"uint64",id:2},address:{type:"string",id:3}}},ChannelBindResponse:{fields:{code:{type:"ErrorCode",id:1},reason:{type:"string",id:2},chanId:{type:"uint64",id:3}}},ChannelUnBind:{fields:{type:{type:"ChannelType",id:1},chanId:{type:"uint64",id:2}}},ChannelUnBindResponse:{fields:{code:{type:"ErrorCode",id:1},reason:{type:"string",id:2},chanId:{type:"uint64",id:3}}},Keepalive:{fields:{sequence:{type:"uint32",id:1},pingMs:{type:"uint64",id:2}}},KeepaliveResponse:{fields:{sequence:{type:"uint32",id:1},pongMs:{type:"uint64",id:2}}},ChannelData:{fields:{chanId:{type:"uint64",id:1},data:{type:"bytes",id:2}}},ServerEvent:{values:{RejoinRequest:0,ReauthRequest:1}},Notification:{fields:{event:{type:"ServerEvent",id:1}}},RpcProxyRequest:{fields:{rpcId:{type:"string",id:1},targetServer:{type:"string",id:2},targetServerSubProcessIndex:{type:"uint64",id:3},rpcMethod:{type:"string",id:4},rpcRequestBody:{type:"bytes",id:5}}},RpcProxyResponse:{fields:{rpcId:{type:"string",id:1},rpcResponseCode:{type:"uint32",id:2},rpcResponseBody:{type:"bytes",id:3}}},Message:{oneofs:{data:{oneof:["auth","authResponse","channelBind","channelBindResponse","keepalive","keepaliveResponse","channelData","reauth","reauthResponse","refreshTicket","refreshTicketResponse","notification","channelUnBind","channelUnBindResponse","rpcProxyRequest","rpcProxyResponse"]}},fields:{Type:{type:"MessageType",id:1},Version:{type:"uint32",id:2},SequenceId:{type:"uint32",id:3},auth:{type:"Auth",id:11},authResponse:{type:"AuthResponse",id:12},channelBind:{type:"ChannelBind",id:13},channelBindResponse:{type:"ChannelBindResponse",id:14},keepalive:{type:"Keepalive",id:15},keepaliveResponse:{type:"KeepaliveResponse",id:16},channelData:{type:"ChannelData",id:17},reauth:{type:"ReAuth",id:18},reauthResponse:{type:"ReAuthResponse",id:19},refreshTicket:{type:"RefreshTicket",id:20},refreshTicketResponse:{type:"RefreshTicketResponse",id:21},notification:{type:"Notification",id:22},channelUnBind:{type:"ChannelUnBind",id:23},channelUnBindResponse:{type:"ChannelUnBindResponse",id:24},rpcProxyRequest:{type:"RpcProxyRequest",id:25},rpcProxyResponse:{type:"RpcProxyResponse",id:26}}}}}}}),be=me.lookupType("signal_msg.Response"),Se=me.lookupType("signal_msg.BatchNotification"),Te=me.lookupType("signal_msg.ParticipantNotification"),Ee=me.lookupType("signal_msg.ConferenceNotification"),Ie=me.lookupType("signal_msg.DropNotification"),Ce=me.lookupType("signal_msg.SyncNotification"),Oe=me.lookupType("signal_msg.RejoinRequest"),Pe=me.lookupType("rtmpproxy.CreateRtmpProxyPushRequest");me.lookupType("rtmpproxy.CreateRtmpProxyPullRequest");var Re=me.lookupType("signal_msg.QueryParticipantsVerRequest"),_e=me.lookupType("signal_msg.QueryParticipantsRequest"),Ne=me.lookupType("signal_msg.JoinRequest"),ke=me.lookupType("transport.Message"),Me=me.lookupType("rpc.RpcMessage"),we=me.lookupType("ddmsg.Message"),De=me.lookupType("dsmsg.Message");function je(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(je=function(){return!!e})()}me.lookupType("ddmsg.Data");var Ae=function(){function e(){var t,r,n;return _(this,e),r=this,n=w(n=e),t=M(r,je()?Reflect.construct(n,[],w(r).constructor):n.apply(r,undefined)),Object.defineProperty(t,"timer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(t,"seconds",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(t,"gapTime",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(t,"sequence",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(t,"maxTime",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),t.timer=null,t.gapTime=15e3,t.maxTime=6e4,t.seconds=0,t.sequence=0,t}return j(e,EventEmitter),k(e,[{key:"start",value:function(e){var t=this,r=e||{},n=r.pingInterval,i=r.pingTimeout;n&&i&&(this.stop(),this.gapTime=1e3*n,this.maxTime=1e3*i),this.timer||(this.ping(),this.timer=addTimer(function(){if(t.seconds++,1e3*t.seconds%t.gapTime==0&&t.ping(),1e3*t.seconds>t.maxTime)throw t.stop(),t.emit("retry"),new DingRTCError(ErrorCode.ConnectionHeartbeatTimeout)},1e3,"interval"))}},{key:"ping",value:function(){var e={sequence:++this.sequence,pingMs:Date.now()};this.emit("ping",{keepalive:e})}},{key:"pong",value:function(e){this.sequence=e.sequence,this.seconds=0}},{key:"stop",value:function(){this.timer&&(removeTimer(this.timer,"interval"),this.timer=null,this.sequence=0,this.seconds=0)}}])}();function Le(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Le=function(){return!!e})()}var Ue,xe,Ye,qe,Ve,Ge,Je,Be=function(){function e(t,r){var n,i,o;return _(this,e),i=this,o=w(o=e),n=M(i,Le()?Reflect.construct(o,[],w(i).constructor):o.apply(i,undefined)),Object.defineProperty(n,"socket",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(n,"reporter",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(n,"rpcId",{enumerable:!0,configurable:!0,writable:!0,value:20}),Object.defineProperty(n,"requestMap",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"proxyReqMap",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"domain",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),n.socket=t,n.reporter=r,n.logger=n.reporter.getLoggerWithPrefix("[chn-basictrans]"),n.requestMap=new Map,n.proxyReqMap=new Map,n}return j(e,EventEmitter),k(e,[{key:"connect",value:function(e,t){var r=this,n=JSON.parse(fromBase64(e)),i=n.secure,o=n.relayServerHosts,a=void 0===o?[]:o;return a[0]&&(this.domain=a[0]),new Promise(function(n,o){var s=(i?"wss":"ws")+"://"+(a[0]||r.domain);r.socket.removeAllListeners(),r.socket.init(s,e,t),r.socket.on("reauth",function(){r.emit("reauth")}),r.socket.on("rejoin",function(){r.emit("rejoin")}),r.socket.on("connection-state-change",function(e,t,i){r.emit("connection-state-change",e,t,i),"disconnected"===e?o(i):"connected"===e&&n()})})}},{key:"disconnect",value:function(){var e;if(this.requestMap.clear(),null!==(e=this.socket)&&void 0!==e&&e.instance&&"disconnected"!==this.socket.state)return this.socket.close(!0)}},{key:"sendChnData",value:function(e,t){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o={MagicNumber:5,Version:1,Type:0,NeedAck:!0,RpcId:this.rpcId++,Method:e,Data:t},a=Me.encode(o).finish();return i&&this.logger.debug("rpcId ".concat(o.RpcId,":").concat(e," param====> ").concat(JSON.stringify(n||""))),new Promise(function(t,s){r.socket.send(de.MessageType.ChannelDataType,{channelData:{data:a,chanId:1}},o.RpcId,e);var c=o.RpcId;r.requestMap.set(c,{resolve:t,reject:s,payload:{methond:e,internal:i,rpcId:c,param:n||""}}),addTimer(function(){var t=r.requestMap.get(c);null!=t&&t.reject&&(t.reject(new DingRTCError(ErrorCode.APICallTimeOut,"".concat(e," timeout"))),r.requestMap.delete(c))},ue)})}},{key:"proxyRtmpReq",value:function(e,t,r,n){var i=this;this.logger.info("rpcRequestBody===",n);var o=Pe.encode(n).finish();return new Promise(function(n,a){var s=e||createUuid(10);i.socket.send(de.MessageType.RpcProxyRequestType,{rpcProxyRequest:{rpcId:s,targetServer:t,targetServerSubProcessIndex:0,rpcMethod:r,rpcRequestBody:o}}),i.proxyReqMap.set(e,{resolve:n,reject:a}),addTimer(function(){var t=i.proxyReqMap.get(e);null!=t&&t.reject&&(t.reject(new DingRTCError(ErrorCode.APICallTimeOut,"proxyRtmpReq timeout ".concat(r," ").concat(e))),i.proxyReqMap.delete(e))},ue)})}},{key:"onProxyRtmpResponseMsg",value:function(e){var t=this.proxyReqMap.get(e.rpcProxyResponse.rpcId);e.rpcProxyResponse.rpcResponseCode?null==t||t.reject(e.rpcProxyResponse.rpcResponseCode):null==t||t.resolve(e.rpcProxyResponse.rpcResponseBody)}},{key:"handleNotification",value:function(e,t){var r=this;if("batch-notify"===e){var n=Se.decode(t).notificationItem,i=["participant","conference","sync"];n.forEach(function(e){"participant"===e.event?r.emit("participant",e.participantNotification):"conference"===e.event?r.emit("conference",e.conferenceNotification):"sync"===e.event&&r.emit("sync",e.syncNotification)}),n.filter(function(e){return!i.includes(e.event)}).length&&this.emit("batch-notify",t)}else"participant"===e?this.emit("participant",Te.decode(t)):"conference"===e?this.emit("conference",Ee.decode(t)):"drop"===e?this.emit("drop",Ie.decode(t)):"sync"===e?this.emit("sync",Ce.decode(t)):this.emit("notify",e,t)}},{key:"onMessage",value:function(e){var t=Me.decode(new Uint8Array(e.channelData.data));if(t.Type===ae.RpcType.Resp){var r=this.requestMap.get(t.RpcId);if(!r)return;var n=r.resolve,i=r.reject,o=r.payload;if(o.internal){var a=be.decode(t.Data);a.result===re.Result.Ok?(this.logger.debug("rpcId ".concat(o.rpcId,": ").concat(o.methond," result====> ").concat(JSON.stringify(a))),n(a)):(this.logger.error("rpcId ".concat(o.rpcId,": ").concat(o.methond," error====> ").concat(JSON.stringify(a))),i(a))}else n(t.Data);this.requestMap.delete(t.RpcId)}else t.Type===ae.RpcType.Req&&this.handleNotification(t.Method,t.Data)}}])}();!function(e){e[e.UserKickOut=2011]="UserKickOut",e[e.UserReplaced=2012]="UserReplaced"}(Ue||(Ue={})),function(e){e[e.Unknown=0]="Unknown",e[e.SubtopDS=1]="SubtopDS",e[e.Linkserver=2]="Linkserver",e[e.Vmixer=3]="Vmixer",e[e.Minutes=4]="Minutes"}(xe||(xe={})),function(e){e[e.UnknownId=0]="UnknownId",e[e.ControlNodeId=1]="ControlNodeId",e[e.TerminalNodeId=2]="TerminalNodeId",e[e.ChannelId=3]="ChannelId"}(Ye||(Ye={})),function(e){e[e.NORMAL_ATTACH=0]="NORMAL_ATTACH",e[e.FORCE_REATTACH=1]="FORCE_REATTACH",e[e.RESYNC=2]="RESYNC"}(qe||(qe={})),function(e){e[e.NODE_JOIN=0]="NODE_JOIN",e[e.NODE_LEAVE=1]="NODE_LEAVE"}(Ve||(Ve={})),function(e){e[e.High=0]="High",e[e.Normal=1]="Normal",e[e.Low=2]="Low"}(Ge||(Ge={})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.DEFAULT=1]="DEFAULT",e[e.NODE_MAP=2]="NODE_MAP"}(Je||(Je={}));var Fe=function(e){return"number"==typeof e?Long.fromNumber(e,!0):new Long(e.low,e.high,e.unsigned)},Ke=function(){function e(){_(this,e)}return k(e,null,[{key:"isValidId",value:function(t){var r=Fe(t);if(r.and(e.ChannelMaskLong.not()).eq(Long.ZERO))return!0;var n=r.and(e.NodeTypeMaskLong).eq(e.NodeTypeMaskLong),i=r.and(e.TerminalMaskLong).eq(Long.ZERO);if(!n&&i||n&&!i)return!1;var o=r.and(e.UseCtrlL1MaskLong).eq(e.UseCtrlL1MaskLong),a=r.and(e.CtrlLayer1MaskLong).eq(Long.ZERO);return!(o&&a||!o&&!a)}},{key:"getIdType",value:function(t){var r=Fe(t);return r.and(e.ChannelMaskLong).eq(r)?Ye.ChannelId:e.isValidId(t)?r.and(e.NodeTypeMaskLong).eq(e.NodeTypeMaskLong)?Ye.ControlNodeId:Ye.TerminalNodeId:Ye.UnknownId}},{key:"replaceClusterId",value:function(t,r){return t.and(e.ClusterIdMaskLong.not()).or(Long.fromNumber(r).shiftLeft(42))}},{key:"getTopNodeId",value:function(t){return(4095&t)<<42|e.NodeTypeMask}},{key:"extractParentNodeId",value:function(t,r){var n=Fe(t);if(!this.isValidId(n)||this.isTopControlNode(n))return Long.ZERO;var i=n.and(e.EndpointMaskLong),o=n.and(e.NodeTypeMaskLong).equals(e.NodeTypeMaskLong),a=n.and(e.UseCtrlL1MaskLong).equals(e.UseCtrlL1MaskLong);if(o&&a||!o&&!a){var s=e.replaceClusterId(e.NodeTypeMaskLong.or(e.CtrlLayer0MaskLong.or(e.SubDsMaskLong).and(n)),r).or(i);return o&&a?s.and(e.SubDsMaskLong.not()).or(Long.fromNumber((15&xe.SubtopDS)<<54)):s}return o&&!a?e.replaceClusterId(Long.fromNumber(e.NodeTypeMask),r).or(i).and(e.SubDsMaskLong.not()):!o&&a?e.replaceClusterId(e.NodeTypeMaskLong.or(e.UseCtrlL1MaskLong).or(e.CtrlLayer0MaskLong).or(e.CtrlLayer1MaskLong.or(e.CtrlLayer1MaskLong).or(e.SubDsMaskLong)).and(n),r).or(i):0}},{key:"extractNodeIdWithoutClusterId",value:function(t){var r=e.EndpointMaskLong.or(e.ClusterIdMaskLong).or(e.ReservedMaskLong).or(e.SubDsMask);return Fe(t).and(r.not())}},{key:"isTopControlNode",value:function(t){var r=Fe(t);return r.and(e.NodeTypeMaskLong).equals(e.NodeTypeMaskLong)&&r.and(e.UseCtrlL1MaskLong).or(e.CtrlLayer0MaskLong).or(e.CtrlLayer1MaskLong).or(e.TerminalMaskLong)}},{key:"isDirectChild",value:function(t,r){if(0==(r&e.NodeTypeMask))return!1;var n=t&(e.CtrlLayer0Mask|e.CtrlLayer1Mask|e.TerminalMask),i=r&(e.CtrlLayer0Mask|e.CtrlLayer1Mask|e.TerminalMask);return n!=r&&0!=t&&(i==(n&(e.CtrlLayer0Mask|e.CtrlLayer1Mask))||i==(n&e.CtrlLayer0Mask)&&0==(n&~(e.CtrlLayer0Mask|e.CtrlLayer1Mask))||0==i&&0==(t&~e.CtrlLayer0Mask))}},{key:"isChild",value:function(t,r){if(0==(r&e.NodeTypeMask))return!1;var n=t&(e.CtrlLayer0Mask|e.CtrlLayer1Mask|e.TerminalMask),i=r&(e.CtrlLayer0Mask|e.CtrlLayer1Mask|e.TerminalMask);return n!==i&&0!==n&&(0===i||r==(n&(e.CtrlLayer0Mask|e.CtrlLayer1Mask))||i==(n&e.CtrlLayer0Mask))}},{key:"isMe",value:function(t,r){if(!this.isValidId(t)||!this.isValidId(r))return!1;var n=e.EndpointMaskLong.or(e.ClusterIdMask).or(e.ReservedMaskLong);return Fe(t).and(n.not()).eq(Fe(r).and(n.not()))}},{key:"extractEndpointId",value:function(t){return Fe(t).and(e.EndpointMaskLong).toNumber()}},{key:"composeId",value:function(t,r){return Fe(t).and(e.EndpointMaskLong.not()).or(Fe(r))}},{key:"extractNodeId",value:function(t){return Fe(t).and(e.EndpointMaskLong.not())}}])}();function He(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function We(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?He(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):He(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function Qe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Qe=function(){return!!e})()}Object.defineProperty(Ke,"ReservedMask",{enumerable:!0,configurable:!0,writable:!0,value:63<<58}),Object.defineProperty(Ke,"SubDsMask",{enumerable:!0,configurable:!0,writable:!0,value:15<<54}),Object.defineProperty(Ke,"ClusterIdMask",{enumerable:!0,configurable:!0,writable:!0,value:4193280}),Object.defineProperty(Ke,"NodeTypeMask",{enumerable:!0,configurable:!0,writable:!0,value:512}),Object.defineProperty(Ke,"UseCtrlL1Mask",{enumerable:!0,configurable:!0,writable:!0,value:256}),Object.defineProperty(Ke,"CtrlLayer0Mask",{enumerable:!0,configurable:!0,writable:!0,value:1023<<30}),Object.defineProperty(Ke,"CtrlLayer1Mask",{enumerable:!0,configurable:!0,writable:!0,value:1023<<20}),Object.defineProperty(Ke,"TerminalMask",{enumerable:!0,configurable:!0,writable:!0,value:1048320}),Object.defineProperty(Ke,"EndpointMask",{enumerable:!0,configurable:!0,writable:!0,value:255}),Object.defineProperty(Ke,"ChannelMask",{enumerable:!0,configurable:!0,writable:!0,value:255}),Object.defineProperty(Ke,"ReservedMaskLong",{enumerable:!0,configurable:!0,writable:!0,value:Long.fromNumber(63).shiftLeft(58)}),Object.defineProperty(Ke,"SubDsMaskLong",{enumerable:!0,configurable:!0,writable:!0,value:Long.fromNumber(15).shiftLeft(54)}),Object.defineProperty(Ke,"ClusterIdMaskLong",{enumerable:!0,configurable:!0,writable:!0,value:Long.fromNumber(4095).shiftLeft(42)}),Object.defineProperty(Ke,"NodeTypeMaskLong",{enumerable:!0,configurable:!0,writable:!0,value:Long.fromNumber(1).shiftLeft(41)}),Object.defineProperty(Ke,"UseCtrlL1MaskLong",{enumerable:!0,configurable:!0,writable:!0,value:Long.fromNumber(1).shiftLeft(40)}),Object.defineProperty(Ke,"CtrlLayer0MaskLong",{enumerable:!0,configurable:!0,writable:!0,value:Long.fromNumber(1023).shiftLeft(30)}),Object.defineProperty(Ke,"CtrlLayer1MaskLong",{enumerable:!0,configurable:!0,writable:!0,value:Long.fromNumber(63).shiftLeft(20)}),Object.defineProperty(Ke,"TerminalMaskLong",{enumerable:!0,configurable:!0,writable:!0,value:Long.fromNumber(4095).shiftLeft(8)}),Object.defineProperty(Ke,"EndpointMaskLong",{enumerable:!0,configurable:!0,writable:!0,value:Long.fromNumber(255)}),Object.defineProperty(Ke,"ChannelMaskLong",{enumerable:!0,configurable:!0,writable:!0,value:Long.fromNumber(255)});var Ze=function(){function e(t,r){var n,i,o;return _(this,e),i=this,o=w(o=e),n=M(i,Qe()?Reflect.construct(o,[],w(i).constructor):o.apply(i,undefined)),Object.defineProperty(n,"socket",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(n,"requestMap",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"attachUserConfirm",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),n.socket=t,n.logger=r.getLoggerWithPrefix("[chn-switchtrans]"),n.requestMap=new Map,n}return j(e,EventEmitter),k(e,[{key:"channelBind",value:function(e){var t=this,r={chanId:2,type:de.ChannelType.DataSwitcherChannel,address:location.hostname},n="".concat(e,"#").concat(se.MessageType.TYPE_ATTACH_USER_CONFIRM);return this.commitRPC(function(){return t.socket.send(de.MessageType.ChannelBindType,{channelBind:r}).catch(function(e){var r;throw null===(r=t.requestMap.get(n))||void 0===r||r.reject(e),t.requestMap.delete(n),e})},n)}},{key:"commitRPC",value:function(e,t){var r=this;return t?new Promise(function(n,i){e(),r.requestMap.set(t,{resolve:n,reject:i}),addTimer(function(){var e=r.requestMap.get(t);null!=e&&e.reject&&(e.reject(new DingRTCError(ErrorCode.APICallTimeOut,"".concat(t," timeout"))),r.requestMap.delete(t))},8e3)}):Promise.resolve(e())}},{key:"send",value:function(e,t){var r,n=this,i=e[ve.rpcTypeKeyMap[e.type]],o=i.sessionType,a=i.sessionKey,s=i.requestId,c=i.groupId,l=i.nodeId;s?r="".concat(Ke.extractEndpointId(t.from),"#").concat(s):a?r="".concat(o,"#").concat(a,"#").concat(e.type+1):c&&(r="".concat(""+l,"#").concat(c,"#").concat(e.type+1));var u={msgType:oe.Type.kData,data:We(We({},t),{},{data:De.encode(e).finish()})},d={Type:de.MessageType.ChannelDataType,Version:1,channelData:{chanId:2,data:we.encode(u).finish()}};return this.commitRPC(function(){return n.socket.instance.send(ke.encode(d).finish())},r)}},{key:"onMessage",value:function(e){var t=we.decode(e),r=t.data,n=r.to,i=r.from,o=r.data;if(t.msgType===oe.Type.kData){var a;try{a=De.decode(o)}catch(e){return void this.logger.warn("handleMessage, dsmsg parse failed")}var s=Ke.getIdType(n)===Ye.ChannelId,c=Ke.extractEndpointId(s?i:n),l=a.type,u=ve.msgTypeKeyMap[l],d=a[u];if(d)if(ve.confirmTypes.includes(l)){this.logger.debug("".concat(u,": ").concat(JSON.stringify(d)));var p,h=d.result,f=d.requestId,g=d.sessionKey,y=d.sessionType,v=d.serverNodeId,m=d.pid,b=d.groupId,S=d.nodeId;f?p="".concat(c,"#").concat(f):v?p="".concat(m,"#").concat(l):g?p="".concat(y,"#").concat(g,"#").concat(l):b&&(p="".concat(""+S,"#").concat(b,"#").concat(l));var _=this.requestMap.get(p);if(!_)return;0===h?(this.logger.info("".concat(u," rpcId:").concat(p," result===> ").concat(JSON.stringify(d))),_.resolve(d)):(this.logger.warn("".concat(u," rpcId:").concat(p," error===> ").concat(JSON.stringify(d))),_.reject(d)),this.requestMap.delete(p)}else l===se.MessageType.TYPE_SESSION_CMD_DATA_NOTIFICATION?this.emit("sessionCmdData",c,s,d):l===se.MessageType.TYPE_SESSION_DATA?this.emit("sessionData",i,c,s?n:0,d):l===se.MessageType.TYPE_DETACH_USER_CONFIRM?this.emit("detachUserConfirm",d):l===se.MessageType.TYPE_NODE_MAP_UPDATE?this.emit("nodeMapUpdated",c,d):l===se.MessageType.TYPE_NODE_MAP_SNAPSHOT?this.emit("nodeMapSnapshot",c,d):l===se.MessageType.TYPE_SESSION_CREATED?this.emit("sessionCreated",d):l===se.MessageType.TYPE_SESSION_CLOSED?this.emit("sessionClosed",d):l===se.MessageType.TYPE_GROUP_CREATED?this.emit("groupCreated",c,d):l===se.MessageType.TYPE_GROUP_DESTROYED?this.emit("groupDestroyed",c,d):l===se.MessageType.TYPE_SERVICE_STATUS?this.emit("serviceStatus",c,d):l===se.MessageType.TYPE_SWITCHER_UPDATE&&this.emit("switchUpdate",d);else this.logger.warn("msgType: ".concat(u," has no payload"))}}}])}();function ze(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function $e(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return($e=function(){return!!e})()}var Xe=function(){function e(t){var r,n,i;return _(this,e),n=this,i=w(i=e),r=M(n,$e()?Reflect.construct(i,[],w(n).constructor):i.apply(n,undefined)),Object.defineProperty(r,"instance",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"heartBeat",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"requestMap",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"ticket",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"token",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"refreshTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"sequenceId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"rejoin",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"basicTransport",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"switchTransport",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"destroyed",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"retryCount",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"socketReconnectionTimeoutTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"signalReconnectionTimeoutTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"connectionTimeoutTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"state",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"instantlyReconnect",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.logger.info("instantlyReconnect for browser offline event"),window.removeEventListener("offline",r.instantlyReconnect),"reconnecting"!==r.state&&r.setTimerToReconnectSocket(!0)}}),r.logger=t.getLoggerWithPrefix("[chn-socket]"),r.state="disconnected",r.requestMap=new Map,r.heartBeat=new Ae,r.refreshTimer=null,r.sequenceId=1,r.retryCount=0,r.switchTransport=new Ze(r,t),r.basicTransport=new Be(r,t),r}return j(e,EventEmitter),k(e,[{key:"onHeartBeat",value:function(){var e=this;this.heartBeat.on("retry",function(){e.destroyed||e.reconnect("keepalive")}),this.heartBeat.on("ping",function(t){e.send(de.MessageType.KeepaliveType,t)})}},{key:"setTimerToReconnectSocket",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.signalReconnectionTimeoutTimer&&(removeTimer(this.signalReconnectionTimeoutTimer),this.signalReconnectionTimeoutTimer=null),this.signalReconnectionTimeoutTimer=addTimer(function(){e.reconnect(t?"reconnect for noWaitTime":"reconnect req Timeout")},t?0:15e3)}},{key:"reconnect",value:function(e){this.close(),this.logger.debug("retry connect start, for ".concat(e)),this.clearConnectionTimer(!0),"connected"!==this.state&&"connecting"!==this.state||this.updateState("reconnecting"),this.init(this.url,this.token,!1,6e3)}},{key:"init",value:function(e,t){var r,n=this,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1;o>0&&(r=addTimer(function(){n.logger.info("finish connect init due to timeout"),n.instance.onclose=null,n.instance.onerror=null,n.instance.onopen=null,n.instance.onmessage=null,n.instance.close(),n.onClose(new CloseEvent("socket connect timeout, positive finished"))},o)),this.url=e,this.token=t,this.rejoin=i,"reconnecting"!==this.state&&(this.updateState("connecting"),this.connectionTimeoutTimer=addTimer(function(){n.updateState("disconnected","network_error"),n.close(!0)},32e3)),this.instance=new WebSocket(e),this.instance.binaryType="arraybuffer",this.instance.onopen=function(){removeTimer(r),n.onOpen()},this.instance.onmessage=function(e){n.onMessage(e)},this.instance.onerror=function(e){n.onError(e)},this.instance.onclose=function(e){removeTimer(r),n.onClose(e)}}},{key:"clear",value:function(){this.heartBeat.stop(),this.clearConnectionTimer(),this.requestMap.clear(),this.heartBeat.removeAllListeners()}},{key:"close",value:function(){this.destroyed=arguments.length>0&&void 0!==arguments[0]&&arguments[0],this.clear(),this.instance&&(this.instance.onerror=null,this.instance.onmessage=null,this.instance.onclose=null,this.instance.onopen=null,this.instance.close(),this.instance=null)}},{key:"getTransportData",value:function(e,t){var r=function(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ze(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ze(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({Type:e,Version:1,SequenceId:this.sequenceId++},t);return ke.encode(r).finish()}},{key:"send",value:function(e,t,r,n){var i,o,a=this;if(1!==(null===(i=this.instance)||void 0===i?void 0:i.readyState))return Promise.reject("socket state error: ".concat((null===(o=this.instance)||void 0===o?void 0:o.readyState)||0));var s=this.getTransportData(e,t);if(de.MessageType.KeepaliveType!==e&&this.setTimerToReconnectSocket(),![de.MessageType.KeepaliveType,de.MessageType.ChannelDataType].includes(e))return new Promise(function(t,i){a.instance.send(s);var o=null!=r?r:e,c=n||e;a.requestMap.set(o,{resolve:t,reject:i}),addTimer(function(){var e=a.requestMap.get(o);null!=e&&e.reject&&(e.reject(new DingRTCError(ErrorCode.APICallTimeOut,"".concat(c," timeout"))),a.requestMap.delete(o))},ue)});this.instance.send(s)}},{key:"clearConnectionTimer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.signalReconnectionTimeoutTimer&&(removeTimer(this.signalReconnectionTimeoutTimer),this.signalReconnectionTimeoutTimer=null),this.socketReconnectionTimeoutTimer&&e&&(removeTimer(this.socketReconnectionTimeoutTimer),this.socketReconnectionTimeoutTimer=null),null!=this.connectionTimeoutTimer&&(removeTimer(this.connectionTimeoutTimer),this.connectionTimeoutTimer=null)}},{key:"channelBind",value:function(){this.logger.info("channelBind started");var e={chanId:1,type:de.ChannelType.PortalChannel,address:location.hostname};return this.send(de.MessageType.ChannelBindType,{channelBind:e})}},{key:"auth",value:function(e){var t=this;return this.logger.info("auth started rejoin=",this.rejoin),this.send(de.MessageType.AuthType,{auth:{token:e,duplicate:this.rejoin,options:{supportReliable:!1,supportPingConfig:!0}}}).then(function(e){if(t.logger.info("auth res",e),t.refresh(e.ticket),e.pingConfig)return e.pingConfig})}},{key:"refresh",value:function(e){var t=this;this.ticket=e;var r=JSON.parse(fromBase64(e)).notAfter,n=Date.now();if(n-1e4<r){var i=r-n-6e4;0>i&&(i=r-n-1e4),removeTimer(this.refreshTimer),this.refreshTimer=addTimer(function(){t.refreshTicket().then(function(e){t.refresh(e.ticket)})},i)}else this.logger.warn("Reconnection ticket expires too soon.")}},{key:"refreshTicket",value:function(){return this.send(de.MessageType.RefreshTicketType,{refreshTicket:{}})}},{key:"reauth",value:function(e){var t=this;return this.send(de.MessageType.ReAuthType,{reauth:{ticket:e,options:{supportReliable:!1,supportPingConfig:!0}}}).then(function(e){t.emit("reauth"),e.pingConfig&&t.heartBeat.start(e.pingConfig)}).catch(function(e){t.logger.error("reauth error"+JSON.stringify(e)),(null==e?void 0:e.errorMsg)!==de.AuthErrorMsg.Unavailable?t.onRejoin():(t.updateState("disconnected","timeout"),t.close(!0))})}},{key:"onRejoin",value:function(){this.rejoin||(this.emit("rejoin"),this.logger.warn("rejoin started")),this.close(!0)}},{key:"onMessage",value:function(e){this.setTimerToReconnectSocket();var t=ke.decode(new Uint8Array(e.data));if(t.Type===de.MessageType.ChannelDataType)1===t.channelData.chanId?this.basicTransport.onMessage(t):2===t.channelData.chanId&&this.switchTransport.onMessage(t.channelData.data);else if(t.Type===de.MessageType.RpcProxyResponseType)this.logger.debug("onmsg",t.Type,t),this.basicTransport.onProxyRtmpResponseMsg(t);else if(t.Type===de.MessageType.KeepaliveResponseType)this.heartBeat.pong(t.keepaliveResponse);else if(t.Type===de.MessageType.ServerRequestType){var r=t.notification.event;this.logger.warn("server request ".concat(1===r?"reauth":"rejoin")),r===de.ServerEvent.ReauthRequest?this.reauth(this.ticket):r===de.ServerEvent.RejoinRequest&&this.onRejoin()}else{var n,i,o=new Map([[de.MessageType.AuthResponseType,t.authResponse],[de.MessageType.ChannelBindResponseType,t.channelBindResponse],[de.MessageType.ReAuthResponseType,t.reauthResponse],[de.MessageType.RefreshTicketResponseType,t.refreshTicketResponse]]).get(t.Type);o.code===de.ErrorCode.Ok?null===(n=this.requestMap.get(t.Type-1))||void 0===n||n.resolve(o):null===(i=this.requestMap.get(t.Type-1))||void 0===i||i.reject(o),this.requestMap.delete(t.Type-1)}}},{key:"onError",value:function(e){this.logger.error("onError: ".concat(JSON.stringify(e)))}},{key:"onOpen",value:(t=C(pe.mark(function e(){var t,r,n=this;return pe.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.clearConnectionTimer(!0),this.retryCount=0,window.addEventListener("offline",this.instantlyReconnect),"reconnecting"!==this.state){e.next=1;break}this.reauth(this.ticket).then(function(){n.rejoin=!1,n.updateState("connected"),n.onHeartBeat()}),e.next=5;break;case 1:return e.prev=1,e.next=2,this.auth(this.token);case 2:return t=e.sent,e.next=3,this.channelBind();case 3:this.logger.info("channelBind res",e.sent),this.rejoin=!1,this.updateState("connected"),this.onHeartBeat(),this.heartBeat.start(t),e.next=5;break;case 4:e.prev=4,r=e.catch(1),this.logger.debug("auth or channelBind failed",r),this.updateState("disconnected","server_error"),this.close(!0);case 5:case"end":return e.stop()}},e,this,[[1,4]])})),function(){return t.apply(this,arguments)})},{key:"updateState",value:function(e,t){e!==this.state&&(this.emit("connection-state-change",e,this.state,t),this.state=e)}},{key:"onClose",value:function(e){var t=this;this.logger.warn("socket closed:"+JSON.stringify(e)),this.rejoin?this.updateState("disconnected","server_error"):this.destroyed||("reconnecting"===this.state?(this.retryCount++,this.retryCount>18?(this.updateState("disconnected","network_error"),this.retryCount=0):this.socketReconnectionTimeoutTimer=addTimer(function(){t.reconnect("retry count"+t.retryCount)},ye)):"connecting"==this.state?this.socketReconnectionTimeoutTimer=addTimer(function(){t.reconnect("localNetwork")},ye):"disconnected"!==this.state&&(this.socketReconnectionTimeoutTimer=addTimer(function(){t.reconnect("server closed, retry count"+t.retryCount)},ye))),this.clear()}}]);var t}();function et(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function tt(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?et(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):et(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var nt=getReporter().getLoggerWithPrefix("[ch-gslb]");function it(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(it=function(){return!!e})()}var rt=function(){function e(t,r){var n,i,o;return _(this,e),i=this,o=w(o=e),n=M(i,it()?Reflect.construct(o,[],w(i).constructor):o.apply(i,undefined)),Object.defineProperty(n,"reporter",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(n,"transport",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),n.transport=t.basicTransport,n.reporter=r,n.logger=n.reporter.getLoggerWithPrefix("[chn-signaling]"),n.forwardNotification(),n}return j(e,EventEmitter),k(e,[{key:"forwardNotification",value:function(){var e=this;["participant","batch-notify","conference","drop","notify","rejoin","connection-state-change","sync","reauth"].forEach(function(t){e.transport.on(t,function(){for(var r=arguments.length,n=Array(r),i=0;r>i;i++)n[i]=arguments[i];e.emit.apply(e,[t].concat(n))})})}},{key:"relogin",value:function(e){var t=this,r=e.token,n=Oe.encode(e).finish();return this.transport.connect(r,!0).then(function(){return t.transport.sendChnData("rejoin-login",n,e,!0).then(function(e){return e.rejoinResponse})})}},{key:"login",value:function(e){var t=this,r=e.token,n=Ne.encode(e).finish();return this.transport.connect(r,!1).then(function(){return t.transport.sendChnData("login",n,e,!0).then(function(e){return e.joinResponse})})}},{key:"diconnect",value:function(){return this.transport.disconnect()}},{key:"logout",value:function(){var e=this;return this.transport.sendChnData("logout",void 0,null,!0).catch(function(t){e.logger.debug("logout api called failed ".concat(JSON.stringify(t)))}),this.diconnect()}},{key:"getUsersVer",value:function(e){var t=Re.encode(e).finish();return this.transport.sendChnData("query-participants-ver",t,e,!0).then(function(e){return e.queryParticipantsVerResponse})}},{key:"getUsers",value:function(e){var t=_e.encode(e).finish();return this.transport.sendChnData("query-participants",t,e,!0).then(function(e){return e.queryParticipantsResponse})}},{key:"rpc",value:function(e,t,r){return this.transport.sendChnData(e,t,r)}}])}();function ot(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);t>r;r++)n[r]=e[r];return n}function st(e,t){if(e){if("string"==typeof e)return ot(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ot(e,t):void 0}}function at(e){return function(e){if(Array.isArray(e))return ot(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||st(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function dt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ct(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?dt(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):dt(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function pt(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return lt(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?lt(e,t):void 0}}(e))||t){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return e.length>n?{done:!1,value:e[n++]}:{done:!0}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw o}}}}function lt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);t>r;r++)n[r]=e[r];return n}function ut(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ut=function(){return!!e})()}var yt,ht,ft,gt,vt,mt,bt,St=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50,r=null;return function(){for(var n=this,i=arguments.length,o=Array(i),a=0;i>a;a++)o[a]=arguments[a];r&&clearTimeout(r),r=setTimeout(function(){e.apply(n,o)},t)}},Tt=function(){function e(t){var r,n,i;return _(this,e),n=this,i=w(i=e),r=M(n,ut()?Reflect.construct(i,[],w(n).constructor):i.apply(n,undefined)),Object.defineProperty(r,"channel",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(r,"participants",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"currentPid",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"reporter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"totalVer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"onConnectionStateChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t){r.logger.info("chn connection-state-change",e,t),"connected"===e&&"reconnecting"===t&&r.debounceSyncRpc(!1)}}),Object.defineProperty(r,"debounceSyncRpc",{enumerable:!0,configurable:!0,writable:!0,value:St(r.doSyncRpc,1e3)}),r.participants=new Map,r.channel=t,r.reporter=t.reporter,r.logger=r.reporter.getLoggerWithPrefix("[chn-usermgr]"),r.handleEvent=r.handleEvent.bind(r),r.handleSyncEvent=r.handleSyncEvent.bind(r),r.debounceSyncRpc=r.debounceSyncRpc.bind(r),r}return j(e,EventEmitter),k(e,[{key:"currentUids",get:function(){return at(this.participants.values()).map(function(e){return e.user})}},{key:"init",value:function(e,t,r){var n,i=pt(e);try{for(i.s();!(n=i.n()).done;){var o=n.value;this.participants.set(o.id,o)}}catch(e){i.e(e)}finally{i.f()}this.totalVer=t,this.currentPid=r,this.channel.signaling.on("participant",this.handleEvent),this.channel.signaling.on("sync",this.handleSyncEvent),this.channel.signaling.on("reauth",this.debounceSyncRpc),this.channel.on("connection-state-change",this.onConnectionStateChange)}},{key:"clear",value:function(){this.participants.clear(),this.currentPid="",this.totalVer=0,this.channel.signaling.off("participant",this.handleEvent),this.channel.signaling.off("sync",this.handleSyncEvent),this.channel.signaling.off("reauth",this.debounceSyncRpc),this.channel.off("connection-state-change",this.onConnectionStateChange)}},{key:"handleEvent",value:function(e,t){var r=this;this.logger.info("channelUserEvent",e);var n=e.action,i=e.info,o=e.participantId,a=e.totalVer,s=e.propertiesData,c=this.totalVer,l=this.participants.get(o||(null==s?void 0:s.id));if(a==c+1||-999==a||t)if("join"===n&&i){var u=at(this.participants.values()).filter(function(e){return e.user===i.user});this.participants.set(i.id,i),0===u.length?this.emit("user","join",i):(this.logger.info("delete same uid participants, for new join",i,u),u.map(function(e){return r.participants.delete(e.id)}),this.emit("user","participant-replace",i,u))}else"leave"===n?l?(this.participants.delete(o),this.currentUids.includes(l.user)?this.logger.info("user ".concat(l.user," has another pid in channel")):this.emit("user","leave",l)):this.logger.info("Received leave message for unknown participant."):"setProperties"===n&&(l.propertiesJsonStr=JSON.stringify(ct(ct({},JSON.parse(l.propertiesJsonStr||"{}")),JSON.parse(s.propertiesJsonStr||"{}"))),this.emit("user","update",l));t||this.totalVer>=a&&-999!==a||(a===c+1&&(this.totalVer=a),a>c+1&&!t&&(this.logger.info("debounceSyncRpc by user event"),this.debounceSyncRpc()))}},{key:"handleSyncEvent",value:function(e){e.participantsVer>this.totalVer&&(this.logger.info("debounceSyncRpc by sync event"),this.debounceSyncRpc())}},{key:"doSyncRpc",value:(t=C(pe.mark(function e(){var t,r,n,i,o,a,s,c,l,u,d,p,h,f,g,y,v,m,b,S,_,w,I,T,E,O,P,C,R,x,k=arguments;return pe.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.logger.info("request sync user checkUserVer=",t=!(k.length>0&&void 0!==k[0])||k[0]),r=[],n=[],e.prev=1,e.next=2,this.channel.signaling.getUsersVer({});case 2:i=(a=e.sent).participants,o=a.totalVer,e.next=4;break;case 3:return e.prev=3,x=e.catch(1),this.logger.error("sync error",x),e.abrupt("return");case 4:s=at(this.participants.keys()),c=i.map(function(e){return e.id}),l=pt(i);try{for(l.s();!(u=l.n()).done;)f=(p=u.value).ver,this.participants.has(h=p.id)?((null===(d=this.participants.get(h))||void 0===d?void 0:d.ver)!==f&&t||!t)&&r.push(h):n.push(h)}catch(e){l.e(e)}finally{l.f()}if(this.reporter.trace.syncEvent("user",s,c),g=s.filter(function(e){return!c.includes(e)}),y=at(new Set(r.concat(g,n))),this.totalVer=o,0!==y.length){e.next=5;break}return this.logger.info("no diff user, return"),e.abrupt("return");case 5:return e.next=6,this.channel.signaling.getUsers({pids:y});case 6:m=(v=e.sent).participants,b=v.totalVer,S=new Map,_=pt(this.participants.values());try{for(_.s();!(w=_.n()).done;)S.set((I=w.value).id,I)}catch(e){_.e(e)}finally{_.f()}T=pt(m);try{for(T.s();!(E=T.n()).done;)this.participants.has((O=E.value).id)?(this.participants.set(O.id,O.data),this.handleEvent({action:"setProperties",participantId:O.id,info:this.participants.get(O.id),totalVer:b,propertiesData:O.data},!0)):S.set(O.id,O.data)}catch(e){T.e(e)}finally{T.f()}for(P=at(S.values()),C=0;P.length>C;C++)n.includes((R=P[C]).id)?this.handleEvent({action:"join",participantId:R.id,info:R,totalVer:b},!0):g.includes(R.id)&&this.handleEvent({action:"leave",participantId:R.id,info:R,totalVer:b},!0);this.totalVer=b;case 7:case"end":return e.stop()}},e,this,[[1,3]])})),function(){return t.apply(this,arguments)})}]);var t}();function Et(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,s=[],c=!0,l=!1;try{if(o=(r=r.call(e)).next,0===t);else for(;!(c=(n=o.call(r)).done)&&(s.push(n.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw i}}return s}}(e,t)||st(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}!function(e){e[e.UNKNOWN=-1]="UNKNOWN",e[e.WHITEBOARD=0]="WHITEBOARD",e[e.RTCSERVICE=1]="RTCSERVICE",e[e.RTCSUBTITLE=2]="RTCSUBTITLE",e[e.CUSTOMIZE=101]="CUSTOMIZE"}(yt||(yt={})),function(e){e[e.NODE_JOIN=0]="NODE_JOIN",e[e.NODE_LEAVE=1]="NODE_LEAVE"}(ht||(ht={})),function(e){e[e.RTMS=0]="RTMS",e[e.SDK=1]="SDK",e[e.APP=2]="APP"}(ft||(ft={})),function(e){e[e.OPEN=0]="OPEN",e[e.CLOSE=1]="CLOSE",e[e.ERROR=2]="ERROR"}(gt||(gt={})),function(e){e.IDLE="idle",e.READY="ready"}(vt||(vt={})),function(e){e.UNINITED="uninited",e.READY="ready",e.LEFT="left",e.CLOSED="closed"}(mt||(mt={})),function(e){e.UNINITED="uninited",e.BINDING="binding",e.READY="ready",e.CLOSED="closed"}(bt||(bt={}));var It=k(function e(t){_(this,e),Object.defineProperty(this,"log",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pending",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"nodesInfo",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"pid",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pidToNodeInfo",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"getNodeInfoKey",{enumerable:!0,configurable:!0,writable:!0,value:function(e){return"number"==typeof e?"number"+e:"low".concat(e.low,"high").concat(e.high,"unsigned").concat(e.unsigned)}}),this.log=t},[{key:"handleNodeMapUpdate",value:function(e){var t=this;return e.items.filter(function(e){return e.action===ht.NODE_JOIN&&t.addNode(e)||e.action===ht.NODE_LEAVE&&t.removeNode(e)})}},{key:"handleNodeMapSnapshot",value:function(e){var t=this,r=e.end,n=e.items;if(e.start&&this.pending.clear(),n.forEach(function(e){return t.pending.set(e.pid,e)}),r){this.log.info("Snapshot,size:".concat(this.pidToNodeInfo.size," to:").concat(this.pending.size));var i=[];return this.pidToNodeInfo.forEach(function(e,r){var n;i.push({pid:r,uid:e.uid,userName:e.userName,nodeId:(null===(n=t.pending.get(r))||void 0===n?void 0:n.nodeId)||e.nodeId,action:t.pending.has(r)?ht.NODE_JOIN:ht.NODE_LEAVE}),t.pending.delete(r)}),this.pending.forEach(function(e,t){i.push({pid:t,nodeId:e.nodeId,uid:e.uid,userName:e.userName,action:ht.NODE_JOIN})}),this.pending.clear(),this.handleNodeMapUpdate({items:i})}}},{key:"getNodeInfo",value:function(e){var t=this.getNodeInfoKey(e);return this.nodesInfo.get(t)}},{key:"addNode",value:function(e){var t=e.pid,r=e.nodeId,n=this.getNodeInfoKey(r);return this.nodesInfo.has(n)?(this.log.debug("updateNode,pid:".concat(t,", nodeId:").concat(r)),this.nodesInfo.set(n,e),this.pidToNodeInfo.set(n,e),!1):(this.log.debug("addNode,pid:".concat(t,", nodeId:").concat(r)),this.nodesInfo.set(n,e),this.pidToNodeInfo.set(t,e),t!==this.pid)}},{key:"removeNode",value:function(e){var t=e.pid,r=e.nodeId,n=this.getNodeInfoKey(r);return!!this.nodesInfo.has(n)&&(this.log.debug("removeNode, pid:".concat(t,", nodeId:").concat(r)),this.nodesInfo.delete(n),this.pidToNodeInfo.delete(t),t!==this.pid)}},{key:"getPid",value:function(e){var t,r=this.getNodeInfoKey(e);return null===(t=this.nodesInfo.get(r))||void 0===t?void 0:t.pid}},{key:"clear",value:function(){this.pending.clear(),this.nodesInfo.clear(),this.pidToNodeInfo.clear()}}]),Ct=k(function e(t,r,n,i){_(this,e),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nodeId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"channel",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:vt.IDLE}),Object.defineProperty(this,"logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"session",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.id=r.groupId,this.session=n,this.logger=i.getLoggerWithPrefix("[chn-dsgroup]"),this.nodeId=t,this.channel=r.channel},[{key:"join",value:function(){var e=this;return this.logger.info("join dsgroup ".concat(this.session.id,"#group:").concat(this.id," state:").concat(null==this?void 0:this.state)),new Promise(function(t,r){e.session.switcher.enquenTask.add(function(){if((null==e?void 0:e.state)!==vt.READY){var n={type:se.MessageType.TYPE_JOIN_GROUP,joinGroup:{groupId:e.id,nodeId:Ke.extractNodeId(e.nodeId)}};return e.session.switcher.send(n,{to:Ke.extractParentNodeId(e.nodeId,0),priority:Ge.Low,uniform:!1,endpointId:e.session.endpointId}).then(function(){e.state=vt.READY,t()}).catch(r)}r(new DingRTCError(ErrorCode.InvaildState,"group is already ready"))})})}},{key:"leave",value:function(){var e=this;return this.logger.info("leave dsgroup ".concat(this.session.id,"#group:").concat(this.id," state:").concat(null==this?void 0:this.state)),new Promise(function(t,r){(null==e?void 0:e.state)!==vt.READY&&r(new DingRTCError(ErrorCode.InvaildState,"group is not ready")),e.session.switcher.enquenTask.add(function(){var n={type:se.MessageType.TYPE_LEAVE_GROUP,leaveGroup:{groupId:e.id,nodeId:Ke.extractNodeId(e.nodeId)}};return e.session.switcher.send(n,{to:Ke.extractParentNodeId(e.nodeId,0),priority:Ge.Low,uniform:!1,endpointId:e.session.endpointId}).then(function(){e.state=vt.IDLE,t()}).catch(r)})})}}]);function Ot(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Ot=function(){return!!e})()}var Pt=function(){function e(t,r,n,i){var o,a,s;return _(this,e),a=this,s=w(s=e),o=M(a,Ot()?Reflect.construct(s,[],w(a).constructor):s.apply(a,undefined)),Object.defineProperty(o,"type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(o,"syncing",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(o,"pendingMessages",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(o,"joinPromise",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(o,"groups",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(o,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(o,"logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(o,"reporter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(o,"switcher",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(o,"state",{enumerable:!0,configurable:!0,writable:!0,value:mt.UNINITED}),Object.defineProperty(o,"endpointId",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(o,"nodeMap",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(o,"broadcastChannel",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(o,"userData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),o.type=t,o.id=r,o.switcher=n,o.reporter=i,o.logger=i.getLoggerWithPrefix("[chn-dssession]"),o.nodeMap=new It(o.logger),o.join=o.join.bind(o),o.leave=o.leave.bind(o),o.close=o.close.bind(o),o}return j(e,EventEmitter),k(e,[{key:"available",get:function(){var e;return"connected"===(null===(e=this.switcher)||void 0===e||null===(e=e.channel)||void 0===e?void 0:e.connectionState)&&this.state===mt.READY}},{key:"recover",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.logger.info("".concat(this.type,"#").concat(this.id," recover rejoin:").concat(e,",state:").concat(this.state)),e?this.state==mt.READY&&(this.syncing=!0,this.join()):this.syncing=!0}},{key:"retransmit",value:function(){for(this.logger.info("retransmit ".concat(this.type,"#").concat(this.id," pengingMsgLen:").concat(this.pendingMessages.length));this.pendingMessages.length;){var e=this.pendingMessages.shift(),t=e.resolve,r=e.reject;this.sendInner(e.message).then(t).catch(r)}}},{key:"join",value:function(e){var t,r=this;return this.logger.info("dssession join ".concat(this.type,"#").concat(this.id," state=").concat(this.state)),null!==(t=this.switcher)&&void 0!==t&&null!==(t=t.channel)&&void 0!==t&&t.enableDS?new Promise(function(t,n){r.switcher.enquenTask.add(function(){if(r.state!==mt.READY||r.syncing)return r.joinPromise={resolve:t,reject:n},r.switcher.send({type:se.MessageType.TYPE_JOIN_SESSION,joinSession:{sessionType:r.type,sessionKey:r.id,customSessionData:e||r.userData,nodeId:r.switcher.nodeId,pid:r.switcher.pid}}).then(function(e){var t,n;r.logger.info("dssession join ",e);var i=e.customSessionData,o=e.channels;r.endpointId=e.endpointId,r.broadcastChannel=null===(t=o.find(function(e){return e.type===Je.DEFAULT}))||void 0===t?void 0:t.id,r.userData=i,r.state=mt.READY,null===(n=r.joinPromise)||void 0===n||n.resolve(e)}).catch(function(e){var t;r.logger.info("dssession join error",e),null===(t=r.joinPromise)||void 0===t||t.reject(e),r.joinPromise=null});n(new DingRTCError(ErrorCode.InvaildState,"session is already ready"))})}):Promise.reject(new DingRTCError(ErrorCode.InvaildState,"dataSwitcher not enabled"))}},{key:"leave",value:function(){var e,t=this;return null!==(e=this.switcher)&&void 0!==e&&null!==(e=e.channel)&&void 0!==e&&e.enableDS?(this.logger.info("dssession leave ".concat(this.type,"#").concat(this.id," state:").concat(this.state)),new Promise(function(e,r){t.state!==mt.READY&&r(new DingRTCError(ErrorCode.InvaildState,"session is not ready")),t.switcher.enquenTask.add(function(){return t.switcher.send({type:se.MessageType.TYPE_LEAVE_SESSION,leaveSession:{sessionType:t.type,sessionKey:t.id,nodeId:t.switcher.nodeId}}).then(function(){t.state=mt.LEFT,e()}).catch(r)})})):Promise.reject(new DingRTCError(ErrorCode.InvaildState,"dataSwitcher not enabled"))}},{key:"close",value:function(){var e,t=this;return null!==(e=this.switcher)&&void 0!==e&&null!==(e=e.channel)&&void 0!==e&&e.enableDS?(this.logger.info("dssession close ".concat(this.type,"#").concat(this.id," state:").concat(this.state)),new Promise(function(e,r){t.switcher.enquenTask.add(function(){return t.state===mt.CLOSED&&r(new DingRTCError(ErrorCode.InvaildState,"session is already closed")),t.switcher.send({type:se.MessageType.TYPE_CLOSE_SESSION,closeSession:{sessionType:t.type,sessionKey:t.id,nodeId:t.switcher.nodeId}}).then(function(){t.state=mt.CLOSED,e()}).catch(r)})})):Promise.reject(new DingRTCError(ErrorCode.InvaildState,"dataSwitcher not enabled"))}},{key:"sendMessage",value:function(e){var t=this;return new Promise(function(r,n){if(t.state===mt.READY)return t.syncing||!t.available?(t.pendingMessages.length>1e3&&t.pendingMessages.shift().reject(new DingRTCError(ErrorCode.InvaildState,"pending size is full")),void t.pendingMessages.push({message:e,resolve:r,reject:n})):t.sendInner(e).then(r).catch(n);n(new DingRTCError(ErrorCode.InvaildState,"session is not ready"))})}},{key:"sendInner",value:function(e){var t,r,n,i,o=e.targetPid,a=e.echo,s=e.uniform,c=void 0!==s&&s,l=e.message,u=e.cmd,d=e.cmdType,p=e.requestId,h=e.groupId,f=u&&void 0!==d;t=o===fe?Ke.getTopNodeId(0):null===(r=this.nodeMap.pidToNodeInfo.get(o))||void 0===r?void 0:r.nodeId;var g,y="string"==typeof l?(new TextEncoder).encode(l):l;f?(n=Ke.composeId(this.switcher.serverNodeId,this.endpointId),i={type:se.MessageType.TYPE_SESSION_CMD_DATA,sessionCmdData:{cmd:u,echo:a,cmdType:d,toNodeId:t,requestId:p,data:y,broadcast:!o,fromPid:this.switcher.pid}}):(n=o?Ke.composeId(t,this.endpointId):this.broadcastChannel,h&&!o&&(n=null===(g=this.groups.get(h))||void 0===g||null===(g=g.channel)||void 0===g?void 0:g.id),i={type:se.MessageType.TYPE_SESSION_DATA,sessionData:{data:y}});return this.switcher.send(i,{to:n,echo:a,uniform:c,broadcast:!o,endpointId:this.endpointId,priority:f?Ge.Normal:Ge.Low})}},{key:"handleNodeMapSnapshot",value:function(e){var t,r=this,n=this.nodeMap.handleNodeMapSnapshot(e);e.end&&(n.length&&(n.forEach(function(e){var t=r.switcher.nodeMap.getNodeInfo(e.nodeId);t&&(e.uid=t.uid,e.userName=t.userName)}),this.logger.info("handleNodeMapSnapshot ".concat(this.type,"#").concat(this.id," updated=").concat(JSON.stringify(n))),this.emit("user-update",n)),this.retransmit(),null===(t=this.joinPromise)||void 0===t||t.resolve(),this.joinPromise=null,this.syncing&&(this.syncing=!1,this.logger.info("rejoin success ".concat(this.type,"#").concat(this.id))))}},{key:"handleNodeMapUpdate",value:function(e){var t=this,r=this.nodeMap.handleNodeMapUpdate(e);r.length&&(r.forEach(function(e){var r=t.switcher.nodeMap.getNodeInfo(e.nodeId);r&&(e.uid=r.uid,e.userName=r.userName)}),this.logger.info("handleNodeMapUpdate ".concat(this.type,"#").concat(this.id," nodeUpdated:").concat(JSON.stringify(r))),this.emit("user-update",r))}},{key:"handleSessionCreated",value:function(e,t,r){this.endpointId=e,this.broadcastChannel=t,this.userData=r}},{key:"handleSessionClosed",value:function(){this.state=mt.CLOSED,this.emit("leave","closed")}},{key:"handleSessionCmdData",value:function(e,t){var r=t.fromPid,n=t.cmd,i=t.cmdType,o=t.requestId,a=t.data,s=this.type!==yt.CUSTOMIZE?(new TextDecoder).decode(a):a;this.emit("message",{cmd:n,cmdType:i,requestId:o,broadcast:e,messageType:this.type!==yt.CUSTOMIZE?"STRING":"BINARY",pid:r,message:s})}},{key:"handleSessionData",value:function(e,t,r){var n,i,o=r.data,a=this.nodeMap.getPid(Ke.extractNodeId(e)),s=this.type!==yt.CUSTOMIZE?(new TextDecoder).decode(o):o,c=this.type!==yt.CUSTOMIZE?"STRING":"BINARY";t&&(n=null===(i=at(this.groups.values()).filter(function(e){var r;return(null==e||null===(r=e.channel)||void 0===r?void 0:r.id)===t})[0])||void 0===i?void 0:i.id);var l={pid:a,message:s,broadcast:!!t,messageType:c};n&&(l.groupId=n),this.emit("message",l)}},{key:"getGroup",value:function(e){var t=this.groups.get(e);return t||(t=new Ct(Ke.composeId(this.switcher.nodeId,this.endpointId),{groupId:e},this,this.reporter),this.groups.set(e,t)),t}},{key:"joinGroup",value:function(e){return this.getGroup(e).join()}},{key:"leaveGroup",value:function(e){return this.groups.has(e)?this.getGroup(e).leave():Promise.reject(new DingRTCError(ErrorCode.InvaildArgument,"group not found"))}},{key:"handleGroupCreated",value:function(e){var t=e.groupId;this.logger.info("groupcreated ".concat(this.type,"#").concat(this.id,"#").concat(t," msg:").concat(JSON.stringify(e)));var r=this.groups.get(t);r?r.channel=e.channel:(r=new Ct(Ke.composeId(this.switcher.nodeId,this.endpointId),e,this,this.reporter),this.groups.set(t,r),this.emit("group-add",r))}},{key:"handleGroupDestroyed",value:function(e){var t=e.groupId;this.logger.info("GroupDestroyed ".concat(this.type,"#").concat(this.id,"#").concat(t," msg:").concat(JSON.stringify(e)));var r=this.groups.get(t);r&&(this.groups.delete(t),this.emit("group-remove",r))}},{key:"handleServiceStatus",value:function(e){var t=e.status;this.logger.info("ServiceStatus ".concat(this.type,"#").concat(this.id," msg:").concat(JSON.stringify(e))),this.emit("service-status",t)}},{key:"handleChannelUpdate",value:function(e){var t=this;this.logger.info("ChannelUpdated ".concat(this.type,"#").concat(this.id," msg:").concat(JSON.stringify(e))),e.forEach(function(e){var r;e.groupId?t.getGroup(e.groupId).channel=e.channel:(null==e||null===(r=e.channel)||void 0===r?void 0:r.type)===Je.DEFAULT&&(t.broadcastChannel=e.channel.id)})}}])}();function Rt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Rt=function(){return!!e})()}updateProtobuf(Long);var _t=function(){function e(t){var r,n,i;return _(this,e),n=this,i=w(i=e),r=M(n,Rt()?Reflect.construct(i,[],w(n).constructor):i.apply(n,undefined)),Object.defineProperty(r,"endpointId",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(r,"nodeMap",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"broadcastChannel",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(r,"switcherTransport",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"sessionEndPointMap",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(r,"log",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"reporter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"pid",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"nodeId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"channel",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"state",{enumerable:!0,configurable:!0,writable:!0,value:bt.UNINITED}),Object.defineProperty(r,"serverNodeId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"enquenTask",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"sessionMap",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),r.enquenTask=taskQueue(),r.channel=t,r.log=t.reporter.getLoggerWithPrefix("[chn-ds]"),r.reporter=t.reporter,r.nodeMap=new It(r.log),r.handleDetachUserConfirm=r.handleDetachUserConfirm.bind(r),r.handleNodeMapSnapshot=r.handleNodeMapSnapshot.bind(r),r.handleNodeMapUpdate=r.handleNodeMapUpdate.bind(r),r.handleSessionClosed=r.handleSessionClosed.bind(r),r.handleSessionCreated=r.handleSessionCreated.bind(r),r.handleSessionData=r.handleSessionData.bind(r),r.handleSessionCmdData=r.handleSessionCmdData.bind(r),r.handleGroupCreated=r.handleGroupCreated.bind(r),r.handleGroupDestroyed=r.handleGroupDestroyed.bind(r),r.handleServiceStatus=r.handleServiceStatus.bind(r),r.handleSwitchUpdate=r.handleSwitchUpdate.bind(r),r}return j(e,EventEmitter),k(e,[{key:"init",value:function(e){var t=this,r=this.state;if(this.log.debug("init switcher channelBind start:".concat(r),e),r!==bt.BINDING)return this.switcherTransport=this.channel.socket.switchTransport,this.pid=e,this.state=bt.BINDING,this.switcherTransport.channelBind(e).then(function(r){t.nodeMap.pid=e,t.addEventListeners(),t.handleAttachUserConfirm(r),t.enquenTask.start()}).catch(function(){var r=C(pe.mark(function r(n){return pe.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return t.log.warn("pid:".concat(e," switcher channelBind failed:").concat(tryJsonStringify(n))),r.next=1,awaitTime(1);case 1:"connected"===t.channel.connectionState&&t.state!==bt.CLOSED&&(t.state=bt.UNINITED,t.init(e));case 2:case"end":return r.stop()}},r)}));return function(e){return r.apply(this,arguments)}}())}},{key:"addEventListeners",value:function(){this.switcherTransport.on("detachUserConfirm",this.handleDetachUserConfirm),this.switcherTransport.on("nodeMapSnapshot",this.handleNodeMapSnapshot),this.switcherTransport.on("nodeMapUpdated",this.handleNodeMapUpdate),this.switcherTransport.on("sessionClosed",this.handleSessionClosed),this.switcherTransport.on("sessionCreated",this.handleSessionCreated),this.switcherTransport.on("sessionData",this.handleSessionData),this.switcherTransport.on("sessionCmdData",this.handleSessionCmdData),this.switcherTransport.on("groupCreated",this.handleGroupCreated),this.switcherTransport.on("groupDestroyed",this.handleGroupDestroyed),this.switcherTransport.on("serviceStatus",this.handleServiceStatus),this.switcherTransport.on("switchUpdate",this.handleSwitchUpdate)}},{key:"removeEventListeners",value:function(){this.switcherTransport&&(this.switcherTransport.off("detachUserConfirm",this.handleDetachUserConfirm),this.switcherTransport.off("nodeMapSnapshot",this.handleNodeMapSnapshot),this.switcherTransport.off("nodeMapUpdated",this.handleNodeMapUpdate),this.switcherTransport.off("sessionClosed",this.handleSessionClosed),this.switcherTransport.off("sessionCreated",this.handleSessionCreated),this.switcherTransport.off("sessionData",this.handleSessionData),this.switcherTransport.off("sessionCmdData",this.handleSessionCmdData),this.switcherTransport.off("groupCreated",this.handleGroupCreated),this.switcherTransport.off("groupDestroyed",this.handleGroupDestroyed),this.switcherTransport.off("serviceStatus",this.handleServiceStatus),this.switcherTransport.off("switchUpdate",this.handleSwitchUpdate))}},{key:"clear",value:function(){this.switcherTransport.attachUserConfirm=null,this.sessionMap.clear(),this.nodeMap.clear(),this.enquenTask=taskQueue(),this.sessionEndPointMap.clear(),this.state=bt.UNINITED,this.removeEventListeners()}},{key:"getSession",value:function(e,t){var r;if(t.length>128)throw new DingRTCError(ErrorCode.InvaildArgument,"invalid id");var n=null===(r=this.sessionMap.get(e))||void 0===r?void 0:r.get(t);return n||(this.log.info("new local DSSession:".concat(e,"#").concat(t)),n=new Pt(e,t,this,this.reporter),this.sessionMap.get(e)?this.sessionMap.get(e).set(t,n):this.sessionMap.set(e,new Map([[t,n]]))),n}},{key:"fetchSession",value:function(e,t){var r=this.sessionEndPointMap.get(e);if(r)return r;this.log.warn("".concat(t," fetchSession:").concat(e," not existed"))}},{key:"send",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.state===bt.CLOSED)return Promise.reject(new DingRTCError(ErrorCode.InvaildState,"switcher is closed"));var r=t.echo,n=void 0!==r&&r,i=t.priority,o=void 0===i?Ge.High:i,a=t.broadcast,s=void 0!==a&&a,c=t.uniform,l=void 0===c||c,u=t.to,d=o===Ge.High,p=Ke.composeId(this.nodeId,d?this.endpointId:t.endpointId);return d&&(u=s?this.broadcastChannel:Ke.composeId(this.serverNodeId,this.endpointId)),this.switcherTransport.send(e,{to:u,from:p,compressed:!1,priority:o,uniform:d||l,echo:n})}},{key:"handleNodeMapUpdate",value:function(e,t){var r;e===this.endpointId?this.nodeMap.handleNodeMapUpdate(t):null===(r=this.fetchSession(e,"NodeMapUpdate"))||void 0===r||r.handleNodeMapUpdate(t)}},{key:"handleAttachUserConfirm",value:function(e){var t,r=this,n=e.nodeId,i=e.serverNodeId,o=e.endpointId,a=e.sessionCreateds,s=e.reason;this.broadcastChannel=null===(t=e.channels.find(function(e){return e.type===Je.DEFAULT}))||void 0===t?void 0:t.id,this.nodeId=n,this.endpointId=o,this.serverNodeId=i;var c=[qe.NORMAL_ATTACH,qe.FORCE_REATTACH].includes(s);this.sessionMap.forEach(function(e,t){e.forEach(function(e,n){a.some(function(e){return e.sessionType===t&&e.sessionKey===n})?e.recover(c):r.handleSessionClosed({sessionKey:n,sessionType:t})})}),a.forEach(function(e){r.handleSessionCreated(e)}),this.state=bt.READY}},{key:"handleNodeMapSnapshot",value:function(e,t){var r;this.endpointId==e?this.nodeMap.handleNodeMapSnapshot(t):null===(r=this.fetchSession(e,"NodeMapSnapshot"))||void 0===r||r.handleNodeMapSnapshot(t)}},{key:"handleSessionCreated",value:function(e){var t,r,n=e.sessionKey,i=e.sessionType,o=e.endpointId,a=e.customSessionData,s=null===(t=e.channels.find(function(e){return e.type===Je.DEFAULT}))||void 0===t?void 0:t.id,c=null===(r=this.sessionMap.get(i))||void 0===r?void 0:r.get(n),l=!c,u=l||c&&!c.available;this.log.info("onSessionCreated: ".concat(i,"#").concat(n," is ").concat(l?"new":"existed")),l&&(this.log.info("Created ".concat(i,"#").concat(n)),c=new Pt(i,n,this,this.reporter),this.sessionMap.get(i)?this.sessionMap.get(i).set(n,c):this.sessionMap.set(i,new Map([[n,c]]))),this.sessionEndPointMap.set(o,c),c.handleSessionCreated(o,s,a),u&&this.emit("sessionCreate",{type:i,id:n})}},{key:"handleSessionClosed",value:function(e){var t,r=e.sessionKey,n=e.sessionType,i=null===(t=this.sessionMap.get(n))||void 0===t?void 0:t.get(r);this.log.info("handleSessionClosed: ".concat(n,"#").concat(r," is ").concat(i?"closed":"not existed")),i&&i.state!==mt.UNINITED&&(i.handleSessionClosed(),this.log.info("Closed ".concat(n,"#").concat(r," is closed")),this.sessionMap.get(n).delete(r),this.sessionEndPointMap.delete(i.endpointId),this.emit("sessionClose",{type:n,id:r}))}},{key:"handleDetachUserConfirm",value:function(e){var t=e.pid,r=e.result;this.log.warn("DetachUser pid:".concat(this.pid," result:").concat(r," state:").concat(this.state)),t==this.pid&&0===r&&this.state!==bt.CLOSED&&(this.state=bt.CLOSED)}},{key:"handleSessionCmdData",value:function(e,t,r){var n;null===(n=this.fetchSession(e,"CmdData"))||void 0===n||n.handleSessionCmdData(t,r)}},{key:"handleSessionData",value:function(e,t,r,n){var i;null===(i=this.fetchSession(t,"SessionData"))||void 0===i||i.handleSessionData(e,r,n)}},{key:"handleGroupCreated",value:function(e,t){var r;null===(r=this.fetchSession(e,"GroupCreated"))||void 0===r||r.handleGroupCreated(t)}},{key:"handleGroupDestroyed",value:function(e,t){var r;null===(r=this.fetchSession(e,"GroupDestroyed"))||void 0===r||r.handleGroupDestroyed(t)}},{key:"handleServiceStatus",value:function(e,t){var r;null===(r=this.fetchSession(e,"ServiceStatus"))||void 0===r||r.handleServiceStatus(t)}},{key:"handleSwitchUpdate",value:function(e){var t=this,r=e.channelUpdates,n={};(void 0===r?[]:r).forEach(function(e){var r;e.endpointId===t.endpointId?(null===(r=e.channel)||void 0===r?void 0:r.type)===Je.DEFAULT&&(t.log.info("SwitchUpdate broadcastChannel:".concat(e.channel.id)),t.broadcastChannel=e.channel.id):n[e.endpointId]=(n[e.endpointId]||[]).concat(e)}),Object.entries(n).forEach(function(e){var r,n=Et(e,2),i=n[1];null===(r=t.fetchSession(+n[0],"ChannelUpdate"))||void 0===r||r.handleChannelUpdate(i)})}}])}();function Nt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function kt(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Nt(Object(r),!0).forEach(function(t){R(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Nt(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function Mt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Mt=function(){return!!e})()}var wt=function(){function e(t){var r,n,i;_(this,e),n=this,i=w(i=e),r=M(n,Mt()?Reflect.construct(i,[],w(n).constructor):i.apply(n,undefined)),Object.defineProperty(r,"dataSwitcher",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"signaling",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"reporter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"joinInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"sdkVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"scene",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"socket",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"enableDS",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(r,"id",{enumerable:!0,configurable:!0,writable:!0,value:createUuid(6)}),Object.defineProperty(r,"userManager",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"connectionState",{enumerable:!0,configurable:!0,writable:!0,value:"disconnected"}),Object.defineProperty(r,"securityToken",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"staticConfig",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"checkJoinParam",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=!t;return r||("userName"===e?r=(new TextEncoder).encode(t).length>64:"token"!==e&&(r=t.length>64||/[^a-zA-Z0-9_-]/g.test(t))),r?"Join with invalid ".concat(e):""}});var o=t.reporter,a=t.scene;return r.sdkVersion=t.sdkVersion,r.scene=a,r.reporter=o,r.logger=r.reporter.getLoggerWithPrefix("[ch-channel]"),r.userManager=new Tt(r),r.dataSwitcher=new _t(r),r.handleRejoin=r.handleRejoin.bind(r),r.handleConferenceEvent=r.handleConferenceEvent.bind(r),r.handleDropEvent=r.handleDropEvent.bind(r),r.handleConnectionChangeEvent=r.handleConnectionChangeEvent.bind(r),r.handleUserEvent=r.handleUserEvent.bind(r),r.handleSyncEvent=r.handleSyncEvent.bind(r),r.handleNotifyEvent=r.handleNotifyEvent.bind(r),r.handleReauthEvent=r.handleReauthEvent.bind(r),r.handleBatchNotifyEvent=r.handleBatchNotifyEvent.bind(r),r}return j(e,EventEmitter),k(e,[{key:"gslb",get:function(){return getGslb()}},{key:"addEventListeners",value:function(){this.signaling.on("rejoin",this.handleRejoin),this.signaling.on("conference",this.handleConferenceEvent),this.signaling.on("drop",this.handleDropEvent),this.signaling.on("sync",this.handleSyncEvent),this.signaling.on("connection-state-change",this.handleConnectionChangeEvent),this.userManager.on("user",this.handleUserEvent),this.signaling.on("batch-notify",this.handleBatchNotifyEvent),this.signaling.on("notify",this.handleNotifyEvent),this.signaling.on("reauth",this.handleReauthEvent)}},{key:"removeEventListeners",value:function(){this.signaling.off("rejoin",this.handleRejoin),this.signaling.off("conference",this.handleConferenceEvent),this.signaling.off("drop",this.handleDropEvent),this.signaling.off("sync",this.handleSyncEvent),this.signaling.off("connection-state-change",this.handleConnectionChangeEvent),this.userManager.off("user",this.handleUserEvent),this.signaling.off("batch-notify",this.handleBatchNotifyEvent),this.signaling.off("notify",this.handleNotifyEvent),this.signaling.off("reauth",this.handleReauthEvent)}},{key:"handleLeave",value:function(e){this.reporter.trace.wtLeave(e),this.userManager.clear(),this.dataSwitcher.clear(),this.joinInfo=null,this.removeEventListeners();var t=this.connectionState;this.connectionState="disconnected",this.signaling.diconnect(),this.reporter.stop(),this.emit("connection-state-change","disconnected",t,e)}},{key:"modifyToken",value:function(e,t){var r=JSON.parse(window.atob(t));return r.properties=kt(kt({},r.properties),{},{__nick:e,SdkType:Environment.sdkType,TerminalType:Environment.terminalType}),toBase64(JSON.stringify(r))}},{key:"beforeJoin",value:function(e,t){var r=this;this.reporter.trace.wtGslb("accessGslbStart");var n=e.channel,i=e.uid,o=e.token,a=e.userName;this.handleConnectionChangeEvent("connecting",this.connectionState);var s={timestamp:Date.now(),deviceId:deviceId,userId:i,sdkVersion:this.sdkVersion,channelId:n,accessToken:o};return t&&(s=kt(kt({},s),{},{attributes:kt({},t)})),function(e){var t=e.userId,r=e.accessToken,n=e.sdkVersion,i=getGslb()||le,o="/v1/users/".concat(t,"/access");delete e.userId,delete e.accessToken,delete e.sdkVersion;var a=tt(tt({},e),{},{deviceSpecs:{platform:"Web",sdkv:n,osv:Environment.systemVersion,manu:Environment.manu,model:Environment.model}});return Environment.cpu&&(a.deviceSpecs.cpuUarch=Environment.cpu),new Promise(function(e,t){var n=setTimeout(function(){t(new DingRTCError(ErrorCode.NetworkError,"accessGslb timeout"))},6e3);post$1("".concat(i).concat(o),JSON.stringify(a),{Authorization:r}).then(function(t){e(t),clearTimeout(n)}).catch(function(e){t(e),clearTimeout(n)})}).catch(function(e){return nt.info("".concat(i," access error:").concat(tryJsonStringify(e))),Promise.reject(e)})}(s).then(function(e){var t,n=e.logService,i=e.securityToken,o=e.access,s=o.staticConfig,c=o.iceConfig,l=o.rtcToken,u=o.rtmpConfig,d=s.statsConfig,p=void 0===d?{uploadIntervalMs:UPLOAD_LOG_INTERVAL,statsIntervalMs:METRIC_STATS_INTERVAL}:d;r.staticConfig=s,r.reporter.trace.wtGslb("accessGslbSuccess",tryJsonStringify(e));var h=Date.now();return r.reporter.updateCommonInfo({serverDiffTime:(1e3*(null!==(t=null==i?void 0:i.updateTime)&&void 0!==t?t:0)||h)-h}),r.reporter.trace.wtGslb("accessGslbSuccess",tryJsonStringify(e)),n?r.reporter.start({securityToken:i,logService:n,cycleStatsConfig:p}):r.logger.warn("logService is empty"),{rtcToken:r.modifyToken(a,l),iceConfig:c,securityToken:i,rtmpConfig:u}}).catch(function(e){var t=e.code,n=e.cause;return r.logger.info("accessGslbFailed",e),r.reporter.trace.wtGslb("accessGslbFailed",tryJsonStringify(e)),r.connectionState="disconnected",Promise.reject(converToRtcErrorFromGslbCode(t,n))})}},{key:"beforeRejoin",value:function(e,t){var r=this;this.reporter.trace.wtGslb("linkerServerStart");var n=e.channel,i=e.uid,o=e.appId,a=e.userName;return function(e){var t=e.userId;delete e.userId;var r="/v1/users/".concat(t,"/link-server"),n=getGslb()||le;return post$1("".concat(n).concat(r),JSON.stringify(e)).catch(function(e){return nt.info("".concat(n," link-server error:").concat(tryJsonStringify(e))),Promise.reject(e)})}({timestamp:Date.now(),deviceId:deviceId,userId:i,channelId:n,appId:o,securityToken:this.reporter.securityToken,participantId:t}).then(function(e){var t=e.access.rtcToken;return r.reporter.updateSecurityToken(e.securityToken),r.reporter.trace.wtGslb("linkerServerSuccess",tryJsonStringify(e)),r.modifyToken(a,t)}).catch(function(e){var t=e.code,n=e.cause;throw r.reporter.trace.wtGslb("linkerServerFailed",tryJsonStringify(e)),converToRtcErrorFromGslbCode(t,n)})}},{key:"join",value:(r=C(pe.mark(function e(t,r,n){var i,o,a,s,c,l,u,d,p,h,f,g,y,v,m,b=this;return pe.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:this.logger.info("channel join, joinInfo, gslb",t,r),o=(i=t||{}).channel,a=i.uid,s=i.userName,l=i.token,u=[this.checkJoinParam("appId",c=i.appId),this.checkJoinParam("token",l),this.checkJoinParam("channel",o),this.checkJoinParam("uid",a),this.checkJoinParam("userName",s)],d=0;case 1:if(u.length<=d){e.next=3;break}if(!u[d]){e.next=2;break}return e.abrupt("return",Promise.reject(new DingRTCError(ErrorCode.JoinChannelFailed,u[d])));case 2:d++,e.next=1;break;case 3:if(r&&setGslb(r),"disconnected"===this.connectionState){e.next=4;break}return e.abrupt("return",Promise.reject(new DingRTCError(ErrorCode.InvaildState,"channel is not disconnected")));case 4:return this.reporter.updateCommonInfo({apid:c,usrid:a,usrn:s,clientId:this.id,roomName:o,udid:Environment.deviceId,sdkvrs:this.sdkVersion}),this.reporter.trace.wtJoin(!0),p=Date.now(),e.next=5,this.beforeJoin(t,n);case 5:return f=(h=e.sent).rtcToken,g=h.iceConfig,v=h.rtmpConfig,this.securityToken=y=h.securityToken,m=Date.now(),this.reporter.trace.join(!0),this.socket&&this.socket.removeAllListeners(),this.socket=new Xe(this.reporter),this.joinInfo=t,this.signaling=new rt(this.socket,this.reporter),this.addEventListeners(),e.abrupt("return",this.signaling.login(kt({token:f},he(this.sdkVersion,this.scene,t.initMicMuted?1:0))).then(function(e){var t=e.room,r=t.participants,n=t.participantsVer,i=e.id;return b.dataSwitcher.init(i),b.userManager.init(r,n,i),b.reporter.trace.join(!1,Date.now()-m,!0),b.reporter.trace.wtJoin(!1,Date.now()-p,!0),{joinResponse:e,iceConfig:g,securityToken:y,rtmpConfig:v}}).catch(function(e){throw b.reporter.trace.wtJoin(!0,Date.now()-p,!1,tryJsonStringify(e)),e}));case 6:case"end":return e.stop()}},e,this)})),function(e,t,n){return r.apply(this,arguments)})},{key:"handleConferenceEvent",value:function(e){this.logger.info("roomEvent ".concat(JSON.stringify(e))),"destroy"===(null==e?void 0:e.action)&&this.handleLeave("channel_banned")}},{key:"handleConnectionChangeEvent",value:function(e,t,r){e!==this.connectionState&&("disconnected"===e?this.handleLeave(r):(this.connectionState=e,this.emit("connection-state-change",e,t)))}},{key:"handleDropEvent",value:function(e){this.logger.info("dropEvent ".concat((null==e?void 0:e.reason)||(null==e?void 0:e.code))),this.handleLeave((null==e?void 0:e.code)===Ue.UserReplaced?"uid_replaced":"uid_banned")}},{key:"handleRejoin",value:function(){var e=this,t=Date.now();this.reporter.trace.wtReJoin(!0),this.beforeRejoin(this.joinInfo,this.userManager.currentPid).then(function(r){var n=Date.now();return e.reporter.trace.rejoin(!0),e.rejoin(r).then(function(){e.dataSwitcher.init(e.userManager.currentPid),e.reporter.trace.rejoin(!1,Date.now()-n),e.reporter.trace.wtReJoin(!1,Date.now()-t,!0)},function(t){throw e.reporter.trace.rejoin(!1,Date.now()-n,!1,tryJsonStringify(t)),t})}).catch(function(r){e.reporter.trace.wtReJoin(!1,Date.now()-t,!1,tryJsonStringify(r)),e.handleLeave("server_error")})}},{key:"handleUserEvent",value:function(e,t){this.emit("user",e,t)}},{key:"handleNotifyEvent",value:function(e,t){this.emit("notify",e,t)}},{key:"handleBatchNotifyEvent",value:function(e){this.emit("batch-notify",e)}},{key:"handleSyncEvent",value:function(e){this.emit("sync",e)}},{key:"handleReauthEvent",value:function(){this.dataSwitcher.init(this.userManager.currentPid)}},{key:"rejoin",value:(t=C(pe.mark(function e(t){var r=this;return pe.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.signaling.relogin({token:t}).then(function(e){r.signaling.emit("sync",e)}));case 1:case"end":return e.stop()}},e,this)})),function(e){return t.apply(this,arguments)})},{key:"leave",value:function(){this.signaling.logout(),this.handleLeave("leave")}}]);var t,r}(),_a,LogLevel;function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray$1(e)}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray$1(e)||_nonIterableSpread()}!function(e){e[e.NoLog=0]="NoLog",e[e.Fatal=1]="Fatal",e[e.Error=2]="Error",e[e.Warning=3]="Warning",e[e.Info=4]="Info",e[e.Debug=5]="Debug"}(LogLevel||(LogLevel={})),window._dingrtc_wb_logs=window._dingrtc_wb_logs||[];var Log=function(){return _createClass$1(function e(){_classCallCheck$1(this,e)},null,[{key:"attach",value:function(e){_a.logger=e.getLoggerWithPrefix("[wb]")}},{key:"setPrintToConsoleEnanled",value:function(e){this.printToConsole=e}}])}();function _superPropBase(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=_getPrototypeOf$1(e)););return e}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=_superPropBase(e,t);if(n){var i=Object.getOwnPropertyDescriptor(n,t);return i.get?i.get.call(3>arguments.length?e:r):i.value}},_get.apply(null,arguments)}function listCacheClear(){this.__data__=[],this.size=0}function eq(e,t){return e===t||e!=e&&t!=t}function assocIndexOf(e,t){for(var r=e.length;r--;)if(eq(e[r][0],t))return r;return-1}_a=Log,Object.defineProperty(Log,"printToConsole",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(Log,"logLevel",{enumerable:!0,configurable:!0,writable:!0,value:LogLevel.Info}),Object.defineProperty(Log,"isprint",{enumerable:!0,configurable:!0,writable:!0,value:function(e){return e>31&&!(e in[])}}),Object.defineProperty(Log,"dump",{enumerable:!0,configurable:!0,writable:!0,value:function(e){for(var t=new Uint8Array(e),r=0,n="\n",i=0;t.length>i;){var o="",a="";for(r=0;16>r&&t.length>i;i++,r++)o+=("00"+Number(t[i]).toString(16)).slice(-2)+" ",_a.isprint(t[i])?a+=String.fromCharCode(t[i]):a+=".";for(var s="";16>r;r++)s+=" ";n+=o+s+" "+a+"\n"}return n+="\n"}}),Object.defineProperty(Log,"toString",{enumerable:!0,configurable:!0,writable:!0,value:function(e){return"object"===_typeof$3(e)&&(e instanceof ArrayBuffer||e instanceof Uint8Array)?_a.dump(e):"object"===_typeof$3(e)?JSON.stringify(e):e?""+e:"undefined"}}),Object.defineProperty(Log,"print",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t,r,n){var i,o=(new Date).toISOString()+" [RtcWhiteboard] "+r;_a.logLevel>t&&(i=_a.logger).info.apply(i,[o].concat(_toConsumableArray(n)));window._dingrtc_wb_logs.push("".concat(o," ").concat(n.map(_a.toString).join(" "))),_a.printToConsole&&e.apply(void 0,[o].concat(_toConsumableArray(n)))}}),Object.defineProperty(Log,"level",{enumerable:!0,configurable:!0,writable:!0,value:function(e){_a.logLevel=e}}),Object.defineProperty(Log,"logDebug",{enumerable:!0,configurable:!0,writable:!0,value:function(){for(var e=arguments.length,t=Array(e),r=0;e>r;r++)t[r]=arguments[r];_a.print(console.log,LogLevel.Debug,"DEBUG",t)}}),Object.defineProperty(Log,"logInfo",{enumerable:!0,configurable:!0,writable:!0,value:function(){for(var e=arguments.length,t=Array(e),r=0;e>r;r++)t[r]=arguments[r];_a.print(console.info,LogLevel.Info,"INFO",t)}}),Object.defineProperty(Log,"logWarn",{enumerable:!0,configurable:!0,writable:!0,value:function(){for(var e=arguments.length,t=Array(e),r=0;e>r;r++)t[r]=arguments[r];_a.print(console.warn,LogLevel.Warning,"WARN",t)}}),Object.defineProperty(Log,"logError",{enumerable:!0,configurable:!0,writable:!0,value:function(){for(var e=arguments.length,t=Array(e),r=0;e>r;r++)t[r]=arguments[r];_a.print(console.error,LogLevel.Error,"ERROR",t)}}),Object.defineProperty(Log,"logFatal",{enumerable:!0,configurable:!0,writable:!0,value:function(){for(var e=arguments.length,t=Array(e),r=0;e>r;r++)t[r]=arguments[r];_a.print(console.error,LogLevel.Fatal,"FATAL",t)}});var arrayProto=Array.prototype,splice=arrayProto.splice;function listCacheDelete(e){var t=this.__data__,r=assocIndexOf(t,e);return r>=0&&(r==t.length-1?t.pop():splice.call(t,r,1),--this.size,!0)}function listCacheGet(e){var t=this.__data__,r=assocIndexOf(t,e);return 0>r?void 0:t[r][1]}function listCacheHas(e){return assocIndexOf(this.__data__,e)>-1}function listCacheSet(e,t){var r=this.__data__,n=assocIndexOf(r,e);return 0>n?(++this.size,r.push([e,t])):r[n][1]=t,this}function ListCache(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function stackClear(){this.__data__=new ListCache,this.size=0}function stackDelete(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}function stackGet(e){return this.__data__.get(e)}function stackHas(e){return this.__data__.has(e)}ListCache.prototype.clear=listCacheClear,ListCache.prototype.delete=listCacheDelete,ListCache.prototype.get=listCacheGet,ListCache.prototype.has=listCacheHas,ListCache.prototype.set=listCacheSet;var freeGlobal="object"==typeof global&&global&&global.Object===Object&&global,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),Symbol$1=root.Symbol,objectProto$f=Object.prototype,hasOwnProperty$c=objectProto$f.hasOwnProperty,nativeObjectToString$1=objectProto$f.toString,symToStringTag$1=Symbol$1?Symbol$1.toStringTag:void 0;function getRawTag(e){var t=hasOwnProperty$c.call(e,symToStringTag$1),r=e[symToStringTag$1];try{e[symToStringTag$1]=void 0;var n=!0}catch(e){}var i=nativeObjectToString$1.call(e);return n&&(t?e[symToStringTag$1]=r:delete e[symToStringTag$1]),i}var objectProto$e=Object.prototype,nativeObjectToString=objectProto$e.toString;function objectToString(e){return nativeObjectToString.call(e)}var nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag=Symbol$1?Symbol$1.toStringTag:void 0;function baseGetTag(e){return null==e?void 0===e?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(e)?getRawTag(e):objectToString(e)}function isObject$1(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var asyncTag="[object AsyncFunction]",funcTag$2="[object Function]",genTag$1="[object GeneratorFunction]",proxyTag="[object Proxy]";function isFunction$1(e){if(!isObject$1(e))return!1;var t=baseGetTag(e);return t==funcTag$2||t==genTag$1||t==asyncTag||t==proxyTag}var coreJsData=root["__core-js_shared__"],maskSrcKey=(uid=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||""),uid?"Symbol(src)_1."+uid:""),uid;function isMasked(e){return!!maskSrcKey&&maskSrcKey in e}var funcProto$2=Function.prototype,funcToString$2=funcProto$2.toString;function toSource(e){if(null!=e){try{return funcToString$2.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reIsHostCtor=/^\[object .+?Constructor\]$/,funcProto$1=Function.prototype,objectProto$d=Object.prototype,funcToString$1=funcProto$1.toString,hasOwnProperty$b=objectProto$d.hasOwnProperty,reIsNative=RegExp("^"+funcToString$1.call(hasOwnProperty$b).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative(e){return!(!isObject$1(e)||isMasked(e))&&(isFunction$1(e)?reIsNative:reIsHostCtor).test(toSource(e))}function getValue(e,t){return null==e?void 0:e[t]}function getNative(e,t){var r=getValue(e,t);return baseIsNative(r)?r:void 0}var Map$1=getNative(root,"Map"),nativeCreate=getNative(Object,"create");function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{},this.size=0}function hashDelete(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var HASH_UNDEFINED$2="__lodash_hash_undefined__",objectProto$c=Object.prototype,hasOwnProperty$a=objectProto$c.hasOwnProperty;function hashGet(e){var t=this.__data__;if(nativeCreate){var r=t[e];return r===HASH_UNDEFINED$2?void 0:r}return hasOwnProperty$a.call(t,e)?t[e]:void 0}var objectProto$b=Object.prototype,hasOwnProperty$9=objectProto$b.hasOwnProperty;function hashHas(e){var t=this.__data__;return nativeCreate?void 0!==t[e]:hasOwnProperty$9.call(t,e)}var HASH_UNDEFINED$1="__lodash_hash_undefined__";function hashSet(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=nativeCreate&&void 0===t?HASH_UNDEFINED$1:t,this}function Hash(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function mapCacheClear(){this.size=0,this.__data__={hash:new Hash,map:new(Map$1||ListCache),string:new Hash}}function isKeyable(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}function getMapData(e,t){var r=e.__data__;return isKeyable(t)?r["string"==typeof t?"string":"hash"]:r.map}function mapCacheDelete(e){var t=getMapData(this,e).delete(e);return this.size-=t?1:0,t}function mapCacheGet(e){return getMapData(this,e).get(e)}function mapCacheHas(e){return getMapData(this,e).has(e)}function mapCacheSet(e,t){var r=getMapData(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}function MapCache(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Hash.prototype.clear=hashClear,Hash.prototype.delete=hashDelete,Hash.prototype.get=hashGet,Hash.prototype.has=hashHas,Hash.prototype.set=hashSet,MapCache.prototype.clear=mapCacheClear,MapCache.prototype.delete=mapCacheDelete,MapCache.prototype.get=mapCacheGet,MapCache.prototype.has=mapCacheHas,MapCache.prototype.set=mapCacheSet;var LARGE_ARRAY_SIZE=200;function stackSet(e,t){var r=this.__data__;if(r instanceof ListCache){var n=r.__data__;if(!Map$1||LARGE_ARRAY_SIZE-1>n.length)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new MapCache(n)}return r.set(e,t),this.size=r.size,this}function Stack(e){var t=this.__data__=new ListCache(e);this.size=t.size}function arrayEach(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}Stack.prototype.clear=stackClear,Stack.prototype.delete=stackDelete,Stack.prototype.get=stackGet,Stack.prototype.has=stackHas,Stack.prototype.set=stackSet;var defineProperty=function(){try{var e=getNative(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();function baseAssignValue(e,t,r){"__proto__"==t&&defineProperty?defineProperty(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}var objectProto$a=Object.prototype,hasOwnProperty$8=objectProto$a.hasOwnProperty;function assignValue(e,t,r){var n=e[t];hasOwnProperty$8.call(e,t)&&eq(n,r)&&(void 0!==r||t in e)||baseAssignValue(e,t,r)}function copyObject(e,t,r,n){var i=!r;r||(r={});for(var o=-1,a=t.length;++o<a;){var s=t[o],c=void 0;void 0===c&&(c=e[s]),i?baseAssignValue(r,s,c):assignValue(r,s,c)}return r}function baseTimes(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}function isObjectLike(e){return null!=e&&"object"==typeof e}var argsTag$3="[object Arguments]";function baseIsArguments(e){return isObjectLike(e)&&baseGetTag(e)==argsTag$3}var objectProto$9=Object.prototype,hasOwnProperty$7=objectProto$9.hasOwnProperty,propertyIsEnumerable$1=objectProto$9.propertyIsEnumerable,isArguments=baseIsArguments(function(){return arguments}())?baseIsArguments:function(e){return isObjectLike(e)&&hasOwnProperty$7.call(e,"callee")&&!propertyIsEnumerable$1.call(e,"callee")},isArray$1=Array.isArray;function stubFalse(){return!1}var freeExports$2="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule$2=freeExports$2&&"object"==typeof module&&module&&!module.nodeType&&module,moduleExports$2=freeModule$2&&freeModule$2.exports===freeExports$2,Buffer$1=moduleExports$2?root.Buffer:void 0,nativeIsBuffer=Buffer$1?Buffer$1.isBuffer:void 0,isBuffer$1=nativeIsBuffer||stubFalse,MAX_SAFE_INTEGER$1=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(e,t){var r=typeof e;return!!(t=null==t?MAX_SAFE_INTEGER$1:t)&&("number"==r||"symbol"!=r&&reIsUint.test(e))&&e>-1&&e%1==0&&t>e}var MAX_SAFE_INTEGER=9007199254740991;function isLength(e){return"number"==typeof e&&e>-1&&e%1==0&&MAX_SAFE_INTEGER>=e}var argsTag$2="[object Arguments]",arrayTag$2="[object Array]",boolTag$3="[object Boolean]",dateTag$3="[object Date]",errorTag$2="[object Error]",funcTag$1="[object Function]",mapTag$5="[object Map]",numberTag$4="[object Number]",objectTag$4="[object Object]",regexpTag$3="[object RegExp]",setTag$5="[object Set]",stringTag$4="[object String]",weakMapTag$2="[object WeakMap]",arrayBufferTag$3="[object ArrayBuffer]",dataViewTag$4="[object DataView]",float32Tag$2="[object Float32Array]",float64Tag$2="[object Float64Array]",int8Tag$2="[object Int8Array]",int16Tag$2="[object Int16Array]",int32Tag$2="[object Int32Array]",uint8Tag$2="[object Uint8Array]",uint8ClampedTag$2="[object Uint8ClampedArray]",uint16Tag$2="[object Uint16Array]",uint32Tag$2="[object Uint32Array]",typedArrayTags={};function baseIsTypedArray(e){return isObjectLike(e)&&isLength(e.length)&&!!typedArrayTags[baseGetTag(e)]}function baseUnary(e){return function(t){return e(t)}}typedArrayTags[float32Tag$2]=typedArrayTags[float64Tag$2]=typedArrayTags[int8Tag$2]=typedArrayTags[int16Tag$2]=typedArrayTags[int32Tag$2]=typedArrayTags[uint8Tag$2]=typedArrayTags[uint8ClampedTag$2]=typedArrayTags[uint16Tag$2]=typedArrayTags[uint32Tag$2]=!0,typedArrayTags[argsTag$2]=typedArrayTags[arrayTag$2]=typedArrayTags[arrayBufferTag$3]=typedArrayTags[boolTag$3]=typedArrayTags[dataViewTag$4]=typedArrayTags[dateTag$3]=typedArrayTags[errorTag$2]=typedArrayTags[funcTag$1]=typedArrayTags[mapTag$5]=typedArrayTags[numberTag$4]=typedArrayTags[objectTag$4]=typedArrayTags[regexpTag$3]=typedArrayTags[setTag$5]=typedArrayTags[stringTag$4]=typedArrayTags[weakMapTag$2]=!1;var freeExports$1="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule$1=freeExports$1&&"object"==typeof module&&module&&!module.nodeType&&module,moduleExports$1=freeModule$1&&freeModule$1.exports===freeExports$1,freeProcess=moduleExports$1&&freeGlobal.process,nodeUtil=function(){try{var e=freeModule$1&&freeModule$1.require&&freeModule$1.require("util").types;return e||freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch(e){}}(),nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray,isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray,objectProto$8=Object.prototype,hasOwnProperty$6=objectProto$8.hasOwnProperty;function arrayLikeKeys(e,t){var r=isArray$1(e),n=!r&&isArguments(e),i=!r&&!n&&isBuffer$1(e),o=!r&&!n&&!i&&isTypedArray(e),a=r||n||i||o,s=a?baseTimes(e.length,String):[],c=s.length;for(var l in e)!t&&!hasOwnProperty$6.call(e,l)||a&&("length"==l||i&&("offset"==l||"parent"==l)||o&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||isIndex(l,c))||s.push(l);return s}var objectProto$7=Object.prototype;function isPrototype(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||objectProto$7)}function overArg(e,t){return function(r){return e(t(r))}}var nativeKeys=overArg(Object.keys,Object),objectProto$6=Object.prototype,hasOwnProperty$5=objectProto$6.hasOwnProperty;function baseKeys(e){if(!isPrototype(e))return nativeKeys(e);var t=[];for(var r in Object(e))hasOwnProperty$5.call(e,r)&&"constructor"!=r&&t.push(r);return t}function isArrayLike(e){return null!=e&&isLength(e.length)&&!isFunction$1(e)}function keys(e){return isArrayLike(e)?arrayLikeKeys(e):baseKeys(e)}function baseAssign(e,t){return e&©Object(t,keys(t),e)}function nativeKeysIn(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}var objectProto$5=Object.prototype,hasOwnProperty$4=objectProto$5.hasOwnProperty;function baseKeysIn(e){if(!isObject$1(e))return nativeKeysIn(e);var t=isPrototype(e),r=[];for(var n in e)("constructor"!=n||!t&&hasOwnProperty$4.call(e,n))&&r.push(n);return r}function keysIn(e){return isArrayLike(e)?arrayLikeKeys(e,!0):baseKeysIn(e)}function baseAssignIn(e,t){return e&©Object(t,keysIn(t),e)}var freeExports="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule=freeExports&&"object"==typeof module&&module&&!module.nodeType&&module,moduleExports=freeModule&&freeModule.exports===freeExports,Buffer=moduleExports?root.Buffer:void 0,allocUnsafe=Buffer?Buffer.allocUnsafe:void 0;function cloneBuffer(e,t){if(t)return e.slice();var r=e.length,n=allocUnsafe?allocUnsafe(r):new e.constructor(r);return e.copy(n),n}function copyArray(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}function arrayFilter(e,t){for(var r=-1,n=null==e?0:e.length,i=0,o=[];++r<n;){var a=e[r];t(a,r,e)&&(o[i++]=a)}return o}function stubArray(){return[]}var objectProto$4=Object.prototype,propertyIsEnumerable=objectProto$4.propertyIsEnumerable,nativeGetSymbols$1=Object.getOwnPropertySymbols,getSymbols=nativeGetSymbols$1?function(e){return null==e?[]:arrayFilter(nativeGetSymbols$1(e=Object(e)),function(t){return propertyIsEnumerable.call(e,t)})}:stubArray;function copySymbols(e,t){return copyObject(e,getSymbols(e),t)}function arrayPush(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}var getPrototype=overArg(Object.getPrototypeOf,Object),nativeGetSymbols=Object.getOwnPropertySymbols,getSymbolsIn=nativeGetSymbols?function(e){for(var t=[];e;)arrayPush(t,getSymbols(e)),e=getPrototype(e);return t}:stubArray;function copySymbolsIn(e,t){return copyObject(e,getSymbolsIn(e),t)}function baseGetAllKeys(e,t,r){var n=t(e);return isArray$1(e)?n:arrayPush(n,r(e))}function getAllKeys(e){return baseGetAllKeys(e,keys,getSymbols)}function getAllKeysIn(e){return baseGetAllKeys(e,keysIn,getSymbolsIn)}var DataView=getNative(root,"DataView"),Promise$1=getNative(root,"Promise"),Set$1=getNative(root,"Set"),WeakMap=getNative(root,"WeakMap"),mapTag$4="[object Map]",objectTag$3="[object Object]",promiseTag="[object Promise]",setTag$4="[object Set]",weakMapTag$1="[object WeakMap]",dataViewTag$3="[object DataView]",dataViewCtorString=toSource(DataView),mapCtorString=toSource(Map$1),promiseCtorString=toSource(Promise$1),setCtorString=toSource(Set$1),weakMapCtorString=toSource(WeakMap),getTag=baseGetTag;(DataView&&getTag(new DataView(new ArrayBuffer(1)))!=dataViewTag$3||Map$1&&getTag(new Map$1)!=mapTag$4||Promise$1&&getTag(Promise$1.resolve())!=promiseTag||Set$1&&getTag(new Set$1)!=setTag$4||WeakMap&&getTag(new WeakMap)!=weakMapTag$1)&&(getTag=function(e){var t=baseGetTag(e),r=t==objectTag$3?e.constructor:void 0,n=r?toSource(r):"";if(n)switch(n){case dataViewCtorString:return dataViewTag$3;case mapCtorString:return mapTag$4;case promiseCtorString:return promiseTag;case setCtorString:return setTag$4;case weakMapCtorString:return weakMapTag$1}return t});var objectProto$3=Object.prototype,hasOwnProperty$3=objectProto$3.hasOwnProperty;function initCloneArray(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&hasOwnProperty$3.call(e,"index")&&(r.index=e.index,r.input=e.input),r}var Uint8Array$1=root.Uint8Array;function cloneArrayBuffer(e){var t=new e.constructor(e.byteLength);return new Uint8Array$1(t).set(new Uint8Array$1(e)),t}function cloneDataView(e,t){var r=t?cloneArrayBuffer(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}var reFlags=/\w*$/;function cloneRegExp(e){var t=new e.constructor(e.source,reFlags.exec(e));return t.lastIndex=e.lastIndex,t}var symbolProto$2=Symbol$1?Symbol$1.prototype:void 0,symbolValueOf$1=symbolProto$2?symbolProto$2.valueOf:void 0;function cloneSymbol(e){return symbolValueOf$1?Object(symbolValueOf$1.call(e)):{}}function cloneTypedArray(e,t){var r=t?cloneArrayBuffer(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}var boolTag$2="[object Boolean]",dateTag$2="[object Date]",mapTag$3="[object Map]",numberTag$3="[object Number]",regexpTag$2="[object RegExp]",setTag$3="[object Set]",stringTag$3="[object String]",symbolTag$3="[object Symbol]",arrayBufferTag$2="[object ArrayBuffer]",dataViewTag$2="[object DataView]",float32Tag$1="[object Float32Array]",float64Tag$1="[object Float64Array]",int8Tag$1="[object Int8Array]",int16Tag$1="[object Int16Array]",int32Tag$1="[object Int32Array]",uint8Tag$1="[object Uint8Array]",uint8ClampedTag$1="[object Uint8ClampedArray]",uint16Tag$1="[object Uint16Array]",uint32Tag$1="[object Uint32Array]";function initCloneByTag(e,t,r){var n=e.constructor;switch(t){case arrayBufferTag$2:return cloneArrayBuffer(e);case boolTag$2:case dateTag$2:return new n(+e);case dataViewTag$2:return cloneDataView(e,r);case float32Tag$1:case float64Tag$1:case int8Tag$1:case int16Tag$1:case int32Tag$1:case uint8Tag$1:case uint8ClampedTag$1:case uint16Tag$1:case uint32Tag$1:return cloneTypedArray(e,r);case mapTag$3:return new n;case numberTag$3:case stringTag$3:return new n(e);case regexpTag$2:return cloneRegExp(e);case setTag$3:return new n;case symbolTag$3:return cloneSymbol(e)}}var objectCreate=Object.create,baseCreate=function(){function e(){}return function(t){if(!isObject$1(t))return{};if(objectCreate)return objectCreate(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();function initCloneObject(e){return"function"!=typeof e.constructor||isPrototype(e)?{}:baseCreate(getPrototype(e))}var mapTag$2="[object Map]";function baseIsMap(e){return isObjectLike(e)&&getTag(e)==mapTag$2}var nodeIsMap=nodeUtil&&nodeUtil.isMap,isMap=nodeIsMap?baseUnary(nodeIsMap):baseIsMap,setTag$2="[object Set]";function baseIsSet(e){return isObjectLike(e)&&getTag(e)==setTag$2}var nodeIsSet=nodeUtil&&nodeUtil.isSet,isSet=nodeIsSet?baseUnary(nodeIsSet):baseIsSet,CLONE_DEEP_FLAG$2=1,CLONE_FLAT_FLAG$1=2,CLONE_SYMBOLS_FLAG$2=4,argsTag$1="[object Arguments]",arrayTag$1="[object Array]",boolTag$1="[object Boolean]",dateTag$1="[object Date]",errorTag$1="[object Error]",funcTag="[object Function]",genTag="[object GeneratorFunction]",mapTag$1="[object Map]",numberTag$2="[object Number]",objectTag$2="[object Object]",regexpTag$1="[object RegExp]",setTag$1="[object Set]",stringTag$2="[object String]",symbolTag$2="[object Symbol]",weakMapTag="[object WeakMap]",arrayBufferTag$1="[object ArrayBuffer]",dataViewTag$1="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",cloneableTags={};function baseClone(e,t,r,n,i,o){var a,s=t&CLONE_DEEP_FLAG$2,c=t&CLONE_FLAT_FLAG$1,l=t&CLONE_SYMBOLS_FLAG$2;if(r&&(a=i?r(e,n,i,o):r(e)),void 0!==a)return a;if(!isObject$1(e))return e;var u=isArray$1(e);if(u){if(a=initCloneArray(e),!s)return copyArray(e,a)}else{var d=getTag(e),p=d==funcTag||d==genTag;if(isBuffer$1(e))return cloneBuffer(e,s);if(d==objectTag$2||d==argsTag$1||p&&!i){if(a=c||p?{}:initCloneObject(e),!s)return c?copySymbolsIn(e,baseAssignIn(a,e)):copySymbols(e,baseAssign(a,e))}else{if(!cloneableTags[d])return i?e:{};a=initCloneByTag(e,d,s)}}o||(o=new Stack);var h=o.get(e);if(h)return h;o.set(e,a),isSet(e)?e.forEach(function(n){a.add(baseClone(n,t,r,n,e,o))}):isMap(e)&&e.forEach(function(n,i){a.set(i,baseClone(n,t,r,i,e,o))});var f=u?void 0:(l?c?getAllKeysIn:getAllKeys:c?keysIn:keys)(e);return arrayEach(f||e,function(n,i){f&&(n=e[i=n]),assignValue(a,i,baseClone(n,t,r,i,e,o))}),a}cloneableTags[argsTag$1]=cloneableTags[arrayTag$1]=cloneableTags[arrayBufferTag$1]=cloneableTags[dataViewTag$1]=cloneableTags[boolTag$1]=cloneableTags[dateTag$1]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[mapTag$1]=cloneableTags[numberTag$2]=cloneableTags[objectTag$2]=cloneableTags[regexpTag$1]=cloneableTags[setTag$1]=cloneableTags[stringTag$2]=cloneableTags[symbolTag$2]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=!0,cloneableTags[errorTag$1]=cloneableTags[funcTag]=cloneableTags[weakMapTag]=!1;var CLONE_DEEP_FLAG$1=1,CLONE_SYMBOLS_FLAG$1=4;function cloneDeep(e){return baseClone(e,CLONE_DEEP_FLAG$1|CLONE_SYMBOLS_FLAG$1)}var symbolTag$1="[object Symbol]";function isSymbol(e){return"symbol"==typeof e||isObjectLike(e)&&baseGetTag(e)==symbolTag$1}function arrayMap(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}var symbolProto$1=Symbol$1?Symbol$1.prototype:void 0,symbolToString=symbolProto$1?symbolProto$1.toString:void 0;function baseToString(e){if("string"==typeof e)return e;if(isArray$1(e))return arrayMap(e,baseToString)+"";if(isSymbol(e))return symbolToString?symbolToString.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}var reWhitespace=/\s/;function trimmedEndIndex(e){for(var t=e.length;t--&&reWhitespace.test(e.charAt(t)););return t}var reTrimStart=/^\s+/;function baseTrim(e){return e?e.slice(0,trimmedEndIndex(e)+1).replace(reTrimStart,""):e}var NAN=NaN,reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsOctal=/^0o[0-7]+$/i,freeParseInt=parseInt;function toNumber(e){if("number"==typeof e)return e;if(isSymbol(e))return NAN;if(isObject$1(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=isObject$1(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=baseTrim(e);var r=reIsBinary.test(e);return r||reIsOctal.test(e)?freeParseInt(e.slice(2),r?2:8):reIsBadHex.test(e)?NAN:+e}var INFINITY=1/0,MAX_INTEGER=17976931348623157e292;function toFinite(e){return e?(e=toNumber(e))===INFINITY||e===-INFINITY?(0>e?-1:1)*MAX_INTEGER:e==e?e:0:0===e?e:0}function toInteger(e){var t=toFinite(e),r=t%1;return t==t?r?t-r:t:0}function identity(e){return e}function apply(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}var HOT_COUNT=800,HOT_SPAN=16,nativeNow=Date.now;function shortOut(e){var t=0,r=0;return function(){var n=nativeNow(),i=HOT_SPAN-(n-r);if(r=n,i>0){if(++t>=HOT_COUNT)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function constant(e){return function(){return e}}var baseSetToString=defineProperty?function(e,t){return defineProperty(e,"toString",{configurable:!0,enumerable:!1,value:constant(t),writable:!0})}:identity,setToString=shortOut(baseSetToString);function baseFindIndex(e,t,r,n){for(var i=e.length,o=r+-1;++o<i;)if(t(e[o],o,e))return o;return-1}function baseIsNaN(e){return e!=e}function strictIndexOf(e,t,r){for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return-1}function baseIndexOf(e,t,r){return t==t?strictIndexOf(e,t,r):baseFindIndex(e,baseIsNaN,r)}var nativeMax$3=Math.max;function overRest(e,t,r){return t=nativeMax$3(void 0===t?e.length-1:t,0),function(){for(var n=arguments,i=-1,o=nativeMax$3(n.length-t,0),a=Array(o);++i<o;)a[i]=n[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=n[i];return s[t]=r(a),apply(e,this,s)}}function baseRest(e,t){return setToString(overRest(e,t,identity),e+"")}function isIterateeCall(e,t,r){if(!isObject$1(r))return!1;var n=typeof t;return!!("number"==n?isArrayLike(r)&&isIndex(t,r.length):"string"==n&&t in r)&&eq(r[t],e)}function createAssigner(e){return baseRest(function(t,r){var n=-1,i=r.length,o=i>1?r[i-1]:void 0,a=i>2?r[2]:void 0;for(o=e.length>3&&"function"==typeof o?(i--,o):void 0,a&&isIterateeCall(r[0],r[1],a)&&(o=3>i?void 0:o,i=1),t=Object(t);++n<i;){var s=r[n];s&&e(t,s,n,o)}return t})}var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;function isKey(e,t){if(isArray$1(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!isSymbol(e))||(reIsPlainProp.test(e)||!reIsDeepProp.test(e)||null!=t&&e in Object(t))}var FUNC_ERROR_TEXT$2="Expected a function";function memoize(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(FUNC_ERROR_TEXT$2);var r=function(){var n=arguments,i=t?t.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var a=e.apply(this,n);return r.cache=o.set(i,a)||o,a};return r.cache=new(memoize.Cache||MapCache),r}memoize.Cache=MapCache;var MAX_MEMOIZE_SIZE=500;function memoizeCapped(e){var t=memoize(e,function(e){return r.size===MAX_MEMOIZE_SIZE&&r.clear(),e}),r=t.cache;return t}var rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,reEscapeChar=/\\(\\)?/g,stringToPath=memoizeCapped(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(rePropName,function(e,r,n,i){t.push(n?i.replace(reEscapeChar,"$1"):r||e)}),t});function toString$1(e){return null==e?"":baseToString(e)}function castPath(e,t){return isArray$1(e)?e:isKey(e,t)?[e]:stringToPath(toString$1(e))}function toKey(e){if("string"==typeof e||isSymbol(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function baseGet(e,t){for(var r=0,n=(t=castPath(t,e)).length;null!=e&&n>r;)e=e[toKey(t[r++])];return r&&r==n?e:void 0}function get(e,t,r){var n=null==e?void 0:baseGet(e,t);return void 0===n?r:n}var spreadableSymbol=Symbol$1?Symbol$1.isConcatSpreadable:void 0;function isFlattenable(e){return isArray$1(e)||isArguments(e)||!!(spreadableSymbol&&e&&e[spreadableSymbol])}function baseFlatten(e,t,r,n,i){var o=-1,a=e.length;for(r||(r=isFlattenable),i||(i=[]);++o<a;){var s=e[o];r(s)?arrayPush(i,s):i[i.length]=s}return i}function flatten(e){return(null==e?0:e.length)?baseFlatten(e):[]}function flatRest(e){return setToString(overRest(e,void 0,flatten),e+"")}var objectTag$1="[object Object]",funcProto=Function.prototype,objectProto$2=Object.prototype,funcToString=funcProto.toString,hasOwnProperty$2=objectProto$2.hasOwnProperty,objectCtorString=funcToString.call(Object);function isPlainObject$1(e){if(!isObjectLike(e)||baseGetTag(e)!=objectTag$1)return!1;var t=getPrototype(e);if(null===t)return!0;var r=hasOwnProperty$2.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&funcToString.call(r)==objectCtorString}function baseSlice(e,t,r){var n=-1,i=e.length;0>t&&(t=-t>i?0:i+t),0>(r=r>i?i:r)&&(r+=i),i=t>r?0:r-t>>>0,t>>>=0;for(var o=Array(i);++n<i;)o[n]=e[n+t];return o}function baseClamp(e,t,r){return e==e&&(void 0!==r&&(e=e>r?r:e),e=t>e?t:e),e}var HASH_UNDEFINED="__lodash_hash_undefined__";function setCacheAdd(e){return this.__data__.set(e,HASH_UNDEFINED),this}function setCacheHas(e){return this.__data__.has(e)}function SetCache(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new MapCache;++t<r;)this.add(e[t])}function arraySome(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}function cacheHas(e,t){return e.has(t)}SetCache.prototype.add=SetCache.prototype.push=setCacheAdd,SetCache.prototype.has=setCacheHas;var COMPARE_PARTIAL_FLAG$5=1,COMPARE_UNORDERED_FLAG$3=2;function equalArrays(e,t,r,n,i,o){var a=r&COMPARE_PARTIAL_FLAG$5,s=e.length,c=t.length;if(!(s==c||a&&c>s))return!1;var l=o.get(e),u=o.get(t);if(l&&u)return l==t&&u==e;var d=-1,p=!0,h=r&COMPARE_UNORDERED_FLAG$3?new SetCache:void 0;for(o.set(e,t),o.set(t,e);++d<s;){var f=e[d],g=t[d];if(n)var y=a?n(g,f,d,t,e,o):n(f,g,d,e,t,o);if(void 0!==y){if(y)continue;p=!1;break}if(h){if(!arraySome(t,function(e,t){if(!cacheHas(h,t)&&(f===e||i(f,e,r,n,o)))return h.push(t)})){p=!1;break}}else if(f!==g&&!i(f,g,r,n,o)){p=!1;break}}return o.delete(e),o.delete(t),p}function mapToArray(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}function setToArray(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}var COMPARE_PARTIAL_FLAG$4=1,COMPARE_UNORDERED_FLAG$2=2,boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",mapTag="[object Map]",numberTag$1="[object Number]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag$1="[object String]",symbolTag="[object Symbol]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",symbolProto=Symbol$1?Symbol$1.prototype:void 0,symbolValueOf=symbolProto?symbolProto.valueOf:void 0;function equalByTag(e,t,r,n,i,o,a){switch(r){case dataViewTag:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case arrayBufferTag:return!(e.byteLength!=t.byteLength||!o(new Uint8Array$1(e),new Uint8Array$1(t)));case boolTag:case dateTag:case numberTag$1:return eq(+e,+t);case errorTag:return e.name==t.name&&e.message==t.message;case regexpTag:case stringTag$1:return e==t+"";case mapTag:var s=mapToArray;case setTag:if(s||(s=setToArray),e.size!=t.size&&!(n&COMPARE_PARTIAL_FLAG$4))return!1;var c=a.get(e);if(c)return c==t;n|=COMPARE_UNORDERED_FLAG$2,a.set(e,t);var l=equalArrays(s(e),s(t),n,i,o,a);return a.delete(e),l;case symbolTag:if(symbolValueOf)return symbolValueOf.call(e)==symbolValueOf.call(t)}return!1}var COMPARE_PARTIAL_FLAG$3=1,objectProto$1=Object.prototype,hasOwnProperty$1=objectProto$1.hasOwnProperty;function equalObjects(e,t,r,n,i,o){var a=r&COMPARE_PARTIAL_FLAG$3,s=getAllKeys(e),c=s.length;if(c!=getAllKeys(t).length&&!a)return!1;for(var l=c;l--;){var u=s[l];if(!(a?u in t:hasOwnProperty$1.call(t,u)))return!1}var d=o.get(e),p=o.get(t);if(d&&p)return d==t&&p==e;var h=!0;o.set(e,t),o.set(t,e);for(var f=a;++l<c;){var g=e[u=s[l]],y=t[u];if(n)var v=a?n(y,g,u,t,e,o):n(g,y,u,e,t,o);if(!(void 0===v?g===y||i(g,y,r,n,o):v)){h=!1;break}f||(f="constructor"==u)}if(h&&!f){var m=e.constructor,b=t.constructor;m==b||!("constructor"in e)||!("constructor"in t)||"function"==typeof m&&m instanceof m&&"function"==typeof b&&b instanceof b||(h=!1)}return o.delete(e),o.delete(t),h}var COMPARE_PARTIAL_FLAG$2=1,argsTag="[object Arguments]",arrayTag="[object Array]",objectTag="[object Object]",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty;function baseIsEqualDeep(e,t,r,n,i,o){var a=isArray$1(e),s=isArray$1(t),c=a?arrayTag:getTag(e),l=s?arrayTag:getTag(t),u=(c=c==argsTag?objectTag:c)==objectTag,d=(l=l==argsTag?objectTag:l)==objectTag,p=c==l;if(p&&isBuffer$1(e)){if(!isBuffer$1(t))return!1;a=!0,u=!1}if(p&&!u)return o||(o=new Stack),a||isTypedArray(e)?equalArrays(e,t,r,n,i,o):equalByTag(e,t,c,r,n,i,o);if(!(r&COMPARE_PARTIAL_FLAG$2)){var h=u&&hasOwnProperty.call(e,"__wrapped__"),f=d&&hasOwnProperty.call(t,"__wrapped__");if(h||f){var g=h?e.value():e,y=f?t.value():t;return o||(o=new Stack),i(g,y,r,n,o)}}return!!p&&(o||(o=new Stack),equalObjects(e,t,r,n,i,o))}function baseIsEqual(e,t,r,n,i){return e===t||(null==e||null==t||!isObjectLike(e)&&!isObjectLike(t)?e!=e&&t!=t:baseIsEqualDeep(e,t,r,n,baseIsEqual,i))}var COMPARE_PARTIAL_FLAG$1=1,COMPARE_UNORDERED_FLAG$1=2;function baseIsMatch(e,t,r,n){var i=r.length,o=i;if(null==e)return!o;for(e=Object(e);i--;){var a=r[i];if(a[2]?a[1]!==e[a[0]]:!(a[0]in e))return!1}for(;++i<o;){var s=(a=r[i])[0],c=e[s],l=a[1];if(a[2]){if(void 0===c&&!(s in e))return!1}else{var u=new Stack;if(!baseIsEqual(l,c,COMPARE_PARTIAL_FLAG$1|COMPARE_UNORDERED_FLAG$1,n,u))return!1}}return!0}function isStrictComparable(e){return e==e&&!isObject$1(e)}function getMatchData(e){for(var t=keys(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,isStrictComparable(i)]}return t}function matchesStrictComparable(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}}function baseMatches(e){var t=getMatchData(e);return 1==t.length&&t[0][2]?matchesStrictComparable(t[0][0],t[0][1]):function(r){return r===e||baseIsMatch(r,e,t)}}function baseHasIn(e,t){return null!=e&&t in Object(e)}function hasPath(e,t,r){for(var n=-1,i=(t=castPath(t,e)).length,o=!1;++n<i;){var a=toKey(t[n]);if(!(o=null!=e&&r(e,a)))break;e=e[a]}return o||++n!=i?o:!!(i=null==e?0:e.length)&&isLength(i)&&isIndex(a,i)&&(isArray$1(e)||isArguments(e))}function hasIn(e,t){return null!=e&&hasPath(e,t,baseHasIn)}var COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;function baseMatchesProperty(e,t){return isKey(e)&&isStrictComparable(t)?matchesStrictComparable(toKey(e),t):function(r){var n=get(r,e);return void 0===n&&n===t?hasIn(r,e):baseIsEqual(t,n,COMPARE_PARTIAL_FLAG|COMPARE_UNORDERED_FLAG)}}function baseProperty(e){return function(t){return null==t?void 0:t[e]}}function basePropertyDeep(e){return function(t){return baseGet(t,e)}}function property(e){return isKey(e)?baseProperty(toKey(e)):basePropertyDeep(e)}function baseIteratee(e){return"function"==typeof e?e:null==e?identity:"object"==typeof e?isArray$1(e)?baseMatchesProperty(e[0],e[1]):baseMatches(e):property(e)}function createBaseFor(e){return function(e,t,r){for(var n=-1,i=Object(e),o=r(e),a=o.length;a--;){var s=o[++n];if(!1===t(i[s],s,i))break}return e}}var baseFor=createBaseFor();function baseForOwn(e,t){return e&&baseFor(e,t,keys)}function createBaseEach(e,t){return function(t,r){if(null==t)return t;if(!isArrayLike(t))return e(t,r);for(var n=t.length,i=-1,o=Object(t);++i<n&&!1!==r(o[i],i,o););return t}}var baseEach=createBaseEach(baseForOwn),now=function(){return root.Date.now()},FUNC_ERROR_TEXT$1="Expected a function",nativeMax$2=Math.max,nativeMin=Math.min;function debounce(e,t,r){var n,i,o,a,s,c,l=0,u=!1,d=!1,p=!0;if("function"!=typeof e)throw new TypeError(FUNC_ERROR_TEXT$1);function h(t){var r=n,o=i;return n=i=void 0,l=t,a=e.apply(o,r)}function f(e){var r=e-c;return void 0===c||r>=t||0>r||d&&e-l>=o}function g(){var e=now();if(f(e))return y(e);s=setTimeout(g,function(e){var r=t-(e-c);return d?nativeMin(r,o-(e-l)):r}(e))}function y(e){return s=void 0,p&&n?h(e):(n=i=void 0,a)}function v(){var e=now(),r=f(e);if(n=arguments,i=this,c=e,r){if(void 0===s)return function(e){return l=e,s=setTimeout(g,t),u?h(e):a}(c);if(d)return clearTimeout(s),s=setTimeout(g,t),h(c)}return void 0===s&&(s=setTimeout(g,t)),a}return t=toNumber(t)||0,isObject$1(r)&&(u=!!r.leading,o=(d="maxWait"in r)?nativeMax$2(toNumber(r.maxWait)||0,t):o,p="trailing"in r?!!r.trailing:p),v.cancel=function(){void 0!==s&&clearTimeout(s),l=0,n=c=i=s=void 0},v.flush=function(){return void 0===s?a:y(now())},v}function assignMergeValue(e,t,r){(void 0!==r&&!eq(e[t],r)||void 0===r&&!(t in e))&&baseAssignValue(e,t,r)}function isArrayLikeObject(e){return isObjectLike(e)&&isArrayLike(e)}function safeGet(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}function toPlainObject(e){return copyObject(e,keysIn(e))}function baseMergeDeep(e,t,r,n,i,o,a){var s=safeGet(e,r),c=safeGet(t,r),l=a.get(c);if(l)assignMergeValue(e,r,l);else{var u=o?o(s,c,r+"",e,t,a):void 0,d=void 0===u;if(d){var p=isArray$1(c),h=!p&&isBuffer$1(c),f=!p&&!h&&isTypedArray(c);u=c,p||h||f?isArray$1(s)?u=s:isArrayLikeObject(s)?u=copyArray(s):h?(d=!1,u=cloneBuffer(c,!0)):f?(d=!1,u=cloneTypedArray(c,!0)):u=[]:isPlainObject$1(c)||isArguments(c)?(u=s,isArguments(s)?u=toPlainObject(s):isObject$1(s)&&!isFunction$1(s)||(u=initCloneObject(c))):d=!1}d&&(a.set(c,u),i(u,c,n,o,a),a.delete(c)),assignMergeValue(e,r,u)}}function baseMerge(e,t,r,n,i){e!==t&&baseFor(t,function(o,a){if(i||(i=new Stack),isObject$1(o))baseMergeDeep(e,t,a,r,baseMerge,n,i);else{var s=n?n(safeGet(e,a),o,a+"",e,t,i):void 0;void 0===s&&(s=o),assignMergeValue(e,a,s)}},keysIn)}function last(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}function endsWith(e,t,r){e=toString$1(e),t=baseToString(t);var n=e.length,i=r=void 0===r?n:baseClamp(toInteger(r),0,n);return(r-=t.length)>=0&&e.slice(r,i)==t}var MAX_ARRAY_LENGTH=4294967295;function toLength(e){return e?baseClamp(toInteger(e),0,MAX_ARRAY_LENGTH):0}function baseFill(e,t,r,n){var i=e.length;for(0>(r=toInteger(r))&&(r=-r>i?0:i+r),0>(n=void 0===n||n>i?i:toInteger(n))&&(n+=i),n=r>n?0:toLength(n);n>r;)e[r++]=t;return e}function fill(e,t,r,n){return(null==e?0:e.length)?baseFill(e,t,r,n):[]}function createFind(e){return function(t,r,n){var i=Object(t);if(!isArrayLike(t)){var o=baseIteratee(r);t=keys(t),r=function(e){return o(i[e],e,i)}}var a=e(t,r,n);return a>-1?i[o?t[a]:a]:void 0}}var nativeMax$1=Math.max;function findIndex(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var i=null==r?0:toInteger(r);return 0>i&&(i=nativeMax$1(n+i,0)),baseFindIndex(e,baseIteratee(t),i)}var find=createFind(findIndex);function baseMap(e,t){var r=-1,n=isArrayLike(e)?Array(e.length):[];return baseEach(e,function(e,i,o){n[++r]=t(e,i,o)}),n}var stringTag="[object String]";function isString$1(e){return"string"==typeof e||!isArray$1(e)&&isObjectLike(e)&&baseGetTag(e)==stringTag}function baseValues(e,t){return arrayMap(t,function(t){return e[t]})}function values(e){return null==e?[]:baseValues(e,keys(e))}var nativeMax=Math.max;function includes(e,t,r,n){e=isArrayLike(e)?e:values(e),r=r?toInteger(r):0;var i=e.length;return 0>r&&(r=nativeMax(i+r,0)),isString$1(e)?i>=r&&e.indexOf(t,r)>-1:!!i&&baseIndexOf(e,t,r)>-1}function parent(e,t){return 2>t.length?e:baseGet(e,baseSlice(t,0,-1))}var numberTag="[object Number]";function isNumber$1(e){return"number"==typeof e||isObjectLike(e)&&baseGetTag(e)==numberTag}var merge$1=createAssigner(function(e,t,r){baseMerge(e,t,r)});function baseUnset(e,t){return null==(e=parent(e,t=castPath(t,e)))||delete e[toKey(last(t))]}function customOmitClone(e){return isPlainObject$1(e)?void 0:e}var CLONE_DEEP_FLAG=1,CLONE_FLAT_FLAG=2,CLONE_SYMBOLS_FLAG=4,omit=flatRest(function(e,t){var r={};if(null==e)return r;var n=!1;t=arrayMap(t,function(t){return t=castPath(t,e),n||(n=t.length>1),t}),copyObject(e,getAllKeysIn(e),r),n&&(r=baseClone(r,CLONE_DEEP_FLAG|CLONE_FLAT_FLAG|CLONE_SYMBOLS_FLAG,customOmitClone));for(var i=t.length;i--;)baseUnset(r,t[i]);return r});function baseSortBy(e,t){var r=e.length;for(e.sort(t);r--;)e[r]=e[r].value;return e}function compareAscending(e,t){if(e!==t){var r=void 0!==e,n=null===e,i=e==e,o=isSymbol(e),a=void 0!==t,s=null===t,c=t==t,l=isSymbol(t);if(!s&&!l&&!o&&e>t||o&&a&&c&&!s&&!l||n&&a&&c||!r&&c||!i)return 1;if(!n&&!o&&!l&&t>e||l&&r&&i&&!n&&!o||s&&r&&i||!a&&i||!c)return-1}return 0}function compareMultiple(e,t,r){for(var n=-1,i=e.criteria,o=t.criteria,a=i.length,s=r.length;++n<a;){var c=compareAscending(i[n],o[n]);if(c)return s>n?c*("desc"==r[n]?-1:1):c}return e.index-t.index}function baseOrderBy(e,t,r){t=t.length?arrayMap(t,function(e){return isArray$1(e)?function(t){return baseGet(t,1===e.length?e[0]:e)}:e}):[identity];var n=-1;return t=arrayMap(t,baseUnary(baseIteratee)),baseSortBy(baseMap(e,function(e,r,i){return{criteria:arrayMap(t,function(t){return t(e)}),index:++n,value:e}}),function(e,t){return compareMultiple(e,t,r)})}function orderBy(e,t,r,n){return null==e?[]:(isArray$1(t)||(t=null==t?[]:[t]),isArray$1(r)||(r=null==r?[]:[r]),baseOrderBy(e,t,r))}function baseSome(e,t){var r;return baseEach(e,function(e,n,i){return!(r=t(e,n,i))}),!!r}function some(e,t,r){return(isArray$1(e)?arraySome:baseSome)(e,baseIteratee(t))}var FUNC_ERROR_TEXT="Expected a function",utilCanvas,utilCtx;function throttle(e,t,r){var n=!0,i=!0;if("function"!=typeof e)throw new TypeError(FUNC_ERROR_TEXT);return isObject$1(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),debounce(e,t,{leading:n,maxWait:t,trailing:i})}function getSharedCanvasCtx(){return utilCanvas||(utilCanvas=document.createElement("canvas")),utilCtx||(utilCtx=utilCanvas.getContext("2d")),utilCtx}function renderRect(e,t,r,n,i,o){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"transparent";e.save(),e.beginPath(),e.strokeStyle=o,e.lineWidth=a,e.fillStyle=s,e.rect(t,r,n,i),e.closePath(),e.stroke(),e.fill(),e.restore()}function renderArc(e,t,r,n,i){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"transparent",a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1;e.save(),e.beginPath(),e.strokeStyle=i,e.lineWidth=a,e.fillStyle=o,e.arc(t,r,n,0,2*Math.PI),e.closePath(),e.stroke(),e.fill(),e.restore()}function drawRoundedRectangle(e,t,r,n,i,o,a,s){e.save(),e.lineWidth=1,e.beginPath(),e.moveTo(t+o,r),e.lineTo(t+n-o,r),e.arc(t+n-o,r+o,o,1.5*Math.PI,2*Math.PI),e.lineTo(t+n,r+i-o),e.arc(t+n-o,r+i-o,o,0,.5*Math.PI),e.lineTo(t+o,r+i),e.arc(t+o,r+i-o,o,.5*Math.PI,Math.PI),e.lineTo(t,r+o),e.arc(t+o,r+o,o,Math.PI,1.5*Math.PI),e.fillStyle=a,e.strokeStyle=s,e.fill(),e.stroke(),e.closePath(),e.restore()}var OUTLINE_CORNER_ARC_RADIUS=4,SELECTED_SHAPE_STROKE_COLOR="#008FF9",ResizeType;!function(e){e[e.width=0]="width",e[e.height=1]="height",e[e.widthAndHeight=2]="widthAndHeight",e[e.none=3]="none"}(ResizeType||(ResizeType={}));var OutlineResizeHandle=function(){return _createClass$1(function e(t,r,n,i){var o=4>=arguments.length||void 0===arguments[4]||arguments[4];_classCallCheck$1(this,e),Object.defineProperty(this,"getX",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"getY",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"cursorStyle",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"resizeType",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"renderSelf",{enumerable:!0,configurable:!0,writable:!0,value:o})},[{key:"render",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0;this.renderSelf&&renderArc(e,this.getX(),this.getY(),OUTLINE_CORNER_ARC_RADIUS/r,t?"transparent":SELECTED_SHAPE_STROKE_COLOR,t?"transparent":"#fff")}},{key:"isPointInShape",value:function(e,t){return e>this.getX()-OUTLINE_CORNER_ARC_RADIUS&&e<this.getX()+OUTLINE_CORNER_ARC_RADIUS&&t>this.getY()-OUTLINE_CORNER_ARC_RADIUS&&t<this.getY()+OUTLINE_CORNER_ARC_RADIUS}}])}();function rotate(e,t,r){var n=e.x-t.x,i=e.y-t.y;return{x:n*Math.cos(r)-i*Math.sin(r)+t.x,y:i*Math.cos(r)+n*Math.sin(r)+t.y}}Object.defineProperty(OutlineResizeHandle,"ResizeType",{enumerable:!0,configurable:!0,writable:!0,value:ResizeType});var Model=function(){return _createClass$1(function e(t){if(_classCallCheck$1(this,e),Object.defineProperty(this,"points",{enumerable:!0,configurable:!0,writable:!0,value:t}),!t)throw Error("Points is required");if(!t.length)throw Error("Points must have at least one point")},[{key:"setPoints",value:function(e){if(!e)throw Error("Points is required");if(!e.length)throw Error("Points must have at least one point");this.points=e}},{key:"setPointAtIndex",value:function(e,t){this.points[e]=t}},{key:"minx",get:function(){return Math.min.apply(Math,_toConsumableArray(this.points.map(function(e){return e.x})))}},{key:"miny",get:function(){return Math.min.apply(Math,_toConsumableArray(this.points.map(function(e){return e.y})))}},{key:"maxx",get:function(){return Math.max.apply(Math,_toConsumableArray(this.points.map(function(e){return e.x})))}},{key:"maxy",get:function(){return Math.max.apply(Math,_toConsumableArray(this.points.map(function(e){return e.y})))}},{key:"width",get:function(){return this.maxx-this.minx}},{key:"height",get:function(){return this.maxy-this.miny}},{key:"center",get:function(){return{x:(this.minx+this.maxx)/2,y:(this.maxy+this.miny)/2}}},{key:"rotate",value:function(e){var t=this;return this.points.map(function(r){return rotate(r,t.center,e)})}}])}(),DEFAULT_DOC_ID="doc0",DEFAULT_FONT_FAMILY='"Microsoft YaHei", 宋体, sans-serif',browserFingerprint=localStorage.getItem("browser_fingerprint");browserFingerprint||(browserFingerprint=genGUID(),localStorage.setItem("browser_fingerprint",browserFingerprint));var DEFAULT_FILL_COLOR="rgba(112,124,138,1)",TRANSPARENT="rgba(255, 255, 255, 0)",PDF_DEFALT_WIDTH=1280,DEFAULT_BACKGROUND=TRANSPARENT,RENDER_RATE=15,RENDER_INTEVAL=1e3/RENDER_RATE,SHAPE_SEQ_LINK_STR="_sid_",ANNOTATION_PREFIX="ding#annotation",SESSIONID_REGEXP=/[^a-zA-Z0-9_-]/g,ShapeType,ShapeOrderType,ShapeFillType,ShapeLineType,ShapeFontFormatType,ShapeVisibleType,InteractionStatusType;function getShapeFont(e,t){return e&&t?ShapeFontFormatType.bold_italic:e?ShapeFontFormatType.bold:t?ShapeFontFormatType.italic:ShapeFontFormatType.normal}function numTo2Base(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,r=fill(Array(t),"0").join("")+e.toString(2);return r.substr(r.length-t,t)}function rgba2num(e){var t=e.match(/(\d(\.\d+)?)+/g),r=Number(get(t,0,0)),n=Number(get(t,1,0)),i=Number(get(t,2,0)),o=Number(get(t,3,0));return(numTo2Base(r)+numTo2Base(n)+numTo2Base(i)+numTo2Base(Math.round(255*o))).split("").reverse().reduce(function(e,t,r){return e+("1"===t?Math.pow(2,r):0)},0)}function num2rgba(e){var t=numTo2Base(e,32),r=parseInt(t.substr(0,8),2),n=parseInt(t.substr(8,8),2),i=parseInt(t.substr(16,8),2),o=parseInt(t.substr(24,8),2)/255;return"rgba(".concat(r,",").concat(n,",").concat(i,",").concat(o,")")}function getURLBase64(e){return new Promise(function(t,r){var n=new XMLHttpRequest;n.open("get",e,!0),n.responseType="blob",n.onload=function(){if(200===this.status){var e=this.response,r=new FileReader;r.onloadend=function(e){t(e.target.result)},r.readAsDataURL(e)}},n.onerror=function(){r()},n.send()})}function genGUID(){var e=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var r=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"===t?r:3&r|8).toString(16)})}function formateDate(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"yyyyMMdd-hhmmss",r={"M+":e.getMonth()+1,"d+":e.getDate(),"h+":e.getHours(),"m+":e.getMinutes(),"s+":e.getSeconds(),"q+":Math.floor((e.getMonth()+3)/3),S:e.getMilliseconds()};for(var n in/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(e.getFullYear()+"").substr(4-RegExp.$1.length))),r)RegExp("("+n+")").test(t)&&(t=t.replace(RegExp.$1,1===RegExp.$1.length?r[n]:("00"+r[n]).substr((""+r[n]).length)));return t}function genRandomDocId(){return"doc-".concat(Date.now())}function numArr2points(e){var t=e.split(" ").map(function(e){return parseInt(e)});if(t){var r=[];return t.forEach(function(e,n){n>t.length-1||n%2!=1||r.push({x:t[n-1],y:e})}),r}}function points2numArr(e){return e.reduce(function(e,t){return e.push(t.x,t.y),e},[])}function generateShapeStyle(e){if(e)return{lineWidth:e.linewidth,strokeStyle:num2rgba(e.linecolor),fillStyle:num2rgba(e.fillcolor),fillType:e.filltype,dashed:"dashed"===e.linestyle}}function generateShapeFont(e){if(e)return{fontSize:parseInt(e.size),bold:e.format.includes("bold"),italic:e.format.includes("italic")}}function seqIdToShapeId(e,t){return"".concat(t).concat(SHAPE_SEQ_LINK_STR).concat(e)}function _callSuper$v(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$v()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$v(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$v=function(){return!!e})()}!function(e){e.Click="click",e.Select="select",e.Pen="pen",e.Line="line",e.Rect="rect",e.Square="square",e.Ellipse="ellipse",e.Circle="circle",e.Text="text",e.Triangle="triangle",e.Rhombic="rhombic",e.Arrow="arrow",e.Delete="delete",e.Image="image",e.Stamp="stamp",e.Video="video",e.Audio="audio",e.Eraser="eraser",e.Brush="eraser",e.EraserIndicator="eraserIndicator",e.LaserPointer="laserPointer",e.Cursor="cursor",e.Drag="drag"}(ShapeType||(ShapeType={})),function(e){e.back="back",e.front="front",e.normal="normal",e.bg="bg"}(ShapeOrderType||(ShapeOrderType={})),function(e){e.none="none",e.color="color"}(ShapeFillType||(ShapeFillType={})),function(e){e.solid="solid",e.dashed="dashed"}(ShapeLineType||(ShapeLineType={})),function(e){e.normal="normal",e.bold="bold",e.italic="italic",e.bold_italic="bold_italic"}(ShapeFontFormatType||(ShapeFontFormatType={})),function(e){e.invisible="0",e.visible="1"}(ShapeVisibleType||(ShapeVisibleType={})),function(e){e[e.default=0]="default",e[e.focused=1]="focused",e[e.selected=2]="selected",e[e.resizing=3]="resizing",e[e.rotating=4]="rotating",e[e.willBeDeleted=5]="willBeDeleted"}(InteractionStatusType||(InteractionStatusType={}));var EXTENTION_SELECT_WIDTH=10,WILL_BE_DELETED_STROKE_COLOR="#E17055",DASH_STYLE=[7,7],BaseShape=function(e){function t(e,r,n){var i,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"belong_to_none_page";return _classCallCheck$1(this,t),i=_callSuper$v(this,t),Object.defineProperty(i,"shapeId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(i,"creator",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(i,"pageId",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(i,"hash",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(i,"_order",{enumerable:!0,configurable:!0,writable:!0,value:ShapeOrderType.normal}),Object.defineProperty(i,"_orderTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(i,"rngReverse",{enumerable:!0,configurable:!0,writable:!0,value:{xReversed:!1,yReversed:!1}}),Object.defineProperty(i,"transformOriginalInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(i,"resizeStartHandle",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(i,"resizeOriginPosition",{enumerable:!0,configurable:!0,writable:!0,value:i.center}),Object.defineProperty(i,"_visible",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(i,"_interactionStatus",{enumerable:!0,configurable:!0,writable:!0,value:InteractionStatusType.default}),Object.defineProperty(i,"model",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),i.model=new Model(e),i._orderTime=(new Date).getTime(),i.emitRenderRequest(),i}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"shouldRenderOutline",get:function(){return this.interactionStatus===InteractionStatusType.focused||this.interactionStatus===InteractionStatusType.willBeDeleted||this.interactionStatus===InteractionStatusType.selected}},{key:"emitRenderRequest",value:function(){this.hash++,this.emit("requestRender",this)}},{key:"order",get:function(){return this._order},set:function(e){this._order=e,this.emitRenderRequest()}},{key:"orderTime",get:function(){return this._orderTime},set:function(e){this._orderTime=e,this.emitRenderRequest()}},{key:"visible",get:function(){return this._visible},set:function(e){this._visible=e,this.emitRenderRequest()}},{key:"interactionStatus",get:function(){return this._interactionStatus},set:function(e){this._interactionStatus!==e&&(this._interactionStatus=e,this.emitRenderRequest())}},{key:"points",get:function(){return this.model.points},set:function(e){this.model.setPoints(e),this.emitRenderRequest()}},{key:"shapeSeq",get:function(){var e=this.shapeId.split(SHAPE_SEQ_LINK_STR);return e[e.length-1]}},{key:"render",value:function(e,t){this.isShapeInRect(t.viewport)&&this._visible&&this.renderShape(e,t)}},{key:"renderOutline",value:function(e,t){this.shouldRenderOutline&&(e.save(),e.strokeStyle=this.interactionStatus===InteractionStatusType.willBeDeleted?WILL_BE_DELETED_STROKE_COLOR:SELECTED_SHAPE_STROKE_COLOR,e.lineWidth=1/t,e.setLineDash(DASH_STYLE),e.beginPath(),this.outlineResizeHandles.forEach(function(t,r){0===r?e.moveTo(t.getX(),t.getY()):e.lineTo(t.getX(),t.getY())}),e.closePath(),e.stroke(),e.restore(),this.interactionStatus===InteractionStatusType.selected&&this.outlineResizeHandles.filter(function(e){return e.resizeType!==ResizeType.none}).forEach(function(r){return r.render(e,!1,t)}))}},{key:"isShapeInRect",value:function(e){return!(this.minx>e.maxx||this.miny>e.maxy||e.minx>this.maxx||e.miny>this.maxy)}},{key:"isPointInShapeRect",value:function(e,t){return!(this.minx>e||e>this.maxx||this.miny>t||t>this.maxy)}},{key:"export",value:function(){return{points:cloneDeep(this.points),shapeId:this.shapeId,visible:this.visible,type:this.shapeType,rngReverse:cloneDeep(this.rngReverse),creator:this.creator,orderTime:this.orderTime,order:this.order}}},{key:"getRgnData",value:function(){if(this.shapeType===ShapeType.Arrow||this.shapeType===ShapeType.Line)return[this.points[0].x,this.points[0].y,this.points[1].x,this.points[1].y].join(" ");var e=this.rngReverse,t=e.xReversed,r=e.yReversed;return[t?this.maxx:this.minx,r?this.maxy:this.miny,t?this.minx:this.maxx,r?this.miny:this.maxy].join(" ")}},{key:"minx",get:function(){var e;return null===(e=this.model)||void 0===e?void 0:e.minx}},{key:"miny",get:function(){var e;return null===(e=this.model)||void 0===e?void 0:e.miny}},{key:"maxx",get:function(){var e;return null===(e=this.model)||void 0===e?void 0:e.maxx}},{key:"maxy",get:function(){var e;return null===(e=this.model)||void 0===e?void 0:e.maxy}},{key:"width",get:function(){var e;return null===(e=this.model)||void 0===e?void 0:e.width}},{key:"height",get:function(){var e;return null===(e=this.model)||void 0===e?void 0:e.height}},{key:"center",get:function(){return{x:(this.minx+this.maxx)/2,y:(this.maxy+this.miny)/2}}},{key:"storeTransformStartPoints",value:function(){this.transformOriginalInfo=cloneDeep(this)}},{key:"onMoveStart",value:function(){this.storeTransformStartPoints()}},{key:"onMove",value:function(e,t){this.model.setPoints(this.transformOriginalInfo.points.map(function(r){return{x:r.x+e,y:r.y+t}})),this.emitRenderRequest()}},{key:"onMoveEnd",value:function(e,t){this.model.setPoints(this.transformOriginalInfo.points.map(function(r){return{x:r.x+e,y:r.y+t}})),this.emitRenderRequest()}},{key:"onResizeStart",value:function(e,t){var r=findIndex(this.outlineResizeHandles,function(r){return r.isPointInShape(e,t)});if(-1!==r){this.storeTransformStartPoints(),this.resizeStartHandle={x:this.outlineResizeHandles[r].getX(),y:this.outlineResizeHandles[r].getY(),resizeType:this.outlineResizeHandles[r].resizeType,index:r};var n=this.outlineResizeHandles.length;this.resizeOriginPosition={x:this.outlineResizeHandles[(r+n/2)%n].getX(),y:this.outlineResizeHandles[(r+n/2)%n].getY()}}}},{key:"onResize",value:function(e,t,r){this.updateRgnReverse(e,t);var n=this.resizeStartHandle,i=this.resizeOriginPosition;if(n&&i){if(this.shapeType===ShapeType.Arrow||this.shapeType===ShapeType.Line){var o=this.resizeStartHandle.x===this.transformOriginalInfo.points[0].x&&this.resizeStartHandle.y===this.transformOriginalInfo.points[0].y?0:1;return this.model.setPointAtIndex(o,{x:this.transformOriginalInfo.points[o].x+e,y:this.transformOriginalInfo.points[o].y+t}),void this.emitRenderRequest()}this.resizeByRatio(n.resizeType===ResizeType.width||n.resizeType===ResizeType.widthAndHeight?(n.x-i.x+e)/(n.x-i.x):1,n.resizeType===ResizeType.height||n.resizeType===ResizeType.widthAndHeight?(n.y-i.y+t)/(n.y-i.y):1,i)}}},{key:"resizeByRatio",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.center;if(e&&t){var n=this.transformOriginalInfo.rngReverse.xReversed,i=this.transformOriginalInfo.rngReverse.yReversed;this.rngReverse={xReversed:0>e?!n:n,yReversed:0>t?!i:i},this.model.setPoints(this.transformOriginalInfo.points.map(function(n){return{x:Math.round(r.x+(n.x-r.x)*(Number.isFinite(e)?e:1)),y:Math.round(r.y+(n.y-r.y)*(Number.isFinite(t)?t:1))}})),this.emitRenderRequest()}}},{key:"updateRgnReverse",value:function(e,t){if(this.resizeStartHandle){var r=this.resizeStartHandle.x-this.resizeOriginPosition.x,n=this.resizeStartHandle.y-this.resizeOriginPosition.y,i=this.transformOriginalInfo.rngReverse.xReversed,o=this.transformOriginalInfo.rngReverse.yReversed;this.rngReverse={xReversed:(r>0?0>r+e:r+e>0)?!i:i,yReversed:(n>0?0>n+t:n+t>0)?!o:o}}}},{key:"onResizeEnd",value:function(e,t,r){this.updateRgnReverse(e,t),this.resizeStartHandle=void 0,this.resizeOriginPosition=this.center}},{key:"onRotate",value:function(e){var t=this.model.rotate(e);this.points=t}},{key:"outlineResizeHandles",get:function(){var e=this,t=[new OutlineResizeHandle(function(){return e.minx},function(){return e.miny},"nwse-resize",ResizeType.widthAndHeight),new OutlineResizeHandle(function(){return(e.minx+e.maxx)/2},function(){return e.miny},"ns-resize",ResizeType.height),new OutlineResizeHandle(function(){return e.maxx},function(){return e.miny},"nesw-resize",ResizeType.widthAndHeight),new OutlineResizeHandle(function(){return e.maxx},function(){return(e.miny+e.maxy)/2},"ew-resize",ResizeType.width),new OutlineResizeHandle(function(){return e.maxx},function(){return e.maxy},"nwse-resize",ResizeType.widthAndHeight),new OutlineResizeHandle(function(){return(e.minx+e.maxx)/2},function(){return e.maxy},"ns-resize",ResizeType.height),new OutlineResizeHandle(function(){return e.minx},function(){return e.maxy},"nesw-resize",ResizeType.widthAndHeight),new OutlineResizeHandle(function(){return e.minx},function(){return(e.miny+e.maxy)/2},"ew-resize",ResizeType.width)];return this.shapeType===ShapeType.Arrow||this.shapeType===ShapeType.Line?t.map(function(t){return t.renderSelf=t.getX()===e.points[0].x&&t.getY()===e.points[0].y||t.getX()===e.points[1].x&&t.getY()===e.points[1].y,t}):this.shapeType===ShapeType.Text?t.map(function(e,t){return 3!==t&&7!==t&&(e.renderSelf=!1),e}):t}},{key:"destructor",value:function(){}},{key:"genDrawMsg",value:function(e){return{pageId:this.pageId,name:e,shape:this.shapeType,order:this.order,orderTime:new Date(this.orderTime).toISOString(),data:points2numArr(this.model.points).join(" "),visible:this.visible?ShapeVisibleType.visible:ShapeVisibleType.invisible}}},{key:"genRgnMsg",value:function(e){return{pageId:this.pageId,name:e,shape:this.shapeType,rgn:this.getRgnData()}}}])}();function _callSuper$u(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$u()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$u(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$u=function(){return!!e})()}Object.defineProperty(BaseShape,"GIF_RENDER_RATE",{enumerable:!0,configurable:!0,writable:!0,value:12});var EraserIndicator=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$u(this,t,[[{x:0,y:0},{x:0,y:0}],"EraserIndicator","userMe","noPageId"])}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"clone",value:function(){throw Error("Method not implemented.")}},{key:"shapeType",get:function(){return ShapeType.EraserIndicator}},{key:"shouldSelectAfterAdd",value:function(){return!1}},{key:"isPointInShape",value:function(){return!1}},{key:"renderShape",value:function(e,t){var r=t.lineWidth,n=t.scale;e.save(),e.beginPath(),e.strokeStyle="rgba(255,87,34,1)",e.lineWidth=2/n,e.arc(this.points[0].x,this.points[0].y,(r-2/n>0?r-2/n:1)/2,0,2*Math.PI),e.stroke(),e.restore()}}])}();function _callSuper$t(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$t()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$t(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$t=function(){return!!e})()}var SELECT_RANGE_COLOR="rgba(112,124,138,0.2)",DELETE_RANGE_COLOR="rgba(244,67,54,0.2)",SelectIndicator=function(e){function t(){var e;return _classCallCheck$1(this,t),e=_callSuper$t(this,t,[[{x:0,y:0},{x:0,y:0}],"Select","userMe","noPage"]),Object.defineProperty(e,"shapeStyle",{enumerable:!0,configurable:!0,writable:!0,value:{lineWidth:1,strokeStyle:"rgba(0,0,0,0.6)",fillStyle:"rgba(112,124,138,0.2)"}}),e}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"clone",value:function(){throw Error("Method not implemented.")}},{key:"shapeType",get:function(){return ShapeType.Select}},{key:"shouldSelectAfterAdd",value:function(){return!1}},{key:"isPointInShape",value:function(){return!1}},{key:"renderShape",value:function(e,t){e.save();var r=this.points[0].x,n=this.points[0].y,i=this.points[1].x-this.points[0].x,o=this.points[1].y-this.points[0].y;e.beginPath(),e.strokeStyle=this.shapeStyle.strokeStyle,e.fillStyle=t.insertType===ShapeType.Select?SELECT_RANGE_COLOR:DELETE_RANGE_COLOR,e.rect(r,n,i,o),e.closePath(),e.fillRect(r+this.shapeStyle.lineWidth/2,n+this.shapeStyle.lineWidth/2,i-this.shapeStyle.lineWidth,o-this.shapeStyle.lineWidth),e.lineWidth=this.shapeStyle.lineWidth,e.stroke(),e.restore()}}])}(),hammer={exports:{}};
|
|
33
33
|
/*! Hammer.JS - v2.0.7 - 2016-04-22
|
|
34
34
|
* http://hammerjs.github.io/
|
|
35
35
|
*
|
|
36
36
|
* Copyright (c) 2016 Jorik Tangelder;
|
|
37
37
|
* Licensed under the MIT license */
|
|
38
|
-
!function(e){!function(t,r,n,i){var o,a=["","webkit","Moz","MS","ms","o"],s=r.createElement("div"),c=Math.round,l=Math.abs,u=Date.now;function d(e,t,r){return setTimeout(m(e,r),t)}function p(e,t,r){return!!Array.isArray(e)&&(h(e,r[t],r),!0)}function h(e,t,r){var n;if(e)if(e.forEach)e.forEach(t,r);else if(e.length!==i)for(n=0;e.length>n;)t.call(r,e[n],n,e),n++;else for(n in e)e.hasOwnProperty(n)&&t.call(r,e[n],n,e)}function f(e,r,n){var i="DEPRECATED METHOD: "+r+"\n"+n+" AT \n";return function(){var r=Error("get-stack-trace"),n=r&&r.stack?r.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=t.console&&(t.console.warn||t.console.log);return o&&o.call(t.console,i,n),e.apply(this,arguments)}}o="function"!=typeof Object.assign?function(e){if(e===i||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),r=1;arguments.length>r;r++){var n=arguments[r];if(n!==i&&null!==n)for(var o in n)n.hasOwnProperty(o)&&(t[o]=n[o])}return t}:Object.assign;var g=f(function(e,t,r){for(var n=Object.keys(t),o=0;n.length>o;)(!r||r&&e[n[o]]===i)&&(e[n[o]]=t[n[o]]),o++;return e},"extend","Use `assign`."),y=f(function(e,t){return g(e,t,!0)},"merge","Use `assign`.");function v(e,t,r){var n,i=t.prototype;(n=e.prototype=Object.create(i)).constructor=e,n._super=i,r&&o(n,r)}function m(e,t){return function(){return e.apply(t,arguments)}}function b(e,t){return"function"==typeof e?e.apply(t&&t[0]||i,t):e}function S(e,t){return e===i?t:e}function _(e,t,r){h(E(t),function(t){e.addEventListener(t,r,!1)})}function w(e,t,r){h(E(t),function(t){e.removeEventListener(t,r,!1)})}function I(e,t){for(;e;){if(e==t)return!0;e=e.parentNode}return!1}function T(e,t){return e.indexOf(t)>-1}function E(e){return e.trim().split(/\s+/g)}function O(e,t,r){if(e.indexOf&&!r)return e.indexOf(t);for(var n=0;e.length>n;){if(r&&e[n][r]==t||!r&&e[n]===t)return n;n++}return-1}function P(e){return Array.prototype.slice.call(e,0)}function C(e,t,r){for(var n=[],i=[],o=0;e.length>o;){var a=e[o][t];0>O(i,a)&&n.push(e[o]),i[o]=a,o++}return n=n.sort(function(e,r){return e[t]>r[t]})}function R(e,t){for(var r,n,o=t[0].toUpperCase()+t.slice(1),s=0;a.length>s;){if((n=(r=a[s])?r+o:t)in e)return n;s++}return i}var x=1;function k(e){var r=e.ownerDocument||e;return r.defaultView||r.parentWindow||t}var A="ontouchstart"in t,D=R(t,"PointerEvent")!==i,N=A&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),M="touch",j="mouse",L=24,$=["x","y"],B=["clientX","clientY"];function U(e,t){var r=this;this.manager=e,this.callback=t,this.element=e.element,this.target=e.options.inputTarget,this.domHandler=function(t){b(e.options.enable,[e])&&r.handler(t)},this.init()}function F(e,t,r){var n=r.pointers.length,o=r.changedPointers.length,a=1&t&&n-o===0,s=12&t&&n-o===0;r.isFirst=!!a,r.isFinal=!!s,a&&(e.session={}),r.eventType=t,function(e,t){var r=e.session,n=t.pointers,o=n.length;r.firstInput||(r.firstInput=z(t));o>1&&!r.firstMultiple?r.firstMultiple=z(t):1===o&&(r.firstMultiple=!1);var a=r.firstInput,s=r.firstMultiple,c=s?s.center:a.center,d=t.center=V(n);t.timeStamp=u(),t.deltaTime=t.timeStamp-a.timeStamp,t.angle=G(c,d),t.distance=q(c,d),function(e,t){var r=t.center,n=e.offsetDelta||{},i=e.prevDelta||{},o=e.prevInput||{};1!==t.eventType&&4!==o.eventType||(i=e.prevDelta={x:o.deltaX||0,y:o.deltaY||0},n=e.offsetDelta={x:r.x,y:r.y});t.deltaX=i.x+(r.x-n.x),t.deltaY=i.y+(r.y-n.y)}(r,t),t.offsetDirection=H(t.deltaX,t.deltaY);var p=W(t.deltaTime,t.deltaX,t.deltaY);t.overallVelocityX=p.x,t.overallVelocityY=p.y,t.overallVelocity=l(p.x)>l(p.y)?p.x:p.y,t.scale=s?(h=s.pointers,f=n,q(f[0],f[1],B)/q(h[0],h[1],B)):1,t.rotation=s?function(e,t){return G(t[1],t[0],B)+G(e[1],e[0],B)}(s.pointers,n):0,t.maxPointers=r.prevInput?t.pointers.length>r.prevInput.maxPointers?t.pointers.length:r.prevInput.maxPointers:t.pointers.length,function(e,t){var r,n,o,a,s=e.lastInterval||t,c=t.timeStamp-s.timeStamp;if(8==t.eventType||c<=25&&s.velocity!==i)r=s.velocity,n=s.velocityX,o=s.velocityY,a=s.direction;else{var u=t.deltaX-s.deltaX,d=t.deltaY-s.deltaY,p=W(c,u,d);n=p.x,o=p.y,r=l(p.x)>l(p.y)?p.x:p.y,a=H(u,d),e.lastInterval=t}t.velocity=r,t.velocityX=n,t.velocityY=o,t.direction=a}(r,t);var h,f;var g=e.element;I(t.srcEvent.target,g)&&(g=t.srcEvent.target);t.target=g}(e,r),e.emit("hammer.input",r),e.recognize(r),e.session.prevInput=r}function z(e){for(var t=[],r=0;e.pointers.length>r;)t[r]={clientX:c(e.pointers[r].clientX),clientY:c(e.pointers[r].clientY)},r++;return{timeStamp:u(),pointers:t,center:V(t),deltaX:e.deltaX,deltaY:e.deltaY}}function V(e){var t=e.length;if(1===t)return{x:c(e[0].clientX),y:c(e[0].clientY)};for(var r=0,n=0,i=0;t>i;)r+=e[i].clientX,n+=e[i].clientY,i++;return{x:c(r/t),y:c(n/t)}}function W(e,t,r){return{x:t/e||0,y:r/e||0}}function H(e,t){return e===t?1:l(e)<l(t)?0>t?8:16:0>e?2:4}function q(e,t,r){r||(r=$);var n=t[r[0]]-e[r[0]],i=t[r[1]]-e[r[1]];return Math.sqrt(n*n+i*i)}function G(e,t,r){return r||(r=$),180*Math.atan2(t[r[1]]-e[r[1]],t[r[0]]-e[r[0]])/Math.PI}U.prototype={handler:function(){},init:function(){this.evEl&&_(this.element,this.evEl,this.domHandler),this.evTarget&&_(this.target,this.evTarget,this.domHandler),this.evWin&&_(k(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&w(this.element,this.evEl,this.domHandler),this.evTarget&&w(this.target,this.evTarget,this.domHandler),this.evWin&&w(k(this.element),this.evWin,this.domHandler)}};var Y={mousedown:1,mousemove:2,mouseup:4},K="mousedown",J="mousemove mouseup";function X(){this.evEl=K,this.evWin=J,this.pressed=!1,U.apply(this,arguments)}v(X,U,{handler:function(e){var t=Y[e.type];1&t&&0===e.button&&(this.pressed=!0),2&t&&1!==e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:j,srcEvent:e}))}});var Z={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},Q={2:M,3:"pen",4:j,5:"kinect"},ee="pointerdown",te="pointermove pointerup pointercancel";function re(){this.evEl=ee,this.evWin=te,U.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}t.MSPointerEvent&&!t.PointerEvent&&(ee="MSPointerDown",te="MSPointerMove MSPointerUp MSPointerCancel"),v(re,U,{handler:function(e){var t=this.store,r=!1,n=e.type.toLowerCase().replace("ms",""),i=Z[n],o=Q[e.pointerType]||e.pointerType,a=o==M,s=O(t,e.pointerId,"pointerId");1&i&&(0===e.button||a)?0>s&&(t.push(e),s=t.length-1):12&i&&(r=!0),0>s||(t[s]=e,this.callback(this.manager,i,{pointers:t,changedPointers:[e],pointerType:o,srcEvent:e}),r&&t.splice(s,1))}});var ne={touchstart:1,touchmove:2,touchend:4,touchcancel:8};function ie(){this.evTarget="touchstart",this.evWin="touchstart touchmove touchend touchcancel",this.started=!1,U.apply(this,arguments)}function oe(e,t){var r=P(e.touches),n=P(e.changedTouches);return 12&t&&(r=C(r.concat(n),"identifier")),[r,n]}v(ie,U,{handler:function(e){var t=ne[e.type];if(1===t&&(this.started=!0),this.started){var r=oe(e,t);12&t&&r[0].length-r[1].length===0&&(this.started=!1),this.callback(this.manager,t,{pointers:r[0],changedPointers:r[1],pointerType:M,srcEvent:e})}}});var ae={touchstart:1,touchmove:2,touchend:4,touchcancel:8},se="touchstart touchmove touchend touchcancel";function ce(){this.evTarget=se,this.targetIds={},U.apply(this,arguments)}function le(e,t){var r=P(e.touches),n=this.targetIds;if(3&t&&1===r.length)return n[r[0].identifier]=!0,[r,r];var i,o,a=P(e.changedTouches),s=[],c=this.target;if(o=r.filter(function(e){return I(e.target,c)}),1===t)for(i=0;o.length>i;)n[o[i].identifier]=!0,i++;for(i=0;a.length>i;)n[a[i].identifier]&&s.push(a[i]),12&t&&delete n[a[i].identifier],i++;return s.length?[C(o.concat(s),"identifier"),s]:void 0}v(ce,U,{handler:function(e){var t=ae[e.type],r=le.call(this,e,t);r&&this.callback(this.manager,t,{pointers:r[0],changedPointers:r[1],pointerType:M,srcEvent:e})}});function ue(){U.apply(this,arguments);var e=m(this.handler,this);this.touch=new ce(this.manager,e),this.mouse=new X(this.manager,e),this.primaryTouch=null,this.lastTouches=[]}function de(e,t){1&e?(this.primaryTouch=t.changedPointers[0].identifier,pe.call(this,t)):12&e&&pe.call(this,t)}function pe(e){var t=e.changedPointers[0];if(t.identifier===this.primaryTouch){var r={x:t.clientX,y:t.clientY};this.lastTouches.push(r);var n=this.lastTouches;setTimeout(function(){var e=n.indexOf(r);e>-1&&n.splice(e,1)},2500)}}function he(e){for(var t=e.srcEvent.clientX,r=e.srcEvent.clientY,n=0;this.lastTouches.length>n;n++){var i=this.lastTouches[n];if(25>=Math.abs(t-i.x)&&25>=Math.abs(r-i.y))return!0}return!1}v(ue,U,{handler:function(e,t,r){var n=r.pointerType==j;if(!(n&&r.sourceCapabilities&&r.sourceCapabilities.firesTouchEvents)){if(r.pointerType==M)de.call(this,t,r);else if(n&&he.call(this,r))return;this.callback(e,t,r)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var fe=R(s.style,"touchAction"),ge=fe!==i,ye="compute",ve="auto",me="manipulation",be="none",Se="pan-x",_e="pan-y",we=function(){if(!ge)return!1;var e={},r=t.CSS&&t.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(n){e[n]=!r||t.CSS.supports("touch-action",n)}),e}();function Ie(e,t){this.manager=e,this.set(t)}Ie.prototype={set:function(e){e==ye&&(e=this.compute()),ge&&this.manager.element.style&&we[e]&&(this.manager.element.style[fe]=e),this.actions=e.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var e=[];return h(this.manager.recognizers,function(t){b(t.options.enable,[t])&&(e=e.concat(t.getTouchAction()))}),function(e){if(T(e,be))return be;var t=T(e,Se),r=T(e,_e);if(t&&r)return be;if(t||r)return t?Se:_e;if(T(e,me))return me;return ve}(e.join(" "))},preventDefaults:function(e){var t=e.srcEvent,r=e.offsetDirection;if(this.manager.session.prevented)t.preventDefault();else{var n=this.actions,i=T(n,be)&&!we[be],o=T(n,_e)&&!we[_e],a=T(n,Se)&&!we[Se];if(i)if(1===e.pointers.length&&2>e.distance&&250>e.deltaTime)return;if(!a||!o)return i||o&&6&r||a&&r&L?this.preventSrc(t):void 0}},preventSrc:function(e){this.manager.session.prevented=!0,e.preventDefault()}};var Te=32;function Ee(e){this.options=o({},this.defaults,e||{}),this.id=x++,this.manager=null,this.options.enable=S(this.options.enable,!0),this.state=1,this.simultaneous={},this.requireFail=[]}function Oe(e){return 16&e?"cancel":8&e?"end":4&e?"move":2&e?"start":""}function Pe(e){return 16==e?"down":8==e?"up":2==e?"left":4==e?"right":""}function Ce(e,t){var r=t.manager;return r?r.get(e):e}function Re(){Ee.apply(this,arguments)}function xe(){Re.apply(this,arguments),this.pX=null,this.pY=null}function ke(){Re.apply(this,arguments)}function Ae(){Ee.apply(this,arguments),this._timer=null,this._input=null}function De(){Re.apply(this,arguments)}function Ne(){Re.apply(this,arguments)}function Me(){Ee.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function je(e,t){return(t=t||{}).recognizers=S(t.recognizers,je.defaults.preset),new Le(e,t)}Ee.prototype={defaults:{},set:function(e){return o(this.options,e),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(e){if(p(e,"recognizeWith",this))return this;var t=this.simultaneous;return t[(e=Ce(e,this)).id]||(t[e.id]=e,e.recognizeWith(this)),this},dropRecognizeWith:function(e){return p(e,"dropRecognizeWith",this)||(e=Ce(e,this),delete this.simultaneous[e.id]),this},requireFailure:function(e){if(p(e,"requireFailure",this))return this;var t=this.requireFail;return-1===O(t,e=Ce(e,this))&&(t.push(e),e.requireFailure(this)),this},dropRequireFailure:function(e){if(p(e,"dropRequireFailure",this))return this;e=Ce(e,this);var t=O(this.requireFail,e);return t>-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){var t=this,r=this.state;function n(r){t.manager.emit(r,e)}8>r&&n(t.options.event+Oe(r)),n(t.options.event),e.additionalEvent&&n(e.additionalEvent),8>r||n(t.options.event+Oe(r))},tryEmit:function(e){if(this.canEmit())return this.emit(e);this.state=Te},canEmit:function(){for(var e=0;this.requireFail.length>e;){if(!(33&this.requireFail[e].state))return!1;e++}return!0},recognize:function(e){var t=o({},e);if(!b(this.options.enable,[this,t]))return this.reset(),void(this.state=Te);56&this.state&&(this.state=1),this.state=this.process(t),30&this.state&&this.tryEmit(t)},process:function(e){},getTouchAction:function(){},reset:function(){}},v(Re,Ee,{defaults:{pointers:1},attrTest:function(e){var t=this.options.pointers;return 0===t||e.pointers.length===t},process:function(e){var t=this.state,r=e.eventType,n=6&t,i=this.attrTest(e);return n&&(8&r||!i)?16|t:n||i?4&r?8|t:2&t?4|t:2:Te}}),v(xe,Re,{defaults:{event:"pan",threshold:10,pointers:1,direction:30},getTouchAction:function(){var e=this.options.direction,t=[];return 6&e&&t.push(_e),e&L&&t.push(Se),t},directionTest:function(e){var t=this.options,r=!0,n=e.distance,i=e.direction,o=e.deltaX,a=e.deltaY;return i&t.direction||(6&t.direction?(i=0===o?1:0>o?2:4,r=o!=this.pX,n=Math.abs(e.deltaX)):(i=0===a?1:0>a?8:16,r=a!=this.pY,n=Math.abs(e.deltaY))),e.direction=i,r&&n>t.threshold&&i&t.direction},attrTest:function(e){return Re.prototype.attrTest.call(this,e)&&(2&this.state||!(2&this.state)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=Pe(e.direction);t&&(e.additionalEvent=this.options.event+t),this._super.emit.call(this,e)}}),v(ke,Re,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[be]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||2&this.state)},emit:function(e){1!==e.scale&&(e.additionalEvent=this.options.event+(1>e.scale?"in":"out"));this._super.emit.call(this,e)}}),v(Ae,Ee,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ve]},process:function(e){var t=this.options,r=e.pointers.length===t.pointers,n=t.threshold>e.distance,i=e.deltaTime>t.time;if(this._input=e,!n||!r||12&e.eventType&&!i)this.reset();else if(1&e.eventType)this.reset(),this._timer=d(function(){this.state=8,this.tryEmit()},t.time,this);else if(4&e.eventType)return 8;return Te},reset:function(){clearTimeout(this._timer)},emit:function(e){8===this.state&&(e&&4&e.eventType?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=u(),this.manager.emit(this.options.event,this._input)))}}),v(De,Re,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[be]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||2&this.state)}}),v(Ne,Re,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return xe.prototype.getTouchAction.call(this)},attrTest:function(e){var t,r=this.options.direction;return 30&r?t=e.overallVelocity:6&r?t=e.overallVelocityX:r&L&&(t=e.overallVelocityY),this._super.attrTest.call(this,e)&&r&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&l(t)>this.options.velocity&&4&e.eventType},emit:function(e){var t=Pe(e.offsetDirection);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),v(Me,Ee,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[me]},process:function(e){var t=this.options,r=e.pointers.length===t.pointers,n=t.threshold>e.distance,i=t.time>e.deltaTime;if(this.reset(),1&e.eventType&&0===this.count)return this.failTimeout();if(n&&i&&r){if(4!=e.eventType)return this.failTimeout();var o=!this.pTime||t.interval>e.timeStamp-this.pTime,a=!this.pCenter||q(this.pCenter,e.center)<t.posThreshold;if(this.pTime=e.timeStamp,this.pCenter=e.center,a&&o?this.count+=1:this.count=1,this._input=e,0===this.count%t.taps)return this.hasRequireFailures()?(this._timer=d(function(){this.state=8,this.tryEmit()},t.interval,this),2):8}return Te},failTimeout:function(){return this._timer=d(function(){this.state=Te},this.options.interval,this),Te},reset:function(){clearTimeout(this._timer)},emit:function(){8==this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),je.VERSION="2.0.7",je.defaults={domEvents:!1,touchAction:ye,enable:!0,inputTarget:null,inputClass:null,preset:[[De,{enable:!1}],[ke,{enable:!1},["rotate"]],[Ne,{direction:6}],[xe,{direction:6},["swipe"]],[Me],[Me,{event:"doubletap",taps:2},["tap"]],[Ae]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};function Le(e,t){var r;this.options=o({},je.defaults,t||{}),this.options.inputTarget=this.options.inputTarget||e,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=e,this.input=new((r=this).options.inputClass||(D?re:N?ce:A?ue:X))(r,F),this.touchAction=new Ie(this,this.options.touchAction),$e(this,!0),h(this.options.recognizers,function(e){var t=this.add(new e[0](e[1]));e[2]&&t.recognizeWith(e[2]),e[3]&&t.requireFailure(e[3])},this)}function $e(e,t){var r,n=e.element;n.style&&(h(e.options.cssProps,function(i,o){r=R(n.style,o),t?(e.oldCssProps[r]=n.style[r],n.style[r]=i):n.style[r]=e.oldCssProps[r]||""}),t||(e.oldCssProps={}))}Le.prototype={set:function(e){return o(this.options,e),e.touchAction&&this.touchAction.update(),e.inputTarget&&(this.input.destroy(),this.input.target=e.inputTarget,this.input.init()),this},stop:function(e){this.session.stopped=e?2:1},recognize:function(e){var t=this.session;if(!t.stopped){var r;this.touchAction.preventDefaults(e);var n=this.recognizers,i=t.curRecognizer;(!i||i&&8&i.state)&&(i=t.curRecognizer=null);for(var o=0;n.length>o;)r=n[o],2===t.stopped||i&&r!=i&&!r.canRecognizeWith(i)?r.reset():r.recognize(e),!i&&14&r.state&&(i=t.curRecognizer=r),o++}},get:function(e){if(e instanceof Ee)return e;for(var t=this.recognizers,r=0;t.length>r;r++)if(t[r].options.event==e)return t[r];return null},add:function(e){if(p(e,"add",this))return this;var t=this.get(e.options.event);return t&&this.remove(t),this.recognizers.push(e),e.manager=this,this.touchAction.update(),e},remove:function(e){if(p(e,"remove",this))return this;if(e=this.get(e)){var t=this.recognizers,r=O(t,e);-1!==r&&(t.splice(r,1),this.touchAction.update())}return this},on:function(e,t){if(e!==i&&t!==i){var r=this.handlers;return h(E(e),function(e){r[e]=r[e]||[],r[e].push(t)}),this}},off:function(e,t){if(e!==i){var r=this.handlers;return h(E(e),function(e){t?r[e]&&r[e].splice(O(r[e],t),1):delete r[e]}),this}},emit:function(e,t){this.options.domEvents&&function(e,t){var n=r.createEvent("Event");n.initEvent(e,!0,!0),n.gesture=t,t.target.dispatchEvent(n)}(e,t);var n=this.handlers[e]&&this.handlers[e].slice();if(n&&n.length){t.type=e,t.preventDefault=function(){t.srcEvent.preventDefault()};for(var i=0;n.length>i;)n[i](t),i++}},destroy:function(){this.element&&$e(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},o(je,{INPUT_START:1,INPUT_MOVE:2,INPUT_END:4,INPUT_CANCEL:8,STATE_POSSIBLE:1,STATE_BEGAN:2,STATE_CHANGED:4,STATE_ENDED:8,STATE_RECOGNIZED:8,STATE_CANCELLED:16,STATE_FAILED:Te,DIRECTION_NONE:1,DIRECTION_LEFT:2,DIRECTION_RIGHT:4,DIRECTION_UP:8,DIRECTION_DOWN:16,DIRECTION_HORIZONTAL:6,DIRECTION_VERTICAL:L,DIRECTION_ALL:30,Manager:Le,Input:U,TouchAction:Ie,TouchInput:ce,MouseInput:X,PointerEventInput:re,TouchMouseInput:ue,SingleTouchInput:ie,Recognizer:Ee,AttrRecognizer:Re,Tap:Me,Pan:xe,Swipe:Ne,Pinch:ke,Rotate:De,Press:Ae,on:_,off:w,each:h,merge:y,extend:g,assign:o,inherit:v,bindFn:m,prefixed:R}),(void 0!==t?t:"undefined"!=typeof self?self:{}).Hammer=je,e.exports?e.exports=je:t.Hammer=je}(window,document)}(hammer);var hammerExports=hammer.exports,Hammer=getDefaultExportFromCjs$1(hammerExports);function styleInject(e,t){void 0===t&&(t={});var r=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===r&&n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var css_248z$1='.dingrtc-wb-wrapper{height:100%;overflow:hidden;position:relative;width:100%}.dingrtc-wb-wrapper__laser-on audio,.dingrtc-wb-wrapper__laser-on video{pointer-events:none!important}.dingrtc-wb-wrapper__drag-on{cursor:grab!important}.dingrtc-wb-wrapper__draging{cursor:grabbing!important}.dingrtc-wb-wrapper .dingrtc-pdf-viewer{pointer-events:none;position:absolute;transform-origin:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0}.dingrtc-wb-wrapper .dingrtc-pdf-viewer__page{box-shadow:1px 1px 10px 5px rgba(0,0,0,.05);position:absolute}.dingrtc-wb-wrapper .dingrtc-pdf-viewer__page:not(:last-of-type):after{background-color:#777;bottom:0;content:"";height:1px;left:0;position:absolute;right:0;z-index:1}.dingrtc-wb-wrapper .dingrtc-pdf-viewer__page:before{bottom:10px;content:attr(data-i);font-size:26px;font-weight:700;position:absolute;right:10px;z-index:1}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons{height:100%}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton{background-color:#fff;border-radius:6px;display:flex;flex-direction:column;height:50%;justify-content:center;margin:0 auto;min-height:532.8px;overflow:hidden;padding:50px 36px;position:relative;width:720px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton>div{margin-bottom:36px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__avator{border-radius:144px;height:144px;position:relative;width:144px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__avator:after,.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__avator:before{border-radius:10px;content:" ";height:50.4px;left:calc(100% + 40px);position:absolute;top:0;width:288px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__avator:after{top:93.6px;width:432px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__content{border-radius:10px;height:43.2px;margin-bottom:200px;position:relative;width:504px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__content:after,.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__content:before{border-radius:10px;content:" ";height:43.2px;left:0;position:absolute;top:93.6px;width:612px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__content:after{top:187.2px;width:612px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton div,.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton div:after,.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton div:before{animation:loading 2s ease-in-out infinite;background-color:#ededed;background:linear-gradient(100deg,hsla(0,0%,100%,0) 40%,hsla(0,0%,100%,.5) 50%,hsla(0,0%,100%,0) 60%) #ededed;background-position-x:180%;background-size:200% 100%}@keyframes loading{to{background-position-x:-20%}}.dingrtc-wb-wrapper .dingrtc-wb-render-fps{color:#333;font-size:12px;position:absolute;right:30px;top:60px;z-index:1}.dingrtc-wb-wrapper .dingrtc-wb-render-fps img{display:block}.dingrtc-wb-wrapper .dingrtc-wb__bg-img{pointer-events:none;z-index:0}.dingrtc-wb-wrapper .dingrtc-wb__bg-img,.dingrtc-wb-wrapper .dingrtc-wb__media{position:absolute;transform-origin:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dingrtc-wb-wrapper .dingrtc-wb__media{background-color:transparent;overflow:hidden;padding:1px;z-index:1}.dingrtc-wb-wrapper .dingrtc-wb__media__header{align-items:center;background-color:#f5f5f5;border-top-left-radius:3px;border-top-right-radius:3px;box-shadow:0 0 4px 0 rgba(0,0,0,.2);cursor:pointer;display:flex;font-weight:500;height:30px;justify-content:space-between;left:0;padding-left:10px;position:absolute;top:0;transition:all .3s ease-in-out;width:100%;z-index:1}.dingrtc-wb-wrapper .dingrtc-wb__media__body{background-color:#000;height:100%;width:100%}.dingrtc-wb-wrapper .dingrtc-wb__media__body:hover~.dingrtc-wb__media__header{visibility:visible}.dingrtc-wb-wrapper .dingrtc-wb__media__body audio,.dingrtc-wb-wrapper .dingrtc-wb__media__body video{height:100%;outline:none;pointer-events:auto;width:100%}.dingrtc-wb-wrapper .dingrtc-wb__media__body audio{background:#eff1f2}.dingrtc-wb-wrapper .dingrtc-wb__media__body audio::-webkit-media-controls-panel{background:#eff1f2;border:none}.dingrtc-wb-wrapper canvas{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:1}.dingrtc-wb-wrapper .dingrtc-wb__cache-cvs{pointer-events:none!important}.dingrtc-wb-wrapper .wb-shape-textarea{background-color:transparent;border:none;outline:none;overflow-wrap:break-word;padding:0;position:absolute;resize:none;transform-origin:0 0;white-space:pre-wrap;word-break:break-all;z-index:1}.dingrtc-wb-wrapper .wb-shape-textarea::-webkit-scrollbar{display:none}.dingrtc-wb-wrapper .dingrtc-iframe-wrapper{height:960px;left:0;position:absolute;top:0;transform-origin:0 0;width:1280px;z-index:0}.dingrtc-wb-wrapper .dingrtc-iframe-wrapper iframe{border:none;height:100%;left:0;pointer-events:auto;position:absolute;top:0;width:100%}.dingrtc-wb-wrapper .dingrtc-iframe-wrapper__blocked{position:absolute}.dingrtc-wb-wrapper .dingrtc-iframe-wrapper__blocked:after{content:"";height:100%;left:0;top:0;width:100%}.dingrtc-wb-tools-wrapper{pointer-events:auto}';function _callSuper$s(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$s()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$s(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$s=function(){return!!e})()}styleInject(css_248z$1);var ShapeHistory=_createClass$1(function e(t,r,n,i){_classCallCheck$1(this,e),Object.defineProperty(this,"actionType",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"shapeId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"currentState",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"lastState",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"shapeCreator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.shapeCreator=n.creator}),BatchHistory=_createClass$1(function e(t,r){_classCallCheck$1(this,e),Object.defineProperty(this,"actionType",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"shapeStates",{enumerable:!0,configurable:!0,writable:!0,value:r})}),HistoryActionType;!function(e){e[e.reveiveShape=0]="reveiveShape",e[e.newShape=1]="newShape",e[e.hideShape=2]="hideShape",e[e.rgnShape=3]="rgnShape",e[e.updateStyle=4]="updateStyle",e[e.updateText=5]="updateText",e[e.deleteShape=6]="deleteShape"}(HistoryActionType||(HistoryActionType={}));var History=function(e){function t(){var e;return _classCallCheck$1(this,t),e=_callSuper$s(this,t,arguments),Object.defineProperty(e,"undoList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"redoList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),e}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"emitHistoryEvent",value:function(){this.emit("history-changed",{undo:this.canUndo(),redo:this.canRedo()})}},{key:"saveHistory",value:function(e){this.undoList.push(e),this.redoList=[],this.emitHistoryEvent()}},{key:"batchSave",value:function(e){this.undoList.push(e),this.redoList=[],this.emitHistoryEvent()}},{key:"undo",value:function(){var e=this.undoList.pop();if(e)return this.redoList.push(e),this.emitHistoryEvent(),e}},{key:"redo",value:function(){var e=this.redoList.pop();if(e)return this.undoList.push(e),this.emitHistoryEvent(),e}},{key:"clearAll",value:function(){this.undoList=[],this.redoList=[],this.emitHistoryEvent()}},{key:"clearUserHistory",value:function(e){var t=this;this.undoList.forEach(function(r){if(r instanceof ShapeHistory&&r.shapeCreator===e){var n=findIndex(t.undoList,r);t.undoList.splice(n,1)}}),this.redoList.forEach(function(r){if(r instanceof ShapeHistory&&r.shapeCreator===e){var n=findIndex(t.redoList,r);t.redoList.splice(n,1)}}),this.emitHistoryEvent()}},{key:"clearShapeHistory",value:function(e){var t=this;this.undoList.forEach(function(r){if(r instanceof ShapeHistory&&r.shapeId===e){var n=findIndex(t.undoList,r);t.undoList.splice(n,1)}}),this.redoList.forEach(function(r){if(r instanceof ShapeHistory&&r.shapeId===e){var n=findIndex(t.redoList,r);t.redoList.splice(n,1)}}),this.emitHistoryEvent()}},{key:"canUndo",value:function(){return this.undoList.length>0}},{key:"canRedo",value:function(){return this.redoList.length>0}}])}();function renderPdfPage(e,t){return new Promise(function(r,n){var i=document.createElement("canvas");i.width=e.width,i.height=e.height;var o=i.getContext("2d");t.cleanupAfterRender=!0,setTimeout(function(){t.render({viewport:e,canvasContext:o}).promise.then(function(){var e=i.toDataURL();t.cleanup(),r(e),o.clearRect(0,0,i.width,i.height)}).catch(function(e){return n(e)})})})}function _defineProperty(e,t,r){return(t=toPropertyKey$1(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function setClipboard(e){return new Promise(function(t,r){var n="text/plain",i=new Blob([e],{type:n}),o=[new ClipboardItem(_defineProperty({},n,i))];navigator.clipboard.write(o).then(t,r)})}function ownKeys$h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$h(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$h(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$h(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$r(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$r()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$r(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$r=function(){return!!e})()}function _superPropGet$8(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return"function"==typeof i?function(e){return i.apply(r,e)}:i}var DrawableShape=function(e){function t(e,r){var n;return _classCallCheck$1(this,t),n=_callSuper$r(this,t,[e.points,e.shapeId,e.creator,e.pageId]),Object.defineProperty(n,"_shapeStyle",{enumerable:!0,configurable:!0,writable:!0,value:r}),n}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"shapeStyle",get:function(){return this._shapeStyle},set:function(e){this._shapeStyle=e,this.emitRenderRequest()}},{key:"dashedWidth",get:function(){return 7>3*this.shapeStyle.lineWidth?7:3*this.shapeStyle.lineWidth}},{key:"useDashedStyle",value:function(e){this.shapeStyle.dashed&&e.setLineDash([this.dashedWidth,this.dashedWidth+this.shapeStyle.lineWidth])}},{key:"export",value:function(){return _objectSpread$h(_objectSpread$h({},_superPropGet$8(t,"export",this)([])),{},{shapeStyle:cloneDeep(this.shapeStyle),pageId:this.pageId})}},{key:"getStyleFromShape",value:function(){return{linecolor:rgba2num(this.shapeStyle.strokeStyle),linewidth:this.shapeStyle.lineWidth,fillcolor:rgba2num(this.shapeStyle.fillStyle),filltype:this.shapeStyle.fillType,linestyle:this.shapeStyle.dashed?ShapeLineType.dashed:ShapeLineType.solid}}},{key:"genDrawMsg",value:function(e){return _objectSpread$h(_objectSpread$h({},_superPropGet$8(t,"genDrawMsg",this)([e])),{},{pageId:this.pageId,style:JSON.stringify(this.getStyleFromShape())})}},{key:"genRgnMsg",value:function(e){return _objectSpread$h(_objectSpread$h({},_superPropGet$8(t,"genRgnMsg",this)([e])),{},{pageId:this.pageId})}}])}();function ownKeys$g(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$g(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$g(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$g(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$q(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$q()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$q(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$q=function(){return!!e})()}var Line=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$q(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$g({},e)})),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Line}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save(),r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent",r.moveTo(this.points[0].x,this.points[0].y),r.lineTo(this.points[1].x,this.points[1].y),r.stroke(),r.closePath();var n=r.isPointInStroke(e,t);return r.restore(),n}},{key:"renderShape",value:function(e){e.save(),e.lineCap="round",this.useDashedStyle(e),e.beginPath(),e.lineWidth=this.shapeStyle.lineWidth,e.strokeStyle=this.shapeStyle.strokeStyle,e.moveTo(this.points[0].x,this.points[0].y),e.lineTo(this.points[1].x,this.points[1].y),e.stroke(),e.closePath(),e.restore()}}])}();function ownKeys$f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$f(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$f(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$f(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$p(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$p()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$p(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$p=function(){return!!e})()}function _superPropGet$7(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return"function"==typeof i?function(e){return i.apply(r,e)}:i}var Rect=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$p(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$f({},e)})),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Rect}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"onResize",value:function(e,r,n){n?2===this.resizeStartHandle.index||6===this.resizeStartHandle.index?_superPropGet$7(t,"onResize",this)([e,-e,n]):0!==this.resizeStartHandle.index&&4!==this.resizeStartHandle.index||_superPropGet$7(t,"onResize",this)([e,e,n]):_superPropGet$7(t,"onResize",this)([e,r,n])}},{key:"onResizeEnd",value:function(e,r,n){n?2===this.resizeStartHandle.index||6===this.resizeStartHandle.index?_superPropGet$7(t,"onResizeEnd",this)([e,-e,n]):0!==this.resizeStartHandle.index&&4!==this.resizeStartHandle.index||_superPropGet$7(t,"onResizeEnd",this)([e,e,n]):_superPropGet$7(t,"onResizeEnd",this)([e,r,n])}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save();var n=this.points[1].x-this.points[0].x,i=this.points[1].y-this.points[0].y;r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent",r.rect(this.points[0].x,this.points[0].y,n,i),r.stroke(),r.closePath();var o=this.shapeStyle.fillType===ShapeFillType.none?r.isPointInStroke(e,t):r.isPointInPath(e,t);return r.restore(),o}},{key:"renderShape",value:function(e){e.save();var t=this.points[0].x,r=this.points[0].y,n=this.points[1].x-this.points[0].x,i=this.points[1].y-this.points[0].y;e.beginPath(),e.strokeStyle=this.shapeStyle.strokeStyle,e.fillStyle=this.shapeStyle.fillStyle,e.lineCap="round",this.useDashedStyle(e),e.rect(t,r,n,i),e.closePath(),this.shapeStyle.fillType===ShapeFillType.color?e.fillRect(t,r,n,i):(e.lineWidth=this.shapeStyle.lineWidth,e.stroke()),e.restore()}}])}();function ownKeys$e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$e(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$e(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$e(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$o(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$o()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$o(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$o=function(){return!!e})()}function _superPropGet$6(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return"function"==typeof i?function(e){return i.apply(r,e)}:i}var CURVE_RENDER_KEY=.5522848,Ellipse=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$o(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$e({},e)})),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Ellipse}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"onResize",value:function(e,r,n){n?2===this.resizeStartHandle.index||6===this.resizeStartHandle.index?_superPropGet$6(t,"onResize",this)([e,-e,n]):0!==this.resizeStartHandle.index&&4!==this.resizeStartHandle.index||_superPropGet$6(t,"onResize",this)([e,e,n]):_superPropGet$6(t,"onResize",this)([e,r,n])}},{key:"onResizeEnd",value:function(e,r,n){n?2===this.resizeStartHandle.index||6===this.resizeStartHandle.index?_superPropGet$6(t,"onResizeEnd",this)([e,-e,n]):0!==this.resizeStartHandle.index&&4!==this.resizeStartHandle.index||_superPropGet$6(t,"onResizeEnd",this)([e,e,n]):_superPropGet$6(t,"onResizeEnd",this)([e,r,n])}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx(),n=(this.points[0].x+this.points[1].x)/2,i=(this.points[0].y+this.points[1].y)/2,o=Math.abs((this.points[0].x-this.points[1].x)/2),a=Math.abs((this.points[0].y-this.points[1].y)/2);r.save();var s=o*CURVE_RENDER_KEY,c=a*CURVE_RENDER_KEY;r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent",r.fillStyle="transparent",r.beginPath(),r.moveTo(n-o,i),r.bezierCurveTo(n-o,i-c,n-s,i-a,n,i-a),r.bezierCurveTo(n+s,i-a,n+o,i-c,n+o,i),r.bezierCurveTo(n+o,i+c,n+s,i+a,n,i+a),r.bezierCurveTo(n-s,i+a,n-o,i+c,n-o,i),r.closePath(),r.stroke(),r.closePath(),r.fill();var l=this.shapeStyle.fillType===ShapeFillType.none?r.isPointInStroke(e,t):r.isPointInPath(e,t);return r.restore(),l}},{key:"renderShape",value:function(e){var t=(this.points[0].x+this.points[1].x)/2,r=(this.points[0].y+this.points[1].y)/2,n=Math.abs((this.points[0].x-this.points[1].x)/2),i=Math.abs((this.points[0].y-this.points[1].y)/2);e.save();var o=n*CURVE_RENDER_KEY,a=i*CURVE_RENDER_KEY;e.strokeStyle=this.shapeStyle.strokeStyle,e.fillStyle=this.shapeStyle.fillStyle,e.lineCap="round",this.useDashedStyle(e),e.beginPath(),e.moveTo(t-n,r),e.bezierCurveTo(t-n,r-a,t-o,r-i,t,r-i),e.bezierCurveTo(t+o,r-i,t+n,r-a,t+n,r),e.bezierCurveTo(t+n,r+a,t+o,r+i,t,r+i),e.bezierCurveTo(t-o,r+i,t-n,r+a,t-n,r),e.closePath(),this.shapeStyle.fillType===ShapeFillType.color?e.fill():(e.lineWidth=this.shapeStyle.lineWidth,e.stroke()),e.restore()}}])}(),tempCanvas=document.createElement("canvas"),tempRederContext=tempCanvas.getContext("2d");function measureTextWrap(e,t,r){tempRederContext.save(),tempRederContext.font=t;var n=[],i="";return e.split("").forEach(function(e){if("\n"===e)return n.push(i+e),void(i="");tempRederContext.measureText(i+e).width>r?(n.push(i),i=e):i+=e}),(i||endsWith(e,"\n"))&&n.push(i),tempRederContext.restore(),n}function measureTextLength(e,t){tempRederContext.save(),tempRederContext.font=t;var r=tempRederContext.measureText(e).width;return tempRederContext.restore(),r}function isImageExportable(e){try{return tempRederContext.drawImage(e,0,0,e.width,e.height),tempCanvas.toDataURL("image/jpeg"),tempRederContext.clearRect(0,0,e.width,e.height),!0}catch(t){return tempRederContext.clearRect(0,0,e.width,e.height),!1}}function ownKeys$d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$d(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$d(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$d(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$n(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$n()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$n(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$n=function(){return!!e})()}function _superPropGet$5(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return 2&n&&"function"==typeof i?function(e){return i.apply(r,e)}:i}var LINE_HEIGHT=1.37,Text=function(e){function t(e,r,n,i){var o,a,s;return _classCallCheck$1(this,t),s=_callSuper$n(this,t,[e,r]),Object.defineProperty(s,"_text",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(s,"_fontStyle",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(s,"maxLength",{enumerable:!0,configurable:!0,writable:!0,value:0}),s.maxLength=Math.abs((null===(o=e.points[0])||void 0===o?void 0:o.x)-(null===(a=s.points[0])||void 0===a?void 0:a.x))||200,s}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$d({},e)})),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle,this._text,this._fontStyle)}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"text",get:function(){return this._text},set:function(e){this._text=e;var t=measureTextLength(e,this.fontStyleStr);t>this.width&&this.maxLength>t&&(this.points=[{x:this.minx,y:this.miny},{x:this.minx+t+10,y:this.maxy}]);this.emitRenderRequest()}},{key:"setTextMaxLength",value:function(e){var t=e-15;this.maxLength=t>this.maxLength?t:this.maxLength}},{key:"fontStyle",get:function(){return this._fontStyle},set:function(e){this.emitRenderRequest(),this._fontStyle=e}},{key:"export",value:function(){return Object.assign({},_superPropGet$5(t,"export",this,3)([]),{text:this.text,fontStyle:cloneDeep(this.fontStyle)})}},{key:"shapeType",get:function(){return ShapeType.Text}},{key:"fontStyleStr",get:function(){var e=this.fontStyle,t=e.fontSize,r=e.bold;return"".concat(e.italic?"italic":"normal"," ").concat(r?"bold":"normal"," ").concat(t,"px ").concat(DEFAULT_FONT_FAMILY)}},{key:"genDrawMsg",value:function(e){return _objectSpread$d(_objectSpread$d({},_superPropGet$5(t,"genDrawMsg",this,3)([e])),{},{text:this.text,font:JSON.stringify({color:rgba2num(this.shapeStyle.strokeStyle),format:getShapeFont(this._fontStyle.bold,this._fontStyle.italic),size:this._fontStyle.fontSize,data:""}),style:JSON.stringify(this.getStyleFromShape())})}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save();var n=this.points[1].x-this.points[0].x,i=this.points[1].y-this.points[0].y;r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent",r.rect(this.points[0].x,this.points[0].y,n,i),r.stroke(),r.closePath();var o=r.isPointInPath(e,t);return r.restore(),o}},{key:"renderShape",value:function(e,t){var r=this,n=measureTextWrap(this.text,this.fontStyleStr,this.maxx-this.minx);this.points[1].y=this.points[0].y+(n.length||1)*this.fontStyle.fontSize*LINE_HEIGHT,(this.interactionStatus!==InteractionStatusType.selected||t.forceRenderText)&&(e.save(),e.font=this.fontStyleStr,e.fillStyle=this.shapeStyle.strokeStyle,n.forEach(function(t,n){e.fillText(t,r.minx,r.miny+n*(r.fontStyle.fontSize*LINE_HEIGHT)+r.fontStyle.fontSize)}),e.restore())}}])}();function ownKeys$c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$c(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$c(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$c(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$m(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$m()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$m(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$m=function(){return!!e})()}Object.defineProperty(Text,"LINE_HEIGHT",{enumerable:!0,configurable:!0,writable:!0,value:LINE_HEIGHT});var Pen=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$m(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$c({},e)})),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Pen}},{key:"shouldSelectAfterAdd",value:function(){return!1}},{key:"isPointInShape",value:function(e,t){var r=this,n=getSharedCanvasCtx();n.save(),n.strokeStyle="transparent",n.fillStyle="transparent",n.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,n.beginPath();var i=!1;return this.points.forEach(function(o,a){0===a?n.moveTo(o.x,o.y):a===r.points.length-1?(n.lineTo(o.x,o.y),n.stroke(),i=n.isPointInStroke(e,t),n.restore()):n.lineTo(o.x,o.y)}),i}},{key:"renderShape",value:function(e){var t=this;e.save(),e.beginPath(),this.useDashedStyle(e),e.strokeStyle=this.shapeStyle.strokeStyle,e.fillStyle=this.shapeStyle.fillStyle,e.lineWidth=this.shapeStyle.lineWidth,e.lineCap="round",e.lineJoin="round",this.points.forEach(function(r,n){if(0===n)e.moveTo(r.x,r.y);else if(n===t.points.length-2){var i={x:(t.points[n+1].x+t.points[n].x)/2,y:(t.points[n+1].y+t.points[n].y)/2};e.quadraticCurveTo(i.x,i.y,t.points[n+1].x,t.points[n+1].y),e.stroke()}else{if(n===t.points.length-1)return;var o=t.points[n+1],a={x:(o.x+t.points[n+2].x)/2,y:(o.y+t.points[n+2].y)/2};e.quadraticCurveTo(o.x,o.y,a.x,a.y)}}),e.restore()}}])}();function ownKeys$b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$b(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$b(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$b(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$l(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$l()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$l=function(){return!!e})()}var Arrow=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$l(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$b({},e)})),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Arrow}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save(),r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent",r.moveTo(this.points[0].x,this.points[0].y),r.lineTo(this.points[1].x,this.points[1].y),r.stroke(),r.closePath();var n=r.isPointInStroke(e,t);return r.restore(),n}},{key:"renderShape",value:function(e){var t=this.points[0].x,r=this.points[0].y,n=this.points[1].x,i=this.points[1].y,o=1.4*(this.shapeStyle.lineWidth+5),a=180*Math.atan2(r-i,t-n)/Math.PI,s=(a+15)*Math.PI/180,c=(a-15)*Math.PI/180,l=o*Math.cos(s),u=o*Math.sin(s),d=o*Math.cos(c),p=o*Math.sin(c);e.save(),e.beginPath(),this.useDashedStyle(e),e.lineCap="round",e.lineWidth=this.shapeStyle.lineWidth,e.strokeStyle=this.shapeStyle.strokeStyle,e.fillStyle=this.shapeStyle.strokeStyle,e.moveTo(t,r),e.lineTo(n,i),e.stroke(),e.closePath(),e.beginPath(),e.setLineDash([]),e.lineCap="butt",e.moveTo(n+l,i+u),e.lineTo(n,i),e.lineTo(n+d,i+p),e.stroke(),e.fill(),e.closePath(),e.restore()}}])}(),bitsToNum=function(e){return e.reduce(function(e,t){return 2*e+t},0)},byteToBitArr=function(e){for(var t=[],r=7;r>=0;r--)t.push(!!(e&1<<r));return t},Stream=function(e){this.data=e,this.len=this.data.length,this.pos=0,this.readByte=function(){if(this.pos>=this.data.length)throw Error("Attempted to read past end of stream.");return e instanceof Uint8Array?e[this.pos++]:255&e.charCodeAt(this.pos++)},this.readBytes=function(e){for(var t=[],r=0;e>r;r++)t.push(this.readByte());return t},this.read=function(e){for(var t="",r=0;e>r;r++)t+=String.fromCharCode(this.readByte());return t},this.readUnsigned=function(){var e=this.readBytes(2);return(e[1]<<8)+e[0]}},lzwDecode=function(e,t){for(var r,n,i=0,o=function(e){for(var r=0,n=0;e>n;n++)t.charCodeAt(i>>3)&1<<(7&i)&&(r|=1<<n),i++;return r},a=[],s=1<<e,c=s+1,l=e+1,u=[],d=function(){u=[],l=e+1;for(var t=0;s>t;t++)u[t]=[t];u[s]=[],u[c]=null};;)if(n=r,(r=o(l))!==s){if(r===c)break;if(u.length>r)n!==s&&u.push(u[n].concat(u[r][0]));else{if(r!==u.length)throw Error("Invalid LZW code.");u.push(u[n].concat(u[n][0]))}a.push.apply(a,u[r]),u.length===1<<l&&12>l&&l++}else d();return a},parseGIF=function(e,t){t||(t={});var r=function(t){for(var r=[],n=0;t>n;n++)r.push(e.readBytes(3));return r},n=function(){var t,r;r="";do{t=e.readByte(),r+=e.read(t)}while(0!==t);return r},i=function(){var o={};switch(o.sentinel=e.readByte(),String.fromCharCode(o.sentinel)){case"!":o.type="ext",function(r){switch(r.label=e.readByte(),r.label){case 249:r.extType="gce",function(r){e.readByte();var n=byteToBitArr(e.readByte());r.reserved=n.splice(0,3),r.disposalMethod=bitsToNum(n.splice(0,3)),r.userInput=n.shift(),r.transparencyGiven=n.shift(),r.delayTime=e.readUnsigned(),r.transparencyIndex=e.readByte(),r.terminator=e.readByte(),t.gce&&t.gce(r)}(r);break;case 254:r.extType="com",function(e){e.comment=n(),t.com&&t.com(e)}(r);break;case 1:r.extType="pte",function(r){e.readByte(),r.ptHeader=e.readBytes(12),r.ptData=n(),t.pte&&t.pte(r)}(r);break;case 255:r.extType="app",function(r){e.readByte(),r.identifier=e.read(8),r.authCode=e.read(3),"NETSCAPE"===r.identifier?function(r){e.readByte(),r.unknown=e.readByte(),r.iterations=e.readUnsigned(),r.terminator=e.readByte(),t.app&&t.app.NETSCAPE&&t.app.NETSCAPE(r)}(r):function(e){e.appData=n(),t.app&&t.app[e.identifier]&&t.app[e.identifier](e)}(r)}(r);break;default:r.extType="unknown",function(e){e.data=n(),t.unknown&&t.unknown(e)}(r)}}(o);break;case",":o.type="img",function(i){i.leftPos=e.readUnsigned(),i.topPos=e.readUnsigned(),i.width=e.readUnsigned(),i.height=e.readUnsigned();var o=byteToBitArr(e.readByte());i.lctFlag=o.shift(),i.interlaced=o.shift(),i.sorted=o.shift(),i.reserved=o.splice(0,2),i.lctSize=bitsToNum(o.splice(0,3)),i.lctFlag&&(i.lct=r(1<<i.lctSize+1)),i.lzwMinCodeSize=e.readByte();var a=n();i.pixels=lzwDecode(i.lzwMinCodeSize,a),i.interlaced&&(i.pixels=function(e,t){for(var r=Array(e.length),n=e.length/t,i=function(n,i){var o=e.slice(i*t,(i+1)*t);r.splice.apply(r,[n*t,t].concat(o))},o=[0,4,2,1],a=[8,8,4,2],s=0,c=0;4>c;c++)for(var l=o[c];n>l;l+=a[c])i(l,s),s++;return r}(i.pixels,i.width)),t.img&&t.img(i)}(o);break;case";":o.type="eof",t.eof&&t.eof(o);break;default:throw Error("Unknown block: 0x"+o.sentinel.toString(16))}"eof"!==o.type&&setTimeout(i,0)};!function(){var n={};if(n.sig=e.read(3),n.ver=e.read(3),"GIF"!==n.sig)throw Error("Not a GIF file.");n.width=e.readUnsigned(),n.height=e.readUnsigned();var i=byteToBitArr(e.readByte());n.gctFlag=i.shift(),n.colorRes=bitsToNum(i.splice(0,3)),n.sorted=i.shift(),n.gctSize=bitsToNum(i.splice(0,3)),n.bgColor=e.readByte(),n.pixelAspectRatio=e.readByte(),n.gctFlag&&(n.gct=r(1<<n.gctSize+1)),t.hdr&&t.hdr(n)}(),setTimeout(i,0)};function SuperGif(e){var t,r,n={vp_l:0,vp_t:0,vp_w:null,vp_h:null,c_w:null,c_h:null};for(var i in e)n[i]=e[i];n.vp_w&&n.vp_h&&(n.is_vp=!0);var o=null,a=!1,s=null,c=null,l=null,u=null,d=null,p=null,h=null,f=!0,g=!1,y=[],v=[],m=n.gif;void 0===n.auto_play&&(n.auto_play=!m.getAttribute("rel:auto_play")||"1"==m.getAttribute("rel:auto_play"));var b,S,_,w=n.hasOwnProperty("on_end")?n.on_end:null,I=n.hasOwnProperty("loop_delay")?n.loop_delay:0,T=n.hasOwnProperty("loop_mode")?n.loop_mode:"auto",E=!n.hasOwnProperty("draw_while_loading")||n.draw_while_loading,O=!!E&&(!n.hasOwnProperty("show_progress_bar")||n.show_progress_bar),P=n.hasOwnProperty("progressbar_height")?n.progressbar_height:25,C=n.hasOwnProperty("progressbar_background_color")?n.progressbar_background_color:"rgba(255,255,255,0.4)",R=n.hasOwnProperty("progressbar_foreground_color")?n.progressbar_foreground_color:"rgba(255,0,22,.8)",x=function(){s=null,c=null,d=l,l=null,p=null},k=function(){try{parseGIF(t,U)}catch(e){N("parse")}},A=function(e,t){b.width=e*z(),b.height=t*z(),_.width=e,_.height=t,_.style.width=e+"px",_.style.height=t+"px",_.getContext("2d").setTransform(1,0,0,1,0,0)},D=function(e,t,r){if(r&&O){var i,o,a,s=P;n.is_vp?g?(o=(n.vp_t+n.vp_h-s)/z(),s/=z(),i=n.vp_l/z()+e/t*(n.vp_w/z()),a=b.width/z()):(o=n.vp_t+n.vp_h-s,i=n.vp_l+e/t*n.vp_w,a=b.width):(o=(b.height-s)/(g?z():1),i=e/t*b.width/(g?z():1),a=b.width/(g?z():1),s/=g?z():1),S.fillStyle=C,S.fillRect(i,o,a-i,s),S.fillStyle=R,S.fillRect(0,o,i,s)}},N=function(e){o=e,r={width:m.width,height:m.height},y=[],S.fillStyle="black",S.fillRect(0,0,n.c_w?n.c_w:r.width,n.c_h?n.c_h:r.height),S.strokeStyle="red",S.lineWidth=3,S.moveTo(0,0),S.lineTo(n.c_w?n.c_w:r.width,n.c_h?n.c_h:r.height),S.moveTo(0,n.c_h?n.c_h:r.height),S.lineTo(n.c_w?n.c_w:r.width,0),S.stroke()},M=function(){p&&(y.push({data:p.getImageData(0,0,r.width,r.height),delay:c}),v.push({x:0,y:0}))},j=function(){var e,t,r,i=-1,a=0,s=function(e){i+=e,l()},c=(e=!1,t=function(){null!==w&&w(m),a++,!1!==T||0>a?r():(e=!1,f=!1)},r=function(){if(e=f){s(1);var n=10*y[i].delay;n||(n=100),0===(i+1+y.length)%y.length?setTimeout(t,n+=I):setTimeout(r,n)}},function(){e||setTimeout(r,0)}),l=function(){var e;(i=parseInt(i,10))>y.length-1&&(i=0),0>i&&(i=0),e=v[i],_.getContext("2d").putImageData(y[i].data,e.x,e.y),S.globalCompositeOperation="copy",S.drawImage(_,0,0)};return{init:function(){o||(n.c_w&&n.c_h||S.scale(z(),z()),n.auto_play?c():(i=0,l()))},step:c,play:function(){f=!0,c()},pause:function(){f=!1},playing:f,move_relative:s,current_frame:function(){return i},length:function(){return y.length},move_to:function(e){i=e,l()}}}(),L=function(e){D(t.pos,t.data.length,e)},$=function(){},B=function(e,t){return function(r){e(r),L(t)}},U={hdr:B(function(e){A((r=e).width,r.height)}),gce:B(function(e){M(),x(),s=e.transparencyGiven?e.transparencyIndex:null,c=e.delayTime,l=e.disposalMethod}),com:B($),app:{NETSCAPE:B($)},img:B(function(e){p||(p=_.getContext("2d"));var t=y.length,i=e.lctFlag?e.lct:r.gct;t>0&&(3===d?null!==u?p.putImageData(y[u].data,0,0):p.clearRect(h.leftPos,h.topPos,h.width,h.height):u=t-1,2===d&&p.clearRect(h.leftPos,h.topPos,h.width,h.height));var o=p.getImageData(e.leftPos,e.topPos,e.width,e.height);e.pixels.forEach(function(e,t){e!==s&&(o.data[4*t+0]=i[e][0],o.data[4*t+1]=i[e][1],o.data[4*t+2]=i[e][2],o.data[4*t+3]=255)}),p.putImageData(o,e.leftPos,e.topPos),g||(S.scale(z(),z()),g=!0),E&&(S.drawImage(_,0,0),E=n.auto_play),h=e},!0),eof:function(){M(),L(!1),n.c_w&&n.c_h||(b.width=r.width*z(),b.height=r.height*z()),j.init(),a=!1,W&&W(m)}},F=function(){var e=document.createElement("div");b=document.createElement("canvas"),S=b.getContext("2d"),_=document.createElement("canvas"),e.width=b.width=m.width,e.height=b.height=m.height,e.className="jsgif",e.appendChild(b),n.c_w&&n.c_h&&A(n.c_w,n.c_h),V=!0},z=function(){return n.max_width&&r&&r.width>n.max_width?n.max_width/r.width:1},V=!1,W=!1,H=function(e){return!a&&(W=e||!1,a=!0,y=[],x(),u=null,d=null,p=null,h=null,!0)};return{play:j.play,pause:j.pause,move_relative:j.move_relative,move_to:j.move_to,get_playing:function(){return f},get_canvas:function(){return b},get_canvas_scale:function(){return z()},get_loading:function(){return a},get_auto_play:function(){return n.auto_play},get_length:function(){return j.length()},get_current_frame:function(){return j.current_frame()},load_url:function(e,r){if(H(r)){var n=new XMLHttpRequest;n.open("GET",e,!0),"overrideMimeType"in n?n.overrideMimeType("text/plain; charset=x-user-defined"):"responseType"in n?n.responseType="arraybuffer":n.setRequestHeader("Accept-Charset","x-user-defined"),n.onloadstart=function(){V||F()},n.onload=function(e){200!=this.status&&N("xhr - response"),"response"in this||(this.response=new VBArray(this.responseText).toArray().map(String.fromCharCode).join(""));var r=this.response;(""+r).indexOf("ArrayBuffer")>0&&(r=new Uint8Array(r)),t=new Stream(r),setTimeout(k,0)},n.onprogress=function(e){e.lengthComputable&&D(e.loaded,e.total,!0)},n.onerror=function(){N("xhr")},n.send()}},load:function(e){this.load_url(m.getAttribute("rel:animated_src")||m.src,e)},load_raw:function(e,r){H(r)&&(V||F(),t=new Stream(e),setTimeout(k,0))},set_frame_offset:function(e,t){v[e]?(void 0!==t.x&&(v[e].x=t.x),void 0!==t.y&&(v[e].y=t.y)):v[e]=t}}}var ImageLoader=function(){function e(){_classCallCheck$1(this,e)}return _createClass$1(e,null,[{key:"checkPendingLoadJob",value:function(){var e=this.loadImagePendingList.shift();e&&this.doLoadJob(e).catch(function(){})}},{key:"log",value:function(e){e.startsWith("data:")}},{key:"doLoadJob",value:(t=_asyncToGenerator$1(_regeneratorRuntime$1.mark(function t(r){var n,i,o,a,s,c=this;return _regeneratorRuntime$1.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n=Date.now(),i=r.resolve,o=r.reject,a=r.imgUrl,t.prev=1,t.next=2,getURLBase64(a);case 2:a=t.sent,t.next=4;break;case 3:t.prev=3,t.catch(1),Log.logInfo("ImageShape img load first try get url base64 failed, will load directly",a);case 4:(s=new Image).src=a,s.onload=function(){var t=Date.now();i(s),c.loadImageJobCount--,e.log(a,"ImageLoader img load success, time cost",t-n,"this.loadImageJobCount",c.loadImageJobCount,a),c.checkPendingLoadJob()},s.onerror=function(){var t=new Image;t.crossOrigin="Anonymous",t.src=a,t.onload=function(){i(t),c.loadImageJobCount--;var r=Date.now();e.log(a,"ImageLoader img load success, time cost",r-n,"this.loadImageJobCount",c.loadImageJobCount,a),c.checkPendingLoadJob()},t.onerror=function(t){c.loadImageJobCount--,2===r.retryCount?(e.log(r.imgUrl,"ImageLoader img load failed after 2 times retry, ",r.imgUrl),o(t)):(r.retryCount++,e.log(a,"ImageLoader img load failed, will add to joblist and try again, retryCount",r.retryCount,a),c.loadImagePendingList.push(r)),c.checkPendingLoadJob()}};case 5:case"end":return t.stop()}},t,null,[[1,3]])})),function(e){return t.apply(this,arguments)})},{key:"loadImg",value:function(t){var r=this;return this.loadImageJobCount++,new Promise(function(n,i){r.maxConcurrency>r.loadImageJobCount?(e.log(t,"ImageLoader got new load job, loading jobs: ",r.loadImageJobCount,"pending jobs: ",r.loadImagePendingList.length,"job not full, will load directly",t),r.doLoadJob({imgUrl:t,resolve:n,reject:i,retryCount:0}).catch(function(){e.log("load failed",t)})):(e.log(t,"ImageLoader got new load job, loading jobs: ",r.loadImageJobCount,"pending jobs: ",r.loadImagePendingList.length,"job full, will add to pending job list",t),r.loadImagePendingList.push({imgUrl:t,resolve:n,reject:i,retryCount:0}))})}},{key:"loadImgAnonymous",value:function(e){return new Promise(function(t,r){var n=new Image;n.src=e,n.crossOrigin="Anonymous",n.onload=function(){t(n)},n.onerror=function(e){r(e)}})}},{key:"loadGif",value:function(e){return new Promise(function(t,r){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){var e=n.response;e?t(e):r(Error("Gif loader:: Invalid response"))},n.onerror=function(e){return r(e)},n.send(null)})}},{key:"loadAsArrayBuffer",value:function(e){return new Promise(function(t,r){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){var e=n.response;e?t(e):r(Error("Fileloader:: Invalid response"))},n.onerror=function(e){return r(e)},n.send(null)})}}]);var t}();function ownKeys$a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$a(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$a(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$a(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$k(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$k()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$k(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$k=function(){return!!e})()}function _superPropGet$4(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return 2&n&&"function"==typeof i?function(e){return i.apply(r,e)}:i}Object.defineProperty(ImageLoader,"loadImageJobCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(ImageLoader,"maxConcurrency",{enumerable:!0,configurable:!0,writable:!0,value:5}),Object.defineProperty(ImageLoader,"loadImagePendingList",{enumerable:!0,configurable:!0,writable:!0,value:[]});var Image$1=function(e){function t(e,r){var n;return _classCallCheck$1(this,t),n=_callSuper$k(this,t,[e.points,e.shapeId,e.creator,e.pageId]),Object.defineProperty(n,"imgUrl",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(n,"loadedUrl",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(n,"_img",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"gifData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"gifRenderInterval",{enumerable:!0,configurable:!0,writable:!0,value:0}),includes(r,"gif")&&(ImageLoader.loadImg(r).then(function(e){var t;n.gifData=SuperGif({gif:e,show_progress_bar:!1,draw_while_loading:!1}),null===(t=n.gifData)||void 0===t||t.load()}).catch(function(e){Log.logError("ImageShape load gif failed",e)}),n.gifRenderInterval=window.setInterval(function(){n.emitRenderRequest()},1e3/BaseShape.GIF_RENDER_RATE)),n}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$a({},e)})),shapeId:r,creator:e,pageId:this.pageId},this.imgUrl)}},{key:"img",get:function(){return this._img},set:function(e){this._img=e,this.emitRenderRequest()}},{key:"shapeType",get:function(){return ShapeType.Image}},{key:"export",value:function(){return Object.assign({},_superPropGet$4(t,"export",this,3)([]),{imgUrl:this.imgUrl})}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"genDrawMsg",value:function(e){return _objectSpread$a(_objectSpread$a({},_superPropGet$4(t,"genDrawMsg",this,3)([e])),{},{pageId:this.pageId,image:JSON.stringify({height:this.height,url:this.imgUrl,width:this.width})})}},{key:"loadImage",value:function(){var e=this;return this._img&&this.loadedUrl===this.imgUrl?Promise.resolve(this._img):ImageLoader.loadImg(this.imgUrl).then(function(t){return e.img=t,e.loadedUrl=e.imgUrl,t})}},{key:"isPointInShape",value:function(e,t){return e>this.minx&&this.maxx>e&&t>this.miny&&this.maxy>t}},{key:"isGif",value:function(){return includes(this.imgUrl,"gif")}},{key:"renderShape",value:function(e){if(this.img&&!this.isGif()){e.save();try{e.drawImage(this.img,this.points[0].x,this.points[0].y,this.points[1].x-this.points[0].x,this.points[1].y-this.points[0].y)}catch(e){console.error(e)}e.restore()}else this.gifData&&e.drawImage(this.gifData.get_canvas(),this.points[0].x,this.points[0].y,this.points[1].x-this.points[0].x,this.points[1].y-this.points[0].y)}},{key:"genRgnMsg",value:function(e){return _objectSpread$a(_objectSpread$a({},_superPropGet$4(t,"genRgnMsg",this,3)([e])),{},{pageId:this.pageId})}},{key:"destructor",value:function(){_superPropGet$4(t,"destructor",this,3)([]),this.gifRenderInterval&&clearInterval(this.gifRenderInterval)}}])}(),css_248z='.dingrtc-wb-switch{align-items:center;box-sizing:border-box;display:flex;height:32px;pointer-events:auto}.dingrtc-wb-switch label{font-size:13px;font-weight:500}.dingrtc-wb-switch input[type=checkbox]{display:none}.dingrtc-wb-switch .dingrtc-switch-handle{border-radius:50px;cursor:pointer;display:inline-block;font-size:14px;height:22px;margin-left:5px;position:relative;transition:all .1s ease-in;width:50px}.dingrtc-wb-switch .dingrtc-switch-handle:after{background-color:#fff;border-radius:100px;box-shadow:inset 0 0 0 0 #eee,0 0 1px rgba(0,0,0,.4);content:" ";height:16px;left:0;position:absolute;top:3px;transition:box-shadow .1s ease-in;width:40px}.dingrtc-wb-switch .dingrtc-switch-handle:before{background:#fff;border-radius:100px;box-shadow:0 3px 1px rgba(0,0,0,.05),0 0 1px rgba(0,0,0,.3);content:" ";height:20px;left:-1px;position:absolute;top:0;transition:left .1s ease-in;width:20px;z-index:999999}.dingrtc-wb-switch input[type=checkbox]:checked+.dingrtc-switch-handle:before{left:22px}.dingrtc-wb-switch input[type=checkbox]:checked+.dingrtc-switch-handle:after{background:#4cda60;box-shadow:0 0 1px #4cda60;content:" ";font-size:1.5em;position:absolute}';styleInject(css_248z);var SwitchButton=function(){return _createClass$1(function e(t){var r=this,n=1>=arguments.length||void 0===arguments[1]||arguments[1],i=arguments.length>2?arguments[2]:void 0;_classCallCheck$1(this,e),Object.defineProperty(this,"_checked",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"onSwitch",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"wrapperElement",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"checkbox",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("input")}),Object.defineProperty(this,"lable",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("label")}),Object.defineProperty(this,"onClick",{enumerable:!0,configurable:!0,writable:!0,value:function(e){e.stopPropagation(),r.checked=!r.checked,r.checkbox.checked=r.checked,r.onSwitch(r.checked)}}),this.wrapperElement=document.createElement("div");var o=document.createElement("span");o.className="dingrtc-switch-handle",this.wrapperElement.className="dingrtc-wb-switch",this.checkbox.type="checkbox",this.lable.innerHTML=t,this.wrapperElement.append(this.lable),this.wrapperElement.append(this.checkbox),this.wrapperElement.append(o),this.checkbox.checked=n,this.wrapperElement.addEventListener("click",this.onClick)},[{key:"checked",get:function(){return this._checked},set:function(e){this._checked=e,this.checkbox.checked=e}}])}(),I18n=function(){function e(){_classCallCheck$1(this,e)}return _createClass$1(e,null,[{key:"setConfig",value:function(e){this.conifg=merge$1(this.conifg,e)}},{key:"t",value:function(t){return get(e.conifg,"".concat(e.locale,".").concat(t),"")}}])}();function ownKeys$9(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$9(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$9(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$9(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$j(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$j()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$j(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$j=function(){return!!e})()}function _superPropGet$3(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return 2&n&&"function"==typeof i?function(e){return i.apply(r,e)}:i}Object.defineProperty(I18n,"locale",{enumerable:!0,configurable:!0,writable:!0,value:"zh_CN"}),Object.defineProperty(I18n,"conifg",{enumerable:!0,configurable:!0,writable:!0,value:{zh_CN:{repeatPlay:"循环播放"},de:{repeatPlay:"Wiederholen Sie das Spiel"},fr:{repeatPlay:"répéter la lecture"},ja:{repeatPlay:"リピートプレイ"},ko:{repeatPlay:"반복 재생"},zh_TW:{repeatPlay:"循環播放"},en:{repeatPlay:"Repeat play"}}});var MediaShape=function(e){function t(e,r){var n;_classCallCheck$1(this,t),n=_callSuper$j(this,t,[e.points,e.shapeId,e.creator,e.pageId]),Object.defineProperty(n,"mediaUrl",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(n,"wrapperDom",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(n,"mediaElement",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"_headerDom",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(n,"_switchButton",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"_repeatPlay",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(n,"callbacks",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"_onVideoStop",{enumerable:!0,configurable:!0,writable:!0,value:function(){n.mediaElement.play()}}),Object.defineProperty(n,"_onMouseMove",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(){var e;return null===(e=n.callbacks)||void 0===e?void 0:e.onShapeFocused(n)},30)}),Object.defineProperty(n,"_onClick",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;return null===(e=n.callbacks)||void 0===e?void 0:e.onShapeSelected(n)}}),Object.defineProperty(n,"_onVideoTimePlay",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;return null===(e=n.callbacks)||void 0===e?void 0:e.onMediaUpdate(n)}}),Object.defineProperty(n,"_onVideoTimePause",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;return null===(e=n.callbacks)||void 0===e?void 0:e.onMediaUpdate(n)}}),Object.defineProperty(n,"_onVideoTimeUpdate",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(){var e;null===(e=n.callbacks)||void 0===e||e.onMediaUpdate(n)},3e3)}),n.wrapperDom.className="dingrtc-wb__media",n.mediaElement=n._makeMediaElement(),n._headerDom.className="dingrtc-wb__media__header";var i=document.createElement("span");i.innerHTML="Video Player",n._headerDom.appendChild(i),n._switchButton=new SwitchButton(I18n.t("repeatPlay"),n.repeatPlay,function(e){return n.repeatPlay=e}),n._headerDom.appendChild(n._switchButton.wrapperElement);var o=document.createElement("div");return o.className="dingrtc-wb__media__body",n.mediaElement.src=n.mediaUrl,n.mediaElement.setAttribute("controlslist","nodownload"),n.mediaElement.controls=!0,n.wrapperDom.appendChild(n._headerDom),n.wrapperDom.appendChild(o),o.appendChild(n.mediaElement),n.mediaElement.addEventListener("play",n._onVideoTimePlay),n.mediaElement.addEventListener("timeupdate",n._onVideoTimeUpdate),n.mediaElement.addEventListener("pause",n._onVideoTimePause),n._headerDom.addEventListener("click",n._onClick),n.wrapperDom.addEventListener("mousemove",n._onMouseMove),n}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"repeatPlay",get:function(){return this._repeatPlay},set:function(e){this._repeatPlay=e,this._switchButton.checked=e,e?this.mediaElement.addEventListener("ended",this._onVideoStop):this.mediaElement.removeEventListener("ended",this._onVideoStop)}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"export",value:function(){return Object.assign({},_superPropGet$3(t,"export",this,3)([]),{mediaUrl:this.mediaUrl})}},{key:"setCallback",value:function(e){this.callbacks=e}},{key:"genDrawMsg",value:function(e){return _objectSpread$9({},_superPropGet$3(t,"genDrawMsg",this,3)([e]))}},{key:"visible",get:function(){return this._visible},set:function(e){this._visible=e,this.emitRenderRequest(),e||this.removeMediaDom()}},{key:"isPointInShape",value:function(e,t){return e>this.minx&&this.maxx>e&&t>this.miny&&this.maxy>t}},{key:"renderShape",value:function(e,t){this.wrapperDom.style.width="".concat(this.maxx-this.minx-6,"px"),this.wrapperDom.style.left="".concat(this.minx*t.scale+t.translate[0]+3,"px"),this.wrapperDom.style.top="".concat(this.miny*t.scale+t.translate[1]+3,"px"),this.wrapperDom.style.transform="scale(".concat(t.scale,")"),this.wrapperDom.style.height="".concat(this.maxy-this.miny-6,"px"),this.wrapperDom.parentElement||t.wrapperDom.appendChild(this.wrapperDom),this.shouldRenderOutline?(this.renderOutline(e,t.scale),this.wrapperDom.style.pointerEvents="none",this._headerDom.style.opacity="1"):(this.wrapperDom.style.pointerEvents="auto",this._headerDom.style.opacity="0"),this._headerDom.style.pointerEvents=this.interactionStatus===InteractionStatusType.focused?"auto":"none",this.mediaElement.style.pointerEvents=this.interactionStatus===InteractionStatusType.selected?"none":"auto"}},{key:"removeMediaDom",value:function(){var e;null===(e=this.wrapperDom.parentElement)||void 0===e||e.removeChild(this.wrapperDom)}},{key:"destructor",value:function(){this.removeMediaDom(),this.mediaElement.removeEventListener("play",this._onVideoTimePlay),this.mediaElement.removeEventListener("pause",this._onVideoTimePause),this.mediaElement.removeEventListener("timeupdate",this._onVideoTimeUpdate),this._headerDom.removeEventListener("click",this._onClick),this.wrapperDom.removeEventListener("mousemove",this._onMouseMove)}}])}();function ownKeys$8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$8(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$8(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$8(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$i(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$i()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$i(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$i=function(){return!!e})()}var Video=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$i(this,t,arguments)}return _inherits$1(t,MediaShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$8({},e)})),shapeId:r,creator:e,pageId:this.pageId},this.mediaUrl)}},{key:"_makeMediaElement",value:function(){return document.createElement("video")}},{key:"shapeType",get:function(){return ShapeType.Video}}])}();function ownKeys$7(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$7(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$7(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$7(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$h(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$h()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$h(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$h=function(){return!!e})()}var Audio=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$h(this,t,arguments)}return _inherits$1(t,MediaShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$7({},e)})),shapeId:r,creator:e,pageId:this.pageId},this.mediaUrl)}},{key:"_makeMediaElement",value:function(){return document.createElement("audio")}},{key:"shapeType",get:function(){return ShapeType.Audio}}])}();function ownKeys$6(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$6(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$6(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$6(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$g(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$g()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$g(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$g=function(){return!!e})()}var Eraser=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$g(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$6({},e)})),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Brush}},{key:"shouldSelectAfterAdd",value:function(){return!1}},{key:"isPointInShape",value:function(){return!1}},{key:"renderShape",value:function(e){var t=this;e.save(),e.beginPath(),e.strokeStyle="rgba(0, 0, 0, 1)",e.fillStyle="rgba(0, 0, 0, 1)",e.lineWidth=this.shapeStyle.lineWidth,e.lineCap="round",e.lineJoin="round",e.globalCompositeOperation="destination-out",this.points.forEach(function(r,n){if(0===n)e.moveTo(r.x,r.y);else if(n===t.points.length-1)e.lineTo(r.x,r.y),e.stroke(),e.closePath(),e.restore();else{var i={x:(r.x+t.points[n-1].x)/2,y:(r.y+t.points[n-1].y)/2};e.quadraticCurveTo(i.x,i.y,r.x,r.y)}}),e.globalCompositeOperation="source-over"}}])}();function ownKeys$5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$5(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$5(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$5(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$f(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$f()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$f(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$f=function(){return!!e})()}var Triangle=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$f(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$5({},e)})),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Triangle}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save(),r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent";var n=this.points[0],i={x:.5*(n.x+this.points[1].x),y:this.points[1].y},o={x:this.points[1].x,y:n.y};r.moveTo(n.x,n.y),r.lineTo(i.x,i.y),r.lineTo(o.x,o.y),r.lineTo(n.x,n.y),r.stroke(),r.closePath();var a=this.shapeStyle.fillType===ShapeFillType.color?r.isPointInStroke(e,t):r.isPointInPath(e,t);return r.restore(),a}},{key:"renderShape",value:function(e){e.save(),e.lineCap="round",this.useDashedStyle(e),e.beginPath(),e.lineWidth=this.shapeStyle.lineWidth,e.strokeStyle=this.shapeStyle.strokeStyle;var t=this.points[0],r={x:.5*(t.x+this.points[1].x),y:this.points[1].y},n={x:this.points[1].x,y:t.y};e.moveTo(t.x,t.y),e.lineTo(r.x,r.y),e.lineTo(n.x,n.y),e.lineTo(t.x,t.y),e.stroke(),e.closePath(),this.shapeStyle.fillType===ShapeFillType.color&&(e.fillStyle=this.shapeStyle.fillStyle,e.fill()),e.restore()}}])}();function ownKeys$4(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$4(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$4(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$4(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$e(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$e()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$e(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$e=function(){return!!e})()}var Rhombic=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$e(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$4({},e)})),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Rhombic}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save(),r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent";var n={x:this.points[0].x,y:.5*(this.points[0].y+this.points[1].y)},i={x:.5*(n.x+this.points[1].x),y:this.points[1].y},o={x:this.points[1].x,y:n.y},a={x:i.x,y:this.points[0].y};r.moveTo(n.x,n.y),r.lineTo(i.x,i.y),r.lineTo(o.x,o.y),r.lineTo(a.x,a.y),r.lineTo(n.x,n.y),r.stroke(),r.closePath();var s=this.shapeStyle.fillType===ShapeFillType.none?r.isPointInStroke(e,t):r.isPointInPath(e,t);return r.restore(),s}},{key:"renderShape",value:function(e){e.save(),e.lineCap="round",this.useDashedStyle(e),e.beginPath(),e.lineWidth=this.shapeStyle.lineWidth,e.strokeStyle=this.shapeStyle.strokeStyle;var t={x:this.points[0].x,y:.5*(this.points[0].y+this.points[1].y)},r={x:.5*(t.x+this.points[1].x),y:this.points[1].y},n={x:this.points[1].x,y:t.y},i={x:r.x,y:this.points[0].y};e.moveTo(t.x,t.y),e.lineTo(r.x,r.y),e.lineTo(n.x,n.y),e.lineTo(i.x,i.y),e.lineTo(t.x,t.y),e.stroke(),e.closePath(),this.shapeStyle.fillType===ShapeFillType.color&&(e.fillStyle=this.shapeStyle.fillStyle,e.fill()),e.restore()}}])}(),images={plus:"https://img.alicdn.com/imgextra/i3/O1CN01PsyXYc1HjhTqgZuQP_!!6000000000794-55-tps-18-18.svg",eraser:"https://img.alicdn.com/imgextra/i1/O1CN011VE3sO27TXWbuVtj1_!!6000000007798-55-tps-16-16.svg",pencil:"https://img.alicdn.com/imgextra/i2/O1CN018ML8Gu1HXKmo27wpQ_!!6000000000767-55-tps-16-16.svg",text:"https://img.alicdn.com/imgextra/i3/O1CN01HLEKtO27bKG5EoaSo_!!6000000007815-55-tps-16-16.svg",select:"https://img.alicdn.com/imgextra/i1/O1CN01E5By8i1qm01Hbhnoh_!!6000000005537-55-tps-16-16.svg",laser:"https://img.alicdn.com/imgextra/i2/O1CN01wz96mh1Em2esQp7W2_!!6000000000393-2-tps-30-30.png"};function _callSuper$d(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$d()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$d(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$d=function(){return!!e})()}var cursorLaserPointerImage=void 0;ImageLoader.loadImg(images.laser).then(function(e){return cursorLaserPointerImage=e}).catch(function(e){Log.logError("laser pointer load failed: ",e)});var LaserPointer=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$d(this,t,arguments)}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"clone",value:function(){throw Error("Method not implemented.")}},{key:"shapeType",get:function(){return ShapeType.LaserPointer}},{key:"isPointInShape",value:function(){return!1}},{key:"shouldSelectAfterAdd",value:function(){return!1}},{key:"renderShape",value:function(e,t){var r=t.scale;e.save(),cursorLaserPointerImage&&e.drawImage(cursorLaserPointerImage,0,0,cursorLaserPointerImage.naturalWidth,cursorLaserPointerImage.naturalHeight,this.points[0].x-15/r,this.points[0].y-15/r,cursorLaserPointerImage.naturalWidth/r,cursorLaserPointerImage.naturalHeight/r),e.restore()}}])}(),Metrics=function(){return _createClass$1(function e(){_classCallCheck$1(this,e)},null,[{key:"sendEventMetrics",value:function(e){throw Error("Method not implemented.")}}])}();function ownKeys$3(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$3(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$3(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$3(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$c(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$c()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$c(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$c=function(){return!!e})()}function _superPropGet$2(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return 2&n&&"function"==typeof i?function(e){return i.apply(r,e)}:i}var StampResourceCache=function(){return _createClass$1(function e(){_classCallCheck$1(this,e)},null,[{key:"get",value:function(e){return this.stampResources.get(e)}},{key:"cache",value:function(e,t,r){Log.logInfo("StampResourceCache.cache load image",e,t,r);var n={url:t,resizable:r,serverCache:!1,getImgEl:ImageLoader.loadImg(t).catch(function(n){return Log.logError("StampResourceCache.cache load image failed",e,t,r),Metrics.sendEventMetrics({event:"image load failed",url:t,message:"Stamp image load failed"}),Promise.reject(n)})};return this.stampResources.set(e,n),n}},{key:"setServerCache",value:function(e){var t=this.stampResources.get(e);t&&(t.serverCache=!0)}}])}();Object.defineProperty(StampResourceCache,"stampResources",{enumerable:!0,configurable:!0,writable:!0,value:new Map});var Stamp=function(e){function t(e,r,n,i){var o,a;return _classCallCheck$1(this,t),a=_callSuper$c(this,t,[e.points,e.shapeId,e.creator,e.pageId]),Object.defineProperty(a,"stampId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(a,"resizable",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(a,"imgUrl",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(a,"img",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),(null!==(o=t.stampResourceCache.get(a.stampId))&&void 0!==o?o:t.stampResourceCache.cache(a.stampId,a.imgUrl,a.resizable)).getImgEl.then(function(e){a.img=e,a.emitRenderRequest()}),a}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$3({},e)})),shapeId:r,creator:e,pageId:this.pageId},this.stampId,this.resizable,this.imgUrl)}},{key:"shapeType",get:function(){return ShapeType.Stamp}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"export",value:function(){return Object.assign({},_superPropGet$2(t,"export",this,3)([]),{imgUrl:this.imgUrl,stampId:this.stampId,resizable:this.resizable})}},{key:"genDrawMsg",value:function(e){return _objectSpread$3(_objectSpread$3({},_superPropGet$2(t,"genDrawMsg",this,3)([e])),{},{data:points2numArr(this.resizable?this.points:[this.center,this.center]).join(" "),pageId:this.pageId,image:JSON.stringify({height:this.height,url:this.stampId,width:this.width})})}},{key:"genRgnMsg",value:function(e){return _objectSpread$3(_objectSpread$3({},_superPropGet$2(t,"genRgnMsg",this,3)([e])),{},{pageId:this.pageId})}},{key:"isPointInShape",value:function(e,t){return e>this.minx&&this.maxx>e&&t>this.miny&&this.maxy>t}},{key:"isGif",value:function(){return includes(this.imgUrl,"gif")}},{key:"renderShape",value:function(e){if(this.img){e.save();try{this.resizable?e.drawImage(this.img,this.points[0].x,this.points[0].y,this.points[1].x-this.points[0].x,this.points[1].y-this.points[0].y):e.drawImage(this.img,this.center.x-this.img.naturalWidth/2,this.center.y-this.img.naturalHeight/2)}catch(e){console.error(e)}e.restore()}}},{key:"outlineResizeHandles",get:function(){var e=this;return this.resizable?[new OutlineResizeHandle(function(){return e.minx},function(){return e.miny},"nwse-resize",ResizeType.widthAndHeight),new OutlineResizeHandle(function(){return(e.minx+e.maxx)/2},function(){return e.miny},"ns-resize",ResizeType.height),new OutlineResizeHandle(function(){return e.maxx},function(){return e.miny},"nesw-resize",ResizeType.widthAndHeight),new OutlineResizeHandle(function(){return e.maxx},function(){return(e.miny+e.maxy)/2},"ew-resize",ResizeType.width),new OutlineResizeHandle(function(){return e.maxx},function(){return e.maxy},"nwse-resize",ResizeType.widthAndHeight),new OutlineResizeHandle(function(){return(e.minx+e.maxx)/2},function(){return e.maxy},"ns-resize",ResizeType.height),new OutlineResizeHandle(function(){return e.minx},function(){return e.maxy},"nesw-resize",ResizeType.widthAndHeight),new OutlineResizeHandle(function(){return e.minx},function(){return(e.miny+e.maxy)/2},"ew-resize",ResizeType.width)]:[new OutlineResizeHandle(function(){return e.minx},function(){return e.miny},"",ResizeType.none),new OutlineResizeHandle(function(){return e.maxx},function(){return e.miny},"",ResizeType.none),new OutlineResizeHandle(function(){return e.maxx},function(){return e.maxy},"",ResizeType.none),new OutlineResizeHandle(function(){return e.minx},function(){return e.maxy},"",ResizeType.none)]}},{key:"destructor",value:function(){_superPropGet$2(t,"destructor",this,3)([])}}])}(),MouseType;function _callSuper$b(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$b()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$b(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$b=function(){return!!e})()}Object.defineProperty(Stamp,"stampResourceCache",{enumerable:!0,configurable:!0,writable:!0,value:StampResourceCache}),function(e){e.draw="draw",e.select="select",e.delete="delete",e.erase="erase",e.text="text",e.polygon="polygon",e.laserPointer="laserPointer",e.default="default"}(MouseType||(MouseType={}));var pencilImage=void 0,eraserImage=void 0,textCursorImage=void 0,pointerImage=void 0,polygonImage=void 0;ImageLoader.loadImg(images.pencil).then(function(e){return pencilImage=e}).catch(function(e){Log.logError("cursor load failed: ",e)}),ImageLoader.loadImg(images.eraser).then(function(e){return eraserImage=e}).catch(function(e){Log.logError("cursor load failed: ",e)}),ImageLoader.loadImg(images.text).then(function(e){return textCursorImage=e}).catch(function(e){Log.logError("cursor load failed: ",e)}),ImageLoader.loadImg(images.laser).then(function(e){return pointerImage=e}).catch(function(e){Log.logError("cursor load failed: ",e)}),ImageLoader.loadImg(images.plus).then(function(e){return polygonImage=e}).catch(function(e){Log.logError("cursor load failed: ",e)});var Cursor=function(e){function t(e,r,n,i){var o;return _classCallCheck$1(this,t),o=_callSuper$b(this,t,[e.points,e.shapeId,e.creator]),Object.defineProperty(o,"userName",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(o,"cursorType",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(o,"color",{enumerable:!0,configurable:!0,writable:!0,value:i}),o}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"clone",value:function(){throw Error("Method not implemented.")}},{key:"shouldSelectAfterAdd",value:function(){return!1}},{key:"updateCursor",value:function(e,t,r,n){this.color=r,this.points=[{x:e,y:t}],this.cursorType=n,this.emitRenderRequest()}},{key:"shapeType",get:function(){return ShapeType.Cursor}},{key:"isPointInShape",value:function(){return!1}},{key:"renderShape",value:function(e,t){var r,n,i=t.scale;e.save();var o=pencilImage,a=0,s=0;this.cursorType===MouseType.draw?(o=pencilImage,a=-14):this.cursorType===MouseType.erase?(o=eraserImage,a=-12):this.cursorType===MouseType.select?o=pointerImage:this.cursorType===MouseType.text?o=textCursorImage:this.cursorType===MouseType.polygon&&(o=polygonImage,a=-8,s=-8);var c=this.points[0],l=(null===(r=o)||void 0===r?void 0:r.naturalWidth)||16,u=(null===(n=o)||void 0===n?void 0:n.naturalHeight)||16;o&&e.drawImage(o,0,0,l,u,c.x+s/i,c.y+a/i,l/i,u/i),e.fillStyle=this.color,e.font="".concat(12/i,"px ").concat(DEFAULT_FONT_FAMILY);var d=e.measureText(this.userName).width;drawRoundedRectangle(e,c.x+s/i,c.y+(a-28)/i,d+10/i,18/i,3/i,this.color,this.color),e.fillStyle="RGBA(255,255,255,1)",e.fillText(this.userName,c.x+(s+5)/i,c.y+(a-15)/i),e.restore()}}])}();function parseToolType(e){switch(e){case ShapeType.Pen:return MouseType.draw;case ShapeType.Arrow:case ShapeType.Ellipse:case ShapeType.Line:case ShapeType.Circle:case ShapeType.Square:case ShapeType.Rect:case ShapeType.Stamp:return MouseType.polygon;case ShapeType.Select:case ShapeType.Click:return MouseType.select;case ShapeType.Brush:return MouseType.erase;case ShapeType.Delete:return MouseType.delete;case ShapeType.Text:return MouseType.text;case ShapeType.LaserPointer:return MouseType.laserPointer;default:return MouseType.default}}function getShapeCursorStyle(e){switch(parseToolType(e)){case MouseType.erase:return"none";case MouseType.delete:return"url('".concat(images.eraser,"') 0 12, auto");case MouseType.draw:return Environment.isSafari()?"auto":"url('".concat(images.pencil,"') 0 16, auto");case MouseType.laserPointer:return"url('".concat(images.laser,"') 14 14, auto");case MouseType.polygon:return"url('".concat(images.plus,"') 8 8, auto");case MouseType.select:return"url('".concat(images.select,"') 0 0, auto");case MouseType.text:return"url('".concat(images.text,"') 0 0, auto");default:return""}}Environment.isSafari();var RenderStats=function(){return _createClass$1(function e(){_classCallCheck$1(this,e),Object.defineProperty(this,"renderInfo",{enumerable:!0,configurable:!0,writable:!0,value:[]})},[{key:"record",value:function(e,t){this.renderInfo.push({startTime:e,timeCost:t})}}])}(),RENDER_STATUS;!function(e){e[e.Aavilable=0]="Aavilable",e[e.Busy=1]="Busy"}(RENDER_STATUS||(RENDER_STATUS={}));var Renderer=function(){return _createClass$1(function e(t){var r=this;_classCallCheck$1(this,e),Object.defineProperty(this,"wb",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"canvasElement",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("canvas")}),Object.defineProperty(this,"cachedCanvas",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("canvas")}),Object.defineProperty(this,"eraserCacheCvs",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("canvas")}),Object.defineProperty(this,"renderStatus",{enumerable:!0,configurable:!0,writable:!0,value:RENDER_STATUS.Aavilable}),Object.defineProperty(this,"renderStats",{enumerable:!0,configurable:!0,writable:!0,value:new RenderStats}),Object.defineProperty(this,"frameRenderRate",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"renderContext2d",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"eraserCvsCtx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cachedCvsCtx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"eraserCvsOutdated",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_sizeLimitStyle",{enumerable:!0,configurable:!0,writable:!0,value:{strokeStyle:"rgba(0,0,0,0.5)",lineWidth:1,fillStyle:"rgba(0,0,0,0)"}}),Object.defineProperty(this,"cachedCtxSnapshot",{enumerable:!0,configurable:!0,writable:!0,value:{devicePixelRatio:this.getDevicePixelRatio(),width:0,height:0,translate:[0,0],scale:1,shapesHashSum:0,shapesSize:0,docId:"",pageId:""}}),Object.defineProperty(this,"updateCanvasSize",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e=0>=arguments.length||void 0===arguments[0]||arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Math.floor(r.canvasElement.clientWidth*r.getDevicePixelRatio()),o=Math.floor(r.canvasElement.clientHeight*r.getDevicePixelRatio());if(r.canvasElement.width!==i||r.canvasElement.height!==o||t){if(0===i||0===o)return;Log.logInfo("Renderer.updateCanvasSize before",{width:r.canvasElement.width,height:r.canvasElement.height},"after",{width:i,height:o}),r.canvasElement.width=i,r.canvasElement.height=o,r.cachedCanvas.width=i,r.cachedCanvas.height=o,r.eraserCacheCvs.width=i,r.eraserCacheCvs.height=o}n&&setTimeout(function(){r.updateCanvasSize(e,t,!1)},1e3)}}),Object.defineProperty(this,"checkCanvasSize",{enumerable:!0,configurable:!0,writable:!0,value:function(){Log.logInfo("Renderer.checkCanvasSize");try{var e=Math.floor(r.canvasElement.clientWidth*r.getDevicePixelRatio()),t=Math.floor(r.canvasElement.clientHeight*r.getDevicePixelRatio());if(r.canvasElement.width!==e||r.canvasElement.height!==t){if(0===e||0===t)return;Log.logInfo("Renderer._checkCanvasSize before",{width:r.canvasElement.width,height:r.canvasElement.height},"after",{width:e,height:t}),r.canvasElement.width=e,r.canvasElement.height=t,r.cachedCanvas.width=e,r.cachedCanvas.height=t,r.eraserCacheCvs.width=e,r.eraserCacheCvs.height=t,r.doRebuildCacheRenderer(),r.updateBg()}}catch(e){Log.logError("check canvas size error",e)}}}),Object.defineProperty(this,"render",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.renderStatus!==RENDER_STATUS.Busy&&(r.wb.isWhiteboardOpen?(r.renderStatus=RENDER_STATUS.Busy,requestAnimationFrame(function(){return r.doRender()})):Log.logInfo("Renderer.render whiteboard not open yet, will not render"))}}),Object.defineProperty(this,"doRender",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e=Date.now(),t=(new Date).toISOString();r.renderStatus=RENDER_STATUS.Aavilable,r.updateBg(),r.renderShapes(),r.renderStats.record(t,Date.now()-e)}}),Object.defineProperty(this,"updateBg",{enumerable:!0,configurable:!0,writable:!0,value:function(){if(r.wb.isWhiteboardOpen&&r.renderContext2d){var e=r.wb.currentPage.backgroundImage;if(r.wbWrapperDom.style.backgroundColor=r.wb.backgroundColor,e?(r.wb.bgImg.src!==e.imgUrl&&(r.wb.bgImg.src=e.imgUrl),r.wb.bgImg.style.display="block",r.wb.bgImg.style.transform="translate(".concat(r.translate[0],"px,").concat(r.translate[1],"px) scale(").concat(r.scale,")"),r.wb.bgImg.style.left="".concat(e.points[0].x*r.scale,"px"),r.wb.bgImg.style.top="".concat(e.points[0].y*r.scale,"px"),r.wb.bgImg.style.width="".concat(e.width,"px"),r.wb.bgImg.style.height="".concat(e.height,"px")):(r.wb.bgImg.src="",r.wb.bgImg.style.display="none"),"pdf"===r.wb.activeDoc.type&&(r.wb.pdfWrapper.style.left="0px",r.wb.pdfWrapper.style.top="0px",r.wb.pdfWrapper.style.transform="translate(".concat(r.translate[0],"px,").concat(r.translate[1],"px) scale(").concat(r.scale,")")),r.selectedShape instanceof Text){var t="".concat(r.selectedShape.maxy-r.selectedShape.miny+2*r.selectedShape.fontStyle.fontSize,"px"),n="".concat(r.selectedShape.maxx-r.selectedShape.minx,"px"),i=r.selectedShape.fontStyleStr,o=r.selectedShape.shapeStyle.strokeStyle,a="".concat(r.selectedShape.minx*r.scale+r.translate[0],"px"),s="".concat(r.selectedShape.miny*r.scale+r.translate[1],"px"),c="scale(".concat(r.scale,")");r.textArea.style.left===a&&r.textArea.style.top===s&&r.textArea.style.transform===c&&r.textArea.style.height===t&&r.textArea.style.width===n&&r.textArea.style.font===i&&r.textArea.style.color===o&&"1"===r.textArea.style.zIndex||(r.textArea.style.left=a,r.textArea.style.top=s,r.textArea.style.transform=c,r.textArea.style.height=t,r.textArea.style.width=n,r.textArea.style.font=i,r.textArea.style.color=o,r.textArea.style.zIndex="1",r.textArea.style.lineHeight="".concat(Text.LINE_HEIGHT),r.textArea.style.verticalAlign="top")}else r.textArea.style.zIndex="0",r.textArea.style.color="transparent"}}}),Object.defineProperty(this,"doRebuildCacheRenderer",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.frameRenderRate++,r.cachedCvsCtx.clearRect(0,0,r.cachedCanvas.width,r.cachedCanvas.height),r.renderAllVisibleShapes(r.cachedCvsCtx,r.translate,r.scale,!1),r.renderContext2d.clearRect(0,0,r.canvasElement.width,r.canvasElement.height),r.renderTopShapes(r.renderContext2d,r.translate,r.scale),r.visibleShapes.forEach(function(e){return e.hash=0}),r.cachedCtxSnapshot={docId:r.wb.activeDocId,pageId:r.wb.currentPage.pageId,devicePixelRatio:r.getDevicePixelRatio(),width:r.canvasElement.width,height:r.canvasElement.height,translate:[r.translate[0],r.translate[1]],scale:r.scale,shapesHashSum:0,shapesSize:r.visibleShapes.length},r.eraserCvsOutdated=!0}}),Object.defineProperty(this,"rebuildCacheRenderer",{enumerable:!0,configurable:!0,writable:!0,value:debounce(this.doRebuildCacheRenderer,500)}),this.cachedCanvas.className="dingrtc-wb__cache-cvs",this.canvasElement.style.pointerEvents="none",this.cachedCanvas.style.pointerEvents="none",this.renderContext2d=this.canvasElement.getContext("2d"),this.eraserCvsCtx=this.eraserCacheCvs.getContext("2d"),this.cachedCvsCtx=this.cachedCanvas.getContext("2d"),this.wbWrapperDom.appendChild(this.cachedCanvas),this.wbWrapperDom.appendChild(this.canvasElement)},[{key:"translate",get:function(){return this.wb.translate}},{key:"scale",get:function(){return this.wb.scale}},{key:"wbWrapperDom",get:function(){return this.wb.wbWrapperDom}},{key:"selectedShape",get:function(){return this.wb.selectedShape}},{key:"textArea",get:function(){return this.wb.textArea}},{key:"hideCanvas",value:function(){this.canvasElement.style.visibility="hidden",this.cachedCanvas.style.visibility="hidden"}},{key:"showCanvas",value:function(){this.canvasElement.style.visibility="visible",this.cachedCanvas.style.visibility="visible"}},{key:"activeShapes",get:function(){return this.visibleShapes.slice(this.cachedCtxSnapshot.shapesSize)}},{key:"visibleShapes",get:function(){return this.wb.visibleShapes}},{key:"anyEraserInActiveShapes",get:function(){return some(this.activeShapes,function(e){return e.shapeType===ShapeType.Brush})}},{key:"insertType",get:function(){return this.wb.getToolType()}},{key:"lineWidth",get:function(){return this.wb.lineWidth}},{key:"getDevicePixelRatio",value:function(){return window.devicePixelRatio||1}},{key:"renderActiveShapes",value:function(){var e=this,t=this.renderContext2d,r=this.translate,n=this.scale;t.translate(r[0]*this.getDevicePixelRatio(),r[1]*this.getDevicePixelRatio()),t.scale(n*this.getDevicePixelRatio(),n*this.getDevicePixelRatio());var i=this.wb.getViewport();this.activeShapes.forEach(function(r){r.render(t,{scale:e.scale,translate:e.translate,wrapperDom:e.wbWrapperDom,viewport:i,lineWidth:e.wb.lineWidth,insertType:e.wb.getToolType(),forceRenderText:!1})}),this.activeShapes.forEach(function(r){r.renderOutline(t,e.scale)}),t.scale(1/n/this.getDevicePixelRatio(),1/n/this.getDevicePixelRatio()),t.translate(-r[0]*this.getDevicePixelRatio(),-r[1]*this.getDevicePixelRatio())}},{key:"isCacheCtxOutdated",get:function(){var e=this.cachedCtxSnapshot,t=e.translate,r=e.shapesHashSum,n=e.shapesSize;return e.docId!==this.wb.activeDocId||e.pageId!==this.wb.currentPage.pageId||n>this.visibleShapes.length||e.width!==this.canvasElement.width||e.height!==this.canvasElement.height||e.scale!==this.scale||e.devicePixelRatio!==this.getDevicePixelRatio()||t[0]!==this.translate[0]||t[1]!==this.translate[1]||r!==this.visibleShapes.slice(0,n).reduce(function(e,t){return e+t.hash},0)}},{key:"renderShapes",value:function(){var e=this.renderContext2d;e.clearRect(0,0,this.canvasElement.width,this.canvasElement.height),this.isCacheCtxOutdated?this.doRebuildCacheRenderer():(this.frameRenderRate++,this.anyEraserInActiveShapes&&(this.eraserCvsOutdated&&(this.eraserCvsCtx.clearRect(0,0,this.eraserCacheCvs.width,this.eraserCacheCvs.height),this.eraserCvsCtx.drawImage(this.cachedCanvas,0,0,this.cachedCanvas.width,this.cachedCanvas.height),this.cachedCvsCtx.clearRect(0,0,this.cachedCanvas.width,this.cachedCanvas.height),this.eraserCvsOutdated=!1),this.renderContext2d.clearRect(0,0,this.canvasElement.width,this.canvasElement.height),this.renderContext2d.drawImage(this.eraserCacheCvs,0,0,this.eraserCacheCvs.width,this.eraserCacheCvs.height)),this.renderActiveShapes(),this.renderTopShapes(e,this.translate,this.scale)),this.activeShapes.length&&this.rebuildCacheRenderer()}},{key:"renderAllVisibleShapes",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.translate,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.scale,i=arguments.length>3?arguments[3]:void 0;e.translate(r[0]*this.getDevicePixelRatio(),r[1]*this.getDevicePixelRatio()),e.scale(n*this.getDevicePixelRatio(),n*this.getDevicePixelRatio());var o=this.wb.getViewport();this.visibleShapes.forEach(function(r){r.render(e,{scale:t.scale,translate:t.translate,wrapperDom:t.wbWrapperDom,viewport:o,lineWidth:t.wb.lineWidth,insertType:t.wb.getToolType(),forceRenderText:i})}),this.visibleShapes.forEach(function(r){r.renderOutline(e,t.scale)}),e.scale(1/n/this.getDevicePixelRatio(),1/n/this.getDevicePixelRatio()),e.translate(-r[0]*this.getDevicePixelRatio(),-r[1]*this.getDevicePixelRatio())}},{key:"renderTopShapes",value:function(e){var t,r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.translate,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.scale;if(e.translate(n[0]*this.getDevicePixelRatio(),n[1]*this.getDevicePixelRatio()),e.scale(i*this.getDevicePixelRatio(),i*this.getDevicePixelRatio()),this.wb.sizeLimitVisible&&(this.wb.sizeConfig||"scroll"===this.wb.activeDoc.browseMode)){var o,a,s=(null===(o=this.wb.sizeConfig)||void 0===o?void 0:o.width)||this.wb.activeDoc.width,c=(null===(a=this.wb.sizeConfig)||void 0===a?void 0:a.height)||this.wb.activeDoc.scrollHeight;renderRect(e,0+Math.ceil(this._sizeLimitStyle.lineWidth/2),0+Math.ceil(this._sizeLimitStyle.lineWidth/2),s-this._sizeLimitStyle.lineWidth,c-this._sizeLimitStyle.lineWidth,this._sizeLimitStyle.strokeStyle,this._sizeLimitStyle.lineWidth,this._sizeLimitStyle.fillStyle)}var l=this.wb.getViewport();this.wb.laserPointers.forEach(function(t){return t.render(e,{scale:r.scale,translate:r.translate,wrapperDom:r.wbWrapperDom,viewport:l,lineWidth:r.wb.lineWidth,insertType:r.wb.getToolType(),forceRenderText:!1})}),this.wb.selectIndicator.visible&&this.wb.selectIndicator.render(e,{scale:this.scale,translate:this.translate,wrapperDom:this.wbWrapperDom,viewport:l,lineWidth:this.wb.lineWidth,insertType:this.wb.getToolType(),forceRenderText:!1}),this.insertType===ShapeType.Brush&&this.wb.eraserIndicator.render(e,{scale:this.scale,translate:this.translate,wrapperDom:this.wbWrapperDom,viewport:l,lineWidth:this.lineWidth,insertType:this.insertType,forceRenderText:!1}),this.wb.cursors.forEach(function(t){return t.render(e,{scale:r.scale,translate:r.translate,wrapperDom:r.wbWrapperDom,viewport:l,lineWidth:r.lineWidth,insertType:r.insertType,forceRenderText:!1})}),null===(t=this.selectedShape)||void 0===t||t.renderOutline(e,i),e.scale(1/i/this.getDevicePixelRatio(),1/i/this.getDevicePixelRatio()),e.translate(-n[0]*this.getDevicePixelRatio(),-n[1]*this.getDevicePixelRatio())}}])}(),axios$3={exports:{}},bind$2=function(e,t){return function(){for(var r=Array(arguments.length),n=0;r.length>n;n++)r[n]=arguments[n];return e.apply(t,r)}},bind$1=bind$2,toString=Object.prototype.toString;function isArray(e){return"[object Array]"===toString.call(e)}function isUndefined(e){return void 0===e}function isBuffer(e){return null!==e&&!isUndefined(e)&&null!==e.constructor&&!isUndefined(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function isArrayBuffer(e){return"[object ArrayBuffer]"===toString.call(e)}function isFormData(e){return"undefined"!=typeof FormData&&e instanceof FormData}function isArrayBufferView(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function isString(e){return"string"==typeof e}function isNumber(e){return"number"==typeof e}function isObject(e){return null!==e&&"object"==typeof e}function isPlainObject(e){if("[object Object]"!==toString.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function isDate(e){return"[object Date]"===toString.call(e)}function isFile(e){return"[object File]"===toString.call(e)}function isBlob(e){return"[object Blob]"===toString.call(e)}function isFunction(e){return"[object Function]"===toString.call(e)}function isStream(e){return isObject(e)&&isFunction(e.pipe)}function isURLSearchParams(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function trim(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function isStandardBrowserEnv(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function forEach(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),isArray(e))for(var r=0,n=e.length;n>r;r++)t.call(null,e[r],r,e);else for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.call(null,e[i],i,e)}function merge(){var e={};function t(t,r){e[r]=isPlainObject(e[r])&&isPlainObject(t)?merge(e[r],t):isPlainObject(t)?merge({},t):isArray(t)?t.slice():t}for(var r=0,n=arguments.length;n>r;r++)forEach(arguments[r],t);return e}function extend(e,t,r){return forEach(t,function(t,n){e[n]=r&&"function"==typeof t?bind$1(t,r):t}),e}function stripBOM(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e}var utils$8={isArray:isArray,isArrayBuffer:isArrayBuffer,isBuffer:isBuffer,isFormData:isFormData,isArrayBufferView:isArrayBufferView,isString:isString,isNumber:isNumber,isObject:isObject,isPlainObject:isPlainObject,isUndefined:isUndefined,isDate:isDate,isFile:isFile,isBlob:isBlob,isFunction:isFunction,isStream:isStream,isURLSearchParams:isURLSearchParams,isStandardBrowserEnv:isStandardBrowserEnv,forEach:forEach,merge:merge,extend:extend,trim:trim,stripBOM:stripBOM},utils$7=utils$8;function encode(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var buildURL$1=function(e,t,r){if(!t)return e;var n;if(r)n=r(t);else if(utils$7.isURLSearchParams(t))n=""+t;else{var i=[];utils$7.forEach(t,function(e,t){null!=e&&(utils$7.isArray(e)?t+="[]":e=[e],utils$7.forEach(e,function(e){utils$7.isDate(e)?e=e.toISOString():utils$7.isObject(e)&&(e=JSON.stringify(e)),i.push(encode(t)+"="+encode(e))}))}),n=i.join("&")}if(n){var o=e.indexOf("#");-1!==o&&(e=e.slice(0,o)),e+=(-1===e.indexOf("?")?"?":"&")+n}return e},utils$6=utils$8;function InterceptorManager$1(){this.handlers=[]}InterceptorManager$1.prototype.use=function(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1},InterceptorManager$1.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},InterceptorManager$1.prototype.forEach=function(e){utils$6.forEach(this.handlers,function(t){null!==t&&e(t)})};var InterceptorManager_1=InterceptorManager$1,utils$5=utils$8,normalizeHeaderName=function(e,t){utils$5.forEach(e,function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])})},enhanceError=function(e,t,r,n,i){return e.config=t,r&&(e.code=r),e.request=n,e.response=i,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},e},createError,hasRequiredCreateError,settle,hasRequiredSettle,cookies,hasRequiredCookies,isAbsoluteURL,hasRequiredIsAbsoluteURL,combineURLs,hasRequiredCombineURLs,buildFullPath,hasRequiredBuildFullPath,parseHeaders,hasRequiredParseHeaders,isURLSameOrigin,hasRequiredIsURLSameOrigin,Cancel_1,hasRequiredCancel,xhr,hasRequiredXhr,defaults_1,hasRequiredDefaults;function requireCreateError(){if(hasRequiredCreateError)return createError;hasRequiredCreateError=1;var e=enhanceError;return createError=function(t,r,n,i,o){return e(Error(t),r,n,i,o)}}function requireSettle(){if(hasRequiredSettle)return settle;hasRequiredSettle=1;var e=requireCreateError();return settle=function(t,r,n){var i=n.config.validateStatus;n.status&&i&&!i(n.status)?r(e("Request failed with status code "+n.status,n.config,null,n.request,n)):t(n)}}function requireCookies(){if(hasRequiredCookies)return cookies;hasRequiredCookies=1;var e=utils$8;return cookies=e.isStandardBrowserEnv()?{write:function(t,r,n,i,o,a){var s=[];s.push(t+"="+encodeURIComponent(r)),e.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),e.isString(i)&&s.push("path="+i),e.isString(o)&&s.push("domain="+o),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}}function requireIsAbsoluteURL(){return hasRequiredIsAbsoluteURL?isAbsoluteURL:(hasRequiredIsAbsoluteURL=1,isAbsoluteURL=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)})}function requireCombineURLs(){return hasRequiredCombineURLs?combineURLs:(hasRequiredCombineURLs=1,combineURLs=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e})}function requireBuildFullPath(){if(hasRequiredBuildFullPath)return buildFullPath;hasRequiredBuildFullPath=1;var e=requireIsAbsoluteURL(),t=requireCombineURLs();return buildFullPath=function(r,n){return r&&!e(n)?t(r,n):n}}function requireParseHeaders(){if(hasRequiredParseHeaders)return parseHeaders;hasRequiredParseHeaders=1;var e=utils$8,t=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];return parseHeaders=function(r){var n,i,o,a={};return r?(e.forEach(r.split("\n"),function(r){if(o=r.indexOf(":"),n=e.trim(r.substr(0,o)).toLowerCase(),i=e.trim(r.substr(o+1)),n){if(a[n]&&t.indexOf(n)>=0)return;a[n]="set-cookie"===n?(a[n]?a[n]:[]).concat([i]):a[n]?a[n]+", "+i:i}}),a):a}}function requireIsURLSameOrigin(){if(hasRequiredIsURLSameOrigin)return isURLSameOrigin;hasRequiredIsURLSameOrigin=1;var e=utils$8;return isURLSameOrigin=e.isStandardBrowserEnv()?function(){var t,r=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function i(e){var t=e;return r&&(n.setAttribute("href",t),t=n.href),n.setAttribute("href",t),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return t=i(window.location.href),function(r){var n=e.isString(r)?i(r):r;return n.protocol===t.protocol&&n.host===t.host}}():function(){return!0}}function requireCancel(){if(hasRequiredCancel)return Cancel_1;function e(e){this.message=e}return hasRequiredCancel=1,e.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},e.prototype.__CANCEL__=!0,Cancel_1=e}function requireXhr(){if(hasRequiredXhr)return xhr;hasRequiredXhr=1;var e=utils$8,t=requireSettle(),r=requireCookies(),n=buildURL$1,i=requireBuildFullPath(),o=requireParseHeaders(),a=requireIsURLSameOrigin(),s=requireCreateError(),c=requireDefaults(),l=requireCancel();return xhr=function(u){return new Promise(function(d,p){var h,f=u.data,g=u.headers,y=u.responseType;function v(){u.cancelToken&&u.cancelToken.unsubscribe(h),u.signal&&u.signal.removeEventListener("abort",h)}e.isFormData(f)&&delete g["Content-Type"];var m=new XMLHttpRequest;u.auth&&(g.Authorization="Basic "+btoa((u.auth.username||"")+":"+(u.auth.password?unescape(encodeURIComponent(u.auth.password)):"")));var b=i(u.baseURL,u.url);function S(){if(m){var e="getAllResponseHeaders"in m?o(m.getAllResponseHeaders()):null;t(function(e){d(e),v()},function(e){p(e),v()},{data:y&&"text"!==y&&"json"!==y?m.response:m.responseText,status:m.status,statusText:m.statusText,headers:e,config:u,request:m}),m=null}}if(m.open(u.method.toUpperCase(),n(b,u.params,u.paramsSerializer),!0),m.timeout=u.timeout,"onloadend"in m?m.onloadend=S:m.onreadystatechange=function(){m&&4===m.readyState&&(0!==m.status||m.responseURL&&0===m.responseURL.indexOf("file:"))&&setTimeout(S)},m.onabort=function(){m&&(p(s("Request aborted",u,"ECONNABORTED",m)),m=null)},m.onerror=function(){p(s("Network Error",u,null,m)),m=null},m.ontimeout=function(){var e=u.timeout?"timeout of "+u.timeout+"ms exceeded":"timeout exceeded";u.timeoutErrorMessage&&(e=u.timeoutErrorMessage),p(s(e,u,(u.transitional||c.transitional).clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",m)),m=null},e.isStandardBrowserEnv()){var _=(u.withCredentials||a(b))&&u.xsrfCookieName?r.read(u.xsrfCookieName):void 0;_&&(g[u.xsrfHeaderName]=_)}"setRequestHeader"in m&&e.forEach(g,function(e,t){void 0===f&&"content-type"===t.toLowerCase()?delete g[t]:m.setRequestHeader(t,e)}),e.isUndefined(u.withCredentials)||(m.withCredentials=!!u.withCredentials),y&&"json"!==y&&(m.responseType=u.responseType),"function"==typeof u.onDownloadProgress&&m.addEventListener("progress",u.onDownloadProgress),"function"==typeof u.onUploadProgress&&m.upload&&m.upload.addEventListener("progress",u.onUploadProgress),(u.cancelToken||u.signal)&&(h=function(e){m&&(p(!e||e&&e.type?new l("canceled"):e),m.abort(),m=null)},u.cancelToken&&u.cancelToken.subscribe(h),u.signal&&(u.signal.aborted?h():u.signal.addEventListener("abort",h))),f||(f=null),m.send(f)})}}function requireDefaults(){if(hasRequiredDefaults)return defaults_1;hasRequiredDefaults=1;var e=utils$8,t=normalizeHeaderName,r=enhanceError,n={"Content-Type":"application/x-www-form-urlencoded"};function i(t,r){!e.isUndefined(t)&&e.isUndefined(t["Content-Type"])&&(t["Content-Type"]=r)}var o,a={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(o=requireXhr()),o),transformRequest:[function(r,n){return t(n,"Accept"),t(n,"Content-Type"),e.isFormData(r)||e.isArrayBuffer(r)||e.isBuffer(r)||e.isStream(r)||e.isFile(r)||e.isBlob(r)?r:e.isArrayBufferView(r)?r.buffer:e.isURLSearchParams(r)?(i(n,"application/x-www-form-urlencoded;charset=utf-8"),""+r):e.isObject(r)||n&&"application/json"===n["Content-Type"]?(i(n,"application/json"),function(t,r,n){if(e.isString(t))try{return(r||JSON.parse)(t),e.trim(t)}catch(e){if("SyntaxError"!==e.name)throw e}return(n||JSON.stringify)(t)}(r)):r}],transformResponse:[function(t){var n=this.transitional||a.transitional,i=!(n&&n.silentJSONParsing)&&"json"===this.responseType;if(i||n&&n.forcedJSONParsing&&e.isString(t)&&t.length)try{return JSON.parse(t)}catch(e){if(i){if("SyntaxError"===e.name)throw r(e,this,"E_JSON_PARSE");throw e}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&300>e},headers:{common:{Accept:"application/json, text/plain, */*"}}};return e.forEach(["delete","get","head"],function(e){a.headers[e]={}}),e.forEach(["post","put","patch"],function(t){a.headers[t]=e.merge(n)}),defaults_1=a}var utils$4=utils$8,defaults$2=requireDefaults(),transformData$1=function(e,t,r){var n=this||defaults$2;return utils$4.forEach(r,function(r){e=r.call(n,e,t)}),e},isCancel$1,hasRequiredIsCancel;function requireIsCancel(){return hasRequiredIsCancel?isCancel$1:(hasRequiredIsCancel=1,isCancel$1=function(e){return!(!e||!e.__CANCEL__)})}var utils$3=utils$8,transformData=transformData$1,isCancel=requireIsCancel(),defaults$1=requireDefaults(),Cancel=requireCancel();function throwIfCancellationRequested(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Cancel("canceled")}var dispatchRequest$1=function(e){return throwIfCancellationRequested(e),e.headers=e.headers||{},e.data=transformData.call(e,e.data,e.headers,e.transformRequest),e.headers=utils$3.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),utils$3.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]}),(e.adapter||defaults$1.adapter)(e).then(function(t){return throwIfCancellationRequested(e),t.data=transformData.call(e,t.data,t.headers,e.transformResponse),t},function(t){return isCancel(t)||(throwIfCancellationRequested(e),t&&t.response&&(t.response.data=transformData.call(e,t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})},utils$2=utils$8,mergeConfig$2=function(e,t){t=t||{};var r={};function n(e,t){return utils$2.isPlainObject(e)&&utils$2.isPlainObject(t)?utils$2.merge(e,t):utils$2.isPlainObject(t)?utils$2.merge({},t):utils$2.isArray(t)?t.slice():t}function i(r){return utils$2.isUndefined(t[r])?utils$2.isUndefined(e[r])?void 0:n(void 0,e[r]):n(e[r],t[r])}function o(e){if(!utils$2.isUndefined(t[e]))return n(void 0,t[e])}function a(r){return utils$2.isUndefined(t[r])?utils$2.isUndefined(e[r])?void 0:n(void 0,e[r]):n(void 0,t[r])}function s(r){return r in t?n(e[r],t[r]):r in e?n(void 0,e[r]):void 0}var c={url:o,method:o,data:o,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s};return utils$2.forEach(Object.keys(e).concat(Object.keys(t)),function(e){var t=c[e]||i,n=t(e);utils$2.isUndefined(n)&&t!==s||(r[e]=n)}),r},data,hasRequiredData;function requireData(){return hasRequiredData?data:(hasRequiredData=1,data={version:"0.24.0"})}var VERSION=requireData().version,validators$1={};["object","boolean","number","function","string","symbol"].forEach(function(e,t){validators$1[e]=function(r){return typeof r===e||"a"+(1>t?"n ":" ")+e}});var deprecatedWarnings={};function assertOptions(e,t,r){if("object"!=typeof e)throw new TypeError("options must be an object");for(var n=Object.keys(e),i=n.length;i-- >0;){var o=n[i],a=t[o];if(a){var s=e[o],c=void 0===s||a(s,o,e);if(!0!==c)throw new TypeError("option "+o+" must be "+c)}else if(!0!==r)throw Error("Unknown option "+o)}}validators$1.transitional=function(e,t,r){function n(e,t){return"[Axios v"+VERSION+"] Transitional option '"+e+"'"+t+(r?". "+r:"")}return function(r,i,o){if(!1===e)throw Error(n(i," has been removed"+(t?" in "+t:"")));return t&&!deprecatedWarnings[i]&&(deprecatedWarnings[i]=!0,console.warn(n(i," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,i,o)}};var validator$1={assertOptions:assertOptions,validators:validators$1},utils$1=utils$8,buildURL=buildURL$1,InterceptorManager=InterceptorManager_1,dispatchRequest=dispatchRequest$1,mergeConfig$1=mergeConfig$2,validator=validator$1,validators=validator.validators;function Axios$1(e){this.defaults=e,this.interceptors={request:new InterceptorManager,response:new InterceptorManager}}Axios$1.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=mergeConfig$1(this.defaults,e)).method=e.method?e.method.toLowerCase():this.defaults.method?this.defaults.method.toLowerCase():"get";var t=e.transitional;void 0!==t&&validator.assertOptions(t,{silentJSONParsing:validators.transitional(validators.boolean),forcedJSONParsing:validators.transitional(validators.boolean),clarifyTimeoutError:validators.transitional(validators.boolean)},!1);var r=[],n=!0;this.interceptors.request.forEach(function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(n=n&&t.synchronous,r.unshift(t.fulfilled,t.rejected))});var i,o=[];if(this.interceptors.response.forEach(function(e){o.push(e.fulfilled,e.rejected)}),!n){var a=[dispatchRequest,void 0];for(Array.prototype.unshift.apply(a,r),a=a.concat(o),i=Promise.resolve(e);a.length;)i=i.then(a.shift(),a.shift());return i}for(var s=e;r.length;){var c=r.shift(),l=r.shift();try{s=c(s)}catch(e){l(e);break}}try{i=dispatchRequest(s)}catch(e){return Promise.reject(e)}for(;o.length;)i=i.then(o.shift(),o.shift());return i},Axios$1.prototype.getUri=function(e){return e=mergeConfig$1(this.defaults,e),buildURL(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},utils$1.forEach(["delete","get","head","options"],function(e){Axios$1.prototype[e]=function(t,r){return this.request(mergeConfig$1(r||{},{method:e,url:t,data:(r||{}).data}))}}),utils$1.forEach(["post","put","patch"],function(e){Axios$1.prototype[e]=function(t,r,n){return this.request(mergeConfig$1(n||{},{method:e,url:t,data:r}))}});var Axios_1=Axios$1,CancelToken_1,hasRequiredCancelToken,spread,hasRequiredSpread,isAxiosError,hasRequiredIsAxiosError;function requireCancelToken(){if(hasRequiredCancelToken)return CancelToken_1;hasRequiredCancelToken=1;var e=requireCancel();function t(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var r;this.promise=new Promise(function(e){r=e});var n=this;this.promise.then(function(e){if(n._listeners){var t,r=n._listeners.length;for(t=0;r>t;t++)n._listeners[t](e);n._listeners=null}}),this.promise.then=function(e){var t,r=new Promise(function(e){n.subscribe(e),t=e}).then(e);return r.cancel=function(){n.unsubscribe(t)},r},t(function(t){n.reason||(n.reason=new e(t),r(n.reason))})}return t.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},t.prototype.subscribe=function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]},t.prototype.unsubscribe=function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}},t.source=function(){var e;return{token:new t(function(t){e=t}),cancel:e}},CancelToken_1=t}function requireSpread(){return hasRequiredSpread?spread:(hasRequiredSpread=1,spread=function(e){return function(t){return e.apply(null,t)}})}function requireIsAxiosError(){return hasRequiredIsAxiosError?isAxiosError:(hasRequiredIsAxiosError=1,isAxiosError=function(e){return"object"==typeof e&&!0===e.isAxiosError})}var utils=utils$8,bind=bind$2,Axios=Axios_1,mergeConfig=mergeConfig$2,defaults=requireDefaults();function createInstance(e){var t=new Axios(e),r=bind(Axios.prototype.request,t);return utils.extend(r,Axios.prototype,t),utils.extend(r,t),r.create=function(t){return createInstance(mergeConfig(e,t))},r}var axios$2=createInstance(defaults);axios$2.Axios=Axios,axios$2.Cancel=requireCancel(),axios$2.CancelToken=requireCancelToken(),axios$2.isCancel=requireIsCancel(),axios$2.VERSION=requireData().version,axios$2.all=function(e){return Promise.all(e)},axios$2.spread=requireSpread(),axios$2.isAxiosError=requireIsAxiosError(),axios$3.exports=axios$2,axios$3.exports.default=axios$2;var axiosExports=axios$3.exports,axios=axiosExports,axios$1=getDefaultExportFromCjs$1(axios);function ownKeys$2(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$2(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$2(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$2(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var MAX_MEDIA_SIZE=300,TranscodeStatusCode;function selectAndTranscodeFile(e){return new Promise(function(t,r){var n=e.onUploadProgress,i=e.onTranscodeProgress,o=e.accept,a=e.channelId,s=e.userId,c=e.appId,l=e.securityToken,u=e.gslb,d=e.targetType;Log.logInfo("RtcWhiteboard.uploadFile",o),selectFile(o,function(e){var o=e.name.split(".").pop()||"";return"pdf"===d&&o===d?uploadTempFile({file:e,channelId:a,userId:s,appId:c,securityToken:l,gslb:u,onProgress:n}).then(function(e){return t({pageCount:1,url:[e.url],fileName:e.fileName,docId:e.docId})},r):uploadFileForTranscode({file:e,channelId:a,userId:s,appId:c,securityToken:l,gslb:u,onProgress:n}).then(function(e){return transcodeFile({channelId:a,userId:s,appId:c,securityToken:l,gslb:u,targetType:d,docId:e.docId,onProgress:i}).then(function(r){t(_objectSpread$2(_objectSpread$2({},e),r))},r)})})})}function selectAndUploadTempFile(e){return new Promise(function(t,r){var n=e.onProgress,i=e.accept,o=e.channelId,a=e.userId,s=e.appId,c=e.securityToken,l=e.gslb;Log.logInfo("RtcWhiteboard.uploadFile",i),selectFile(i,function(e){return uploadTempFile({file:e,channelId:o,userId:a,appId:s,securityToken:c,gslb:l,onProgress:n}).then(t,r)})})}function uploadTempFile(e){var t=e.onProgress,r=e.file,n=e.channelId,i=e.userId,o=e.appId,a=e.securityToken,s=e.gslb;return new Promise(function(e,c){if(Log.logInfo("RtcWhiteboard.uploadFile"),r.size/1048576>MAX_MEDIA_SIZE){var l="file too large, up to ".concat(MAX_MEDIA_SIZE,"M, your file size is ").concat(r.size/1048576," M");return Log.logError("RtcWhiteboard.uploadFile: upload failed, ",l,n),c({code:-1,state:"err_file_too_large",message:l})}var u="".concat(formateDate(new Date,"yyyyMMdd-hhmmss"),".").concat(i||"",".").concat(n,".").concat(r.name);axios$1.request({url:"".concat(s,"/v1/file/init"),method:"POST",data:{channelId:n,userId:i,appId:o,securityToken:a,fileName:u}}).then(function(n){var i=n.data,o=i.docId,a=i.uploadUrl,s=i.uploadInfo,l=new FormData;l.append("policy",s.policy),l.append("OSSAccessKeyId",s.OSSAccessKeyId),l.append("signature",s.signature),l.append("key",s.key),l.append("file",r);var u=0,d=0;axios$1.request({url:a,data:l,method:"POST",headers:{"Content-Type":"multipart/form-data"},onUploadProgress:function(e){u=e.total,d=e.loaded,null==t||t({total:e.total,loaded:e.loaded})}}).then(function(){u!==d&&(null==t||t({total:u,loaded:u}));var i=r.name;try{i=decodeURI(escape(i))}catch(e){}e({docId:o,url:n.data.downloadUrl,fileName:i})}).catch(function(){return c({state:"upload_failed",code:-3,message:"file upload failed."})})}).catch(function(e){return Log.logError("RtcWhiteboard.uploadFile: upload failed, err_failed_fetch_upload_token",e,n),c({code:-2,state:"err_failed_fetch_upload_token",message:"file upload failed."})})})}function uploadFileForTranscode(e){var t=e.onProgress,r=e.file,n=e.channelId,i=e.userId,o=e.appId,a=e.securityToken,s=e.gslb;return new Promise(function(e,c){if(Log.logInfo("RtcWhiteboard.uploadFile"),r.size/1048576>MAX_MEDIA_SIZE){var l="file too large, up to ".concat(MAX_MEDIA_SIZE,"M, your file size is ").concat(r.size/1048576," M");return Log.logError("RtcWhiteboard.uploadFile: upload failed, ",l,n),c({code:-1,state:"err_file_too_large",message:l})}var u="".concat(formateDate(new Date,"yyyyMMdd-hhmmss"),".").concat(i||"",".").concat(n,".").concat(r.name);axios$1.request({url:"".concat(s,"/v1/docs/init"),method:"POST",data:{channelId:n,userId:i,appId:o,securityToken:a,fileName:u}}).then(function(n){var i=n.data,o=i.docId,a=i.uploadUrl,s=i.uploadInfo,l=new FormData;l.append("policy",s.policy),l.append("OSSAccessKeyId",s.OSSAccessKeyId),l.append("signature",s.signature),l.append("key",s.key),l.append("file",r);var u=0,d=0;axios$1.request({url:a,data:l,method:"POST",headers:{"Content-Type":"multipart/form-data"},onUploadProgress:function(e){u=e.total,d=e.loaded,null==t||t({total:e.total,loaded:e.loaded})}}).then(function(){u!==d&&(null==t||t({total:u,loaded:u}));var n=r.name;try{n=decodeURI(escape(n))}catch(e){}e({docId:o,fileName:n})}).catch(function(){return c({state:"upload_failed",code:-3,message:"file upload failed."})})}).catch(function(e){return Log.logError("RtcWhiteboard.uploadFile: upload failed, err_failed_fetch_upload_token",e,n),c({code:-2,state:"err_failed_fetch_upload_token",message:"file upload failed."})})})}function selectFile(e,t){var r=document.createElement("input");r.style.position="absolute",r.style.top="0",r.style.left="0",r.style.zIndex="-100",r.style.visibility="hidden",document.body.appendChild(r),r.type="file",r.accept=e,r.addEventListener("change",function(e){document.body.removeChild(r);var n=get(e,"target.files[0]");n&&t(n)}),r.click()}function mapTranscodeStatusCode(e){switch(e){case TranscodeStatusCode.INIT:return"init";case TranscodeStatusCode.PROCESSING:return"processing";case TranscodeStatusCode.FINISH:case TranscodeStatusCode.PARSED:return"success";default:return"failed"}}function transcodeFile(e){var t=e.onProgress,r=e.targetType,n=e.channelId,i=e.userId,o=e.appId,a=e.securityToken,s=e.gslb,c=e.docId;function l(){return new Promise(function(e,r){axios$1.request({url:"".concat(s,"/v1/docs/describe"),method:"POST",data:{channelId:n,userId:i,appId:o,securityToken:a,docId:c}}).then(function(n){return null==t||t(mapTranscodeStatusCode(n.data.status)),n.data.status===TranscodeStatusCode.FINISH||n.data.status===TranscodeStatusCode.PARSED?e(n.data):n.data.status===TranscodeStatusCode.FAILED?r(n):void setTimeout(function(){return l().then(e,r)},3e3)})})}return new Promise(function(e,t){axios$1.request({url:"".concat(s,"/v1/docs/start"),method:"POST",data:{channelId:n,userId:i,appId:o,securityToken:a,docId:c,targetType:r}}).then(function(r){var n;return 200===(null===(n=r.data)||void 0===n?void 0:n.statusCode)?l().then(e,t):t(r.data)}).catch(function(e){t(e)})})}!function(e){e[e.INIT=0]="INIT",e[e.PROCESSING=1]="PROCESSING",e[e.FINISH=2]="FINISH",e[e.PARSED=3]="PARSED",e[e.FAILED=-1]="FAILED"}(TranscodeStatusCode||(TranscodeStatusCode={}));var version$2="1.1.10",packageInfo={version:version$2};function saveLogs(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"".concat(formateDate(new Date,"yyyyMMdd-hhmmss"),".web-sdk.logs.gz"),t=new FileReader;t.readAsArrayBuffer(new Blob([JSON.stringify(window._dingrtc_wb_logs||[],null,2)],{type:"text/plain"})),t.onload=function(){var r=new Uint8Array(t.result),n=new File([r],e,{type:"application/x-gzip"}),i=document.createElement("a");i.href=window.URL.createObjectURL(n),i.download=e,i.style.display="none",document.body.appendChild(i),requestAnimationFrame(function(){i.click(),document.body.removeChild(i)})}}function _callSuper$a(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$a()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$a(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$a=function(){return!!e})()}var Page=function(e){function t(e){var r;return _classCallCheck$1(this,t),r=_callSuper$a(this,t),Object.defineProperty(r,"pageId",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(r,"shapes",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(r,"_backgroundColor",{enumerable:!0,configurable:!0,writable:!0,value:DEFAULT_BACKGROUND}),Object.defineProperty(r,"_backgroundImage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"_scale",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(r,"_translate",{enumerable:!0,configurable:!0,writable:!0,value:[0,0]}),Object.defineProperty(r,"history",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),r.history=new History,r}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"scale",get:function(){return this._scale},set:function(e){if(!isNumber$1(e))throw Error("scale must be a number");this._scale=e}},{key:"translate",get:function(){return this._translate},set:function(e){if(!Array.isArray(e))throw Error("translate must be an array");if(!isNumber$1(e[0])||!isNumber$1(e[1]))throw Error("translate must be an array of numbers");this._translate=e}},{key:"miny",get:function(){return-this.translate[1]/this.scale}},{key:"minx",get:function(){return-this.translate[0]/this.scale}},{key:"visibleShapes",get:function(){return this.shapes.filter(function(e){return e.visible})}},{key:"backgroundImage",get:function(){return this._backgroundImage},set:function(e){this._backgroundImage=e}},{key:"backgroundColor",get:function(){return this._backgroundColor},set:function(e){this._backgroundColor=e}},{key:"addShape",value:function(e){var t=this;this.shapes.push(e),e.on("requestRender",function(){t.emit("page-content-updated",t)}),this.emit("page-content-updated",this)}},{key:"getShapeBySeq",value:function(e,t){var r="".concat(t).concat(SHAPE_SEQ_LINK_STR).concat(e);return this.shapes.find(function(e){return e.shapeId===r})}},{key:"updateShapesOrder",value:function(){var e=[],t=[],r=[],n=[];this.shapes.forEach(function(i){"normal"===i.order?r.push(i):"bg"===i.order?n.push(i):"back"===i.order?t.push(i):"front"===i.order&&e.push(i)}),e=orderBy(e,"orderTime"),t=orderBy(t,"orderTime","desc"),r=orderBy(r,"orderTime"),n=orderBy(n,"orderTime"),this.shapes=[].concat(_toConsumableArray(n),_toConsumableArray(t),_toConsumableArray(r),_toConsumableArray(e))}},{key:"getShapes",value:function(){return[].concat(_toConsumableArray(this.shapes),_toConsumableArray(this.backgroundImage?[this.backgroundImage]:[]))}},{key:"clearShapes",value:function(){this.shapes.forEach(function(e){return e.destructor()}),this.shapes=[]}},{key:"clearPage",value:function(){this.clearShapes(),this.clearBackgroundImage(),this.history.clearAll()}},{key:"clearBackgroundImage",value:function(){this.backgroundImage&&(this.backgroundImage.destructor(),this.backgroundImage=void 0,this.emit("background-image-updated"))}},{key:"clearUserBackgroundImage",value:function(e){this.backgroundImage&&this.backgroundImage.creator===e&&(this.backgroundImage.destructor(),this.backgroundImage=void 0,this.emit("background-image-updated"))}},{key:"clearUserShapes",value:function(e){this.shapes=this.shapes.filter(function(t){return t.creator!==e||(t.destructor(),!1)}),this.history.clearUserHistory(e)}},{key:"removeShape",value:function(e){var t=findIndex(this.shapes,function(t){return t.shapeId===e});if(t>=0){var r=this.shapes[t];this.history.clearShapeHistory(r.shapeId),this.shapes.splice(t,1),r.destructor()}this.backgroundImage&&this.backgroundImage.shapeId===e&&(this.backgroundImage.destructor(),this.backgroundImage=void 0,this.emit("background-image-updated"))}},{key:"reset",value:function(){this.scale=1,this.translate=[0,0],this.backgroundColor=DEFAULT_BACKGROUND,this.backgroundImage=void 0,this.shapes.forEach(function(e){(e instanceof Video||e instanceof Audio)&&e.removeMediaDom(),e.destructor()}),this.clearShapes()}},{key:"export",value:function(){var e;return{pageId:this.pageId,scale:this.scale,translate:this.translate,backgroundColor:this.backgroundColor,backgroundImage:null===(e=this.backgroundImage)||void 0===e?void 0:e.export(),shapes:this.visibleShapes.map(function(e){return e.export()})}}},{key:"restoreShapes",value:function(e){var r=this,n=t.restoreShapes(e);return n.forEach(function(e){return e&&r.addShape(e)}),this.updateShapesOrder(),n}}],[{key:"restore",value:function(e){var r=new t(e.pageId);return r.scale=e.scale,r.translate=e.translate,r.backgroundColor=e.backgroundColor,r.backgroundImage=e.backgroundImage,this.restoreShapes(e.shapes).forEach(function(e){return e&&r.addShape(e)}),r.updateShapesOrder(),r}},{key:"restoreShapes",value:function(e){return e.map(function(e){var t;switch(e.type){case ShapeType.Pen:t=new Pen({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Arrow:t=new Arrow({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Audio:t=new Audio({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.mediaUrl);break;case ShapeType.Video:t=new Video({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.mediaUrl);break;case ShapeType.Ellipse:t=new Ellipse({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Image:var r=new Image$1({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.imgUrl);r.loadImage(),t=r;break;case ShapeType.Stamp:t=new Stamp({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.stampId,e.resizable,e.imgUrl);break;case ShapeType.Line:t=new Line({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Rect:t=new Rect({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Text:t=new Text({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle,e.text||"",e.fontStyle);break;case ShapeType.Triangle:t=new Triangle({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Rhombic:t=new Rhombic({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle)}return t&&(t.order=e.order,t.orderTime=e.orderTime),t}).filter(function(e){return!!e})}}])}(),tween={easeInQuad:function(e){return Math.pow(e,2)},easeOutQuad:function(e){return-(Math.pow(e-1,2)-1)},easeInOutQuad:function(e){return 1>(e/=.5)?.5*Math.pow(e,2):-.5*((e-=2)*e-2)},easeInCubic:function(e){return Math.pow(e,3)},easeOutCubic:function(e){return Math.pow(e-1,3)+1},easeInOutCubic:function(e){return 1>(e/=.5)?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},easeInQuart:function(e){return Math.pow(e,4)},easeOutQuart:function(e){return-(Math.pow(e-1,4)-1)},easeInOutQuart:function(e){return 1>(e/=.5)?.5*Math.pow(e,4):-.5*((e-=2)*Math.pow(e,3)-2)},easeInQuint:function(e){return Math.pow(e,5)},easeOutQuint:function(e){return Math.pow(e-1,5)+1},easeInOutQuint:function(e){return 1>(e/=.5)?.5*Math.pow(e,5):.5*(Math.pow(e-2,5)+2)},easeInSine:function(e){return 1-Math.cos(e*(Math.PI/2))},easeOutSine:function(e){return Math.sin(e*(Math.PI/2))},easeInOutSine:function(e){return-.5*(Math.cos(Math.PI*e)-1)},easeInExpo:function(e){return 0===e?0:Math.pow(2,10*(e-1))},easeOutExpo:function(e){return 1===e?1:1-Math.pow(2,-10*e)},easeInOutExpo:function(e){return 0===e?0:1===e?1:1>(e/=.5)?.5*Math.pow(2,10*(e-1)):.5*(2-Math.pow(2,-10*--e))},easeInCirc:function(e){return-(Math.sqrt(1-e*e)-1)},easeOutCirc:function(e){return Math.sqrt(1-Math.pow(e-1,2))},easeInOutCirc:function(e){return 1>(e/=.5)?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)},easeOutBounce:function(e){return 1/2.75>e?7.5625*e*e:2/2.75>e?7.5625*(e-=1.5/2.75)*e+.75:2.5/2.75>e?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInBack:function(e){var t=1.70158;return e*e*((t+1)*e-t)},easeOutBack:function(e){var t=1.70158;return(e-=1)*e*((t+1)*e+t)+1},easeInOutBack:function(e){var t=1.70158;return 1>(e/=.5)?e*e*((1+(t*=1.525))*e-t)*.5:.5*((e-=2)*e*((1+(t*=1.525))*e+t)+2)},elastic:function(e){return-1*Math.pow(4,-8*e)*Math.sin(2*Math.PI*(6*e-1)/2)+1},swingFromTo:function(e){var t=1.70158;return 1>(e/=.5)?e*e*((1+(t*=1.525))*e-t)*.5:.5*((e-=2)*e*((1+(t*=1.525))*e+t)+2)},swingFrom:function(e){var t=1.70158;return e*e*((t+1)*e-t)},swingTo:function(e){var t=1.70158;return(e-=1)*e*((t+1)*e+t)+1},bounce:function(e){return 1/2.75>e?7.5625*e*e:2/2.75>e?7.5625*(e-=1.5/2.75)*e+.75:2.5/2.75>e?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},bouncePast:function(e){return 1/2.75>e?7.5625*e*e:2/2.75>e?2-(7.5625*(e-=1.5/2.75)*e+.75):2.5/2.75>e?2-(7.5625*(e-=2.25/2.75)*e+.9375):2-(7.5625*(e-=2.625/2.75)*e+.984375)},easeFromTo:function(e){return 1>(e/=.5)?.5*Math.pow(e,4):-.5*((e-=2)*Math.pow(e,3)-2)},easeFrom:function(e){return Math.pow(e,4)},easeTo:function(e){return Math.pow(e,.25)},linear:function(e){return e},sinusoidal:function(e){return-Math.cos(e*Math.PI)/2+.5},reverse:function(e){return 1-e},spring:function(e){return 1-Math.cos(4.5*e*Math.PI)*Math.exp(6*-e)}};function _callSuper$9(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$9()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$9(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$9=function(){return!!e})()}var MAX_SCALE=5,MIN_SCALE=.1,DocBrowserMode,DocType;!function(e){e.flip="flip",e.scroll="scroll"}(DocBrowserMode||(DocBrowserMode={})),function(e){e.normal="normal",e.externalDoc="externalDoc",e.h5="h5",e.pdf="pdf"}(DocType||(DocType={}));var BaseDoc=function(e){function t(e){var r;return _classCallCheck$1(this,t),r=_callSuper$9(this,t),Object.defineProperty(r,"createdEventNotEmited",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(r,"docId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"creator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"pageVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"fileKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"pages",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(r,"previousPageIndex",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(r,"curPageId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"maxSeq",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(r,"_browseMode",{enumerable:!0,configurable:!0,writable:!0,value:DocBrowserMode.flip}),Object.defineProperty(r,"disableScale",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(r,"pageSize",{enumerable:!0,configurable:!0,writable:!0,value:{width:1920,height:1080}}),Object.defineProperty(r,"_scrollPages",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(r,"sizeConfig",{enumerable:!0,configurable:!0,writable:!0,value:{width:0,height:0,limited:!1}}),Object.defineProperty(r,"onPageUpdated",{enumerable:!0,configurable:!0,writable:!0,value:function(e){e===r.currentPage&&r.requestRender()}}),Object.defineProperty(r,"updateBoardWithNewScale",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t,n,i){"scroll"===r.browseMode&&(t=i.width/2,n=i.height/2);var o=r.scale,a=e>MAX_SCALE?MAX_SCALE:MIN_SCALE>e?MIN_SCALE:e;"scroll"===r.browseMode&&r.disableScale&&(a=i.height/r.pageSize.height>i.width/r.pageSize.width?i.width/r.pageSize.width:i.height/r.pageSize.height);var s=t-(t-r.translate[0])/o*a,c=n-(n-r.translate[1])/o*a,l=s,u=c;if(r.isSizeLimited||"scroll"===r.browseMode){var d=r.getSizeConfigLimitSize(i),p=r.getPotentialViewportPosition([s,c],e,i);if(d.minScale>=a){if(r.setScaleAndTranslate(d.minScale,r.translate,!1,i),"flip"===r.browseMode){var h=r.getLimitedTranslate(d.minScale,d,i);r.setTranslate(h.minX,h.minY,i,!1,0)}return}if("flip"===r.browseMode){var f=r.getLimitedTranslate(a,d,i);p.minY+1>d.minY||(u=f.minY),p.minX+1>d.minX||(l=f.minX),d.maxX>p.maxX-1||(l=f.maxX),d.maxY>p.maxY-1||(u=f.maxY)}}r.setScaleAndTranslate(a,[l,u],!1,i)}}),e.sizeConfig&&r.setSizeConfig(e.sizeConfig),r.docId=e.docId,r.name=e.name,r.creator=e.creator,r.curPageId=e.curPageId,r.pageVersion=e.pageVersion,r.fileKey=e.fileKey,r.browseMode=e.browseMode||DocBrowserMode.flip,r}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"browseMode",get:function(){return this._browseMode},set:function(e){this._browseMode=e}},{key:"scrollPages",get:function(){return this._scrollPages},set:function(e){this._scrollPages=e,this.emit("page-index-changed",this.docId)}},{key:"width",get:function(){return this.pageSize.width}},{key:"scrollPageHeight",get:function(){return this.pageSize.height}},{key:"scrollHeight",get:function(){return this.pageSize.height*this.totalPages}},{key:"y",get:function(){var e;return(null===(e=this.pages[0])||void 0===e?void 0:e.miny)||0}},{key:"currentPageIndex",get:function(){return"scroll"===this.browseMode?Math.floor(this.y/this.pageSize.height):findIndex(this.pages,{pageId:this.curPageId})},set:function(e){if(0>e||e>=this.pages.length)throw Error("page index out of range");if(this.browseMode===DocBrowserMode.flip){var t=this.pages[e].pageId;t!==this.curPageId&&(this.curPageId=t,this.emit("page-index-changed",this.docId))}}},{key:"currentPage",get:function(){return"scroll"===this.browseMode?this.pages[0]:this.pages[this.currentPageIndex]}},{key:"totalPages",get:function(){return"flip"===this.browseMode?this.pages.length:this.scrollPages}},{key:"scale",get:function(){return this.currentPage.scale}},{key:"translate",get:function(){return _toConsumableArray(this.currentPage.translate)}},{key:"setSizeConfig",value:function(e){this.sizeConfig=e}},{key:"isSizeLimited",get:function(){return this.sizeConfig.limited}},{key:"getPageByPageId",value:function(e){return find(this.pages,{pageId:e})}},{key:"getPageIndexByPageId",value:function(e){return findIndex(this.pages,{pageId:e})}},{key:"getPages",value:function(){return this.pages}},{key:"getPageAtIndex",value:function(e){return this.pages[e]}},{key:"generateNewPageId",value:function(){return"".concat(this.docId,"-").concat(++this.maxSeq)}},{key:"addPage",value:function(e){this.pages.splice(arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.pages.length,0,e),this.setUpPageListeners(e),this.emit("page-index-changed",this.docId)}},{key:"removePage",value:function(e){this.pages[e].reset(),this.pages.splice(e,1),this.emit("page-index-changed",this.docId)}},{key:"setUpPageListeners",value:function(e){e.off("page-content-updated",this.onPageUpdated),e.on("page-content-updated",this.onPageUpdated)}},{key:"requestRender",value:function(){this.emit("requestRender",this.docId)}},{key:"regenerate",value:function(e){var t=this,r=this.pages;this.pages=[],this.pages=e.map(function(e){var n=find(r,{pageId:e});return n||(n=new Page(e),t.setUpPageListeners(n)),n})}},{key:"setScrollY",value:function(e,t){this.setTranslate(this.translate[0],-e*this.scale,t)}},{key:"setTranslate",value:function(e,t,r){var n=this,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:400;if(this.isSizeLimited||"scroll"===this.browseMode){var a=this.getSizeConfigLimitSize(r),s=this.getPotentialViewportPosition([e,t],this.scale,r),c=this.getLimitedTranslate(this.scale,a,r);if(a.minY>=s.minY+1)return this.setScaleAndTranslate(this.scale,[this.translate[0],c.minY],!1,r),void this.requestRender();if(a.minX>=s.minX+1)return this.setScaleAndTranslate(this.scale,[c.minX,this.translate[1]],!1,r),void this.requestRender();if(s.maxX-1>=a.maxX)return this.setScaleAndTranslate(this.scale,[c.maxX,this.translate[1]],!1,r),void this.requestRender();if(s.maxY-1>=a.maxY)return this.setScaleAndTranslate(this.scale,[this.translate[0],c.maxY],!1,r),void this.requestRender()}if(i){var l=e-this.translate[0],u=t-this.translate[1],d=1/(o/RENDER_INTEVAL),p=0,h=_slicedToArray(this.currentPage.translate,2),f=h[0],g=h[1],y=setInterval(function(){n.setScaleAndTranslate(n.scale,[f+tween.easeInOutCubic(p)*l,g+tween.easeInOutCubic(p)*u],!1,r),p+=d,n.requestRender()},RENDER_INTEVAL);setTimeout(function(){clearInterval(y),n.setScaleAndTranslate(n.scale,[e,t],!1,r),n.requestRender()},o)}else this.setScaleAndTranslate(this.scale,[e,t],!1,r)}},{key:"setScale",value:function(e){var t=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;1>=arguments.length||void 0===arguments[1]||arguments[1]?this.updateBoardWithNewScale(e,r?r.x:t.width/2,r?r.y:t.height/2,t):this.updateBoardWithNewScale(e,0,0,t)}},{key:"setScaleAndTranslate",value:function(e,t){var r=arguments.length>3?arguments[3]:void 0,n=e;arguments.length>2&&void 0!==arguments[2]&&arguments[2]&&(n=e>MAX_SCALE?MAX_SCALE:MIN_SCALE>e?MIN_SCALE:e),this.currentPage.scale=n,this.sharePageSize&&this.getPages().forEach(function(e){e.scale=n});var i=t[0],o=t[1];if("scroll"===this.browseMode){i=(r.width-this.width*this.scale)/2,o>0&&(o=0);var a=(r.height/this.scale-this.scrollHeight)*this.scale;a>o&&(o=a)}i===this.translate[0]&&o===this.translate[1]||(this.currentPage.translate[0]=i,this.currentPage.translate[1]=o,this.sharePageSize&&this.getPages().forEach(function(e){e.translate[0]=i,e.translate[1]=o}),this.emit("viewport-updated",this.docId),"scroll"===this.browseMode&&this.previousPageIndex!==this.currentPageIndex&&(this.previousPageIndex=this.currentPageIndex,this.emit("page-index-changed",this.docId)),this.requestRender())}},{key:"setDocViewport",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.currentPage,n=e.width,i=e.height,o=e.minx,a=e.miny,s=0;s=t.height/i>t.width/n?t.width/n:t.height/i,r===this.currentPage?this.setScaleAndTranslate(s,[-o*s-(n*s-t.width)/2,-a*s-(i*s-t.height)/2],!1,t):(r.scale=s,r.translate=[-o*s-(n*s-t.width)/2,-a*s-(i*s-t.height)/2])}},{key:"getSizeConfigLimitSize",value:function(e){var t=this.sizeConfig,r=t.width,n=t.height;"scroll"===this.browseMode&&(r=this.width,n=this.scrollHeight);return{minScale:e.width/r>e.height/n?e.width/r:e.height/n,maxWidth:r,maxHeight:n,minX:0,maxX:r,minY:0,maxY:n}}},{key:"getPotentialViewportPosition",value:function(e,t,r){return{minX:-e[0]/t,minY:-e[1]/t,maxX:r.width/t-e[0]/t,maxY:r.height/t-e[1]/t}}},{key:"getLimitedTranslate",value:function(e,t,r){return{minX:-t.minX*e,minY:-t.minY*e,maxX:(r.width/e-t.maxX)*e,maxY:(r.height/e-t.maxY)*e}}},{key:"scaleBoardFitBackgroundImage",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.currentPage,t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,n=e.backgroundImage;if(n&&n.width&&t){var i=n.width,o=n.height;if(this.isSizeLimited&&(i=this.sizeConfig.width,o=this.sizeConfig.height),"auto"===r){var a=t.width/i;a>MAX_SCALE?a=MAX_SCALE:MIN_SCALE>a&&(a=MIN_SCALE);var s=t.height/o;s>MAX_SCALE?s=MAX_SCALE:MIN_SCALE>s&&(s=MIN_SCALE),a>s?(e.scale=s,e.translate[0]=t.width/2-i/2*e.scale,e.translate[1]=0):(e.scale=a,e.translate[0]=0,e.translate[1]=t.height/2-o/2*e.scale)}else"fillWidth"===r?(e.scale=t.width/i,e.translate[0]=0,e.translate[1]=0):"fillHeight"===r&&(e.scale=t.height/o,e.translate[0]=0,e.translate[1]=0);this.emit("viewport-updated",this.docId),e===this.currentPage&&this.isSizeLimited&&this.updateBoardWithNewScale(this.scale,0,0,t),this.emit("requestRender",this.docId)}}},{key:"getDocViewportPosition",value:function(e){var t=this.currentPage;return{minx:t.minx,miny:t.miny,maxx:e.width/t.scale+t.minx,maxy:e.height/t.scale+t.miny}}},{key:"export",value:function(){return{docId:this.docId,name:this.name,creator:this.creator,pageIndex:this.currentPageIndex,pageVersion:this.pageVersion,pages:this.pages.map(function(e){return e.export()}),fileKey:this.fileKey}}},{key:"toJson",value:function(){return{docId:this.docId,name:this.name,creator:this.creator,pageIndex:this.currentPageIndex,pageLength:this.pages.length,fileKey:this.fileKey}}},{key:"clear",value:function(){this.pages.forEach(function(e){e.reset(),e.clearPage()})}},{key:"clearPageById",value:function(e){var t=this.getPageByPageId(e);null==t||t.clearPage()}},{key:"clearUserShapes",value:function(e){this.pages.forEach(function(t){t.clearUserShapes(e)})}},{key:"clearUserBackgroundImage",value:function(e){this.pages.forEach(function(t){t.clearUserBackgroundImage(e)})}},{key:"reset",value:function(){this.clear()}}])}();function _callSuper$8(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$8()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$8(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$8=function(){return!!e})()}var ExternalDoc=function(e){function t(e){var r;return _classCallCheck$1(this,t),r=_callSuper$8(this,t,[e]),Object.defineProperty(r,"externalDocWidth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"externalDocHeight",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),r.externalDocWidth=e.width,r.externalDocHeight=e.height,r}return _inherits$1(t,BaseDoc),_createClass$1(t,[{key:"width",get:function(){return this.externalDocWidth}},{key:"type",get:function(){return t.DOC_TYPE}},{key:"sharePageSize",get:function(){return!1}},{key:"canModifyPage",get:function(){return!0}}])}();function createSkeleton(){var e=document.createElement("div");return e.className="p-pdf-skeletons",e.appendChild(Skeleton()),e.appendChild(Skeleton()),e}function Skeleton(){var e=document.createElement("div");e.className="p-pdf-skeleton";var t=document.createElement("div");t.className="p-pdf-skeleton__avator";var r=document.createElement("div");return r.className="p-pdf-skeleton__content",e.appendChild(t),e.appendChild(r),e}function _callSuper$7(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$7()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$7(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$7=function(){return!!e})()}function _superPropGet$1(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return"function"==typeof i?function(e){return i.apply(r,e)}:i}function findPageIndex(e,t){for(var r=0,n=t.length;n>r;){var i=Math.floor((r+n)/2);t[i]>e?n=i:r=i+1}return r}Object.defineProperty(ExternalDoc,"DOC_TYPE",{enumerable:!0,configurable:!0,writable:!0,value:DocType.externalDoc});var PdfDoc=function(e){function t(e,r){var n;return _classCallCheck$1(this,t),n=_callSuper$7(this,t,[e]),Object.defineProperty(n,"pdfViewer",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(n,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"lastSyncY",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(n,"currentPageMem",{enumerable:!0,configurable:!0,writable:!0,value:{index:0,top:0,bottom:1280}}),Object.defineProperty(n,"lazyLoadPdfPage",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(e){if("loaded"===n.pdfViewer.state){var t=n.getPdfVisiblePage(e);if(t)for(var r=t.start,i=t.end,o=t.pagesNum,a=n.pdfViewer.domRef,s=0;o>s;s++){var c,l=n.pdfViewer.pdfPages.get(s);if(!l)return;if(s<r||i<s)null===(c=l.domRef.parentNode)||void 0===c||c.removeChild(l.domRef);else l.domRef.parentNode||a.appendChild(l.domRef)}}},300)}),Object.defineProperty(n,"lazyRenderPdfPage",{enumerable:!0,configurable:!0,writable:!0,value:debounce(function(e){if("loaded"===n.pdfViewer.state){var t=n.getPdfVisiblePage(e);if(t)for(var r,i=t.start,o=t.end,a=t.pagesNum,s=function(e){var t=n.pdfViewer.pdfPages.get(e);if(!t)return{v:void 0};if(!(i>e||e>o||t.rendered||t.rendering)){t.rendering=!0;var r=Date.now();renderPdfPage(t.viewport,t.pdfProxy).then(function(i){var o;t.img.src=i,t.rendered=!0,t.rendering=!1,t.domRef.appendChild(t.img),null===(o=t.skeleton.parentNode)||void 0===o||o.removeChild(t.skeleton),Log.logInfo("RtcWhiteboard.lazyLoadPdf page render success, page",e,"cost",Date.now()-r,n.name,n.docId)}).catch(function(e){console.error(e),Log.logInfo("RtcWhiteboard.lazyLoadPdf page render failed",n.name,n.docId)})}},c=0;a>c;c++)if(r=s(c))return r.v}},100)}),n.url=r.url,n}return _inherits$1(t,BaseDoc),_createClass$1(t,[{key:"browseMode",get:function(){return DocBrowserMode.scroll},set:function(e){this._browseMode=DocBrowserMode.scroll}},{key:"type",get:function(){return t.DOC_TYPE}},{key:"sharePageSize",get:function(){return!1}},{key:"canModifyPage",get:function(){return!1}},{key:"width",get:function(){return this.pdfViewer.width}},{key:"scrollHeight",get:function(){return this.pdfViewer.totalHeight}},{key:"isInCurrentMemPage",value:function(){return this.y>=this.currentPageMem.top&&this.currentPageMem.bottom>this.y}},{key:"currentPageIndex",get:function(){if(this.isInCurrentMemPage())return this.currentPageMem.index;var e=findPageIndex(this.y,this.pdfViewer.pageHightList);return this.currentPageMem={index:e,top:this.pdfViewer.pageHightList[e-1]||0,bottom:this.pdfViewer.pageHightList[e]||0},e}},{key:"load",value:(r=_asyncToGenerator$1(_regeneratorRuntime$1.mark(function e(){var t=this;return _regeneratorRuntime$1.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.pdfViewer.state="loading",this.createPdfLoadingPage(),Whiteboard.PdfPlugin){e.next=1;break}return Log.logError("RtcWhiteboard: you have not set the pdf plugin, please add pdf plugin to resolve pdf file."),e.abrupt("return",Promise.reject("RtcWhiteboard load pdf error, because you have not set pdf plugin."));case 1:return e.abrupt("return",Whiteboard.PdfPlugin.loadPdf(this.url,this).then(function(){t.pdfViewer.state="loaded"}).then(function(){t.currentPageMem={index:0,top:0,bottom:t.pdfViewer.pageHightList[0]},t.emit("page-index-changed",t.docId)}).catch(function(e){Log.logError("RtcWhiteboard.handlePdfResource getDocument failed",t.docId,t.name,e)}));case 2:case"end":return e.stop()}},e,this)})),function(){return r.apply(this,arguments)})},{key:"setScrollY",value:function(e,r){_superPropGet$1(t,"setScrollY",this)([e,r]),this.isInCurrentMemPage()||this.emit("page-index-changed",this.docId)}},{key:"setScaleAndTranslate",value:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0;"loaded"===this.pdfViewer.state&&_superPropGet$1(t,"setScaleAndTranslate",this)([e,r,n,i])}},{key:"createPdfLoadingPage",value:function(){var e=this.pdfViewer.domRef,t=this.width;this.pdfViewer.totalHeight=t;var r=document.createElement("div");r.className="dingrtc-pdf-viewer__page",e.appendChild(r),r.style.width="".concat(this.width||0,"px"),r.style.height="".concat(t,"px"),r.style.top="".concat(0,"px"),r.setAttribute("data-h","".concat(t));var n=createSkeleton();r.appendChild(n)}},{key:"centerPdfDoc",value:function(){Log.logInfo("RtcWhiteboard.centerPdfDoc",this.docId,this.name);var e=0/this.width;this.getPages().forEach(function(t){t.scale=e,t.translate[0]=0}),this.emit("requestRender",this.docId)}},{key:"getPdfVisiblePage",value:function(e){var t;if("loaded"===this.pdfViewer.state){for(var r=this.pdfViewer.pdfPages.size,n=this.getDocViewportPosition(e),i=-1,o=r-1,a=0;r>a;a++){var s=this.pdfViewer.pdfPages.get(a);if(!s)return;if(-1===i&&s.top>n.miny&&(i=a-1),s.top>=n.maxy){o=a-1;break}}-1===i&&(i=r-1);var c=0>i-3?0:i-3,l=o+3>r?r:o+3;return i!==(null===(t=this.pdfViewer)||void 0===t?void 0:t.pageIndex)&&(this.pdfViewer.pageIndex=i),{pagesNum:r,start:c,end:l,firstVisibleIndex:i,lastVisibleIndex:o}}}}]);var r}();function _callSuper$6(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$6()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$6(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$6=function(){return!!e})()}Object.defineProperty(PdfDoc,"DOC_TYPE",{enumerable:!0,configurable:!0,writable:!0,value:DocType.pdf});var DefaultDoc=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$6(this,t,arguments)}return _inherits$1(t,BaseDoc),_createClass$1(t,[{key:"type",get:function(){return t.DOC_TYPE}},{key:"sharePageSize",get:function(){return!1}},{key:"canModifyPage",get:function(){return!0}}],[{key:"restore",value:function(e){var r=new t({docId:e.docId,name:e.name,creator:e.creator,curPageId:e.curPageId,pageVersion:e.pageVersion,fileKey:e.fileKey,browseMode:e.browseMode});return e.pages.map(function(e){return Page.restore(e)}).forEach(function(e){return r.addPage(e)}),r}}])}();function _callSuper$5(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$5()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$5(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$5=function(){return!!e})()}Object.defineProperty(DefaultDoc,"DOC_TYPE",{enumerable:!0,configurable:!0,writable:!0,value:DocType.normal});var DocManager=function(e){function t(){var e;return _classCallCheck$1(this,t),e=_callSuper$5(this,t),Object.defineProperty(e,"browseMode",{enumerable:!0,configurable:!0,writable:!0,value:DocBrowserMode.flip}),Object.defineProperty(e,"docs",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"_activeDocId",{enumerable:!0,configurable:!0,writable:!0,value:DEFAULT_DOC_ID}),Object.defineProperty(e,"onDocRequestRender",{enumerable:!0,configurable:!0,writable:!0,value:function(t){e.activeDocId===t&&e.emit("requestRender")}}),Object.defineProperty(e,"onViewportUpdate",{enumerable:!0,configurable:!0,writable:!0,value:function(t){e.activeDocId===t&&e.emit("viewport-updated")}}),Object.defineProperty(e,"onPageIndexChanged",{enumerable:!0,configurable:!0,writable:!0,value:function(t){e.activeDocId===t&&(e.emit("viewport-updated"),e.emit("page-index-changed",e.activeDocId,e.activeDoc.currentPageIndex,e.activeDoc.totalPages))}}),e.setup(),e}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"switchActiveDoc",value:function(e){if(!this.getDocByDocId(e))throw Error("docId ".concat(e," not found"));this._activeDocId!==e&&(this._activeDocId=e,this.emit("viewport-updated"),this.emit("doc-switched"),this.emit("requestRender"))}},{key:"activeDocId",get:function(){return this._activeDocId}},{key:"activeDoc",get:function(){return find(this.docs,{docId:this.activeDocId})||this.docs[0]}},{key:"setBrowserMode",value:function(e){var t=1>=arguments.length||void 0===arguments[1]||arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{width:1920,height:1080};if("flip"!==e&&"scroll"!==e)throw Error("setBrowserMode: mode must be flip or scroll");var i=this.getDocByDocId(DEFAULT_DOC_ID);i.browseMode=e,"scroll"===e&&i&&(i.disableScale=t,i.scrollPages=r,i.pageSize=n)}},{key:"addDoc",value:function(e){this.docs.push(e),this.emit("doc-created",e.docId),e.on("requestRender",this.onDocRequestRender),e.on("viewport-updated",this.onViewportUpdate),e.on("page-index-changed",this.onPageIndexChanged)}},{key:"deleteDoc",value:function(e){e.reset(),this.docs.splice(this.docs.indexOf(e),1),this.emit("doc-deleted",e.docId)}},{key:"deleteDocByDocId",value:function(e){var t=this.getDocByDocId(e);t&&this.deleteDoc(t)}},{key:"getDocByDocId",value:function(e){return find(this.docs,{docId:e})}},{key:"getDocByPageId",value:function(e){var t=e.split("-"),r=t.slice(0,t.length-1).join("-");return find(this.docs,{docId:r})}},{key:"getDocs",value:function(){return this.docs}},{key:"setup",value:function(){this.docs.forEach(function(e){return e.reset()}),this.docs=[];var e="".concat(DEFAULT_DOC_ID,"-1"),t=new DefaultDoc({docId:DEFAULT_DOC_ID,name:"default",creator:"0",curPageId:e,pageVersion:0,browseMode:this.browseMode});t.addPage(new Page(e)),this.addDoc(t)}},{key:"handleDocCommnad",value:function(e,t,r,n){this.getDocByDocId(e.moziMessageIdDTO.messageId)||this.createDocFromCommand(e,r,n),this.updateDocFromCommand(e,t,r)}},{key:"handlePdfResource",value:function(e,t,r){var n=this,i=this.getDocByDocId(e.moziMessageIdDTO.messageId);if(e.message.url&&i){"notloaded"===i.pdfViewer.state&&i.load().then(function(){n.centerPdfDoc(i,r),i.pdfViewer.state="loaded",i.docId===n.activeDocId&&(i.lazyLoadPdfPage(r),i.lazyRenderPdfPage(r)),i.setTranslate(i.translate[0],-i.pdfViewer.y*i.scale,r,!1,0)}).catch(function(){n.emit("doc-load-failed",i.docId,i.name)});var o=parseInt(e.message.y||"-1");t||-1===o||(i.pdfViewer.y=o||0,i.lastSyncY=o,i.docId===this.activeDocId?i.setTranslate(i.translate[0],-o*i.scale,r):i.currentPage.translate[1]=-o*i.scale)}else Log.logError("RtcWhiteboard.handlePdfResource doc not found",e)}},{key:"centerPdfDoc",value:function(e,t){Log.logInfo("RtcWhiteboard.centerPdfDoc",e.docId,e.name);var r=t.width/e.width;e.getPages().forEach(function(e){e.scale=r,e.translate[0]=0}),this.emit("requestRender")}},{key:"updateDocFromCommand",value:function(e,t,r){var n=this.getDocByDocId(e.moziMessageIdDTO.messageId);if(n){var i=n.currentPageIndex,o=n.getPages().length;n.name=e.message.name||n.name,n.pageVersion=e.version,n.fileKey=e.message.fileKey||n.fileKey,n.regenerate(e.message.pagelist.split(" ")),n.curPageId=e.message.curpage,"pdf"===e.message.docType&&this.handlePdfResource(e,t,r),i===n.currentPageIndex&&o===n.getPages().length||n.emit("page-index-changed",n.docId),this.emit("requestRender")}}},{key:"createDocFromCommand",value:function(e,t,r){Log.logInfo("RtcWhiteboard.createDocFromCommand",e);var n,i={docId:e.moziMessageIdDTO.messageId,name:e.message.name,creator:e.message.creator,curPageId:e.message.curpage,pageVersion:e.version||0,fileKey:e.message.fileKey,sizeConfig:r,browseMode:e.message.docType===DocType.pdf?DocBrowserMode.scroll:DocBrowserMode.flip};switch(e.message.docType||"normal"){case"normal":n=new DefaultDoc(i);break;case"pdf":n=new PdfDoc(i,{pageIndex:0,url:e.message.url,width:this.activeDoc.isSizeLimited&&this.activeDoc.sizeConfig.width?this.activeDoc.sizeConfig.width:PDF_DEFALT_WIDTH,totalHeight:PDF_DEFALT_WIDTH,pdfPages:new Map,domRef:document.createElement("div"),state:"notloaded",y:0,pageHightList:[]}),this.centerPdfDoc(n,t)}if(void 0!==n)return this.addDoc(n),n;throw Error("createDocFromCommand: unknown docType")}},{key:"reset",value:function(){this.setup()}}])}(),WBClearType;function _callSuper$4(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$4()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$4(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$4=function(){return!!e})()}!function(e){e.All="all",e.DRAWS="draws",e.BACKGROUND_IMAGE="backgroundImage"}(WBClearType||(WBClearType={}));var version$1=packageInfo.version,PanMoveType;!function(e){e[e.none=0]="none",e[e.insertShape=1]="insertShape",e[e.moveShape=2]="moveShape",e[e.resizeShape=3]="resizeShape",e[e.moveBoard=4]="moveBoard",e[e.selectShape=5]="selectShape"}(PanMoveType||(PanMoveType={}));var MEDIA_DOM_WIDTH=350,VIDEO_DOM_HEIGHT=220,AUDIO_DOM_HEIGHT=80,EVENT_CAPTURE_RATE=40,Whiteboard=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";_classCallCheck$1(this,t),e=_callSuper$4(this,t),Object.defineProperty(e,"sessionId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(e,"isOpen",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"_everOpened",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"bSharingVision",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"_lockVisonUserId",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(e,"_prevPenetrable",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"lastMediaStates",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"connection",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"cwSnapshotCbMap",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(e,"stampId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"tabletScale",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(e,"tabletMatchMode",{enumerable:!0,configurable:!0,writable:!0,value:"fitWidth"}),Object.defineProperty(e,"tabletTranslate",{enumerable:!0,configurable:!0,writable:!0,value:[0,0]}),Object.defineProperty(e,"isWhiteboardOpen",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"_penetrable",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"_cursorSyncEnabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"sizeLimitVisible",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"tabletWriteMode",{enumerable:!0,configurable:!0,writable:!0,value:"static"}),Object.defineProperty(e,"_innerEventhub",{enumerable:!0,configurable:!0,writable:!0,value:new EventEmitter}),Object.defineProperty(e,"pinchShapeCenter",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0}}),Object.defineProperty(e,"lastPanMoveDelta",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0}}),Object.defineProperty(e,"pinchBoardOriginalScale",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(e,"wheelDsiabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"frameRenderRateInterval",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"wrapperDomRect",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"bgImg",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("img")}),Object.defineProperty(e,"textArea",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("textarea")}),Object.defineProperty(e,"renderFPS",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(e,"wbWrapperDom",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(e,"pdfWrapper",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(e,"insertingShape",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"hammer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"metricsBuffer",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"sendMetricsTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"clearLaserPointerId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"panMoveType",{enumerable:!0,configurable:!0,writable:!0,value:PanMoveType.none}),Object.defineProperty(e,"natureObjSeq",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(e,"selectIndicator",{enumerable:!0,configurable:!0,writable:!0,value:new SelectIndicator}),Object.defineProperty(e,"eraserIndicator",{enumerable:!0,configurable:!0,writable:!0,value:new EraserIndicator}),Object.defineProperty(e,"_shiftPressing",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"sizeConfig",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"_scaleAndMoveDisabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"isShapesVisible",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(e,"laserPointers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"cursors",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"_visionLockInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"pinchEndTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(e,"scrollToScale",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(e,"_bFollowVision",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"docManager",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"_cursorSyncType",{enumerable:!0,configurable:!0,writable:!0,value:"write"}),Object.defineProperty(e,"originalTranslate",{enumerable:!0,configurable:!0,writable:!0,value:[0,0]}),Object.defineProperty(e,"originalDragStartPonit",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0}}),Object.defineProperty(e,"renderer",{enumerable:!0,configurable:!0,writable:!0,value:new Renderer(e)}),Object.defineProperty(e,"failoverShapeCache",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(e,"failoverDocCache",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(e,"strokeStyle",{enumerable:!0,configurable:!0,writable:!0,value:"rgba(33,212,183,1)"}),Object.defineProperty(e,"fillStyle",{enumerable:!0,configurable:!0,writable:!0,value:DEFAULT_FILL_COLOR}),Object.defineProperty(e,"fillType",{enumerable:!0,configurable:!0,writable:!0,value:ShapeFillType.color}),Object.defineProperty(e,"_lineWidth",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(e,"dashed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"italic",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"bold",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"_fontSize",{enumerable:!0,configurable:!0,writable:!0,value:18}),Object.defineProperty(e,"bgScaleMode",{enumerable:!0,configurable:!0,writable:!0,value:"auto"}),Object.defineProperty(e,"_role",{enumerable:!0,configurable:!0,writable:!0,value:"Attendee"}),Object.defineProperty(e,"insertType",{enumerable:!0,configurable:!0,writable:!0,value:ShapeType.Pen}),Object.defineProperty(e,"multiSelecetedShapes",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"_selectedShape",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"onHistoryChanged",{enumerable:!0,configurable:!0,writable:!0,value:function(t){e.emit("history-changed",t.undo,t.redo)}}),Object.defineProperty(e,"onActiveDocSwitched",{enumerable:!0,configurable:!0,writable:!0,value:function(){if(e.checkDocAndSetPenetrable(e.insertType),e.onActivePageChanged(),e.pdfWrapper.innerHTML="",e.activeDoc instanceof PdfDoc){var t,r,n;if(Log.logInfo("showPdfView"),null===(t=e.activeDoc.pdfViewer)||void 0===t||!t.domRef||(null===(r=e.activeDoc.pdfViewer)||void 0===r?void 0:r.domRef.parentNode)===e.pdfWrapper)return;e.pdfWrapper.appendChild(null===(n=e.activeDoc.pdfViewer)||void 0===n?void 0:n.domRef),e.lazyLoadPdfPage(),e.lazyRenderPdfPage()}e.emit("doc-switched",e.docManager.activeDocId)}}),Object.defineProperty(e,"onActivePageChanged",{enumerable:!0,configurable:!0,writable:!0,value:function(){e.setUpHistoryListener(),e.selectedShape&&(e.selectedShape.interactionStatus=InteractionStatusType.default,e.selectedShape=void 0),e.docManager.getDocs().forEach(function(t){return t.getPages().forEach(function(r){return r.getShapes().forEach(function(n){(n instanceof Video||n instanceof Audio)&&(r.pageId===e.currentPage.pageId&&t.docId===e.docManager.activeDocId||n.removeMediaDom())})})}),e.shouldUpdateViewAfterSizeChange?(e._bFollowVision&&e._visionLockInfo&&e.activeDoc.setDocViewport(e._visionLockInfo,e.getWrapperDomRect()),"externalDoc"===e.activeDoc.type&&e.updateCustomDocPosition(e.activeDoc),e.render()):e._updateBoardWithNewScale(e.scale,0,0),e.emit("page-index-changed",e.activeDocId,e.pageIndex,e.activeDoc.totalPages),e.emit("history-changed",e.history.canUndo(),e.history.canRedo())}}),Object.defineProperty(e,"addPage",{enumerable:!0,configurable:!0,writable:!0,value:function(){return e.insertPage(e.pageIndex,0>=arguments.length||void 0===arguments[0]||arguments[0])}}),Object.defineProperty(e,"removePage",{enumerable:!0,configurable:!0,writable:!0,value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e.pageIndex,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.docManager.activeDocId;if(Log.logInfo("RtcWhiteboard.removePage",t,r),!e.isConnected)throw new DingRTCError(ErrorCode.InvaildState);var n,i=e.docManager.getDocByDocId(r);if(!i)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not found");if(!i.canModifyPage)throw new DingRTCError(ErrorCode.InvaildArgument,"doc can not modify");if(i.browseMode===DocBrowserMode.scroll)e.removeScrollDocShapesByScrollY(i,i.scrollPages-1),i.scrollPages=i.scrollPages-1,null===(n=e.connection)||void 0===n||n.sendDocResourceMessage(i);else if(i.browseMode===DocBrowserMode.flip){var o;if(t>i.totalPages-1||0>t)throw new DingRTCError(ErrorCode.InvaildArgument,"invalid index");if(1===i.totalPages)throw new DingRTCError(ErrorCode.InvaildArgument,"invalid index");var a=i.getPages().map(function(e){return e.pageId});a.splice(t,1),null===(o=e.connection)||void 0===o||o.sendDocResourceMessage(i,i.getPageAtIndex(t>0?t-1:t).pageId,a)}}}),Object.defineProperty(e,"autoUpdateCanvasSize",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(){e.isSizeLimited||e.activeDoc.browseMode===DocBrowserMode.scroll?(e.updateCanvasSize(!1,!0,!0),e._updateBoardWithNewScale(e.scale,0,0)):e.updateCanvasSize(!0,!0,!0)},200)}),Object.defineProperty(e,"updateCanvasSize",{enumerable:!0,configurable:!0,writable:!0,value:function(){var t=0>=arguments.length||void 0===arguments[0]||arguments[0],r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Math.floor(e.wbWrapperDom.clientWidth*e.getDevicePixelRatio()),o=Math.floor(e.wbWrapperDom.clientHeight*e.getDevicePixelRatio()),a=e.renderer.canvasElement.width,s=e.renderer.canvasElement.height;if(a!==i||s!==o||r){if(0===i||0===o)return;Log.logInfo("RtcWhiteboard.updateCanvasSize before",{width:a,height:s},"after",{width:i,height:o}),e.renderer.updateCanvasSize(t,r,n),t&&e.docManager.getDocs().forEach(function(t){t instanceof PdfDoc?(e.centerPdfDoc(t),t.currentPage.translate[1]=i/a*t.currentPage.translate[1]):t.sharePageSize?e.center(t):t.getPages().forEach(function(r){r.backgroundImage?t.scaleBoardFitBackgroundImage(r,e.getWrapperDomRect(),e.bgScaleMode):(r.translate[0]=r.translate[0]+(i-a)/2/e.getDevicePixelRatio(),r.translate[1]=r.translate[1]+(o-s)/2/e.getDevicePixelRatio())})}),e.shouldUpdateViewAfterSizeChange&&(e._bFollowVision&&e._visionLockInfo&&e.followVision(e._visionLockInfo),e.activeDoc instanceof ExternalDoc&&e.updateCustomDocPosition(e.activeDoc)),e.renderer.doRebuildCacheRenderer(),e.renderer.updateBg(),e.onViewPortChanged()}n&&setTimeout(function(){e.updateCanvasSize(t,r,!1)},1e3)}}),Object.defineProperty(e,"lazyLoadPdfPage",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(){if(e.activeDoc instanceof PdfDoc&&"loaded"===e.activeDoc.pdfViewer.state){var t=e.getPdfVisiblePage();if(t)for(var r=t.start,n=t.end,i=t.pagesNum,o=e.activeDoc.pdfViewer.domRef,a=0;i>a;a++){var s,c=e.activeDoc.pdfViewer.pdfPages.get(a);if(!c)return;if(a<r||n<a)null===(s=c.domRef.parentNode)||void 0===s||s.removeChild(c.domRef);else c.domRef.parentNode||o.appendChild(c.domRef)}}},300)}),Object.defineProperty(e,"lazyRenderPdfPage",{enumerable:!0,configurable:!0,writable:!0,value:debounce(function(){if(e.activeDoc instanceof PdfDoc&&"loaded"===e.activeDoc.pdfViewer.state){var t=e.getPdfVisiblePage();if(t)for(var r,n=t.start,i=t.end,o=t.pagesNum,a=function(t){var r=e.activeDoc.pdfViewer.pdfPages.get(t);if(!r)return{v:void 0};if(!(n>t||t>i||r.rendered||r.rendering)){r.rendering=!0;var o=Date.now();renderPdfPage(r.viewport,r.pdfProxy).then(function(n){var i;r.img.src=n,r.rendered=!0,r.rendering=!1,r.domRef.appendChild(r.img),null===(i=r.skeleton.parentNode)||void 0===i||i.removeChild(r.skeleton),Log.logInfo("RtcWhiteboard.lazyLoadPdf page render success, page",t,"cost",Date.now()-o,e.activeDoc.name,e.activeDoc.docId)}).catch(function(t){Log.logError("RtcWhiteboard.lazyLoadPdf page render failed",e.activeDoc.name,e.activeDoc.docId,JSON.stringify(t))})}},s=0;o>s;s++)if(r=a(s))return r.v}},100)}),Object.defineProperty(e,"render",{enumerable:!0,configurable:!0,writable:!0,value:function(){return e.renderer.render()}}),Object.defineProperty(e,"onDoubleClick",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=e.getWrapperDomRect(),n=e.convertPointCoords({x:t.clientX-r.left,y:t.clientY-r.top}),i=e.getShapeByPoint(n.x,n.y);i instanceof Text&&(e.setAsSelectedShape(i),e.focusTetxArea(i))}}),Object.defineProperty(e,"onMouseDown",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r;(2===t.button&&(e.moveAndScaleDisabled||(e.panMoveType=PanMoveType.moveBoard,e.originalTranslate=_toConsumableArray(e.translate),e.originalDragStartPonit={x:t.clientX,y:t.clientY})),e.insertType===ShapeType.Drag)&&(null===(r=e.wbWrapperDom.classList)||void 0===r||r.add("dingrtc-wb-wrapper__draging"))}}),Object.defineProperty(e,"onMouseMove",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(t){var r,n=e.getWrapperDomRect(),i=e.convertPointCoords({x:t.clientX-n.left,y:t.clientY-n.top}),o=i.x,a=i.y;if(e.panMoveType===PanMoveType.moveBoard){if(!e.moveAndScaleDisabled){var s=t.clientX-e.originalDragStartPonit.x,c=t.clientY-e.originalDragStartPonit.y;Log.logInfo("Whiteboard.onMouseMove moveBoard",0>s?"move left":"move right",s,0>c?"move down":"move up",c),e.setTranslate(e.activeDoc instanceof PdfDoc?e.originalTranslate[0]:e.originalTranslate[0]+t.clientX-e.originalDragStartPonit.x,e.originalTranslate[1]+t.clientY-e.originalDragStartPonit.y),e.emitViewportUpdateBySelfEvent()}}else if(e.insertType!==ShapeType.Select&&e.insertType!==ShapeType.Delete||e.panMoveType===PanMoveType.moveShape||null!==(r=e.selectedShape)&&void 0!==r&&r.isPointInShapeRect(o,a))e.insertType===ShapeType.LaserPointer?e.throttleSendLaserPointerMsg(o,a):e.insertType===ShapeType.Brush&&(e.eraserIndicator.points=[{x:o,y:a}]);else for(var l=!1,u=e.visibleShapes.length-1;u>=0;u--){var d=e.visibleShapes[u];if(e.isPermittedShape(d))if(d.interactionStatus!==InteractionStatusType.selected)if(!l&&d.isPointInShape(o,a))l=!0,d.interactionStatus=e.insertType===ShapeType.Delete?InteractionStatusType.willBeDeleted:InteractionStatusType.focused;else includes(e.multiSelecetedShapes,d)||(d.interactionStatus=InteractionStatusType.default);else l=d.isPointInShape(o,a)}var p=getShapeCursorStyle(e.insertType);if(e.selectedShape){var h=p;if(e.getShapeResizeHandle(o,a)){var f=e.getShapeResizeHandle(o,a);h=(null==f?void 0:f.cursorStyle)||p}else e.selectedShape.isPointInShapeRect(o,a)&&(h="move");h!==e.wbWrapperDom.style.cursor&&(e.wbWrapperDom.style.cursor=h)}else if(e.multiSelecetedShapes.length){var g=e.isPointInAnyMultySlectedShape(o,a);e.wbWrapperDom.style.cursor=g?"move":p}else e.wbWrapperDom.style.cursor=p;e._cursorSyncEnabled&&e.insertType!==ShapeType.LaserPointer&&"all"===e._cursorSyncType&&e.sendCursor(o,a,e.strokeStyle,parseToolType(e.insertType))},EVENT_CAPTURE_RATE)}),Object.defineProperty(e,"sendCursor",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(t,r,n,i){var o;return null===(o=e.connection)||void 0===o?void 0:o.sendCursorMsg(t,r,n,i)},40)}),Object.defineProperty(e,"onPaste",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r,n=null===(r=t.clipboardData)||void 0===r?void 0:r.items;if(n&&n.length)for(var i=function(){if(-1!==n[o].type.indexOf("image")){var r=n[o].getAsFile();return r&&e.uploadLocalImage(r,!1,function(e){Log.logInfo("RtcWhiteboard.onPaste processing",e)}),0}if("string"===n[o].kind){var i=t.clipboardData.getData("Text");try{var a=JSON.parse(i),s=[];return a.forEach(function(t){var r=t.docId,n=t.pageId,i=t.shapeId;if(r&&n&&i){var o=e.docManager.getDocByDocId(r);if(!o)return;var a=o.getPageByPageId(n);if(!a)return;var c=find(a.getShapes(),{shapeId:i});if(!c)return;var l=c.clone(e.userId,e.getNewShapeId());l&&(e.currentPage.addShape(l),e.sendDrawCmd(l,"draw"),s.push(l))}}),1===s.length?(e.selectedShape=s[0],e.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,s[0].shapeId,s[0].export(),void 0))):(e.multiSelecetedShapes=s,s.forEach(function(e){e.interactionStatus=InteractionStatusType.focused}),e.history.batchSave(new BatchHistory(HistoryActionType.newShape,s.map(function(e){return{shapeId:e.shapeId,currentState:e.export(),lastState:void 0}})))),e.copyShapeInfoToClipboard(s),0}catch(e){Log.logError("RtcWhiteboard.onPaste",e)}}},o=0;n.length>o&&0!==i();o++);}}),Object.defineProperty(e,"_onPenEvent",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r,n,i=t.detail,o=i.eventType,a="fitWidth"===e.tabletMatchMode?e.wbWrapperDom.clientWidth/i.width:e.wbWrapperDom.clientHeight/i.height;if("static"===e.tabletWriteMode)r=i.x*e.tabletScale*a+e.tabletTranslate[0],n=i.y*e.tabletScale*a+e.tabletTranslate[1];else{var s=e.convertPointCoords({x:i.x*e.tabletScale*a+e.tabletTranslate[0],y:i.y*e.tabletScale*a+e.tabletTranslate[1]});r=s.x,n=s.y}"hang"===o?(e.insertType===ShapeType.LaserPointer&&e.throttleSendLaserPointerMsg(r,n),e.insertingShape=void 0):"write"===o?e.insertType===ShapeType.LaserPointer?e.throttleSendLaserPointerMsg(r,n):(e.insertingShape?e.insertingShape.points=[].concat(_toConsumableArray(e.insertingShape.points),[{x:r,y:n}]):(e.insertingShape=new Pen({points:[{x:r,y:n},{x:r,y:n}],shapeId:e.getNewShapeId(),pageId:e.currentPage.pageId,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)),e.throttleSendDrawCmd(e.insertingShape,"draw")):"end"===o&&(e.insertingShape&&e.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,e.insertingShape.shapeId,e.insertingShape.export(),void 0)),e.insertingShape=void 0)}}),Object.defineProperty(e,"onMouseUp",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r;(e.panMoveType===PanMoveType.moveBoard&&(e.moveAndScaleDisabled||(e.setTranslate(e.activeDoc instanceof PdfDoc?e.originalTranslate[0]:e.originalTranslate[0]+t.clientX-e.originalDragStartPonit.x,e.originalTranslate[1]+t.clientY-e.originalDragStartPonit.y),e.panMoveType=PanMoveType.none)),e.insertType===ShapeType.Drag)&&(null===(r=e.wbWrapperDom.classList)||void 0===r||r.remove("dingrtc-wb-wrapper__draging"))}}),Object.defineProperty(e,"onTouchEnd",{enumerable:!0,configurable:!0,writable:!0,value:function(t){if(1>=t.changedTouches.length){var r=e.getWrapperDomRect(),n=e.convertPointCoords({x:t.changedTouches.item(0).clientX-r.left,y:t.changedTouches.item(0).clientY-r.top}),i=n.x,o=n.y;e.insertType===ShapeType.Select&&(e.checkMouseOverAndSetType(i,o,InteractionStatusType.selected),e.selectedShape instanceof Text&&e.selectedShape.isPointInShapeRect(i,o))&&e.focusTetxArea(e.selectedShape)}}}),Object.defineProperty(e,"onTap",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=e.getWrapperDomRect(),n=e.currentPage.pageId;e.selectedShape&&!e.selectedShape.visible&&(e.selectedShape=void 0);var i=e.convertPointCoords({x:t.center.x-r.left-t.deltaX,y:t.center.y-r.top-t.deltaY}),o=i.x,a=i.y;if(e.selectedShape instanceof Text&&e.selectedShape.isPointInShapeRect(o,a))e.focusTetxArea(e.selectedShape);else if(e.visibleShapes.forEach(function(t){t instanceof Text&&""===t.text&&(t.visible=!1,e.throttleSendDrawCmd(t,"draw"))}),e.insertType===ShapeType.Delete)e.deleteShapeOnPosition(o,a);else if(e.insertType===ShapeType.Text){if(e.insertingShape instanceof Text)return e.insertingShape.interactionStatus=InteractionStatusType.default,e.selectedShape=void 0,void(e.insertingShape=void 0);var s=e.getVisionMaxX(),c=new Text({points:[{x:o,y:a},{x:o+200>s?o-200:o+200,y:a+20}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle(),"",{fontSize:12>Math.round(e.fontSize/e.scale)?12:Math.round(e.fontSize/e.scale),bold:e.bold,italic:e.italic});e.currentPage.addShape(c),e.currentPage.getShapes().forEach(function(e){return e.interactionStatus=InteractionStatusType.default}),e.setAsSelectedShape(c),e.insertingShape=c,e.focusTetxArea(c)}else if(e.insertType===ShapeType.Brush);else if(e.insertType===ShapeType.Select)e.multiSelecetedShapes.forEach(function(e){return e.interactionStatus=InteractionStatusType.default}),e.multiSelecetedShapes=[],e.checkMouseOverAndSetType(o,a,InteractionStatusType.selected);else if(e.insertType===ShapeType.Stamp&&e.stampId){var l=Stamp.stampResourceCache.get(e.stampId);if(l&&!l.resizable){var u=new Stamp({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.stampId,l.resizable,l.url);e.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,u.shapeId,u.export(),void 0)),e.currentPage.addShape(u),e.sendDrawCmd(u,"draw")}}else e.selectedShape&&(e.selectedShape.interactionStatus=InteractionStatusType.default,e.selectedShape=void 0)}}),Object.defineProperty(e,"onPanStart",{enumerable:!0,configurable:!0,writable:!0,value:function(t){e.renderer.checkCanvasSize();var r=e.getWrapperDomRect();e.selectedShape&&!e.selectedShape.visible&&(e.selectedShape=void 0);var n=e.currentPage.pageId,i=e.convertPointCoords({x:t.center.x-r.left-t.deltaX,y:t.center.y-r.top-t.deltaY}),o=i.x,a=i.y;if(e.selectedShape){if(e.getShapeResizeHandle(o,a))return e.panMoveType=PanMoveType.resizeShape,void e.selectedShape.onResizeStart(o,a);if(e.selectedShape.isPointInShapeRect(o,a))return e.panMoveType=PanMoveType.moveShape,void e.selectedShape.onMoveStart()}if(e.insertType===ShapeType.Drag)e.panMoveType=PanMoveType.moveBoard,e.originalTranslate=_toConsumableArray(e.translate),e.originalDragStartPonit={x:t.center.x,y:t.center.y},e.emitViewportUpdateBySelfEvent();else if(e.multiSelecetedShapes.length&&e.isPointInAnyMultySlectedShape(o,a))e.panMoveType=PanMoveType.moveShape,e.multiSelecetedShapes.forEach(function(e){return e.onMoveStart()});else if(e.insertType===ShapeType.Select||e.insertType===ShapeType.Delete)e.panMoveType=PanMoveType.selectShape,e.selectIndicator.visible=!0,e.selectIndicator.points=[{x:o,y:a},{x:o,y:a}];else{if(e.clearSelectedShapes(),e.panMoveType=PanMoveType.insertShape,e.insertType===ShapeType.Line)e.insertingShape=new Line({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape);else if(e.insertType===ShapeType.Arrow)e.insertingShape=new Arrow({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape);else if(e.insertType===ShapeType.Stamp&&e.stampId){var s=Stamp.stampResourceCache.get(e.stampId);if(s){var c=new Stamp({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.stampId,s.resizable,s.url);e.insertingShape=c,e.currentPage.addShape(e.insertingShape)}}else e.insertType===ShapeType.Rect||e.insertType===ShapeType.Square?(e.insertingShape=new Rect({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)):e.insertType===ShapeType.Ellipse||e.insertType===ShapeType.Circle?(e.insertingShape=new Ellipse({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)):e.insertType===ShapeType.Pen?(e.insertingShape=new Pen({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)):e.insertType===ShapeType.Brush?(e.insertingShape=new Eraser({points:[{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)):e.insertType===ShapeType.Triangle?(e.insertingShape=new Triangle({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)):e.insertType===ShapeType.Rhombic&&(e.insertingShape=new Rhombic({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape));e.insertingShape&&e.throttleSendDrawCmd(e.insertingShape,"draw")}}}),Object.defineProperty(e,"batchSendRgnShapes",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(t){t.forEach(function(t){return e.sendDrawCmd(t,"rgn")})},300)}),Object.defineProperty(e,"onPanMove",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=e.getWrapperDomRect(),n=e.convertPointCoords({x:t.center.x-r.left,y:t.center.y-r.top}),i=n.x,o=n.y;if(e.panMoveType===PanMoveType.resizeShape)e.selectedShape&&(e.selectedShape.onResize(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY),e._shiftPressing),e.throttleSendDrawCmd(e.selectedShape,"rgn"));else if(e.panMoveType===PanMoveType.moveShape)e.selectedShape?(e.selectedShape.onMove(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY)),e.throttleSendDrawCmd(e.selectedShape,"rgn")):e.multiSelecetedShapes.length&&e.multiSelecetedShapes.forEach(function(r){r.onMove(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY))});else if(e.panMoveType===PanMoveType.insertShape)e.insertType===ShapeType.Line||e.insertType===ShapeType.Ellipse||e.insertType===ShapeType.Rect||e.insertType===ShapeType.Arrow||e.insertType===ShapeType.Square||e.insertType===ShapeType.Circle?e.insertingShape.points=e._shiftPressing&&(e.insertType===ShapeType.Ellipse||e.insertType===ShapeType.Rect)||e.insertType===ShapeType.Square||e.insertType===ShapeType.Circle?[e.insertingShape.points[0],{x:i,y:e.insertingShape.points[0].y+i-e.insertingShape.points[0].x}]:[e.insertingShape.points[0],{x:i,y:o}]:e.insertType===ShapeType.Pen||e.insertType===ShapeType.Brush?e.insertingShape&&(e.insertingShape.points=[].concat(_toConsumableArray(e.insertingShape.points),[{x:i,y:o}]),e.insertType===ShapeType.Brush&&(e.eraserIndicator.points=[{x:i,y:o}])):e.insertType===ShapeType.Stamp&&e.insertingShape instanceof Stamp?e.insertingShape.points=[e.insertingShape.resizable?e.insertingShape.points[0]:{x:i,y:o},{x:i,y:o}]:e.insertType===ShapeType.Triangle?e.insertingShape&&(e.insertingShape.points=[e.insertingShape.points[0],{x:i,y:o}]):e.insertType===ShapeType.Rhombic&&e.insertingShape&&(e.insertingShape.points=[e.insertingShape.points[0],{x:i,y:o}]),e.insertingShape&&e.throttleSendDrawCmd(e.insertingShape,"draw"),e._cursorSyncEnabled&&e.insertType!==ShapeType.LaserPointer&&e.sendCursor(i,o,e.strokeStyle,parseToolType(e.insertType));else if(e.panMoveType===PanMoveType.selectShape)e.selectIndicator.points=[e.selectIndicator.points[0],{x:i,y:o}],e.rangeSelect();else if(e.panMoveType===PanMoveType.moveBoard&&!e.moveAndScaleDisabled){var a=t.center.x-e.originalDragStartPonit.x,s=t.center.y-e.originalDragStartPonit.y;Log.logInfo("Whiteboard.onMouseMove moveBoard",0>a?"move left":"move right",a,0>s?"move down":"move up",s),e.setTranslate(e.activeDoc instanceof PdfDoc?e.originalTranslate[0]:e.originalTranslate[0]+t.center.x-e.originalDragStartPonit.x,e.originalTranslate[1]+t.center.y-e.originalDragStartPonit.y)}}}),Object.defineProperty(e,"onPanEnd",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=e.getWrapperDomRect(),n=e.convertPointCoords({x:t.center.x-r.left,y:t.center.y-r.top}),i=n.x,o=n.y;if(e.panMoveType===PanMoveType.moveBoard)e.moveAndScaleDisabled||(e.setTranslate(e.activeDoc instanceof PdfDoc?e.originalTranslate[0]:e.originalTranslate[0]+t.center.x-e.originalDragStartPonit.x,e.originalTranslate[1]+t.center.y-e.originalDragStartPonit.y),e.panMoveType=PanMoveType.none);else if(e.panMoveType===PanMoveType.moveShape){if(e.selectedShape){var a=e.selectedShape.transformOriginalInfo.export();e.selectedShape.onMoveEnd(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY)),e.history.saveHistory(new ShapeHistory(HistoryActionType.rgnShape,e.selectedShape.shapeId,e.selectedShape.export(),a)),e.sendDrawCmd(e.selectedShape,"rgn")}else if(e.multiSelecetedShapes.length){var s=[];e.multiSelecetedShapes.forEach(function(r){var n=r.transformOriginalInfo.export();r.onMoveEnd(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY)),s.push({shapeId:r.shapeId,currentState:r.export(),lastState:n})}),e.history.batchSave(new BatchHistory(HistoryActionType.rgnShape,s)),e.batchSendRgnShapes(e.multiSelecetedShapes)}}else if(e.panMoveType===PanMoveType.resizeShape){if(e.selectedShape){var c=e.selectedShape.transformOriginalInfo.export();e.selectedShape.onResizeEnd(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY),e._shiftPressing),e.history.saveHistory(new ShapeHistory(HistoryActionType.rgnShape,e.selectedShape.shapeId,e.selectedShape.export(),c)),e.sendDrawCmd(e.selectedShape,"rgn")}}else if(e.panMoveType===PanMoveType.insertShape){var l;if(e.insertingShape)e.insertingShape.points=2!==e.insertingShape.points.length?[].concat(_toConsumableArray(e.insertingShape.points),[{x:i,y:o}]):e._shiftPressing&&(e.insertType===ShapeType.Ellipse||e.insertType===ShapeType.Rect)||e.insertType===ShapeType.Square||e.insertType===ShapeType.Circle?[e.insertingShape.points[0],{x:i,y:e.insertingShape.points[0].y+i-e.insertingShape.points[0].x}]:e.insertType===ShapeType.Stamp&&e.insertingShape instanceof Stamp?[e.insertingShape.resizable?e.insertingShape.points[0]:{x:i,y:o},{x:i,y:o}]:[e.insertingShape.points[0],{x:i,y:o}],e.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,e.insertingShape.shapeId,e.insertingShape.export(),void 0)),e.sendDrawCmd(e.insertingShape,"draw"),null!==(l=e.insertingShape)&&void 0!==l&&l.shouldSelectAfterAdd()&&e.setAsSelectedShape(e.insertingShape)}else e.panMoveType===PanMoveType.selectShape?(e.selectIndicator.points=[e.selectIndicator.points[0],{x:i,y:o}],e.rangeSelect(),e.insertType===ShapeType.Delete&&e.deleteRageSelectedShapes()):e.panMoveType!==PanMoveType.none&&e.panMoveType!==PanMoveType.moveBoard||!e.insertingShape||(e.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,e.insertingShape.shapeId,e.insertingShape.export(),void 0)),e.sendDrawCmd(e.insertingShape,"draw"));e.panMoveType=PanMoveType.none,e.selectIndicator.visible=!1,e.insertingShape=void 0}}),Object.defineProperty(e,"onPinchStart",{enumerable:!0,configurable:!0,writable:!0,value:function(){var t;(e.originalTranslate=_toConsumableArray(e.translate),e.pinchBoardOriginalScale=e.scale,e.lastPanMoveDelta={x:0,y:0},e.selectedShape)&&(null===(t=e.selectedShape)||void 0===t||t.storeTransformStartPoints(),e.pinchShapeCenter=e.selectedShape.center);e.emitViewportUpdateBySelfEvent()}}),Object.defineProperty(e,"onPinch",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(t){e.selectedShape?(e.selectedShape.resizeByRatio(t.scale,t.scale,e.pinchShapeCenter),e.throttleSendDrawCmd(e.selectedShape,"rgn")):e.moveAndScaleDisabled||t.scale>=.9&&1.1>=t.scale||e._updateBoardWithNewScale(e.pinchBoardOriginalScale*t.scale,t.center.x,t.center.y)},EVENT_CAPTURE_RATE)}),Object.defineProperty(e,"onPinchEnd",{enumerable:!0,configurable:!0,writable:!0,value:function(t){if(e.pinchEndTime=Date.now(),e.selectedShape){var r=e.selectedShape.export();e.selectedShape.resizeByRatio(t.scale,t.scale),e.throttleSendDrawCmd(e.selectedShape,"rgn"),e.history.saveHistory(new ShapeHistory(HistoryActionType.rgnShape,e.selectedShape.shapeId,e.selectedShape.export(),r))}}}),Object.defineProperty(e,"onPinchMove",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(t){if(!e.moveAndScaleDisabled&&!e.selectedShape){var r=t.deltaX-e.lastPanMoveDelta.x,n=t.deltaY-e.lastPanMoveDelta.y;Log.logInfo("Whiteboard.onPinchMove moveBoard",0>r?"move left":"move right",r,0>n?"move down":"move up",n),e.setTranslate(e.activeDoc instanceof PdfDoc?e.translate[0]:e.translate[0]+t.deltaX-e.lastPanMoveDelta.x,e.translate[1]+t.deltaY-e.lastPanMoveDelta.y)}e.lastPanMoveDelta={x:t.deltaX,y:t.deltaY}},EVENT_CAPTURE_RATE)}),Object.defineProperty(e,"_updateBoardWithNewScale",{enumerable:!0,configurable:!0,writable:!0,value:function(t,r,n){e.activeDoc.updateBoardWithNewScale(t,r,n,e.getWrapperDomRect())}}),Object.defineProperty(e,"onWheel",{enumerable:!0,configurable:!0,writable:!0,value:function(t){t.stopPropagation(),t.preventDefault(),e.wheelDsiabled||e._scaleAndMoveDisabled||(e.emitViewportUpdateBySelfEvent(),e.throttledOnWheel(t))}}),Object.defineProperty(e,"throttledOnWheel",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(t){if(t.ctrlKey){var r=e.getWrapperDomRect();!e.moveAndScaleDisabled&&e._updateBoardWithNewScale(e.scale-t.deltaY/r.height*20,t.clientX-r.left,t.clientY-r.top)}else{var n=e.translate[0]-t.deltaX;e.activeDoc instanceof PdfDoc&&(n=e.translate[0]),e.setTranslate(n,e.translate[1]-t.deltaY)}},EVENT_CAPTURE_RATE)}),Object.defineProperty(e,"emitViewportUpdateBySelfEvent",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(){e.emit("viewport-updated-by-self")},500)}),Object.defineProperty(e,"onContextMenu",{enumerable:!0,configurable:!0,writable:!0,value:function(e){e.preventDefault()}}),Object.defineProperty(e,"onKeyDown",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=t.keyCode||t.code||t.which;""+r!="8"&&""+r!="46"||(!e.selectedShape||e.selectedShape instanceof Text&&e.selectedShape.interactionStatus===InteractionStatusType.selected&&document.activeElement===e.textArea||(e.deleteShape(e.selectedShape),e.selectedShape=void 0),e.deleteRageSelectedShapes()),""+r=="16"&&(e._shiftPressing=!0),(t.ctrlKey||t.metaKey)&&("z"===t.key?e.undo():"c"===t.key&&(e.selectedShape&&e.selectedShape.interactionStatus===InteractionStatusType.selected?e.copyShapeInfoToClipboard([e.selectedShape]):e.multiSelecetedShapes.length>0&&e.copyShapeInfoToClipboard(e.multiSelecetedShapes)))}}),Object.defineProperty(e,"onKeyUp",{enumerable:!0,configurable:!0,writable:!0,value:function(t){""+(t.keyCode||t.code||t.which)=="16"&&(e._shiftPressing=!1)}}),Object.defineProperty(e,"onMouseOut",{enumerable:!0,configurable:!0,writable:!0,value:function(){e._shiftPressing=!1}}),Object.defineProperty(e,"deleteShape",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=1>=arguments.length||void 0===arguments[1]||arguments[1],n=t.export();t.visible=!1,t instanceof Text?(t.interactionStatus=InteractionStatusType.default,e.textArea.style.zIndex="0",e.textArea.style.color="transparent"):(t instanceof Video||t instanceof Audio)&&t.removeMediaDom(),e.sendDrawCmd(t,"draw"),r&&e.history.saveHistory(new ShapeHistory(HistoryActionType.hideShape,t.shapeId,t.export(),n))}}),Object.defineProperty(e,"_onLoadImageError",{enumerable:!0,configurable:!0,writable:!0,value:function(t){Log.logError("RtcWhiteboard._onLoadImageError: load image failed, img url: ",t),e._sendMetrics({time:(new Date).toISOString(),event:"image load failed",eventtype:"rts",sessiontype:"whiteboard",url:t,sessionId:e.sessionId,pageNum:e.pageIndex,errmsg:"load image failed"})}}),Object.defineProperty(e,"throttleSendLaserPointerMsg",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(t,r){var n;null===(n=e.connection)||void 0===n||n.sendLaserPointerMsg(t,r),e.clearLaserPointerId&&clearTimeout(e.clearLaserPointerId),e.clearLaserPointerId=window.setTimeout(function(){var t;null===(t=e.connection)||void 0===t||t.sendClearResourceMsg("laserPointer",["".concat(e.userId,"@").concat(e.appId,"-laserPointer")])},3e3)},t.RENDER_INTEVAL/1.5)}),Object.defineProperty(e,"onViewPortChanged",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(){var t=e.getViewport();e.emit("viewport-updated",e.scale,t),e.bSharingVision&&"pdf"!==e.activeDoc.type&&e.throttleSendVisionCmd(t),"scroll"===e.activeDoc.browseMode&&(e.lazyLoadPdfPage(),e.lazyRenderPdfPage(),!e.isSynchronizer&&!e.bSharingVision||e._bFollowVision||e.throttleSendDocResourceMsg(e.activeDoc))},1e3/60)}),Object.defineProperty(e,"throttleSendVisionCmd",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(t){var r;null===(r=e.connection)||void 0===r||r.sendVisionResourceMsg(t.maxx-t.minx,t.maxy-t.miny,t.minx,t.miny)},t.CMD_SEND_WAIT)}),Object.defineProperty(e,"throttleSendDocResourceMsg",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(t){var r;t instanceof PdfDoc&&1>Math.abs(t.lastSyncY-t.y)||null===(r=e.connection)||void 0===r||r.sendDocResourceMessage(t)},t.CMD_SEND_WAIT)}),Object.defineProperty(e,"sendDrawCmd",{enumerable:!0,configurable:!0,writable:!0,value:function(t,r){if("draw"===r){var n;if(t instanceof Stamp){var i,o=Stamp.stampResourceCache.get(t.stampId);if(o&&!o.serverCache)null===(i=e.connection)||void 0===i||i.sendStampMsg(t.stampId,t.imgUrl,t.resizable)}null===(n=e.connection)||void 0===n||n.sendShapeDrawMessage(t)}else if("rgn"===r){var a;null===(a=e.connection)||void 0===a||a.sendShapeRgnMessage(t)}}}),Object.defineProperty(e,"throttleSendDrawCmd",{enumerable:!0,configurable:!0,writable:!0,value:throttle(e.sendDrawCmd,100)}),Object.defineProperty(e,"doSendMetrics",{enumerable:!0,configurable:!0,writable:!0,value:function(){e.sendMetricsTimeout=void 0,e.metricsBuffer=[]}}),e.docManager=new DocManager,e.docManager.on("requestRender",e.render),e.docManager.on("page-index-changed",e.onActivePageChanged),e.docManager.on("viewport-updated",e.onViewPortChanged),e.docManager.on("doc-switched",e.onActiveDocSwitched),e.docManager.on("doc-deleted",function(t){e.emit("doc-deleted",t)}),e.docManager.on("doc-created",function(t){e.emit("doc-created",t)}),e.docManager.on("doc-load-failed",function(t,r){return e.emit("doc-load-failed",t,r)}),e.hammer=new Hammer(e.wbWrapperDom);var n=new Hammer.Pan({direction:Hammer.DIRECTION_ALL,threshold:0,enable:function(){return Date.now()-e.pinchEndTime>300}}),i=(new Hammer.Pinch).requireFailure(n);e.hammer.add(n),e.hammer.add(i),e.hammer.get("press").set({enable:!1}),e.hammer.get("swipe").set({enable:!1}),e.hammer.get("doubletap").set({enable:!1}),e.hammer.get("rotate").set({enable:!1}),e.wbWrapperDom.className="dingrtc-wb-wrapper",e.pdfWrapper.className="dingrtc-pdf-viewer",e.renderFPS.className="dingrtc-wb-render-fps",e.bgImg.className="dingrtc-wb__bg-img",e.wbWrapperDom.appendChild(e.pdfWrapper),e.wbWrapperDom.appendChild(e.renderFPS),e.wbWrapperDom.appendChild(e.bgImg),e.wbWrapperDom.appendChild(e.textArea),e.textArea.style.zIndex="0",e.textArea.style.color="transparent",e.textArea.value="",e.textArea.className="wb-shape-textarea";var o,a=void 0;return e.textArea.addEventListener("change",function(){e.selectedShape instanceof Text&&(a=e.selectedShape),a&&(a.text=e.textArea.value,e.throttleSendDrawCmd(a,"draw"),e.history.saveHistory(new ShapeHistory(HistoryActionType.updateText,a.shapeId,a.export(),o)))}),e.textArea.addEventListener("input",function(){e.selectedShape instanceof Text&&e.selectedShape!==a&&(o=e.selectedShape.export()),e.selectedShape instanceof Text&&(a=e.selectedShape),a&&(a.text=e.textArea.value,a.setTextMaxLength(e.getVisionMaxX()-a.minx),e.chackIfTextAreaOutofBound(a))}),e.setUpHistoryListener(),e._hookShapeRenderRequest(e.eraserIndicator),e._hookShapeRenderRequest(e.selectIndicator),e}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"isSynchronizer",get:function(){return"Admin"===this.role}},{key:"getWrapperDomRect",value:function(){var e=this.wbWrapperDom.getBoundingClientRect();return e.width&&e.height&&(this.wrapperDomRect=e),this.wrapperDomRect||{x:0,y:0,width:1e3,height:600,top:0,right:1e3,bottom:600,left:0}}},{key:"history",get:function(){return this.currentPage.history}},{key:"userId",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.userId)||""}},{key:"appId",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.appId)||""}},{key:"channelId",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.channelId)||""}},{key:"token",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.token)||""}},{key:"userName",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.userName)||""}},{key:"cid",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.channelId)||""}},{key:"activeDoc",get:function(){return this.docManager.activeDoc}},{key:"activeDocId",get:function(){return this.docManager.activeDocId}},{key:"isSizeLimited",get:function(){var e;return null===(e=this.sizeConfig)||void 0===e?void 0:e.limited}},{key:"pages",get:function(){return this.activeDoc.getPages()}},{key:"lineWidth",get:function(){return this._lineWidth},set:function(e){this._lineWidth=parseFloat("".concat(e))||this._lineWidth}},{key:"fontSize",get:function(){return this._fontSize},set:function(e){this._fontSize=parseFloat("".concat(e))||this._fontSize}},{key:"role",get:function(){return this._role}},{key:"isAdmin",get:function(){return"Admin"===this._role}},{key:"currentPage",get:function(){return this.docManager.activeDoc.currentPage}},{key:"scale",get:function(){return this.currentPage.scale},set:function(e){this.activeDoc.setScale(e,!0,this.getWrapperDomRect())}},{key:"_hookShapeRenderRequest",value:function(e){var t=this;e.on("requestRender",function(){t.render()})}},{key:"getCursorSyncType",value:function(){return this._cursorSyncType}},{key:"setCursorSyncType",value:function(e){this._cursorSyncType=e}},{key:"setRoleType",value:function(e){var t=this.role;Log.logInfo("RtcWhiteboard.setRoleType",e),"Viewer"===e?this.stopInteraction():this.enableInteraction(e),this.selectedShape&&(this.selectedShape.interactionStatus=InteractionStatusType.default,this.selectedShape=void 0),this.insertType===ShapeType.Click&&this.setPenetrable(this._penetrable),t!==e&&(this._role=e)}},{key:"getToolType",value:function(){return this.insertType}},{key:"setToolType",value:function(e){var t,r,n,i;(Log.logInfo("RtcWhiteboard.setToolType",this.insertType,e),this.checkDocAndSetPenetrable(e),e===ShapeType.Delete&&this.selectedShape&&this.deleteShape(this.selectedShape),e===ShapeType.LaserPointer)?null===(t=this.wbWrapperDom.classList)||void 0===t||t.add("dingrtc-wb-wrapper__laser-on"):null===(r=this.wbWrapperDom.classList)||void 0===r||r.remove("dingrtc-wb-wrapper__laser-on");e===ShapeType.Drag?null===(n=this.wbWrapperDom.classList)||void 0===n||n.add("dingrtc-wb-wrapper__drag-on"):null===(i=this.wbWrapperDom.classList)||void 0===i||i.remove("dingrtc-wb-wrapper__drag-on");this.insertType=e,this.wbWrapperDom.style.cursor=getShapeCursorStyle(this.insertType)}},{key:"checkDocAndSetPenetrable",value:function(e){this.setPenetrable(!1)}},{key:"getDevicePixelRatio",value:function(){return window.devicePixelRatio||1}},{key:"enumerateDocs",value:function(){return Log.logInfo("RtcWhiteboard.enumerateDocs"),_toConsumableArray(this.docManager.getDocs().map(function(e){return{docId:e.docId,name:e.name,creator:e.creator,currentPage:e.currentPageIndex,fileKey:e.fileKey}}))}},{key:"selectedShape",get:function(){return this._selectedShape},set:function(e){this._selectedShape&&(this._selectedShape.interactionStatus=InteractionStatusType.default),this._selectedShape=e}},{key:"setSelectedShapeStyle",value:function(e){if(Log.logInfo("RtcWhiteboard.setSelectedShapeStyle",e),this._selectedShape&&this._selectedShape instanceof DrawableShape){var t=this._selectedShape.export();this._selectedShape.shapeStyle=Object.assign(this._selectedShape.shapeStyle,e),this.throttleSendDrawCmd(this._selectedShape,"draw"),this.history.saveHistory(new ShapeHistory(HistoryActionType.updateStyle,this._selectedShape.shapeId,this._selectedShape.export(),t))}}},{key:"setSelectedShapeFontStyle",value:function(e){if(Log.logInfo("RtcWhiteboard.setSelectedShapeFontStyle",e),this._selectedShape&&this._selectedShape instanceof Text){var t=this._selectedShape.export();this._selectedShape.fontStyle=Object.assign(this._selectedShape.fontStyle,e),this.throttleSendDrawCmd(this._selectedShape,"draw"),this.history.saveHistory(new ShapeHistory(HistoryActionType.updateStyle,this._selectedShape.shapeId,this._selectedShape.export(),t))}}},{key:"pageIndex",get:function(){return this.activeDoc.currentPageIndex}},{key:"switchToDoc",value:function(e){if(Log.logInfo("RtcWhiteboard.switchToDoc",e),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState);if(!this.docManager.getDocByDocId(e))throw new DingRTCError(ErrorCode.InvaildArgument,"doc not existed");var t;this.docManager.switchActiveDoc(e),null===(t=this.connection)||void 0===t||t.sendActiveDocResourceMessage(e)}},{key:"getCurrentPageNumber",value:function(){return this.pageIndex}},{key:"gotoPage",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.docManager.activeDocId,r=2>=arguments.length||void 0===arguments[2]||arguments[2];if(Log.logInfo("RtcWhiteboard.gotoPage",e,t,r),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState);var n=this.docManager.getDocByDocId(t);if(!n)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not existed");if(n instanceof PdfDoc)return this.activeDocId!==t&&r&&this.switchToDoc(t),this.gotoPdfPage(e,n);if(e>n.totalPages-1||0>e)throw new DingRTCError(ErrorCode.InvaildArgument,"invalid index");if(this.activeDocId!==t&&r&&this.switchToDoc(t),n.browseMode!==DocBrowserMode.scroll){var i;if(n.browseMode!==DocBrowserMode.flip)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not existed");null===(i=this.connection)||void 0===i||i.sendDocResourceMessage(n,n.getPageAtIndex(e).pageId)}else n.setScrollY(e*n.scrollPageHeight,this.getWrapperDomRect())}},{key:"gotoPdfPage",value:function(e,t){if(Log.logInfo("RtcWhiteboard.gotoPdfPage",e),!(t instanceof PdfDoc))throw new DingRTCError(ErrorCode.InvaildArgument,"not a pdf");if(e>t.pdfViewer.pdfPages.size-1||0>e)throw new DingRTCError(ErrorCode.InvaildArgument,"pageIndex is invalid");var r=Math.ceil(t.pdfViewer.pageHightList[e-1]||0);t.docId===this.activeDocId?this.setTranslate(this.translate[0],-r*this.scale):t.currentPage.translate=[t.currentPage.translate[0],-r*t.currentPage.scale]}},{key:"nextPage",value:function(){return Log.logInfo("RtcWhiteboard.nextPage"),this.gotoPage(this.getCurrentPageNumber()+1)}},{key:"prevPage",value:function(){return Log.logInfo("RtcWhiteboard.prevPage"),this.gotoPage(this.getCurrentPageNumber()-1)}},{key:"backgroundColor",get:function(){return this.currentPage.backgroundColor},set:function(e){Log.logInfo("RtcWhiteboard.setbackgroundColor",e),e!==this.backgroundColor&&(this.currentPage.backgroundColor=e,this.render())}},{key:"getTotalNumberOfPages",value:function(){var e;return this.activeDoc instanceof PdfDoc?(null===(e=this.activeDoc.pdfViewer)||void 0===e?void 0:e.pdfPages.size)||1:this.activeDoc.totalPages}},{key:"visibleShapes",get:function(){return this.currentPage.visibleShapes}},{key:"translate",get:function(){return this.currentPage.translate}},{key:"getTranslate",value:function(){return{x:this.currentPage.translate[0],y:this.currentPage.translate[1]}}},{key:"setTranslate",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:400;this.activeDoc.setTranslate(e,t,this.getWrapperDomRect(),r,n)}},{key:"getVisionMaxX",value:function(){return this.getWrapperDomRect().width/this.scale-this.translate[0]/this.scale}},{key:"getVisionMaxY",value:function(){return this.getWrapperDomRect().height/this.scale-this.translate[1]/this.scale}},{key:"setUpHistoryListener",value:function(){this.history.off("history-changed",this.onHistoryChanged),this.history.on("history-changed",this.onHistoryChanged)}},{key:"undo",value:function(){var e=this;Log.logInfo("RtcWhiteboard.undo"),this.clearSelectedShapes();var t=this.history.undo();if(t)if(t instanceof ShapeHistory){var r=this.getShapeById(t.shapeId);r&&(this.restoreShapeFormSavedState(t.shapeId,t.actionType,t.lastState),this.sendDrawCmd(r,"draw"))}else{if(t.actionType===HistoryActionType.deleteShape)this.currentPage.restoreShapes(t.shapeStates.map(function(e){return e.currentState})).forEach(function(t){return e.sendDrawCmd(t,"draw")});else t.shapeStates.forEach(function(r){e.getShapeById(r.shapeId)&&e.restoreShapeFormSavedState(r.shapeId,t.actionType,r.lastState)})}}},{key:"redo",value:function(){var e=this;Log.logInfo("RtcWhiteboard.redo"),this.clearSelectedShapes();var t=this.history.redo();if(t)if(t instanceof ShapeHistory){var r=this.getShapeById(t.shapeId);r&&(this.restoreShapeFormSavedState(t.shapeId,t.actionType,t.lastState),this.sendDrawCmd(r,"draw"))}else t.shapeStates.forEach(function(r){e.getShapeById(r.shapeId)&&e.restoreShapeFormSavedState(r.shapeId,t.actionType,r.lastState)})}},{key:"restoreShapeFormSavedState",value:function(e,t,r){var n=this.getShapeById(e);if(n)if(t===HistoryActionType.rgnShape){if(!r)return;n.points=r.points,n.rngReverse=r.rngReverse,this.sendDrawCmd(n,"rgn")}else t===HistoryActionType.newShape?(n.visible=!n.visible,this.sendDrawCmd(n,"draw")):r&&(n.visible=r.visible,n instanceof DrawableShape&&(n.shapeStyle=Object.assign({},r.shapeStyle)),n instanceof Text&&(n.text=r.text||"",n.fontStyle=Object.assign({},r.fontStyle)),this.sendDrawCmd(n,"draw"))}},{key:"getShapeById",value:function(e){for(var t,r=0;this.activeDoc.totalPages>r;r++){var n=find(this.pages[r].getShapes(),{shapeId:e});if(n){t=n;break}}return t}},{key:"reset",value:function(){this.close(),this._everOpened=!1,this.bSharingVision=!1,this._bFollowVision=!1,this._lockVisonUserId="",this._visionLockInfo=void 0,this.docManager.reset(),this.pdfWrapper.innerHTML="",this.docManager.switchActiveDoc(DEFAULT_DOC_ID),this.activeDoc.currentPageIndex=0,this.insertType=ShapeType.Select,this._role="Attendee",this._selectedShape=void 0,this.multiSelecetedShapes=[]}},{key:"setBackgroundImageScalingMode",value:function(e){this.bgScaleMode=e,this.isSizeLimited||this.activeDoc.scaleBoardFitBackgroundImage(this.currentPage,this.getWrapperDomRect(),this.bgScaleMode)}},{key:"getShapeStyle",value:function(){return{lineWidth:this.lineWidth,strokeStyle:this.strokeStyle,fillStyle:this.fillStyle,fillType:this.fillType,dashed:this.dashed}}},{key:"_getLimitedImgSize",value:function(e,t){var r,n,i=(null===(r=this.sizeConfig)||void 0===r?void 0:r.width)||2048,o=(null===(n=this.sizeConfig)||void 0===n?void 0:n.height)||2048,a=e,s=t;return a>s&&a>i&&(a=i,s=i/e*t),s>a&&s>o&&(s=o,a=o/t*e),{imgWidth:a,imgHeight:s}}},{key:"_scaleBoardFitBackground",value:function(e){if(e instanceof PdfDoc)this.centerPdfDoc(e);else if(e.sharePageSize){e.scaleBoardFitBackgroundImage(e.currentPage,this.getWrapperDomRect(),this.bgScaleMode);var t=e.currentPage.scale,r=e.currentPage.translate;e.getPages().forEach(function(e){e.scale=t,e.translate=_toConsumableArray(r)})}else this.currentPage.backgroundImage?this.activeDoc.scaleBoardFitBackgroundImage(this.currentPage,this.getWrapperDomRect(),this.bgScaleMode):this.isSizeLimited?this.fitWithSizeConfig():this.activeDoc.setScaleAndTranslate(1,[0,0],!1,this.getWrapperDomRect())}},{key:"fitWithSizeConfig",value:function(){var e=this;this.sizeConfig&&this.docManager.getDocs().forEach(function(r){var n,i;r instanceof PdfDoc&&e.sizeConfig&&r.width!==(null===(n=e.sizeConfig)||void 0===n?void 0:n.width)?null===(i=t.PdfPlugin)||void 0===i||i.updatePdfWidth(r,e.sizeConfig.width):e.sizeConfig.limited?r.updateBoardWithNewScale(.001,0,0,e.getWrapperDomRect()):r.getPages().forEach(function(t){r.setDocViewport({width:e.sizeConfig.width,height:e.sizeConfig.height,minx:0,miny:0},e.getWrapperDomRect(),t),t.backgroundImage&&r.scaleBoardFitBackgroundImage(t,e.getWrapperDomRect(),e.bgScaleMode)})})}},{key:"setBackgroundImage",value:function(e){var t=this;if(Log.logInfo("RtcWhiteboard.setBackgroundImage",e),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState);if(this.activeDoc instanceof PdfDoc)throw Log.logWarn("RtcWhiteboard.setBackgroundImage failed because doc type not support",e),new DingRTCError(ErrorCode.InvaildArgument,"doc type not support image");var r=this.currentPage,n=seqIdToShapeId("bg-".concat(r.pageId),this.userId),i=r.backgroundImage;return i?i.imgUrl=e:((i=new Image$1({points:[{x:0,y:0},{x:0,y:0}],shapeId:n,pageId:r.pageId,creator:this.userId},e)).order=ShapeOrderType.bg,r.backgroundImage=i),i.loadImage().then(function(e){var n,o=t._getLimitedImgSize(e.naturalWidth,e.naturalHeight);t.updateBgImgPosition(i,o.imgWidth,o.imgHeight),t.activeDoc.scaleBoardFitBackgroundImage(r,t.getWrapperDomRect(),t.bgScaleMode),null===(n=t.connection)||void 0===n||n.sendShapeDrawMessage(i)}).catch(function(){return t._onLoadImageError(e)})}},{key:"updateBgImgPosition",value:function(e,t,r){this.isSizeLimited&&this.sizeConfig?"auto"===this.bgScaleMode?e.points=[{x:(this.sizeConfig.width-t)/2,y:(this.sizeConfig.height-r)/2},{x:(this.sizeConfig.width-t)/2+t,y:(this.sizeConfig.height-r)/2+r}]:"fillWidth"===this.bgScaleMode?e.points=[{x:0,y:0},{x:this.sizeConfig.width,y:this.sizeConfig.width*r/t}]:"fillHeight"===this.bgScaleMode&&(e.points=[{x:0,y:0},{x:this.sizeConfig.height*t/r,y:this.sizeConfig.height}]):e.points=[e.points[0],{x:t,y:r}]}},{key:"addImageShape",value:function(e){var t=this;return Log.logInfo("RtcWhiteboard.addImageShape",e),new Promise(function(r,n){var i=new Image$1({points:[{x:0,y:0},{x:0,y:0}],shapeId:t.getNewShapeId(),pageId:t.currentPage.pageId,creator:t.userId},e);i.loadImage().then(function(e){var n=t._getLimitedImgSize(e.naturalWidth,e.naturalHeight),o=n.imgWidth,a=n.imgHeight,s=t.getViewport();i.points=[{x:(s.minx+s.maxx-o)/2,y:(s.miny+s.maxy-a)/2},{x:(s.minx+s.maxx+o)/2,y:(s.miny+s.maxy+a)/2}],t.currentPage.addShape(i),t.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,i.shapeId,i.export(),void 0)),t.setAsSelectedShape(i),t.throttleSendDrawCmd(i,"draw"),r()}).catch(function(r){Log.logError("RtcWhiteboard.addImageShape: img load failed, ",r,e),t._onLoadImageError(e),n(new DingRTCError(ErrorCode.InvaildState,"img load failed"))})})}},{key:"setStamp",value:function(e){this.stampId=e,this.setToolType(ShapeType.Stamp)}},{key:"thumbnails",get:function(){return"default"===this.activeDoc.docId?[]:some(this.activeDoc.getPages(),function(e){return e.backgroundImage})?this.activeDoc.getPages().map(function(e,t){var r;return(null===(r=e.backgroundImage)||void 0===r?void 0:r.imgUrl)||"empty-bg-".concat(t)}):[]}},{key:"setMediaShapeCallback",value:function(e){var t=this;e.setCallback({onShapeFocused:function(e){return t._focusShape(e)},onShapeSelected:function(e){return t._selectShape(e)},onMediaUpdate:function(e){t.isSynchronizer&&t.sendDrawCmd(e,"draw")}})}},{key:"addAudioShape",value:function(e){var t=this;return Log.logInfo("RtcWhiteboard.addAudioShape invoked"),new Promise(function(r,n){t.isConnected||n(new DingRTCError(ErrorCode.InvaildState));var i=t.getViewport(),o=new Audio({points:[{x:(i.minx+i.maxx-MEDIA_DOM_WIDTH)/2,y:(i.miny+i.maxy-AUDIO_DOM_HEIGHT)/2},{x:(i.minx+i.maxx+MEDIA_DOM_WIDTH)/2,y:(i.miny+i.maxy+AUDIO_DOM_HEIGHT)/2}],shapeId:t.getNewShapeId(),pageId:t.currentPage.pageId,creator:t.userId},e);t.setMediaShapeCallback(o),t.currentPage.addShape(o),t.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,o.shapeId,o.export(),void 0)),t.setAsSelectedShape(o),t.throttleSendDrawCmd(o,"draw"),r()})}},{key:"addVideoShape",value:function(e){var t=this;return Log.logInfo("RtcWhiteboard.addVideoShape",e),new Promise(function(r,n){t.isConnected||n(new DingRTCError(ErrorCode.InvaildState));var i=t.getViewport(),o=new Video({points:[{x:(i.minx+i.maxx-MEDIA_DOM_WIDTH)/2,y:(i.miny+i.maxy-VIDEO_DOM_HEIGHT)/2},{x:(i.minx+i.maxx+MEDIA_DOM_WIDTH)/2,y:(i.miny+i.maxy+VIDEO_DOM_HEIGHT)/2}],shapeId:t.getNewShapeId(),pageId:t.currentPage.pageId,creator:t.userId},e);t.setMediaShapeCallback(o),t.currentPage.addShape(o),t.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,o.shapeId,o.export(),void 0)),t.setAsSelectedShape(o),t.throttleSendDrawCmd(o,"draw"),r()})}},{key:"setAsSelectedShape",value:function(e){this.selectedShape&&(this.selectedShape.interactionStatus=InteractionStatusType.default),this.selectedShape=e,e.interactionStatus=InteractionStatusType.selected}},{key:"insertPage",value:function(e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.docManager.activeDocId,r=3>=arguments.length||void 0===arguments[3]||arguments[3];if(Log.logInfo("RtcWhiteboard.insertPage",e,1>=arguments.length||void 0===arguments[1]||arguments[1],t,r),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState);var n,i=this.docManager.getDocByDocId(t);if(!i)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not found");if(!i.canModifyPage)throw new DingRTCError(ErrorCode.InvaildArgument,"doc can not modify");if(i.browseMode===DocBrowserMode.scroll)i.scrollPages=i.scrollPages+1,null===(n=this.connection)||void 0===n||n.sendDocResourceMessage(i);else if(i.browseMode===DocBrowserMode.flip){var o;if(0>e)throw new DingRTCError(ErrorCode.InvaildArgument,"invalid index");var a=i.generateNewPageId(),s=i.getPages().map(function(e){return e.pageId});return null==s||s.splice(e+1,0,a),null===(o=this.connection)||void 0===o||o.sendDocResourceMessage(i,r?a:i.curPageId,s),this.activeDocId!==t&&r&&this.switchToDoc(t),a}}},{key:"removeScrollDocShapesByScrollY",value:function(e,t){var r=this;if(e.browseMode===DocBrowserMode.scroll){var n=e.getPages()[0],i=t*e.scrollPageHeight;n.getShapes().forEach(function(e){e.miny>i&&r.deleteShape(e,!1)})}}},{key:"setSizeLimitVisible",value:function(e){this.sizeLimitVisible=e,this.render()}},{key:"updateCustomDocPosition",value:function(e){if(Log.logInfo("RtcWhiteboard.updateCustomDocPosition",e.docId,e.name),e.width){var t=this.calculateScaleAndTranslate({width:e.externalDocWidth,height:e.externalDocHeight,minx:0,miny:0});e.getPages().forEach(function(e){e.scale=t.scale,e.translate=[t.translate[0],t.translate[1]]})}else Log.logError("RtcWhiteboard.updateCustomDocPosition doc width not exists!")}},{key:"centerPdfDoc",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.activeDoc;if(Log.logInfo("RtcWhiteboard.centerPdfDoc",e.docId,e.name),e instanceof PdfDoc){var t=this.getWrapperDomRect().width/e.width;e.getPages().forEach(function(e){e.scale=t,e.translate[0]=0}),this.render()}else Log.logError("RtcWhiteboard.centerPdfDoc doc width not exists!")}},{key:"getPdfVisiblePage",value:function(){var e;if(this.activeDoc instanceof PdfDoc&&"loaded"===this.activeDoc.pdfViewer.state){for(var t=this.activeDoc.pdfViewer.pdfPages.size,r=this.getViewport(),n=-1,i=t-1,o=0;t>o;o++){var a=this.activeDoc.pdfViewer.pdfPages.get(o);if(!a)return;if(-1===n&&a.top>r.miny&&(n=o-1),a.top>=r.maxy){i=o-1;break}}-1===n&&(n=t-1);var s=0>n-3?0:n-3,c=i+3>t?t:i+3;return n!==(null===(e=this.activeDoc.pdfViewer)||void 0===e?void 0:e.pageIndex)&&(this.activeDoc.pdfViewer.pageIndex=n),{pagesNum:t,start:s,end:c,firstVisibleIndex:n,lastVisibleIndex:i}}}},{key:"followVision",value:function(e){"pdf"!==this.activeDoc.type&&(Log.logInfo("RtcWhiteboard.followVision"),this.activeDoc.setDocViewport(e,this.getWrapperDomRect()))}},{key:"calculateScaleAndTranslate",value:function(e){var t=this.getWrapperDomRect(),r=e.width,n=e.height,i=0;return{scale:i=t.height/n>t.width/r?t.width/r:t.height/n,translate:[-e.minx*i-(r*i-t.width)/2,-e.miny*i-(n*i-t.height)/2]}}},{key:"showFps",value:function(){var e=this;Log.logInfo("RtcWhiteboard.showFps"),this.renderer.frameRenderRate=0,this.frameRenderRateInterval=window.setInterval(function(){e.renderFPS.innerHTML="fps: ".concat(e.renderer.frameRenderRate),e.renderer.frameRenderRate=0},1e3)}},{key:"stopShowFps",value:function(){Log.logInfo("RtcWhiteboard.stopShowFps"),clearInterval(this.frameRenderRateInterval)}},{key:"setPenetrable",value:function(e){Log.logInfo("RtcWhiteboard.setPenetrable",e),this._penetrable=e}},{key:"getViewport",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.currentPage,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getWrapperDomRect();return{minx:-e.translate[0]/e.scale,miny:-e.translate[1]/e.scale,maxx:(null==t?void 0:t.width)/e.scale-e.translate[0]/e.scale,maxy:(null==t?void 0:t.height)/e.scale-e.translate[1]/e.scale}}},{key:"setShapesVisible",value:function(e){var t,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e?(Log.logInfo("RtcWhiteboard.showWhiteboard"),this.enableInteraction(),this.renderer.showCanvas(),this.bgImg.parentElement!==this.wbWrapperDom&&this.wbWrapperDom.appendChild(this.bgImg)):(Log.logInfo("RtcWhiteboard.hideWhiteboard",r),this.stopInteraction(),this.renderer.hideCanvas(),r&&(null===(t=this.bgImg.parentElement)||void 0===t||t.removeChild(this.bgImg)));this.isShapesVisible=e}},{key:"convertPointCoords",value:function(e){return{x:(e.x-this.translate[0])/this.scale,y:(e.y-this.translate[1])/this.scale}}},{key:"convertDelta",value:function(e){return e/this.scale}},{key:"checkMouseOverAndSetType",value:function(e,t,r){if(this.selectedShape&&this.selectedShape.isPointInShapeRect(e,t))return this.visibleShapes.forEach(function(e){return e.interactionStatus=InteractionStatusType.default}),void(this.selectedShape.interactionStatus=r);for(var n=!1,i=this.visibleShapes.length-1;i>=0;i--){var o=this.visibleShapes[i];if(this.isPermittedShape(o))o.isPointInShape(e,t)&&!n?(n=!0,o.interactionStatus=r,this.selectedShape=o,o instanceof Text&&(this.textArea.value=o.text)):includes(this.multiSelecetedShapes,o)||(o.interactionStatus=InteractionStatusType.default)}n||(this.selectedShape=void 0)}},{key:"focusTetxArea",value:function(e){var t=this;if(this.chackIfTextAreaOutofBound(e),this.textArea.style.zIndex="1",this.textArea.style.color=this.strokeStyle,this.textArea.value=e.text,this.textArea!==document.activeElement){var r=this.textArea.value.length;this.textArea.setSelectionRange(r,r),this.textArea.focus(),requestAnimationFrame(function(){return t.textArea.focus()})}}},{key:"chackIfTextAreaOutofBound",value:function(e){var t=this.getVisionMaxX(),r=this.getVisionMaxY();(e.maxy>r||e.maxx>t)&&(this.setTranslate(e.maxx>t?this.translate[0]+(t-e.maxx-10)*this.scale:this.translate[0],e.maxy>r?this.translate[1]+(r-e.maxy-10)*this.scale:this.translate[1]),this.renderer.doRender())}},{key:"_selectShape",value:function(e){this.selectedShape!==e&&this.isPermittedShape(e)&&this.setAsSelectedShape(e)}},{key:"_focusShape",value:function(e){this.isPermittedShape(e)&&this.insertType===ShapeType.Select&&e.interactionStatus!==InteractionStatusType.selected&&(e.interactionStatus=InteractionStatusType.focused)}},{key:"getShapeResizeHandle",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.selectedShape;return r&&find(r.outlineResizeHandles,function(r){return r.isPointInShape(e,t)})}},{key:"rangeSelect",value:function(){var e=this,t=[],r=this.insertType===ShapeType.Delete?InteractionStatusType.willBeDeleted:InteractionStatusType.focused;this.visibleShapes.forEach(function(n){e.isPermittedShape(n)&&(e.selectIndicator.isPointInShapeRect(n.minx,n.miny)||e.selectIndicator.isPointInShapeRect(n.maxx,n.miny)||e.selectIndicator.isPointInShapeRect(n.maxx,n.maxy)||e.selectIndicator.isPointInShapeRect(n.minx,n.maxy))?(t.push(n),n.interactionStatus=r):n.interactionStatus=InteractionStatusType.default}),this.multiSelecetedShapes=t}},{key:"clearSelectedShapes",value:function(){this.selectedShape&&(this.selectedShape.interactionStatus=InteractionStatusType.default,this.selectedShape=void 0),this.multiSelecetedShapes.forEach(function(e){return e.interactionStatus=InteractionStatusType.default}),this.multiSelecetedShapes=[]}},{key:"shouldUpdateViewAfterSizeChange",get:function(){return"externalDoc"===this.activeDoc.type||this._bFollowVision}},{key:"moveAndScaleDisabled",get:function(){return this._scaleAndMoveDisabled||"externalDoc"===this.activeDoc.type||this._bFollowVision}},{key:"getShapeByPoint",value:function(e,t){for(var r=this.visibleShapes.length-1;r>=0;r--){var n=this.visibleShapes[r];if(this.isPermittedShape(n)&&n.isPointInShape(e,t))return n}}},{key:"center",value:function(){this._scaleBoardFitBackground(arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.activeDoc)}},{key:"enableCursorSync",value:function(){this._cursorSyncEnabled=!0}},{key:"disableCursorSync",value:function(){this._cursorSyncEnabled=!1}},{key:"isPointInAnyMultySlectedShape",value:function(e,t){for(var r=!1,n=0;this.multiSelecetedShapes.length>n;n++)if(this.multiSelecetedShapes[n].isPointInShapeRect(e,t)){r=!0;break}return r}},{key:"uploadLocalImage",value:function(e,t,r){var n,i,o,a=this;uploadTempFile({file:e,channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(n=null===(i=this.connection)||void 0===i?void 0:i.connectionInfo.securityToken)&&void 0!==n?n:"",gslb:(null===(o=this.connection)||void 0===o?void 0:o.connectionInfo.gslb)||getGslb(),onProgress:r}).then(function(r){var n=r.url;t?a.setBackgroundImage(n):includes(e.name,".gif")||includes(e.name,"imgtype=gif")?a.addImageShape(includes(n,"?")?"".concat(n,"&imgtype=gif"):"".concat(n,"?imgtype=gif")).catch(function(){Log.logError("RtcWhiteboard.uploadLocalImage","addImageShape error")}):a.addImageShape(n).catch(function(){Log.logError("RtcWhiteboard.uploadLocalImage","addImageShape error")})}).catch(function(e){Log.logError("RtcWhiteboard.uploadLocalImage: img upload failed, ",e.message,a.sessionId)})}},{key:"deleteRageSelectedShapes",value:function(){var e=this,t=[];this.multiSelecetedShapes.forEach(function(r){r.interactionStatus=InteractionStatusType.default;var n=r.export();r.visible=!1,r instanceof Text?(r.interactionStatus=InteractionStatusType.default,e.textArea.style.zIndex="0",e.textArea.style.color="transparent"):(r instanceof Video||r instanceof Audio)&&r.removeMediaDom(),t.push({shapeId:r.shapeId,currentState:r.export(),lastState:n}),e.sendDrawCmd(r,"draw")}),this.history.batchSave(new BatchHistory(HistoryActionType.hideShape,t)),this.multiSelecetedShapes=[]}},{key:"copyShapeInfoToClipboard",value:function(e){var t=this.activeDoc,r=e.map(function(e){return{docId:t.docId,pageId:t.currentPage.pageId,shapeId:e.shapeId}});setClipboard(JSON.stringify(r)).catch(function(e){Log.logError("RtcWhiteboard.copyShapeInfoToClipboard failed",e.message)})}},{key:"disableScaleAndMove",value:function(){Log.logInfo("RtcWhiteboard.disableScaleAndMove"),this._scaleAndMoveDisabled=!0}},{key:"enableScaleAndMove",value:function(){Log.logInfo("RtcWhiteboard.enableScaleAndMove"),this._scaleAndMoveDisabled=!1}},{key:"disableWheelScale",value:function(){Log.logInfo("RtcWhiteboard.disableWheelScale"),this.wheelDsiabled=!0}},{key:"enableWheelScale",value:function(){Log.logInfo("RtcWhiteboard.enableWheelScale"),this.wheelDsiabled=!1}},{key:"enableInteraction",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._role;this.stopInteraction(),"Viewer"!==e?(this.hammer.on("tap",this.onTap),this.hammer.on("panstart",this.onPanStart),this.hammer.on("panmove",this.onPanMove),this.hammer.on("panend",this.onPanEnd),this.hammer.on("pinchstart",this.onPinchStart),this.hammer.on("pinchin",this.onPinch),this.hammer.on("pinchend",this.onPinchEnd),this.hammer.on("pinchout",this.onPinch),this.hammer.on("pinchmove",this.onPinchMove),this.wbWrapperDom.addEventListener("dblclick",this.onDoubleClick),this.wbWrapperDom.addEventListener("mousedown",this.onMouseDown),this.wbWrapperDom.addEventListener("mousemove",this.onMouseMove),this.wbWrapperDom.addEventListener("touchend",this.onTouchEnd),this.wbWrapperDom.addEventListener("mouseup",this.onMouseUp),this.wbWrapperDom.addEventListener("contextmenu",this.onContextMenu),this.wbWrapperDom.addEventListener("wheel",this.onWheel),document.addEventListener("keydown",this.onKeyDown),document.addEventListener("keyup",this.onKeyUp),document.addEventListener("mouseout",this.onMouseOut),document.addEventListener("paste",this.onPaste)):Log.logInfo("RtcWhiteboard.enableInteraction role is viewer, return")}},{key:"stopInteraction",value:function(){this.wbWrapperDom.removeEventListener("mousemove",this.onMouseMove),this.wbWrapperDom.removeEventListener("mousedown",this.onMouseDown),this.wbWrapperDom.removeEventListener("mouseup",this.onMouseUp),this.wbWrapperDom.removeEventListener("contextmenu",this.onContextMenu),this.wbWrapperDom.removeEventListener("wheel",this.onWheel),this.wbWrapperDom.removeEventListener("touchend",this.onTouchEnd),document.removeEventListener("keydown",this.onKeyDown),document.removeEventListener("keyup",this.onKeyUp),document.removeEventListener("mouseout",this.onMouseOut),document.removeEventListener("paste",this.onPaste),this.hammer&&(this.hammer.off("tap",this.onTap),this.hammer.off("panstart",this.onPanStart),this.hammer.off("panmove",this.onPanMove),this.hammer.off("panend",this.onPanEnd),this.hammer.on("pinchstart",this.onPinchStart),this.hammer.off("pinchin",this.onPinch),this.hammer.off("pinchend",this.onPinchEnd),this.hammer.off("pinchout",this.onPinch),this.hammer.off("pinchmove",this.onPinchMove))}},{key:"deleteShapeOnPosition",value:function(e,t){for(var r=this.visibleShapes.length-1;r>=0;r--){var n=this.visibleShapes[r];if(this.isPermittedShape(n)&&n.isPointInShape(e,t)){this.deleteShape(n);break}}}},{key:"snapshot",value:(n=_asyncToGenerator$1(_regeneratorRuntime$1.mark(function e(){var t,r,n,i,o,a,s,c,l,u,d,p,h,f,g,y,v,m,b,S,_,w,I,T,E,O,P,C,R,x,k,A,D,N=arguments;return _regeneratorRuntime$1.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=N.length>2&&void 0!==N[2]?N[2]:"png",i=N.length>3&&void 0!==N[3]?N[3]:.5,Log.logInfo("RtcWhiteboard.snapshot",t=0>=N.length||void 0===N[0]||N[0],r=N.length>1&&void 0!==N[1]?N[1]:"view",this.sessionId),o=document.createElement("canvas"),a=this.renderer.canvasElement.width,s=this.renderer.canvasElement.height,c=0,l=0,u=0,d=0,this.activeDoc instanceof PdfDoc&&"all"===r&&(r="view",Log.logWarn("RtcWhiteboard.snapshot current page is pdf, only supprot snapshot mode 'view'")),"all"===r?(p=this.getViewport(),c=Math.min.apply(Math,[this.currentPage.backgroundImage?this.currentPage.backgroundImage.minx:0].concat(_toConsumableArray((h=this.visibleShapes).map(function(e){return e.minx}))))-10,l=Math.max.apply(Math,[0,this.currentPage.backgroundImage?this.currentPage.backgroundImage.maxx:0].concat(_toConsumableArray(h.map(function(e){return e.maxx}))))+10,u=Math.min.apply(Math,[this.currentPage.backgroundImage?this.currentPage.backgroundImage.miny:0].concat(_toConsumableArray(h.map(function(e){return e.miny}))))-10,d=Math.max.apply(Math,[0,this.currentPage.backgroundImage?this.currentPage.backgroundImage.maxy:0].concat(_toConsumableArray(h.map(function(e){return e.maxy}))))+10,c=Math.min(p.minx,c),l=Math.max(p.maxx,l),u=Math.min(p.miny,u),d=Math.max(p.maxy,d),f=(l-c)*this.getDevicePixelRatio(),g=(d-u)*this.getDevicePixelRatio(),o.width=f,o.height=g):(o.width=a,o.height=s),(y=o.getContext("2d")).save(),y.fillStyle=this.currentPage.backgroundColor,y.fillRect(0,0,o.width,o.height),y.restore(),!this.currentPage.backgroundImage){e.next=11;break}if(e.prev=1,v=this.currentPage.backgroundImage.img){e.next=3;break}return e.next=2,this.currentPage.backgroundImage.loadImage();case 2:v=this.currentPage.backgroundImage.img;case 3:if(isImageExportable(v)){e.next=9;break}return e.prev=4,e.next=5,ImageLoader.loadImgAnonymous(this.currentPage.backgroundImage.imgUrl);case 5:if(v=e.sent){e.next=7;break}return e.next=6,this.currentPage.backgroundImage.loadImage();case 6:v=this.currentPage.backgroundImage.img;case 7:v=void 0,e.next=9;break;case 8:e.prev=8,k=e.catch(4),v=void 0,Log.logError("背景图截图失败",JSON.stringify(k));case 9:v&&(m=this._getLimitedImgSize(v.naturalWidth,v.naturalHeight),b=m.imgWidth,S=m.imgHeight,y.save(),"all"===r?(y.scale(this.getDevicePixelRatio(),this.getDevicePixelRatio()),y.drawImage(v,this.currentPage.backgroundImage.minx,this.currentPage.backgroundImage.miny,b,S),y.scale(1/this.getDevicePixelRatio(),1/this.getDevicePixelRatio())):(y.translate(this.translate[0]*this.getDevicePixelRatio(),this.translate[1]*this.getDevicePixelRatio()),y.scale(this.scale*this.getDevicePixelRatio(),this.scale*this.getDevicePixelRatio()),y.drawImage(v,this.currentPage.backgroundImage.minx,this.currentPage.backgroundImage.miny,b,S),y.scale(1/this.scale/this.getDevicePixelRatio(),1/this.scale/this.getDevicePixelRatio()),y.translate(-this.translate[0]*this.getDevicePixelRatio(),-this.translate[1]*this.getDevicePixelRatio())),y.restore()),e.next=11;break;case 10:e.prev=10,A=e.catch(1),Log.logError("RtcWhiteboard.snapshot error, current page background image is blocked by CROS",JSON.stringify(A));case 11:if(!(this.activeDoc instanceof PdfDoc)){e.next=15;break}if(!(_=this.getPdfVisiblePage())){e.next=15;break}w=_.lastVisibleIndex,I=_.firstVisibleIndex;case 12:if(I>w){e.next=15;break}if(E=null===(T=this.activeDoc.pdfViewer)||void 0===T||null===(T=T.pdfPages.get(I))||void 0===T?void 0:T.img){e.next=13;break}return e.abrupt("continue",14);case 13:O=parseInt(E.getAttribute("data-w")||"",10),P=parseInt(E.getAttribute("data-h")||"",10),C=parseInt(E.getAttribute("data-t")||"",10),y.translate(this.translate[0]*this.getDevicePixelRatio(),this.translate[1]*this.getDevicePixelRatio()),y.scale(this.scale*this.getDevicePixelRatio(),this.scale*this.getDevicePixelRatio()),y.drawImage(E,0,C,O,P),y.scale(1/this.scale/this.getDevicePixelRatio(),1/this.scale/this.getDevicePixelRatio()),y.translate(-this.translate[0]*this.getDevicePixelRatio(),-this.translate[1]*this.getDevicePixelRatio());case 14:I++,e.next=12;break;case 15:return e.prev=15,"all"===r?(this.renderer.renderAllVisibleShapes(y,[-c,-u],1,!0),this.renderer.renderTopShapes(y,[-c,-u],1)):(this.renderer.renderAllVisibleShapes(y,this.translate,this.scale,!0),this.renderer.renderTopShapes(y,this.translate,this.scale)),R=o.toDataURL("image/".concat(n),i),t&&((x=document.createElement("a")).download="".concat(this.userId,"_").concat((new Date).toISOString(),".png"),x.href=R,document.body.appendChild(x),x.click(),x.remove()),e.abrupt("return",R);case 16:throw e.prev=16,D=e.catch(15),Log.logError("白板截图失败",D),new DingRTCError(ErrorCode.InvaildState,JSON.stringify(D));case 17:case"end":return e.stop()}},e,this,[[1,10],[4,8],[15,16]])})),function(){return n.apply(this,arguments)})},{key:"getNewShapeId",value:function(){return"".concat(this.userId).concat(SHAPE_SEQ_LINK_STR).concat(this.natureObjSeq++)}},{key:"isPermittedShape",value:function(e){return this.isAdmin||e.creator===this.userId}},{key:"getStatistics",value:function(){Log.logInfo("RtcWhiteboard.getStatistics");var e=[];return this.docManager.getDocs().forEach(function(t){t.getPages().forEach(function(t){t.getShapes().forEach(function(t){var r=find(e,{userId:t.creator});r||e.push(r={userId:t.creator,shapes:[]}),r.shapes.push(omit(t.export(),["points","rngReverse"]))})})}),e}},{key:"clearUserContents",value:function(e,t,r){var n,i=this;if(Log.logInfo("RtcWhiteboard.clearUserContents",e,t,r,this.isAdmin,this.sessionId),e!==this.userId&&!this.isAdmin)throw new DingRTCError(ErrorCode.InvaildArgument,"cannot clear contents becase of privilege");var o=[],a=[];this.docManager.getDocs().forEach(function(n){n.getPages().forEach(function(n){t&&n.pageId!==i.currentPage.pageId||n.getShapes().filter(function(t){return t.creator===e&&(r===WBClearType.BACKGROUND_IMAGE?t===n.backgroundImage:r!==WBClearType.DRAWS||t!==n.backgroundImage)}).forEach(function(e){t&&a.push(e),o.push({seq:e.shapeSeq,userId:e.creator})})})}),a.length&&this.history.batchSave(new BatchHistory(HistoryActionType.deleteShape,a.map(function(e){return{shapeId:e.shapeId,currentState:e.export(),lastState:e.export()}}))),null===(n=this.connection)||void 0===n||n.sendClearDrawMsg(o)}},{key:"createDoc",value:function(e,t,r,n){var i,o,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:genRandomDocId();if(Log.logInfo("RtcWhiteboard.createDoc",e,t,this.sessionId),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState,"session not connected");null===(i=this.connection)||void 0===i||i.sendCreateDocResourceMessage(a,e,t,r,n),null===(o=this.connection)||void 0===o||o.sendActiveDocResourceMessage(a)}},{key:"setLocale",value:function(e){I18n.locale=e}},{key:"setI18nConfig",value:function(e){I18n.setConfig(e)}},{key:"getI18nConfig",value:function(){return I18n.conifg}},{key:"resendLocalInfoOnFailover",value:function(){Log.logInfo("RtcWhiteboard.resendLocalInfoOnFailover"),this.sendLocalDocAndShapesOnReconnect(),this.setRoleType(this.role),this.bSharingVision&&(Log.logInfo("RtcWhiteboard.resendLocalInfoOnFailover resend locale vision"),this.throttleSendVisionCmd(this.getViewport()))}},{key:"sendLocalDocAndShapesOnReconnect",value:function(){var e=this;this.failoverShapeCache.clear(),this.failoverDocCache.clear(),this._innerEventhub.once("syncCompleted",function(){e.docManager.getDocs().forEach(function(t){var r,n;(e.failoverDocCache.get(t.docId)||-1)<t.pageVersion&&(null===(r=e.connection)||void 0===r||r.sendDocResourceMessage(t),e.isSynchronizer&&t.docId===e.docManager.activeDocId&&(null===(n=e.connection)||void 0===n||n.sendActiveDocResourceMessage(t.docId)));t.getPages().forEach(function(t){t.getShapes().forEach(function(t){e.failoverShapeCache.get(t.shapeId)||e.sendDrawCmd(t,"draw")}),t.backgroundImage&&(e.failoverShapeCache.get(t.backgroundImage.shapeId)||e.sendDrawCmd(t.backgroundImage,"draw"))})})})}},{key:"open",value:function(e){var t=this;Log.logInfo("RtcWhiteboard.openWhiteboard",this.sessionId),this.checkDocAndSetPenetrable(this.insertType),e.appendChild(this.wbWrapperDom),this.wrapperDomRect=e.getBoundingClientRect(),window.addEventListener("resize",this.autoUpdateCanvasSize),window.addEventListener("scroll",this.autoUpdateCanvasSize),this.enableInteraction(),window.requestAnimationFrame(function(){t.updateCanvasSize(!1),t._updateBoardWithNewScale(t.scale,0,0),t.render()}),setTimeout(function(){t.updateCanvasSize(!1,!1,!0),t._updateBoardWithNewScale(t.scale,0,0),t.render()},1e3),this.isWhiteboardOpen=!0,window.addEventListener("panoPenEvent",this._onPenEvent),requestAnimationFrame(function(){t.docManager.getDocs().forEach(function(e){return e.getPages().forEach(function(r,n){e.docId===t.activeDocId&&n===t.pageIndex&&t._bFollowVision||(e.scaleBoardFitBackgroundImage(r,t.getWrapperDomRect(),t.bgScaleMode),e instanceof ExternalDoc&&e.width&&t.updateCustomDocPosition(e))})}),t._everOpened||(t.fitWithSizeConfig(),t._everOpened=!0)}),this.isOpen=!0,this._bFollowVision&&requestAnimationFrame(function(){t._visionLockInfo&&t.followVision(t._visionLockInfo)})}},{key:"close",value:function(){var e;Log.logInfo("RtcWhiteboard.close"),window.removeEventListener("panoPenEvent",this._onPenEvent),this.isWhiteboardOpen=!1,this.currentPage.getShapes().forEach(function(e){(e instanceof Video||e instanceof Audio)&&e.removeMediaDom()}),this.stopInteraction(),null===(e=this.wbWrapperDom.parentElement)||void 0===e||e.removeChild(this.wbWrapperDom),window.removeEventListener("resize",this.autoUpdateCanvasSize),window.removeEventListener("scroll",this.autoUpdateCanvasSize),clearInterval(this.frameRenderRateInterval),this.isOpen=!1}},{key:"alignVision",value:function(){var e,t=this.getViewport();null===(e=this.connection)||void 0===e||e.sendVisionResourceMsg(t.maxx-t.minx,t.maxy-t.miny,t.minx,t.miny)}},{key:"initVision",value:function(e,t){var r,n,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(Log.logInfo("RtcWhiteboard.initVision",e,t,i,this.sessionId),!parseFloat("".concat(e))||!parseFloat("".concat(t)))throw new DingRTCError(ErrorCode.InvaildArgument);if(t!==(null===(r=this.sizeConfig)||void 0===r?void 0:r.height)||e!==(null===(n=this.sizeConfig)||void 0===n?void 0:n.width)||i!==this.isSizeLimited){var o={width:e,height:t,limited:i};this.sizeConfig=o,this.docManager.getDocs().forEach(function(e){e.setSizeConfig(o)}),this.fitWithSizeConfig()}}},{key:"startVisionShare",value:function(){Log.logInfo("RtcWhiteboard.startVisionShare",this.sessionId),this.bSharingVision=!0,this._bFollowVision=!1,this.enableScaleAndMove(),this.isOpen&&this.throttleSendVisionCmd(this.getViewport())}},{key:"stopVisionShare",value:function(){var e;Log.logInfo("RtcWhiteboard.stopVisionShare",this.sessionId),this.bSharingVision=!1,this._lockVisonUserId===this.userId&&(null===(e=this.connection)||void 0===e||e.sendClearResourceMsg("vision",["vision"]))}},{key:"startFollowVision",value:function(){Log.logInfo("RtcWhiteboard.startFollowVision",this._visionLockInfo,this.sessionId),this._bFollowVision=!0,this._visionLockInfo&&this.followVision(this._visionLockInfo)}},{key:"stopFollowVision",value:function(){Log.logInfo("RtcWhiteboard.stopFollowVision",this.sessionId),this._bFollowVision=!1}},{key:"deleteDoc",value:function(e,t){var r;if(Log.logInfo("RtcWhiteboard.deleteDoc",this.sessionId),e===DEFAULT_DOC_ID)throw new DingRTCError(ErrorCode.InvaildArgument,"cannot delete default doc");var n=this.docManager.getDocByDocId(e);if(!n)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not found");e===this.docManager.activeDocId&&(t&&this.docManager.getDocByDocId(t)?this.switchToDoc(t):this.switchToDoc(DEFAULT_DOC_ID)),null===(r=this.connection)||void 0===r||r.sendClearResourceMsg("doc",[n.docId]),this.docManager.deleteDocByDocId(e)}},{key:"clearContents",value:function(e,t){var r,n=this;if(Log.logInfo("RtcWhiteboard.clearContents",e,t,this.sessionId),!this.isAdmin)throw Log.logError("RtcWhiteboard.clearContents failed, not admin role"),new DingRTCError(ErrorCode.InvaildArgument,"cannot clear contents becase of privilege");var i=[];if(e){var o=[];t===WBClearType.All?this.currentPage.getShapes().forEach(function(e){o.push(e),i.push({seq:e.shapeSeq,userId:e.creator})}):t===WBClearType.BACKGROUND_IMAGE?this.currentPage.backgroundImage&&(o.push(this.currentPage.backgroundImage),i.push({seq:this.currentPage.backgroundImage.shapeSeq,userId:this.currentPage.backgroundImage.creator})):t===WBClearType.DRAWS&&this.currentPage.getShapes().forEach(function(e){e!==n.currentPage.backgroundImage&&(o.push(e),i.push({seq:e.shapeSeq,userId:e.creator}))}),o.length&&this.history.batchSave(new BatchHistory(HistoryActionType.deleteShape,o.map(function(e){return{shapeId:e.shapeId,currentState:e.export(),lastState:e.export()}})))}else t===WBClearType.All?this.docManager.getDocs().forEach(function(e){e.getPages().forEach(function(e){e.getShapes().forEach(function(e){i.push({seq:e.shapeSeq,userId:e.creator})})})}):t===WBClearType.BACKGROUND_IMAGE?this.docManager.getDocs().forEach(function(e){e.getPages().forEach(function(e){e.backgroundImage&&i.push({seq:e.backgroundImage.shapeSeq,userId:e.backgroundImage.creator})})}):t===WBClearType.DRAWS&&this.docManager.getDocs().forEach(function(e){e.getPages().forEach(function(e){e.getShapes().forEach(function(t){t!==e.backgroundImage&&i.push({seq:t.shapeSeq,userId:t.creator})})})});null===(r=this.connection)||void 0===r||r.sendClearDrawMsg(i)}},{key:"clearDocContents",value:function(e,t){var r;if(Log.logInfo("RtcWhiteboard.clearDocContents",e,t,this.isAdmin,this.sessionId),!this.isAdmin)throw new DingRTCError(ErrorCode.InvaildArgument,"cannot clear contents becase of privilege");var n=this.docManager.getDocByDocId(e);if(!n)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not found");var i=[];n.getPages().forEach(function(e){e.getShapes().forEach(function(e){i.push({seq:e.shapeSeq,userId:e.creator})})}),null===(r=this.connection)||void 0===r||r.sendClearDrawMsg(i)}},{key:"setScale",value:function(e){this.activeDoc.setScale(e,!0,this.getWrapperDomRect())}},{key:"uploadPDF",value:function(e){var t,r,n,i=this;return Log.logInfo("RtcWhiteboard.uploadPDF",this.sessionId),selectAndUploadTempFile({accept:".pdf",channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(t=null===(r=this.connection)||void 0===r?void 0:r.connectionInfo.securityToken)&&void 0!==t?t:"",gslb:(null===(n=this.connection)||void 0===n?void 0:n.connectionInfo.gslb)||getGslb(),onProgress:e}).then(function(e){return i.addPdfDoc(e.url,e.fileName),e})}},{key:"addPdfDoc",value:function(e,t){var r,n,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:genRandomDocId(),o=arguments.length>3?arguments[3]:void 0;Log.logInfo("RtcWhiteboard.addPdfDoc",e,t,this.sessionId);var a=i;return null===(r=this.connection)||void 0===r||r.sendCreatePdfDocResourceMessage(i,t,e,o),null===(n=this.connection)||void 0===n||n.sendActiveDocResourceMessage(i),a}},{key:"transcodeFile",value:function(e){var t,r,n,i=this;Log.logInfo("RtcWhiteboard.transcodeFile",e,this.sessionId);var o=e.targetType,a=e.onUploadProgress,s=e.onTranscodeProgress;return selectAndTranscodeFile({accept:".docx, .xlsx, .pptx, .doc, .xls, .ppt, .pdf",channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(t=null===(r=this.connection)||void 0===r?void 0:r.connectionInfo.securityToken)&&void 0!==t?t:"",gslb:(null===(n=this.connection)||void 0===n?void 0:n.connectionInfo.gslb)||getGslb(),targetType:o,onUploadProgress:a,onTranscodeProgress:s}).then(function(e){var t=e.url,r=e.fileName,n=e.docId;return"pdf"===o?i.addPdfDoc(t[0],r,n,n):i.addBackgroundImages(t,r,n),e})}},{key:"addBackgroundImages",value:function(e,t){var r,n,i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:genRandomDocId();if(Log.logInfo("RtcWhiteboard.addBackgroundImages",t,this.sessionId),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState,"session not connected");null===(r=this.connection)||void 0===r||r.sendCreateDocResourceMessage(o,e.length,t||o.slice(-6)),null===(n=this.connection)||void 0===n||n.sendActiveDocResourceMessage(o),e.forEach(function(e,t){var r,n="".concat(o,"-").concat(t+1),a=new Image$1({points:[{x:0,y:0},{x:0,y:0}],shapeId:"bg-".concat(n),pageId:n,creator:i.userId},e);a.order=ShapeOrderType.bg,null===(r=i.connection)||void 0===r||r.sendShapeDrawMessage(a)})}},{key:"uploadAudio",value:function(e){var t,r,n,i=this;return Log.logInfo("RtcWhiteboard.uploadAudio",this.sessionId),selectAndUploadTempFile({accept:"audio/mp3,audio/ogg",channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(t=null===(r=this.connection)||void 0===r?void 0:r.connectionInfo.securityToken)&&void 0!==t?t:"",gslb:(null===(n=this.connection)||void 0===n?void 0:n.connectionInfo.gslb)||getGslb(),onProgress:e}).then(function(e){return i.addAudioShape(e.url),e})}},{key:"uploadVideo",value:function(e){var t,r,n,i=this;return Log.logInfo("RtcWhiteboard.uploadVideo",this.sessionId),selectAndUploadTempFile({accept:"video/mp4,audio/ogg,video/webm",channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(t=null===(r=this.connection)||void 0===r?void 0:r.connectionInfo.securityToken)&&void 0!==t?t:"",gslb:(null===(n=this.connection)||void 0===n?void 0:n.connectionInfo.gslb)||getGslb(),onProgress:e}).then(function(e){i.addVideoShape(e.url)})}},{key:"_sendMetrics",value:function(e){e.time=(new Date).toISOString(),this.metricsBuffer.push(e);var t=e.event||"";t.includes("join")||t.includes("leave")?this.doSendMetrics():this.sendMetricsTimeout||(this.sendMetricsTimeout=window.setTimeout(this.doSendMetrics,1e4))}},{key:"uploadImage",value:function(){var e,t,r,n=this,i=0>=arguments.length||void 0===arguments[0]||arguments[0],o=arguments.length>1?arguments[1]:void 0;if(Log.logInfo("RtcWhiteboard.uploadImage",this.sessionId),this.isConnected)return selectAndUploadTempFile({accept:"image/*",channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(e=null===(t=this.connection)||void 0===t?void 0:t.connectionInfo.securityToken)&&void 0!==e?e:"",gslb:(null===(r=this.connection)||void 0===r?void 0:r.connectionInfo.gslb)||getGslb(),onProgress:o}).then(function(e){var t=e.url,r=e.fileName;i?n.setBackgroundImage(t):includes(r,".gif")||includes(t,"imgtype=gif")?n.addImageShape(includes(r,"?")?"".concat(t,"&imgtype=gif"):"".concat(t,"?imgtype=gif")).catch(function(){Log.logError("RtcWhiteboard.uploadImage","addImageShape error")}):n.addImageShape(t).catch(function(){Log.logError("RtcWhiteboard.uploadImage","addImageShape error")})})}},{key:"addStamp",value:function(e,t,r){Log.logInfo("RtcWhiteboard.addStamp",e,t,r),Stamp.stampResourceCache.cache(e,t,r)}},{key:"getSdkVersion",value:function(){return version$1}},{key:"exportAsJson",value:(r=_asyncToGenerator$1(_regeneratorRuntime$1.mark(function e(){var t,r,n,i,o,a,s,c=arguments;return _regeneratorRuntime$1.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=c.length>0&&void 0!==c[0]&&c[0],r=this.docManager.getDocs().map(function(e){return e.export()}),n="",e.prev=1,e.next=2,this.snapshot(!1,"all","png",.1);case 2:n=e.sent,e.next=4;break;case 3:e.prev=3,e.catch(1),Log.logError("RtcWhiteboard.exportAsJson snapshot error");case 4:return i={snapshot:n,docsInfo:r},t&&(o="".concat(this.channelId,"-").concat(this.userId,".wbstates.json"),a=new File([new Blob([JSON.stringify(i)],{type:"text/plain"})],o,{type:"text/plain"}),(s=document.createElement("a")).href=window.URL.createObjectURL(a),s.download=o,s.style.display="none",document.body.appendChild(s),requestAnimationFrame(function(){s.click(),document.body.removeChild(s)})),e.abrupt("return",i);case 5:case"end":return e.stop()}},e,this,[[1,3]])})),function(){return r.apply(this,arguments)})},{key:"saveLogs",value:function(){saveLogs(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"".concat(formateDate(new Date,"yyyyMMdd-hhmmss"),".web-sdk.log"))}}],[{key:"usePdf",value:function(e){t.PdfPlugin=e}}]);var r,n}();function _callSuper$3(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$3()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$3(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$3=function(){return!!e})()}function _superPropGet(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return 2&n&&"function"==typeof i?function(e){return i.apply(r,e)}:i}Object.defineProperty(Whiteboard,"MAX_SCALE",{enumerable:!0,configurable:!0,writable:!0,value:5}),Object.defineProperty(Whiteboard,"MIN_SCALE",{enumerable:!0,configurable:!0,writable:!0,value:.1}),Object.defineProperty(Whiteboard,"MAX_MEDIA_SIZE",{enumerable:!0,configurable:!0,writable:!0,value:300}),Object.defineProperty(Whiteboard,"DEFAULE_DOC_URL_DURATION",{enumerable:!0,configurable:!0,writable:!0,value:172800}),Object.defineProperty(Whiteboard,"RENDER_INTEVAL",{enumerable:!0,configurable:!0,writable:!0,value:RENDER_INTEVAL}),Object.defineProperty(Whiteboard,"CMD_SEND_WAIT",{enumerable:!0,configurable:!0,writable:!0,value:100}),Object.defineProperty(Whiteboard,"sdkVersion",{enumerable:!0,configurable:!0,writable:!0,value:version$1}),Object.defineProperty(Whiteboard,"docTranscodeStaicMaxSize",{enumerable:!0,configurable:!0,writable:!0,value:200});var RtcWhiteboard=function(e){function t(e,r){var n;return _classCallCheck$1(this,t),n=_callSuper$3(this,t,[e.sessionId]),Object.defineProperty(n,"wbManager",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(n,"users",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"joinStatus",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"openStatus",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"leave",{enumerable:!0,configurable:!0,writable:!0,value:function(){Log.logInfo("RtcWhiteboard.leaveWhiteboard whiteboardId",n.sessionId),n.close(),n.joinStatus="leaving",n.connection.leave(),n.joinStatus="left",n.users=[]}}),Object.defineProperty(n,"stop",{enumerable:!0,configurable:!0,writable:!0,value:function(){Log.logInfo("RtcWhiteboard.stopWhiteboard",n.sessionId),n.connection.stop(),n.reset(),n.joinStatus="left"}}),Object.defineProperty(n,"onReceiveCommand",{enumerable:!0,configurable:!0,writable:!0,value:function(e){try{var t=e.type;if("resource"===t){var r=e.moziMessageIdDTO.messageId;if("activeDoc"===r)Log.logInfo("RtcWhiteboard.onReceiveCommand active",e,n.sessionId),n.docManager.switchActiveDoc(e.message.active);else if("doc"===e.message.resourceType){Log.logInfo("RtcWhiteboard.onReceiveCommand doc",e,n.sessionId),n.docManager.handleDocCommnad(e,n.connection.connectionInfo.pid===e.editor,n.getWrapperDomRect(),n.sizeConfig)}else"vision"===r?n._handleVisionCommand(e):"laserPointer"===e.message.resourceType?n._handleLaserPointerCommand(e):"cursor"===e.message.resourceType?n._handleCoursorCommand(e):"stamp"===e.message.resourceType&&n._handleStampResourceCommand(e)}else"clear"===t?"object"===e.messageType?n._handleClearObj(e):n._handleClearResource(e):"object"===t?n._handleDrawCommand(e):"snapshot"===t&&n._handleSnapshotCommand(e)}catch(t){Log.logError("RtcWhiteboard.onReceiveCommand: Handle command failed: ",e,t,n.sessionId)}}}),n.connection=e,n.users=[],n.connection.on("data-received",function(e,t,r){try{var i=JSON.parse(e);n.onReceiveCommand(i)}catch(n){Log.logInfo("RtcWhiteboard data-received parse error",e,t,r)}}),n.connection.on("status-sync",function(){n._innerEventhub.emit("syncCompleted")}),n.connection.on("user-join",function(e){n.users.some(function(t){return t.userId===e})||(n.users.push({userId:e}),n.emit("user-join",e))}),n.connection.on("user-leave",function(e){var t=n.users.findIndex(function(t){return t.userId===e});t>-1&&(n.users.splice(t,1),n.emit("user-leave",e))}),n.joinStatus="init",n.openStatus="init",n}return _inherits$1(t,Whiteboard),_createClass$1(t,[{key:"isConnected",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.isConnected)||!1}},{key:"open",value:(r=_asyncToGenerator$1(_regeneratorRuntime$1.mark(function e(r){var n,i,o;return _regeneratorRuntime$1.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=this.openStatus,this.openStatus="opening",Log.logInfo("RtcWhiteboard.open",this.sessionId),this.isConnected){e.next=1;break}return Log.logInfo("RtcWhiteboard.open wb session not connected, will join session",this.sessionId),this.openStatus=n,e.abrupt("return");case 1:return e.prev=1,e.next=2,this.joinSession();case 2:e.next=4;break;case 3:return e.prev=3,o=e.catch(1),this.openStatus=n,e.abrupt("return",Promise.reject(o));case 4:return i=_superPropGet(t,"open",this,3)([r]),this.openStatus="opened",e.abrupt("return",i);case 5:case"end":return e.stop()}},e,this,[[1,3]])})),function(e){return r.apply(this,arguments)})},{key:"close",value:function(){if("closed"!==this.openStatus){this.openStatus="closing";var e=_superPropGet(t,"close",this,3)([]);return this.openStatus="closed",e}Log.logInfo("RtcWhiteboard.close already closed, directly resolve",this.sessionId)}},{key:"joinSession",value:function(){var e=this;if("joined"===this.joinStatus)return Log.logInfo("RtcWhiteboard.joinSession already joined, directly resolve",this.sessionId),Promise.resolve(!0);var t=this.joinStatus;return this.joinStatus="joining",this.connection.joinSession().then(function(){var t;e.joinStatus="joined",null===(t=e.connection.session)||void 0===t||t.nodeMap.nodesInfo.forEach(function(t){-1===e.users.findIndex(function(e){return e.userId===t.uid})&&e.users.push({userId:t.uid})})}).catch(function(r){return e.joinStatus=t,Promise.reject(r)})}},{key:"_handleSnapshotCommand",value:function(e){var t,r=this;Log.logInfo("RtcWhiteboard._handleSnapshotCommand",e,this.sessionId),e.start&&Log.logInfo("RtcWhiteboard._handleSnapshotCommand start"),e.objects.forEach(function(e){"activeDoc"!==e.moziMessageIdDTO.messageId?r.onReceiveCommand(e):t=e}),t&&this.onReceiveCommand(t),e.end&&Log.logInfo("RtcWhiteboard._handleSnapshotCommand end")}},{key:"_handleCoursorCommand",value:function(e){if(e.moziMessageIdDTO.userDTO.userId!==this.userId){Log.logDebug("RtcWhiteboard._handleCoursorCommand",e,this.sessionId);var t=find(this.cursors,{shapeId:e.moziMessageIdDTO.messageId}),r=parseInt(e.message.x),n=parseInt(e.message.y),i=num2rgba(parseInt(e.message.color));if(t)t.updateCursor(r,n,i,e.message.type);else{var o=new Cursor({points:[{x:r,y:n},{x:r,y:n}],shapeId:e.moziMessageIdDTO.messageId,creator:e.moziMessageIdDTO.userDTO.userId},e.message.name,e.message.type,i);this.cursors.push(o),this._hookShapeRenderRequest(o)}}}},{key:"_handleClearResource",value:function(e){var t=this;Log.logInfo("RtcWhiteboard._handleClearResource",e,this.sessionId);var r=e.resourceType;e.clearedMessageIds.map(function(e){var t=JSON.parse(e);return{messageId:t.messageId,userId:t.userDTO.userId}}).forEach(function(e){var n,i=e.messageId,o=e.userId;if("vision"===r)t.emit("user-vision-share-stop",o),o===(null===(n=t._visionLockInfo)||void 0===n?void 0:n.userId)&&(t._visionLockInfo=void 0,t._lockVisonUserId="",t.stopFollowVision());else if("cursor"===r)t.cursors.splice(findIndex(t.cursors,{shapeId:i,creator:o},1));else if("laserPointer"===r)t.laserPointers=t.laserPointers.filter(function(e){return e.creator!==o});else if("doc"===r){var a=t.docManager.getDocByDocId(i);if(!a||a.docId!==i)return;a.docId===t.docManager.activeDocId&&t.docManager.switchActiveDoc(DEFAULT_DOC_ID),t.docManager.deleteDoc(a)}}),this.render()}},{key:"_handleClearObj",value:function(e){var t=this;Log.logInfo("RtcWhiteboard._handleClearObj",e,this.sessionId),e.clearedMessageIds.map(function(e){var t=JSON.parse(e);return{shapeSeq:t.messageId,userId:t.userDTO.userId}}).forEach(function(e){var r=e.shapeSeq,n=e.userId;t.docManager.getDocs().forEach(function(e){for(var t=0;e.totalPages>t;t++)e.getPageAtIndex(t).removeShape(seqIdToShapeId(r,n))})}),this.render()}},{key:"_handleStampResourceCommand",value:function(e){Log.logInfo("RtcWhiteboard._handleStampResourceCommand",e);var t=e.moziMessageIdDTO.messageId;Stamp.stampResourceCache.get(t)?Stamp.stampResourceCache.setServerCache(t):e.message.url&&(Stamp.stampResourceCache.cache(t,e.message.url,"1"===e.message.resizable),Stamp.stampResourceCache.setServerCache(t))}},{key:"_handleLaserPointerCommand",value:function(e){var t=e.moziMessageIdDTO.userDTO.userId;if(t!==this.userId){var r=e.moziMessageIdDTO.messageId,n=seqIdToShapeId(r,t),i=parseInt(e.message.x),o=parseInt(e.message.y),a=find(this.laserPointers,function(e){return e.shapeId===n});a?a.points=[{x:i,y:o},{x:i,y:o}]:(a=new LaserPointer([{x:i,y:o},{x:i,y:o}],seqIdToShapeId(r,t),t),this._hookShapeRenderRequest(a),this.laserPointers.push(a))}}},{key:"_handleVisionCommand",value:function(e){if(e.moziMessageIdDTO.userDTO.userId!==this.userId){var t=parseInt(e.message.width),r=parseInt(e.message.height),n=e.moziMessageIdDTO.userDTO.userId;this._visionLockInfo={width:t,height:r,minx:parseInt(e.message.minx),miny:parseInt(e.message.miny),userId:n},this.bSharingVision&&n!==this.userId&&(this.bSharingVision=!1,this.emit("vision-lock-stop")),this._lockVisonUserId!==n&&(this._lockVisonUserId=n,Log.logInfo("RtcWhiteboard._handleVisionCommand userVisionShareStart",e,this.sessionId),this.emit("user-vision-share-start",n)),this.isWhiteboardOpen&&(t>0&&r>0?this._bFollowVision&&this.followVision(this._visionLockInfo):Log.logError("RtcWhiteboard._handleVisionCommand: ","width or height is minus, won't handle this",this.sessionId))}else this._lockVisonUserId=this.userId}},{key:"_handleDrawCommand",value:function(e){var t=this;Log.logDebug("RtcWhiteboard.handleDrawCommand: ",e,this.sessionId);var r=e.message,n=e.moziMessageIdDTO.userDTO.userId;if(e.editor!==this.connection.connectionInfo.pid||r.shape===ShapeType.Image&&"bg"===r.order){var i=r.pageId,o=r.order,a=void 0===o?ShapeOrderType.normal:o,s=r.text,c=r.data,l=r.style,u=r.font,d=r.image,p=r.video,h=r.audio,f=r.shape,g=this.docManager.getDocByPageId(i),y=null==g?void 0:g.getPageByPageId(i);if(y&&g){var v=g.getPageIndexByPageId(i),m=e.moziMessageIdDTO.messageId,b=seqIdToShapeId(m,n),S=y.getShapeBySeq(m,n);if(!S){Log.logInfo("RtcWhiteboard.handleDrawCommand: local shape not found, will create new shape.");var _=c&&numArr2points(c),w=generateShapeStyle(l?JSON.parse(l):void 0);if(!_||!_.length)return void Log.logWarn("RtcWhiteboard.handleDrawCommand: no point data when create a new shape!");if(f===ShapeType.Pen)S=new Pen({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Line)S=new Line({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Rect)S=new Rect({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Ellipse)S=new Ellipse({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Triangle)S=new Triangle({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Rhombic)S=new Rhombic({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Arrow)S=new Arrow({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Video){var I=JSON.parse(p||"");S=new Video({points:_,shapeId:b,creator:n,pageId:i},I.url),this.setMediaShapeCallback(S)}else if(f===ShapeType.Stamp){var T=JSON.parse(d||"").url,E=Stamp.stampResourceCache.get(T);E?S=new Stamp({points:_,shapeId:b,creator:n,pageId:i},T,E.resizable,E.url):Log.logError("RtcWhiteboard.handleDrawCommand: stamp resource cache not found!",T,this.sessionId)}else if(f===ShapeType.Audio){var O=JSON.parse(h||"");S=new Audio({points:_,shapeId:b,creator:n,pageId:i},O.url),this.setMediaShapeCallback(S)}else if(f===ShapeType.Text){var P=JSON.parse(u||"{}"),C=generateShapeFont(JSON.parse(u||"{}")),R=generateShapeStyle({fillcolor:P.color,filltype:ShapeFillType.color,linecolor:P.color,linewidth:1});S=new Text({points:_,shapeId:b,creator:n,pageId:i},R,s,C)}else if(f===ShapeType.Image){var x=JSON.parse(d||"").url;(S=new Image$1({points:_,shapeId:b,creator:n,pageId:i},x)).order=a,S.loadImage().then(function(e){if(0===S.points[1].y||0===S.points[1].x){var r=t._getLimitedImgSize(e.naturalWidth,e.naturalHeight);t.updateBgImgPosition(S,r.imgWidth,r.imgHeight),n===t.userId&&(Log.logInfo("RtcWhiteboard.handleDrawCommand: resend shape data because bg image width or height is 0",t.sessionId),t.sendDrawCmd(S,"draw"))}"bg"===S.order&&(y.backgroundImage=S,t._bFollowVision||g.scaleBoardFitBackgroundImage(y,t.getWrapperDomRect(),t.bgScaleMode),t.emit("background-image-updated",g.docId,v,x))}).catch(function(){Log.logError("image load failed when handle draw command")})}else f===ShapeType.Brush&&(S=new Eraser({points:_,shapeId:b,creator:n,pageId:i},w));if(!S)return void Log.logError("RtcWhiteboard.handleDrawCommand: no shape created!");S instanceof Image$1&&"bg"===S.order||y.addShape(S)}if(r.rgn){var k=numArr2points(r.rgn);if(S instanceof Line||S instanceof Arrow)S.points=k;else{var A={x:(k[0].x+k[1].x)/2,y:(k[0].y+k[1].y)/2};S.onMoveStart(),S.onMoveEnd(A.x-S.center.x,A.y-S.center.y),S.storeTransformStartPoints();var D=S.rngReverse,N=D.xReversed,M=D.yReversed,j=k[0].x-k[1].x>0,L=k[0].y-k[1].y>0,$=Math.abs((k[0].x-k[1].x)/(S.minx-S.maxx)),B=Math.abs((k[0].y-k[1].y)/(S.miny-S.maxy));S.resizeByRatio(N&&j||!N&&!j?$:-$,M&&L||!M&&!L?B:-B)}}else{var U=r.order,F=void 0===U?S.order||ShapeOrderType.normal:U,z=r.orderTime,V=r.text,W=r.data,H=r.visible,q=r.style,G=r.font,Y=r.image,K=r.video,J=r.audio,X=W&&numArr2points(W),Z=generateShapeStyle(q?JSON.parse(q):void 0);if(S.points=X||S.points,S instanceof DrawableShape&&(S.shapeStyle=Z||S.shapeStyle),S instanceof Text&&(S.fontStyle=G&&generateShapeFont(JSON.parse(G))||S.fontStyle,S.text=V||S.text),S instanceof Image$1){var Q=JSON.parse(Y||"").url;S.order=F,Q!==S.imgUrl&&(S.imgUrl=Q,S.loadImage().then(function(e){if(0===S.points[1].y||0===S.points[1].x){var r=t._getLimitedImgSize(e.naturalWidth,e.naturalHeight);t.updateBgImgPosition(S,r.imgWidth,r.imgHeight),n===t.userId&&(Log.logInfo("RtcWhiteboard.handleDrawCommand: resend shape data because bg image width or height is 0",t.sessionId),t.sendDrawCmd(S,"draw"))}"bg"===S.order&&(t._bFollowVision||g.scaleBoardFitBackgroundImage(y,t.getWrapperDomRect(),t.bgScaleMode),t.emit("background-image-updated",g.docId,v,Q))}).catch(function(){Log.logError("image load failed when handle draw command")}))}if(S instanceof MediaShape){var ee=JSON.parse(K||J||""),te=ee.time,re=ee.isPlaying,ne=ee.repeatPlay;void 0!==te&&(Math.abs(te-S.mediaElement.currentTime)>1||S.mediaElement.paused!==!re||ne!==S.repeatPlay?(S.mediaElement.currentTime=te,S.repeatPlay=ne,re?S.mediaElement.play().catch(function(){Log.logError("mediaElement play failed when handle draw command")}):S.mediaElement.pause()):Log.logInfo("RtcWhiteboard.ignore meida sync",e,{time:S.mediaElement.currentTime,isPlaying:!S.mediaElement.paused,repeatPlay:S.repeatPlay},this.sessionId))}if(H===ShapeVisibleType.invisible||H===ShapeVisibleType.visible){var ie=H===ShapeVisibleType.visible;S.visible!==ie&&(S.visible=ie)}S.order=F,S.orderTime=new Date(z||Date.now()).getTime(),y.updateShapesOrder()}}else Log.logError("RtcWhiteboard.handleDrawCommand: page not found!",i,this.sessionId)}}}]);var r}();function ownKeys$1(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$1(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$1(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$1(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$2(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$2()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$2(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$2=function(){return!!e})()}var ISession=function(e){function t(){var e;return _classCallCheck$1(this,t),e=_callSuper$2(this,t,arguments),Object.defineProperty(e,"clearCursorTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"generateBaseMessage",value:function(e,t,r){return{type:"resource",editor:this.connectionInfo.pid,operationTime:Date.now(),version:-1,messageSettingsDTO:{autoDelete:t},moziMessageIdDTO:{channelId:this.connectionInfo.sessionId,messageId:e,userDTO:{appId:this.connectionInfo.appId,userId:r}}}}},{key:"sendDocResourceMessage",value:function(e,t,r){var n,i,o,a=e.browseMode===DocBrowserMode.scroll,s=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(e.docId,!1,e.creator)),{},{type:"resource",message:{resourceType:"doc",docType:e.type,creator:"".concat(e.creator,"@").concat(this.connectionInfo.appId),curpage:t||e.currentPage.pageId,fileKey:e.fileKey||e.docId,maxSeq:""+e.maxSeq,name:e.name,pagelist:(r||e.getPages().map(function(e){return e.pageId})).join(" "),width:a?null===(n=e.width)||void 0===n?void 0:""+n:void 0,height:a?null===(i=e.scrollPageHeight)||void 0===i?void 0:""+i:void 0,pageNum:a?"".concat(e.currentPageIndex+1):void 0,y:a?null===(o=e.y)||void 0===o?void 0:""+o:void 0,url:e.url||void 0,download:e.url||void 0}});return Log.logInfo("IConnection.sendDocResourceMessage",s),this.sendData(JSON.stringify(s),!0,!0)}},{key:"sendCreateDocResourceMessage",value:function(e,t,r,n,i){var o=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(e,!1,this.connectionInfo.userId)),{},{type:"resource",message:{resourceType:"doc",creator:"".concat(this.connectionInfo.userId,"@").concat(this.connectionInfo.appId),curpage:"".concat(e,"-1"),fileKey:e,maxSeq:""+(t+1),name:r,docType:DocType.normal,pagelist:Array(t).fill(e).map(function(t,r){return"".concat(e,"-").concat(r+1)}).join(" "),width:null==n?void 0:""+n,height:null==i?void 0:""+i}});return Log.logInfo("IConnection.sendCreateDocResourceMessage",o),this.sendData(JSON.stringify(o),!0,!0)}},{key:"sendCreatePdfDocResourceMessage",value:function(e,t,r,n){var i=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(e,!1,this.connectionInfo.userId)),{},{type:"resource",message:{resourceType:"doc",docType:DocType.pdf,creator:"".concat(this.connectionInfo.userId,"@").concat(this.connectionInfo.appId),curpage:"".concat(e,"-1"),fileKey:n||e,maxSeq:"1",name:t,pagelist:"".concat(e,"-1"),url:r,download:r,y:"0",pageNum:"1"}});return Log.logInfo("IConnection.sendCreatePdfDocResourceMessage",i),this.sendData(JSON.stringify(i),!0,!0)}},{key:"sendActiveDocResourceMessage",value:function(e){var t=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage("active",!1,this.connectionInfo.userId)),{},{type:"resource",moziMessageIdDTO:{channelId:this.connectionInfo.sessionId,messageId:"activeDoc",userDTO:{appId:this.connectionInfo.appId,userId:this.connectionInfo.userId}},message:{resourceType:"active",active:e}});return Log.logInfo("IConnection.sendActiveDocResourceMessage",t),this.sendData(JSON.stringify(t),!0,!0)}},{key:"sendShapeDrawMessage",value:function(e){var t=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(e.shapeSeq,!1,e.creator)),{},{type:"object",message:e.genDrawMsg(this.connectionInfo.userName)});return Log.logDebug("IConnection.sendShapeDrawMessage",t),this.sendData(JSON.stringify(t),!0,!0)}},{key:"sendShapeRgnMessage",value:function(e){var t=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(e.shapeSeq,!1,e.creator)),{},{type:"object",message:e.genRgnMsg(this.connectionInfo.userName)});return Log.logDebug("IConnection.sendShapeRgnMessage",t),this.sendData(JSON.stringify(t),!1,!0)}},{key:"sendLaserPointerMsg",value:function(e,t){var r=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage("".concat(this.connectionInfo.userId,"@").concat(this.connectionInfo.appId,"-laserPointer"),!0,this.connectionInfo.userId)),{},{type:"resource",message:{resourceType:"laserPointer",x:""+e,y:""+t}});return this.sendData(JSON.stringify(r),!0,!0)}},{key:"sendStampMsg",value:function(e,t,r){var n=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage("stamp-".concat(e),!1,this.connectionInfo.userId)),{},{type:"resource",message:{resourceType:"stamp",url:t,data:"",resizable:r?"1":"0"}});return Log.logInfo("IConnection.sendStampMsg",n),this.sendData(JSON.stringify(n),!0,!0)}},{key:"sendCursorMsg",value:function(e,t,r,n){var i=this,o="".concat(this.connectionInfo.userId,"@").concat(this.connectionInfo.appId,"-cursor"),a=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(o,!0,this.connectionInfo.userId)),{},{type:"resource",message:{resourceType:"cursor",name:this.connectionInfo.userName,x:""+e,y:""+t,color:""+rgba2num(r),type:n}});return this.clearCursorTimer&&clearTimeout(this.clearCursorTimer),this.clearCursorTimer=window.setTimeout(function(){i.sendClearResourceMsg("cursor",[o])},3e3),this.sendData(JSON.stringify(a),!0,!0)}},{key:"sendVisionResourceMsg",value:function(e,t,r,n){var i=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage("vision",!1,this.connectionInfo.userId)),{},{type:"resource",moziMessageIdDTO:{channelId:this.connectionInfo.sessionId,messageId:"vision",userDTO:{appId:this.connectionInfo.appId,userId:this.connectionInfo.userId}},message:{resourceType:"vision",name:this.connectionInfo.userName,height:""+t,minx:""+r,miny:""+n,width:""+e}});return this.sendData(JSON.stringify(i),!0,!0)}},{key:"sendClearResourceMsg",value:function(e,t){var r=this,n={type:"clear",channelId:this.connectionInfo.sessionId,clearSubType:"specific",clearType:"specific",resourceType:e,clearedMessageIds:t.map(function(e){return JSON.stringify({channelId:r.connectionInfo.sessionId,messageId:e,userDTO:{appId:r.connectionInfo.appId,userId:r.connectionInfo.userId}})}),messageType:"resource",operator:{appId:this.connectionInfo.appId,userId:this.connectionInfo.userId}};return Log.logInfo("IConnection.sendClearResourceMsg",n),this.sendData(JSON.stringify(n),!0,!0)}},{key:"sendClearDrawMsg",value:function(e){var t=this,r={type:"clear",channelId:this.connectionInfo.sessionId,clearSubType:"specific",clearType:"specific",clearedMessageIds:e.map(function(e){return JSON.stringify({channelId:t.connectionInfo.sessionId,messageId:e.seq,userDTO:{appId:t.connectionInfo.appId,userId:e.userId}})}),messageType:"object",operator:{appId:this.connectionInfo.appId,userId:this.connectionInfo.userId}};return Log.logInfo("IConnection.sendClearDrawMsg",r),this.sendData(JSON.stringify(r),!0,!0)}}])}();function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$1(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$1()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$1(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$1=function(){return!!e})()}var WebSession=function(e){function t(e,r){var n,i,o;return _classCallCheck$1(this,t),o=_callSuper$1(this,t),Object.defineProperty(o,"session",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(o,"wbManager",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(o,"onReceiveUserUpdate",{enumerable:!0,configurable:!0,writable:!0,value:function(e){Log.logInfo("WebSession.onReceiveUserUpdate",e)}}),Object.defineProperty(o,"onReceiveCmdData",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t,r,n,i,a){Log.logInfo("WebSession.onReceiveCmdData",{from_pid:e,cmdType:t,cmd:r,data:n,broadcast:i,reqId:a}),o.emit("cmd-received",e,t,r,n,i,a)}}),Object.defineProperty(o,"onReceiveData",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t,r){o.emit("data-received",t,e,r)}}),Object.defineProperty(o,"leave",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;Log.logInfo("WebSession.leaveWhiteboard whiteboardId",o.sessionId),null===(e=o.session)||void 0===e||e.leave()}}),Object.defineProperty(o,"stop",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;Log.logInfo("WebSession.stopWhiteboard",o.sessionId);var t=null===(e=o.session)||void 0===e?void 0:e.close();null==t||t.then(function(){Log.logInfo("WebSession.stopWhiteboard closed",o.sessionId)},function(){Log.logError("WebSession.stopWhiteboard error",o.sessionId)})}}),Object.defineProperty(o,"sendData",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t;null===(t=o.session)||void 0===t||t.sendMessage({echo:arguments.length>1&&void 0!==arguments[1]&&arguments[1],message:e})}}),null===(n=o.session)||void 0===n||n.on("message",function(e){e.cmdType?o.onReceiveCmdData(e.pid,e.cmdType,e.cmd,e.message,e.broadcast,e.requestId):o.onReceiveData(e.pid,e.message,e.broadcast)}),null===(i=o.session)||void 0===i||i.on("user-update",o.onReceiveUserUpdate),o}return _inherits$1(t,ISession),_createClass$1(t,[{key:"sessionId",get:function(){return this.session.id}},{key:"isConnected",get:function(){var e;return(null===(e=this.wbManager)||void 0===e?void 0:e.isConnected)||!1}},{key:"connectionInfo",get:function(){return _objectSpread({sessionId:this.sessionId},this.wbManager.connectionInfo)}},{key:"joinSession",value:function(){var e;return Log.logInfo("WebSession.joinSession",this.sessionId),null===(e=this.session)||void 0===e?void 0:e.join()}}])}(),version="3.0.0",pkg={version:version};function _callSuper(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct=function(){return!!e})()}var WhiteboardManager=function(e){function t(){var e;return _classCallCheck$1(this,t),e=_callSuper(this,t),Object.defineProperty(e,"id",{enumerable:!0,configurable:!0,writable:!0,value:createUuid()}),Object.defineProperty(e,"whiteboardMap",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(e,"channel",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"reporter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"gslb",get:function(){var e;return(null===(e=this.channel)||void 0===e?void 0:e.gslb)||getGslb()}},{key:"getWhiteboard",value:function(e){if((null==e?void 0:e.length)>64||SESSIONID_REGEXP.test(e))throw new DingRTCError(ErrorCode.InvaildArgument,"invalid whiteboardId");var t=this.whiteboardMap.get(e);if(!t){var r=new WebSession(this.channel.dataSwitcher.getSession(yt.WHITEBOARD,e),this);t=new RtcWhiteboard(r,this),this.whiteboardMap.set(e,t)}return t}},{key:"getAnnotation",value:function(e,t){if((null==e?void 0:e.length)>64||SESSIONID_REGEXP.test(e))throw new DingRTCError(ErrorCode.InvaildArgument,"invalid annotationId");if(!["video","share","external"].includes(t))throw new DingRTCError(ErrorCode.InvaildArgument,"invalid source type");var r="".concat(ANNOTATION_PREFIX,"#").concat(t,"#").concat(e),n=this.whiteboardMap.get(r);if(!n){var i=new WebSession(this.channel.dataSwitcher.getSession(yt.WHITEBOARD,r),this);n=new RtcWhiteboard(i,this),this.whiteboardMap.set(r,n)}return n}},{key:"connectionInfo",get:function(){var e,t,r,n,i,o,a;return{userId:null===(e=this.channel)||void 0===e||null===(e=e.joinInfo)||void 0===e?void 0:e.uid,userName:null===(t=this.channel)||void 0===t||null===(t=t.joinInfo)||void 0===t?void 0:t.userName,channelId:null===(r=this.channel)||void 0===r||null===(r=r.joinInfo)||void 0===r?void 0:r.channel,token:null===(n=this.channel)||void 0===n||null===(n=n.joinInfo)||void 0===n?void 0:n.token,appId:null===(i=this.channel)||void 0===i||null===(i=i.joinInfo)||void 0===i?void 0:i.appId,pid:null===(o=this.channel)||void 0===o||null===(o=o.userManager)||void 0===o?void 0:o.currentPid,securityToken:null===(a=this.channel)||void 0===a||null===(a=a.securityToken)||void 0===a?void 0:a.securityToken,gslb:this.gslb||getGslb()}}},{key:"detach",value:function(){}},{key:"attach",value:function(e){this.setupChannel(e),Log.logInfo("WhiteboardManager.attach")}},{key:"isConnected",get:function(){var e;return"connected"===(null===(e=this.channel)||void 0===e?void 0:e.connectionState)}},{key:"setupChannel",value:function(e){var t=this;Log.attach(e.reporter),this.channel=e,this.channel.on("connection-state-change",function(e,r,n){Log.logInfo("WebConnection on connection-state-change",{currentState:e,prevState:r,reason:n}),t.emit("connection-state-change",e,r,n)}),this.channel.dataSwitcher.on("sessionCreate",function(e){var r=e.id;if(e.type===yt.WHITEBOARD)if(r.includes(ANNOTATION_PREFIX)){var n=_slicedToArray(r.split("#").slice(2),2);t.emit("annotation-start",n[1],n[0])}else t.emit("whiteboard-start",r)}),this.channel.dataSwitcher.on("sessionClose",function(e){var r=e.id;if(e.type===yt.WHITEBOARD)if(r.includes(ANNOTATION_PREFIX)){var n=_slicedToArray(r.split("#").slice(2),2);t.emit("annotation-stop",n[1],n[0])}else t.emit("whiteboard-stop",r)})}},{key:"join",value:(r=_asyncToGenerator$1(_regeneratorRuntime$1.mark(function e(t){return _regeneratorRuntime$1.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.reporter=registerReporter(this.id),this.setupChannel(new Mt({reporter:this.reporter,sdkVersion:pkg.version,scene:"whiteboard"})),Log.logInfo("WebConnection.join",t),e.next=1,this.channel.join(t);case 1:case"end":return e.stop()}},e,this)})),function(e){return r.apply(this,arguments)})},{key:"leave",value:function(){Log.logInfo("WhiteboardManager.leave",this.connectionInfo),this.channel.leave(),this.whiteboardMap.clear()}},{key:"clear",value:function(){Log.logInfo("WhiteboardManager.reset"),this.whiteboardMap.clear()}}]);var r}();export{RtcWhiteboard,ShapeFillType,ShapeFontFormatType,ShapeLineType,ShapeOrderType,ShapeVisibleType,ShapeType as ToolType,WBClearType,Whiteboard,WhiteboardManager,WhiteboardManager as default};
|
|
38
|
+
!function(e){!function(t,r,n,i){var o,a=["","webkit","Moz","MS","ms","o"],s=r.createElement("div"),c=Math.round,l=Math.abs,u=Date.now;function d(e,t,r){return setTimeout(m(e,r),t)}function p(e,t,r){return!!Array.isArray(e)&&(h(e,r[t],r),!0)}function h(e,t,r){var n;if(e)if(e.forEach)e.forEach(t,r);else if(e.length!==i)for(n=0;e.length>n;)t.call(r,e[n],n,e),n++;else for(n in e)e.hasOwnProperty(n)&&t.call(r,e[n],n,e)}function f(e,r,n){var i="DEPRECATED METHOD: "+r+"\n"+n+" AT \n";return function(){var r=Error("get-stack-trace"),n=r&&r.stack?r.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=t.console&&(t.console.warn||t.console.log);return o&&o.call(t.console,i,n),e.apply(this,arguments)}}o="function"!=typeof Object.assign?function(e){if(e===i||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),r=1;arguments.length>r;r++){var n=arguments[r];if(n!==i&&null!==n)for(var o in n)n.hasOwnProperty(o)&&(t[o]=n[o])}return t}:Object.assign;var g=f(function(e,t,r){for(var n=Object.keys(t),o=0;n.length>o;)(!r||r&&e[n[o]]===i)&&(e[n[o]]=t[n[o]]),o++;return e},"extend","Use `assign`."),y=f(function(e,t){return g(e,t,!0)},"merge","Use `assign`.");function v(e,t,r){var n,i=t.prototype;(n=e.prototype=Object.create(i)).constructor=e,n._super=i,r&&o(n,r)}function m(e,t){return function(){return e.apply(t,arguments)}}function b(e,t){return"function"==typeof e?e.apply(t&&t[0]||i,t):e}function S(e,t){return e===i?t:e}function _(e,t,r){h(E(t),function(t){e.addEventListener(t,r,!1)})}function w(e,t,r){h(E(t),function(t){e.removeEventListener(t,r,!1)})}function I(e,t){for(;e;){if(e==t)return!0;e=e.parentNode}return!1}function T(e,t){return e.indexOf(t)>-1}function E(e){return e.trim().split(/\s+/g)}function O(e,t,r){if(e.indexOf&&!r)return e.indexOf(t);for(var n=0;e.length>n;){if(r&&e[n][r]==t||!r&&e[n]===t)return n;n++}return-1}function P(e){return Array.prototype.slice.call(e,0)}function C(e,t,r){for(var n=[],i=[],o=0;e.length>o;){var a=e[o][t];0>O(i,a)&&n.push(e[o]),i[o]=a,o++}return n=n.sort(function(e,r){return e[t]>r[t]})}function R(e,t){for(var r,n,o=t[0].toUpperCase()+t.slice(1),s=0;a.length>s;){if((n=(r=a[s])?r+o:t)in e)return n;s++}return i}var x=1;function k(e){var r=e.ownerDocument||e;return r.defaultView||r.parentWindow||t}var A="ontouchstart"in t,D=R(t,"PointerEvent")!==i,N=A&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),M="touch",j="mouse",L=24,$=["x","y"],B=["clientX","clientY"];function U(e,t){var r=this;this.manager=e,this.callback=t,this.element=e.element,this.target=e.options.inputTarget,this.domHandler=function(t){b(e.options.enable,[e])&&r.handler(t)},this.init()}function F(e,t,r){var n=r.pointers.length,o=r.changedPointers.length,a=1&t&&n-o===0,s=12&t&&n-o===0;r.isFirst=!!a,r.isFinal=!!s,a&&(e.session={}),r.eventType=t,function(e,t){var r=e.session,n=t.pointers,o=n.length;r.firstInput||(r.firstInput=z(t));o>1&&!r.firstMultiple?r.firstMultiple=z(t):1===o&&(r.firstMultiple=!1);var a=r.firstInput,s=r.firstMultiple,c=s?s.center:a.center,d=t.center=V(n);t.timeStamp=u(),t.deltaTime=t.timeStamp-a.timeStamp,t.angle=G(c,d),t.distance=q(c,d),function(e,t){var r=t.center,n=e.offsetDelta||{},i=e.prevDelta||{},o=e.prevInput||{};1!==t.eventType&&4!==o.eventType||(i=e.prevDelta={x:o.deltaX||0,y:o.deltaY||0},n=e.offsetDelta={x:r.x,y:r.y});t.deltaX=i.x+(r.x-n.x),t.deltaY=i.y+(r.y-n.y)}(r,t),t.offsetDirection=H(t.deltaX,t.deltaY);var p=W(t.deltaTime,t.deltaX,t.deltaY);t.overallVelocityX=p.x,t.overallVelocityY=p.y,t.overallVelocity=l(p.x)>l(p.y)?p.x:p.y,t.scale=s?(h=s.pointers,f=n,q(f[0],f[1],B)/q(h[0],h[1],B)):1,t.rotation=s?function(e,t){return G(t[1],t[0],B)+G(e[1],e[0],B)}(s.pointers,n):0,t.maxPointers=r.prevInput?t.pointers.length>r.prevInput.maxPointers?t.pointers.length:r.prevInput.maxPointers:t.pointers.length,function(e,t){var r,n,o,a,s=e.lastInterval||t,c=t.timeStamp-s.timeStamp;if(8==t.eventType||c<=25&&s.velocity!==i)r=s.velocity,n=s.velocityX,o=s.velocityY,a=s.direction;else{var u=t.deltaX-s.deltaX,d=t.deltaY-s.deltaY,p=W(c,u,d);n=p.x,o=p.y,r=l(p.x)>l(p.y)?p.x:p.y,a=H(u,d),e.lastInterval=t}t.velocity=r,t.velocityX=n,t.velocityY=o,t.direction=a}(r,t);var h,f;var g=e.element;I(t.srcEvent.target,g)&&(g=t.srcEvent.target);t.target=g}(e,r),e.emit("hammer.input",r),e.recognize(r),e.session.prevInput=r}function z(e){for(var t=[],r=0;e.pointers.length>r;)t[r]={clientX:c(e.pointers[r].clientX),clientY:c(e.pointers[r].clientY)},r++;return{timeStamp:u(),pointers:t,center:V(t),deltaX:e.deltaX,deltaY:e.deltaY}}function V(e){var t=e.length;if(1===t)return{x:c(e[0].clientX),y:c(e[0].clientY)};for(var r=0,n=0,i=0;t>i;)r+=e[i].clientX,n+=e[i].clientY,i++;return{x:c(r/t),y:c(n/t)}}function W(e,t,r){return{x:t/e||0,y:r/e||0}}function H(e,t){return e===t?1:l(e)<l(t)?0>t?8:16:0>e?2:4}function q(e,t,r){r||(r=$);var n=t[r[0]]-e[r[0]],i=t[r[1]]-e[r[1]];return Math.sqrt(n*n+i*i)}function G(e,t,r){return r||(r=$),180*Math.atan2(t[r[1]]-e[r[1]],t[r[0]]-e[r[0]])/Math.PI}U.prototype={handler:function(){},init:function(){this.evEl&&_(this.element,this.evEl,this.domHandler),this.evTarget&&_(this.target,this.evTarget,this.domHandler),this.evWin&&_(k(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&w(this.element,this.evEl,this.domHandler),this.evTarget&&w(this.target,this.evTarget,this.domHandler),this.evWin&&w(k(this.element),this.evWin,this.domHandler)}};var Y={mousedown:1,mousemove:2,mouseup:4},K="mousedown",J="mousemove mouseup";function X(){this.evEl=K,this.evWin=J,this.pressed=!1,U.apply(this,arguments)}v(X,U,{handler:function(e){var t=Y[e.type];1&t&&0===e.button&&(this.pressed=!0),2&t&&1!==e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:j,srcEvent:e}))}});var Z={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},Q={2:M,3:"pen",4:j,5:"kinect"},ee="pointerdown",te="pointermove pointerup pointercancel";function re(){this.evEl=ee,this.evWin=te,U.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}t.MSPointerEvent&&!t.PointerEvent&&(ee="MSPointerDown",te="MSPointerMove MSPointerUp MSPointerCancel"),v(re,U,{handler:function(e){var t=this.store,r=!1,n=e.type.toLowerCase().replace("ms",""),i=Z[n],o=Q[e.pointerType]||e.pointerType,a=o==M,s=O(t,e.pointerId,"pointerId");1&i&&(0===e.button||a)?0>s&&(t.push(e),s=t.length-1):12&i&&(r=!0),0>s||(t[s]=e,this.callback(this.manager,i,{pointers:t,changedPointers:[e],pointerType:o,srcEvent:e}),r&&t.splice(s,1))}});var ne={touchstart:1,touchmove:2,touchend:4,touchcancel:8};function ie(){this.evTarget="touchstart",this.evWin="touchstart touchmove touchend touchcancel",this.started=!1,U.apply(this,arguments)}function oe(e,t){var r=P(e.touches),n=P(e.changedTouches);return 12&t&&(r=C(r.concat(n),"identifier")),[r,n]}v(ie,U,{handler:function(e){var t=ne[e.type];if(1===t&&(this.started=!0),this.started){var r=oe(e,t);12&t&&r[0].length-r[1].length===0&&(this.started=!1),this.callback(this.manager,t,{pointers:r[0],changedPointers:r[1],pointerType:M,srcEvent:e})}}});var ae={touchstart:1,touchmove:2,touchend:4,touchcancel:8},se="touchstart touchmove touchend touchcancel";function ce(){this.evTarget=se,this.targetIds={},U.apply(this,arguments)}function le(e,t){var r=P(e.touches),n=this.targetIds;if(3&t&&1===r.length)return n[r[0].identifier]=!0,[r,r];var i,o,a=P(e.changedTouches),s=[],c=this.target;if(o=r.filter(function(e){return I(e.target,c)}),1===t)for(i=0;o.length>i;)n[o[i].identifier]=!0,i++;for(i=0;a.length>i;)n[a[i].identifier]&&s.push(a[i]),12&t&&delete n[a[i].identifier],i++;return s.length?[C(o.concat(s),"identifier"),s]:void 0}v(ce,U,{handler:function(e){var t=ae[e.type],r=le.call(this,e,t);r&&this.callback(this.manager,t,{pointers:r[0],changedPointers:r[1],pointerType:M,srcEvent:e})}});function ue(){U.apply(this,arguments);var e=m(this.handler,this);this.touch=new ce(this.manager,e),this.mouse=new X(this.manager,e),this.primaryTouch=null,this.lastTouches=[]}function de(e,t){1&e?(this.primaryTouch=t.changedPointers[0].identifier,pe.call(this,t)):12&e&&pe.call(this,t)}function pe(e){var t=e.changedPointers[0];if(t.identifier===this.primaryTouch){var r={x:t.clientX,y:t.clientY};this.lastTouches.push(r);var n=this.lastTouches;setTimeout(function(){var e=n.indexOf(r);e>-1&&n.splice(e,1)},2500)}}function he(e){for(var t=e.srcEvent.clientX,r=e.srcEvent.clientY,n=0;this.lastTouches.length>n;n++){var i=this.lastTouches[n];if(25>=Math.abs(t-i.x)&&25>=Math.abs(r-i.y))return!0}return!1}v(ue,U,{handler:function(e,t,r){var n=r.pointerType==j;if(!(n&&r.sourceCapabilities&&r.sourceCapabilities.firesTouchEvents)){if(r.pointerType==M)de.call(this,t,r);else if(n&&he.call(this,r))return;this.callback(e,t,r)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var fe=R(s.style,"touchAction"),ge=fe!==i,ye="compute",ve="auto",me="manipulation",be="none",Se="pan-x",_e="pan-y",we=function(){if(!ge)return!1;var e={},r=t.CSS&&t.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(n){e[n]=!r||t.CSS.supports("touch-action",n)}),e}();function Ie(e,t){this.manager=e,this.set(t)}Ie.prototype={set:function(e){e==ye&&(e=this.compute()),ge&&this.manager.element.style&&we[e]&&(this.manager.element.style[fe]=e),this.actions=e.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var e=[];return h(this.manager.recognizers,function(t){b(t.options.enable,[t])&&(e=e.concat(t.getTouchAction()))}),function(e){if(T(e,be))return be;var t=T(e,Se),r=T(e,_e);if(t&&r)return be;if(t||r)return t?Se:_e;if(T(e,me))return me;return ve}(e.join(" "))},preventDefaults:function(e){var t=e.srcEvent,r=e.offsetDirection;if(this.manager.session.prevented)t.preventDefault();else{var n=this.actions,i=T(n,be)&&!we[be],o=T(n,_e)&&!we[_e],a=T(n,Se)&&!we[Se];if(i)if(1===e.pointers.length&&2>e.distance&&250>e.deltaTime)return;if(!a||!o)return i||o&&6&r||a&&r&L?this.preventSrc(t):void 0}},preventSrc:function(e){this.manager.session.prevented=!0,e.preventDefault()}};var Te=32;function Ee(e){this.options=o({},this.defaults,e||{}),this.id=x++,this.manager=null,this.options.enable=S(this.options.enable,!0),this.state=1,this.simultaneous={},this.requireFail=[]}function Oe(e){return 16&e?"cancel":8&e?"end":4&e?"move":2&e?"start":""}function Pe(e){return 16==e?"down":8==e?"up":2==e?"left":4==e?"right":""}function Ce(e,t){var r=t.manager;return r?r.get(e):e}function Re(){Ee.apply(this,arguments)}function xe(){Re.apply(this,arguments),this.pX=null,this.pY=null}function ke(){Re.apply(this,arguments)}function Ae(){Ee.apply(this,arguments),this._timer=null,this._input=null}function De(){Re.apply(this,arguments)}function Ne(){Re.apply(this,arguments)}function Me(){Ee.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function je(e,t){return(t=t||{}).recognizers=S(t.recognizers,je.defaults.preset),new Le(e,t)}Ee.prototype={defaults:{},set:function(e){return o(this.options,e),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(e){if(p(e,"recognizeWith",this))return this;var t=this.simultaneous;return t[(e=Ce(e,this)).id]||(t[e.id]=e,e.recognizeWith(this)),this},dropRecognizeWith:function(e){return p(e,"dropRecognizeWith",this)||(e=Ce(e,this),delete this.simultaneous[e.id]),this},requireFailure:function(e){if(p(e,"requireFailure",this))return this;var t=this.requireFail;return-1===O(t,e=Ce(e,this))&&(t.push(e),e.requireFailure(this)),this},dropRequireFailure:function(e){if(p(e,"dropRequireFailure",this))return this;e=Ce(e,this);var t=O(this.requireFail,e);return t>-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){var t=this,r=this.state;function n(r){t.manager.emit(r,e)}8>r&&n(t.options.event+Oe(r)),n(t.options.event),e.additionalEvent&&n(e.additionalEvent),8>r||n(t.options.event+Oe(r))},tryEmit:function(e){if(this.canEmit())return this.emit(e);this.state=Te},canEmit:function(){for(var e=0;this.requireFail.length>e;){if(!(33&this.requireFail[e].state))return!1;e++}return!0},recognize:function(e){var t=o({},e);if(!b(this.options.enable,[this,t]))return this.reset(),void(this.state=Te);56&this.state&&(this.state=1),this.state=this.process(t),30&this.state&&this.tryEmit(t)},process:function(e){},getTouchAction:function(){},reset:function(){}},v(Re,Ee,{defaults:{pointers:1},attrTest:function(e){var t=this.options.pointers;return 0===t||e.pointers.length===t},process:function(e){var t=this.state,r=e.eventType,n=6&t,i=this.attrTest(e);return n&&(8&r||!i)?16|t:n||i?4&r?8|t:2&t?4|t:2:Te}}),v(xe,Re,{defaults:{event:"pan",threshold:10,pointers:1,direction:30},getTouchAction:function(){var e=this.options.direction,t=[];return 6&e&&t.push(_e),e&L&&t.push(Se),t},directionTest:function(e){var t=this.options,r=!0,n=e.distance,i=e.direction,o=e.deltaX,a=e.deltaY;return i&t.direction||(6&t.direction?(i=0===o?1:0>o?2:4,r=o!=this.pX,n=Math.abs(e.deltaX)):(i=0===a?1:0>a?8:16,r=a!=this.pY,n=Math.abs(e.deltaY))),e.direction=i,r&&n>t.threshold&&i&t.direction},attrTest:function(e){return Re.prototype.attrTest.call(this,e)&&(2&this.state||!(2&this.state)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=Pe(e.direction);t&&(e.additionalEvent=this.options.event+t),this._super.emit.call(this,e)}}),v(ke,Re,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[be]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||2&this.state)},emit:function(e){1!==e.scale&&(e.additionalEvent=this.options.event+(1>e.scale?"in":"out"));this._super.emit.call(this,e)}}),v(Ae,Ee,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ve]},process:function(e){var t=this.options,r=e.pointers.length===t.pointers,n=t.threshold>e.distance,i=e.deltaTime>t.time;if(this._input=e,!n||!r||12&e.eventType&&!i)this.reset();else if(1&e.eventType)this.reset(),this._timer=d(function(){this.state=8,this.tryEmit()},t.time,this);else if(4&e.eventType)return 8;return Te},reset:function(){clearTimeout(this._timer)},emit:function(e){8===this.state&&(e&&4&e.eventType?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=u(),this.manager.emit(this.options.event,this._input)))}}),v(De,Re,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[be]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||2&this.state)}}),v(Ne,Re,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return xe.prototype.getTouchAction.call(this)},attrTest:function(e){var t,r=this.options.direction;return 30&r?t=e.overallVelocity:6&r?t=e.overallVelocityX:r&L&&(t=e.overallVelocityY),this._super.attrTest.call(this,e)&&r&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&l(t)>this.options.velocity&&4&e.eventType},emit:function(e){var t=Pe(e.offsetDirection);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),v(Me,Ee,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[me]},process:function(e){var t=this.options,r=e.pointers.length===t.pointers,n=t.threshold>e.distance,i=t.time>e.deltaTime;if(this.reset(),1&e.eventType&&0===this.count)return this.failTimeout();if(n&&i&&r){if(4!=e.eventType)return this.failTimeout();var o=!this.pTime||t.interval>e.timeStamp-this.pTime,a=!this.pCenter||q(this.pCenter,e.center)<t.posThreshold;if(this.pTime=e.timeStamp,this.pCenter=e.center,a&&o?this.count+=1:this.count=1,this._input=e,0===this.count%t.taps)return this.hasRequireFailures()?(this._timer=d(function(){this.state=8,this.tryEmit()},t.interval,this),2):8}return Te},failTimeout:function(){return this._timer=d(function(){this.state=Te},this.options.interval,this),Te},reset:function(){clearTimeout(this._timer)},emit:function(){8==this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),je.VERSION="2.0.7",je.defaults={domEvents:!1,touchAction:ye,enable:!0,inputTarget:null,inputClass:null,preset:[[De,{enable:!1}],[ke,{enable:!1},["rotate"]],[Ne,{direction:6}],[xe,{direction:6},["swipe"]],[Me],[Me,{event:"doubletap",taps:2},["tap"]],[Ae]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};function Le(e,t){var r;this.options=o({},je.defaults,t||{}),this.options.inputTarget=this.options.inputTarget||e,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=e,this.input=new((r=this).options.inputClass||(D?re:N?ce:A?ue:X))(r,F),this.touchAction=new Ie(this,this.options.touchAction),$e(this,!0),h(this.options.recognizers,function(e){var t=this.add(new e[0](e[1]));e[2]&&t.recognizeWith(e[2]),e[3]&&t.requireFailure(e[3])},this)}function $e(e,t){var r,n=e.element;n.style&&(h(e.options.cssProps,function(i,o){r=R(n.style,o),t?(e.oldCssProps[r]=n.style[r],n.style[r]=i):n.style[r]=e.oldCssProps[r]||""}),t||(e.oldCssProps={}))}Le.prototype={set:function(e){return o(this.options,e),e.touchAction&&this.touchAction.update(),e.inputTarget&&(this.input.destroy(),this.input.target=e.inputTarget,this.input.init()),this},stop:function(e){this.session.stopped=e?2:1},recognize:function(e){var t=this.session;if(!t.stopped){var r;this.touchAction.preventDefaults(e);var n=this.recognizers,i=t.curRecognizer;(!i||i&&8&i.state)&&(i=t.curRecognizer=null);for(var o=0;n.length>o;)r=n[o],2===t.stopped||i&&r!=i&&!r.canRecognizeWith(i)?r.reset():r.recognize(e),!i&&14&r.state&&(i=t.curRecognizer=r),o++}},get:function(e){if(e instanceof Ee)return e;for(var t=this.recognizers,r=0;t.length>r;r++)if(t[r].options.event==e)return t[r];return null},add:function(e){if(p(e,"add",this))return this;var t=this.get(e.options.event);return t&&this.remove(t),this.recognizers.push(e),e.manager=this,this.touchAction.update(),e},remove:function(e){if(p(e,"remove",this))return this;if(e=this.get(e)){var t=this.recognizers,r=O(t,e);-1!==r&&(t.splice(r,1),this.touchAction.update())}return this},on:function(e,t){if(e!==i&&t!==i){var r=this.handlers;return h(E(e),function(e){r[e]=r[e]||[],r[e].push(t)}),this}},off:function(e,t){if(e!==i){var r=this.handlers;return h(E(e),function(e){t?r[e]&&r[e].splice(O(r[e],t),1):delete r[e]}),this}},emit:function(e,t){this.options.domEvents&&function(e,t){var n=r.createEvent("Event");n.initEvent(e,!0,!0),n.gesture=t,t.target.dispatchEvent(n)}(e,t);var n=this.handlers[e]&&this.handlers[e].slice();if(n&&n.length){t.type=e,t.preventDefault=function(){t.srcEvent.preventDefault()};for(var i=0;n.length>i;)n[i](t),i++}},destroy:function(){this.element&&$e(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},o(je,{INPUT_START:1,INPUT_MOVE:2,INPUT_END:4,INPUT_CANCEL:8,STATE_POSSIBLE:1,STATE_BEGAN:2,STATE_CHANGED:4,STATE_ENDED:8,STATE_RECOGNIZED:8,STATE_CANCELLED:16,STATE_FAILED:Te,DIRECTION_NONE:1,DIRECTION_LEFT:2,DIRECTION_RIGHT:4,DIRECTION_UP:8,DIRECTION_DOWN:16,DIRECTION_HORIZONTAL:6,DIRECTION_VERTICAL:L,DIRECTION_ALL:30,Manager:Le,Input:U,TouchAction:Ie,TouchInput:ce,MouseInput:X,PointerEventInput:re,TouchMouseInput:ue,SingleTouchInput:ie,Recognizer:Ee,AttrRecognizer:Re,Tap:Me,Pan:xe,Swipe:Ne,Pinch:ke,Rotate:De,Press:Ae,on:_,off:w,each:h,merge:y,extend:g,assign:o,inherit:v,bindFn:m,prefixed:R}),(void 0!==t?t:"undefined"!=typeof self?self:{}).Hammer=je,e.exports?e.exports=je:t.Hammer=je}(window,document)}(hammer);var hammerExports=hammer.exports,Hammer=getDefaultExportFromCjs$1(hammerExports);function styleInject(e,t){void 0===t&&(t={});var r=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===r&&n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var css_248z$1='.dingrtc-wb-wrapper{height:100%;overflow:hidden;position:relative;width:100%}.dingrtc-wb-wrapper__laser-on audio,.dingrtc-wb-wrapper__laser-on video{pointer-events:none!important}.dingrtc-wb-wrapper__drag-on{cursor:grab!important}.dingrtc-wb-wrapper__draging{cursor:grabbing!important}.dingrtc-wb-wrapper .dingrtc-pdf-viewer{pointer-events:none;position:absolute;transform-origin:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0}.dingrtc-wb-wrapper .dingrtc-pdf-viewer__page{box-shadow:1px 1px 10px 5px rgba(0,0,0,.05);position:absolute}.dingrtc-wb-wrapper .dingrtc-pdf-viewer__page:not(:last-of-type):after{background-color:#777;bottom:0;content:"";height:1px;left:0;position:absolute;right:0;z-index:1}.dingrtc-wb-wrapper .dingrtc-pdf-viewer__page:before{bottom:10px;content:attr(data-i);font-size:26px;font-weight:700;position:absolute;right:10px;z-index:1}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons{height:100%}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton{background-color:#fff;border-radius:6px;display:flex;flex-direction:column;height:50%;justify-content:center;margin:0 auto;min-height:532.8px;overflow:hidden;padding:50px 36px;position:relative;width:720px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton>div{margin-bottom:36px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__avator{border-radius:144px;height:144px;position:relative;width:144px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__avator:after,.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__avator:before{border-radius:10px;content:" ";height:50.4px;left:calc(100% + 40px);position:absolute;top:0;width:288px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__avator:after{top:93.6px;width:432px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__content{border-radius:10px;height:43.2px;margin-bottom:200px;position:relative;width:504px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__content:after,.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__content:before{border-radius:10px;content:" ";height:43.2px;left:0;position:absolute;top:93.6px;width:612px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton .p-pdf-skeleton__content:after{top:187.2px;width:612px}.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton div,.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton div:after,.dingrtc-wb-wrapper .dingrtc-pdf-viewer .p-pdf-skeletons .p-pdf-skeleton div:before{animation:loading 2s ease-in-out infinite;background-color:#ededed;background:linear-gradient(100deg,hsla(0,0%,100%,0) 40%,hsla(0,0%,100%,.5) 50%,hsla(0,0%,100%,0) 60%) #ededed;background-position-x:180%;background-size:200% 100%}@keyframes loading{to{background-position-x:-20%}}.dingrtc-wb-wrapper .dingrtc-wb-render-fps{color:#333;font-size:12px;position:absolute;right:30px;top:60px;z-index:1}.dingrtc-wb-wrapper .dingrtc-wb-render-fps img{display:block}.dingrtc-wb-wrapper .dingrtc-wb__bg-img{pointer-events:none;z-index:0}.dingrtc-wb-wrapper .dingrtc-wb__bg-img,.dingrtc-wb-wrapper .dingrtc-wb__media{position:absolute;transform-origin:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dingrtc-wb-wrapper .dingrtc-wb__media{background-color:transparent;overflow:hidden;padding:1px;z-index:1}.dingrtc-wb-wrapper .dingrtc-wb__media__header{align-items:center;background-color:#f5f5f5;border-top-left-radius:3px;border-top-right-radius:3px;box-shadow:0 0 4px 0 rgba(0,0,0,.2);cursor:pointer;display:flex;font-weight:500;height:30px;justify-content:space-between;left:0;padding-left:10px;position:absolute;top:0;transition:all .3s ease-in-out;width:100%;z-index:1}.dingrtc-wb-wrapper .dingrtc-wb__media__body{background-color:#000;height:100%;width:100%}.dingrtc-wb-wrapper .dingrtc-wb__media__body:hover~.dingrtc-wb__media__header{visibility:visible}.dingrtc-wb-wrapper .dingrtc-wb__media__body audio,.dingrtc-wb-wrapper .dingrtc-wb__media__body video{height:100%;outline:none;pointer-events:auto;width:100%}.dingrtc-wb-wrapper .dingrtc-wb__media__body audio{background:#eff1f2}.dingrtc-wb-wrapper .dingrtc-wb__media__body audio::-webkit-media-controls-panel{background:#eff1f2;border:none}.dingrtc-wb-wrapper canvas{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:1}.dingrtc-wb-wrapper .dingrtc-wb__cache-cvs{pointer-events:none!important}.dingrtc-wb-wrapper .wb-shape-textarea{background-color:transparent;border:none;outline:none;overflow-wrap:break-word;padding:0;position:absolute;resize:none;transform-origin:0 0;white-space:pre-wrap;word-break:break-all;z-index:1}.dingrtc-wb-wrapper .wb-shape-textarea::-webkit-scrollbar{display:none}.dingrtc-wb-wrapper .dingrtc-iframe-wrapper{height:960px;left:0;position:absolute;top:0;transform-origin:0 0;width:1280px;z-index:0}.dingrtc-wb-wrapper .dingrtc-iframe-wrapper iframe{border:none;height:100%;left:0;pointer-events:auto;position:absolute;top:0;width:100%}.dingrtc-wb-wrapper .dingrtc-iframe-wrapper__blocked{position:absolute}.dingrtc-wb-wrapper .dingrtc-iframe-wrapper__blocked:after{content:"";height:100%;left:0;top:0;width:100%}.dingrtc-wb-tools-wrapper{pointer-events:auto}';function _callSuper$s(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$s()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$s(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$s=function(){return!!e})()}styleInject(css_248z$1);var ShapeHistory=_createClass$1(function e(t,r,n,i){_classCallCheck$1(this,e),Object.defineProperty(this,"actionType",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"shapeId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"currentState",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"lastState",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"shapeCreator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.shapeCreator=n.creator}),BatchHistory=_createClass$1(function e(t,r){_classCallCheck$1(this,e),Object.defineProperty(this,"actionType",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"shapeStates",{enumerable:!0,configurable:!0,writable:!0,value:r})}),HistoryActionType;!function(e){e[e.reveiveShape=0]="reveiveShape",e[e.newShape=1]="newShape",e[e.hideShape=2]="hideShape",e[e.rgnShape=3]="rgnShape",e[e.updateStyle=4]="updateStyle",e[e.updateText=5]="updateText",e[e.deleteShape=6]="deleteShape"}(HistoryActionType||(HistoryActionType={}));var History=function(e){function t(){var e;return _classCallCheck$1(this,t),e=_callSuper$s(this,t,arguments),Object.defineProperty(e,"undoList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"redoList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),e}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"emitHistoryEvent",value:function(){this.emit("history-changed",{undo:this.canUndo(),redo:this.canRedo()})}},{key:"saveHistory",value:function(e){this.undoList.push(e),this.redoList=[],this.emitHistoryEvent()}},{key:"batchSave",value:function(e){this.undoList.push(e),this.redoList=[],this.emitHistoryEvent()}},{key:"undo",value:function(){var e=this.undoList.pop();if(e)return this.redoList.push(e),this.emitHistoryEvent(),e}},{key:"redo",value:function(){var e=this.redoList.pop();if(e)return this.undoList.push(e),this.emitHistoryEvent(),e}},{key:"clearAll",value:function(){this.undoList=[],this.redoList=[],this.emitHistoryEvent()}},{key:"clearUserHistory",value:function(e){var t=this;this.undoList.forEach(function(r){if(r instanceof ShapeHistory&&r.shapeCreator===e){var n=findIndex(t.undoList,r);t.undoList.splice(n,1)}}),this.redoList.forEach(function(r){if(r instanceof ShapeHistory&&r.shapeCreator===e){var n=findIndex(t.redoList,r);t.redoList.splice(n,1)}}),this.emitHistoryEvent()}},{key:"clearShapeHistory",value:function(e){var t=this;this.undoList.forEach(function(r){if(r instanceof ShapeHistory&&r.shapeId===e){var n=findIndex(t.undoList,r);t.undoList.splice(n,1)}}),this.redoList.forEach(function(r){if(r instanceof ShapeHistory&&r.shapeId===e){var n=findIndex(t.redoList,r);t.redoList.splice(n,1)}}),this.emitHistoryEvent()}},{key:"canUndo",value:function(){return this.undoList.length>0}},{key:"canRedo",value:function(){return this.redoList.length>0}}])}();function renderPdfPage(e,t){return new Promise(function(r,n){var i=document.createElement("canvas");i.width=e.width,i.height=e.height;var o=i.getContext("2d");t.cleanupAfterRender=!0,setTimeout(function(){t.render({viewport:e,canvasContext:o}).promise.then(function(){var e=i.toDataURL();t.cleanup(),r(e),o.clearRect(0,0,i.width,i.height)}).catch(function(e){return n(e)})})})}function _defineProperty(e,t,r){return(t=toPropertyKey$1(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function setClipboard(e){return new Promise(function(t,r){var n="text/plain",i=new Blob([e],{type:n}),o=[new ClipboardItem(_defineProperty({},n,i))];navigator.clipboard.write(o).then(t,r)})}function ownKeys$h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$h(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$h(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$h(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$r(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$r()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$r(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$r=function(){return!!e})()}function _superPropGet$8(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return"function"==typeof i?function(e){return i.apply(r,e)}:i}var DrawableShape=function(e){function t(e,r){var n;return _classCallCheck$1(this,t),n=_callSuper$r(this,t,[e.points,e.shapeId,e.creator,e.pageId]),Object.defineProperty(n,"_shapeStyle",{enumerable:!0,configurable:!0,writable:!0,value:r}),n}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"shapeStyle",get:function(){return this._shapeStyle},set:function(e){this._shapeStyle=e,this.emitRenderRequest()}},{key:"dashedWidth",get:function(){return 7>3*this.shapeStyle.lineWidth?7:3*this.shapeStyle.lineWidth}},{key:"useDashedStyle",value:function(e){this.shapeStyle.dashed&&e.setLineDash([this.dashedWidth,this.dashedWidth+this.shapeStyle.lineWidth])}},{key:"export",value:function(){return _objectSpread$h(_objectSpread$h({},_superPropGet$8(t,"export",this)([])),{},{shapeStyle:cloneDeep(this.shapeStyle),pageId:this.pageId})}},{key:"getStyleFromShape",value:function(){return{linecolor:rgba2num(this.shapeStyle.strokeStyle),linewidth:this.shapeStyle.lineWidth,fillcolor:rgba2num(this.shapeStyle.fillStyle),filltype:this.shapeStyle.fillType,linestyle:this.shapeStyle.dashed?ShapeLineType.dashed:ShapeLineType.solid}}},{key:"genDrawMsg",value:function(e){return _objectSpread$h(_objectSpread$h({},_superPropGet$8(t,"genDrawMsg",this)([e])),{},{pageId:this.pageId,style:JSON.stringify(this.getStyleFromShape())})}},{key:"genRgnMsg",value:function(e){return _objectSpread$h(_objectSpread$h({},_superPropGet$8(t,"genRgnMsg",this)([e])),{},{pageId:this.pageId})}}])}();function ownKeys$g(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$g(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$g(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$g(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$q(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$q()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$q(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$q=function(){return!!e})()}var Line=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$q(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$g({},e)})),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Line}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save(),r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent",r.moveTo(this.points[0].x,this.points[0].y),r.lineTo(this.points[1].x,this.points[1].y),r.stroke(),r.closePath();var n=r.isPointInStroke(e,t);return r.restore(),n}},{key:"renderShape",value:function(e){e.save(),e.lineCap="round",this.useDashedStyle(e),e.beginPath(),e.lineWidth=this.shapeStyle.lineWidth,e.strokeStyle=this.shapeStyle.strokeStyle,e.moveTo(this.points[0].x,this.points[0].y),e.lineTo(this.points[1].x,this.points[1].y),e.stroke(),e.closePath(),e.restore()}}])}();function ownKeys$f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$f(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$f(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$f(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$p(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$p()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$p(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$p=function(){return!!e})()}function _superPropGet$7(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return"function"==typeof i?function(e){return i.apply(r,e)}:i}var Rect=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$p(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$f({},e)})),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Rect}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"onResize",value:function(e,r,n){n?2===this.resizeStartHandle.index||6===this.resizeStartHandle.index?_superPropGet$7(t,"onResize",this)([e,-e,n]):0!==this.resizeStartHandle.index&&4!==this.resizeStartHandle.index||_superPropGet$7(t,"onResize",this)([e,e,n]):_superPropGet$7(t,"onResize",this)([e,r,n])}},{key:"onResizeEnd",value:function(e,r,n){n?2===this.resizeStartHandle.index||6===this.resizeStartHandle.index?_superPropGet$7(t,"onResizeEnd",this)([e,-e,n]):0!==this.resizeStartHandle.index&&4!==this.resizeStartHandle.index||_superPropGet$7(t,"onResizeEnd",this)([e,e,n]):_superPropGet$7(t,"onResizeEnd",this)([e,r,n])}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save();var n=this.points[1].x-this.points[0].x,i=this.points[1].y-this.points[0].y;r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent",r.rect(this.points[0].x,this.points[0].y,n,i),r.stroke(),r.closePath();var o=this.shapeStyle.fillType===ShapeFillType.none?r.isPointInStroke(e,t):r.isPointInPath(e,t);return r.restore(),o}},{key:"renderShape",value:function(e){e.save();var t=this.points[0].x,r=this.points[0].y,n=this.points[1].x-this.points[0].x,i=this.points[1].y-this.points[0].y;e.beginPath(),e.strokeStyle=this.shapeStyle.strokeStyle,e.fillStyle=this.shapeStyle.fillStyle,e.lineCap="round",this.useDashedStyle(e),e.rect(t,r,n,i),e.closePath(),this.shapeStyle.fillType===ShapeFillType.color?e.fillRect(t,r,n,i):(e.lineWidth=this.shapeStyle.lineWidth,e.stroke()),e.restore()}}])}();function ownKeys$e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$e(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$e(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$e(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$o(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$o()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$o(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$o=function(){return!!e})()}function _superPropGet$6(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return"function"==typeof i?function(e){return i.apply(r,e)}:i}var CURVE_RENDER_KEY=.5522848,Ellipse=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$o(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$e({},e)})),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Ellipse}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"onResize",value:function(e,r,n){n?2===this.resizeStartHandle.index||6===this.resizeStartHandle.index?_superPropGet$6(t,"onResize",this)([e,-e,n]):0!==this.resizeStartHandle.index&&4!==this.resizeStartHandle.index||_superPropGet$6(t,"onResize",this)([e,e,n]):_superPropGet$6(t,"onResize",this)([e,r,n])}},{key:"onResizeEnd",value:function(e,r,n){n?2===this.resizeStartHandle.index||6===this.resizeStartHandle.index?_superPropGet$6(t,"onResizeEnd",this)([e,-e,n]):0!==this.resizeStartHandle.index&&4!==this.resizeStartHandle.index||_superPropGet$6(t,"onResizeEnd",this)([e,e,n]):_superPropGet$6(t,"onResizeEnd",this)([e,r,n])}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx(),n=(this.points[0].x+this.points[1].x)/2,i=(this.points[0].y+this.points[1].y)/2,o=Math.abs((this.points[0].x-this.points[1].x)/2),a=Math.abs((this.points[0].y-this.points[1].y)/2);r.save();var s=o*CURVE_RENDER_KEY,c=a*CURVE_RENDER_KEY;r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent",r.fillStyle="transparent",r.beginPath(),r.moveTo(n-o,i),r.bezierCurveTo(n-o,i-c,n-s,i-a,n,i-a),r.bezierCurveTo(n+s,i-a,n+o,i-c,n+o,i),r.bezierCurveTo(n+o,i+c,n+s,i+a,n,i+a),r.bezierCurveTo(n-s,i+a,n-o,i+c,n-o,i),r.closePath(),r.stroke(),r.closePath(),r.fill();var l=this.shapeStyle.fillType===ShapeFillType.none?r.isPointInStroke(e,t):r.isPointInPath(e,t);return r.restore(),l}},{key:"renderShape",value:function(e){var t=(this.points[0].x+this.points[1].x)/2,r=(this.points[0].y+this.points[1].y)/2,n=Math.abs((this.points[0].x-this.points[1].x)/2),i=Math.abs((this.points[0].y-this.points[1].y)/2);e.save();var o=n*CURVE_RENDER_KEY,a=i*CURVE_RENDER_KEY;e.strokeStyle=this.shapeStyle.strokeStyle,e.fillStyle=this.shapeStyle.fillStyle,e.lineCap="round",this.useDashedStyle(e),e.beginPath(),e.moveTo(t-n,r),e.bezierCurveTo(t-n,r-a,t-o,r-i,t,r-i),e.bezierCurveTo(t+o,r-i,t+n,r-a,t+n,r),e.bezierCurveTo(t+n,r+a,t+o,r+i,t,r+i),e.bezierCurveTo(t-o,r+i,t-n,r+a,t-n,r),e.closePath(),this.shapeStyle.fillType===ShapeFillType.color?e.fill():(e.lineWidth=this.shapeStyle.lineWidth,e.stroke()),e.restore()}}])}(),tempCanvas=document.createElement("canvas"),tempRederContext=tempCanvas.getContext("2d");function measureTextWrap(e,t,r){tempRederContext.save(),tempRederContext.font=t;var n=[],i="";return e.split("").forEach(function(e){if("\n"===e)return n.push(i+e),void(i="");tempRederContext.measureText(i+e).width>r?(n.push(i),i=e):i+=e}),(i||endsWith(e,"\n"))&&n.push(i),tempRederContext.restore(),n}function measureTextLength(e,t){tempRederContext.save(),tempRederContext.font=t;var r=tempRederContext.measureText(e).width;return tempRederContext.restore(),r}function isImageExportable(e){try{return tempRederContext.drawImage(e,0,0,e.width,e.height),tempCanvas.toDataURL("image/jpeg"),tempRederContext.clearRect(0,0,e.width,e.height),!0}catch(t){return tempRederContext.clearRect(0,0,e.width,e.height),!1}}function ownKeys$d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$d(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$d(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$d(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$n(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$n()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$n(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$n=function(){return!!e})()}function _superPropGet$5(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return 2&n&&"function"==typeof i?function(e){return i.apply(r,e)}:i}var LINE_HEIGHT=1.37,Text=function(e){function t(e,r,n,i){var o,a,s;return _classCallCheck$1(this,t),s=_callSuper$n(this,t,[e,r]),Object.defineProperty(s,"_text",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(s,"_fontStyle",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(s,"maxLength",{enumerable:!0,configurable:!0,writable:!0,value:0}),s.maxLength=Math.abs((null===(o=e.points[0])||void 0===o?void 0:o.x)-(null===(a=s.points[0])||void 0===a?void 0:a.x))||200,s}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$d({},e)})),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle,this._text,this._fontStyle)}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"text",get:function(){return this._text},set:function(e){this._text=e;var t=measureTextLength(e,this.fontStyleStr);t>this.width&&this.maxLength>t&&(this.points=[{x:this.minx,y:this.miny},{x:this.minx+t+10,y:this.maxy}]);this.emitRenderRequest()}},{key:"setTextMaxLength",value:function(e){var t=e-15;this.maxLength=t>this.maxLength?t:this.maxLength}},{key:"fontStyle",get:function(){return this._fontStyle},set:function(e){this.emitRenderRequest(),this._fontStyle=e}},{key:"export",value:function(){return Object.assign({},_superPropGet$5(t,"export",this,3)([]),{text:this.text,fontStyle:cloneDeep(this.fontStyle)})}},{key:"shapeType",get:function(){return ShapeType.Text}},{key:"fontStyleStr",get:function(){var e=this.fontStyle,t=e.fontSize,r=e.bold;return"".concat(e.italic?"italic":"normal"," ").concat(r?"bold":"normal"," ").concat(t,"px ").concat(DEFAULT_FONT_FAMILY)}},{key:"genDrawMsg",value:function(e){return _objectSpread$d(_objectSpread$d({},_superPropGet$5(t,"genDrawMsg",this,3)([e])),{},{text:this.text,font:JSON.stringify({color:rgba2num(this.shapeStyle.strokeStyle),format:getShapeFont(this._fontStyle.bold,this._fontStyle.italic),size:this._fontStyle.fontSize,data:""}),style:JSON.stringify(this.getStyleFromShape())})}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save();var n=this.points[1].x-this.points[0].x,i=this.points[1].y-this.points[0].y;r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent",r.rect(this.points[0].x,this.points[0].y,n,i),r.stroke(),r.closePath();var o=r.isPointInPath(e,t);return r.restore(),o}},{key:"renderShape",value:function(e,t){var r=this,n=measureTextWrap(this.text,this.fontStyleStr,this.maxx-this.minx);this.points[1].y=this.points[0].y+(n.length||1)*this.fontStyle.fontSize*LINE_HEIGHT,(this.interactionStatus!==InteractionStatusType.selected||t.forceRenderText)&&(e.save(),e.font=this.fontStyleStr,e.fillStyle=this.shapeStyle.strokeStyle,n.forEach(function(t,n){e.fillText(t,r.minx,r.miny+n*(r.fontStyle.fontSize*LINE_HEIGHT)+r.fontStyle.fontSize)}),e.restore())}}])}();function ownKeys$c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$c(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$c(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$c(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$m(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$m()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$m(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$m=function(){return!!e})()}Object.defineProperty(Text,"LINE_HEIGHT",{enumerable:!0,configurable:!0,writable:!0,value:LINE_HEIGHT});var Pen=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$m(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$c({},e)})),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Pen}},{key:"shouldSelectAfterAdd",value:function(){return!1}},{key:"isPointInShape",value:function(e,t){var r=this,n=getSharedCanvasCtx();n.save(),n.strokeStyle="transparent",n.fillStyle="transparent",n.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,n.beginPath();var i=!1;return this.points.forEach(function(o,a){0===a?n.moveTo(o.x,o.y):a===r.points.length-1?(n.lineTo(o.x,o.y),n.stroke(),i=n.isPointInStroke(e,t),n.restore()):n.lineTo(o.x,o.y)}),i}},{key:"renderShape",value:function(e){var t=this;e.save(),e.beginPath(),this.useDashedStyle(e),e.strokeStyle=this.shapeStyle.strokeStyle,e.fillStyle=this.shapeStyle.fillStyle,e.lineWidth=this.shapeStyle.lineWidth,e.lineCap="round",e.lineJoin="round",this.points.forEach(function(r,n){if(0===n)e.moveTo(r.x,r.y);else if(n===t.points.length-2){var i={x:(t.points[n+1].x+t.points[n].x)/2,y:(t.points[n+1].y+t.points[n].y)/2};e.quadraticCurveTo(i.x,i.y,t.points[n+1].x,t.points[n+1].y),e.stroke()}else{if(n===t.points.length-1)return;var o=t.points[n+1],a={x:(o.x+t.points[n+2].x)/2,y:(o.y+t.points[n+2].y)/2};e.quadraticCurveTo(o.x,o.y,a.x,a.y)}}),e.restore()}}])}();function ownKeys$b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$b(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$b(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$b(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$l(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$l()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$l=function(){return!!e})()}var Arrow=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$l(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$b({},e)})),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Arrow}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save(),r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent",r.moveTo(this.points[0].x,this.points[0].y),r.lineTo(this.points[1].x,this.points[1].y),r.stroke(),r.closePath();var n=r.isPointInStroke(e,t);return r.restore(),n}},{key:"renderShape",value:function(e){var t=this.points[0].x,r=this.points[0].y,n=this.points[1].x,i=this.points[1].y,o=1.4*(this.shapeStyle.lineWidth+5),a=180*Math.atan2(r-i,t-n)/Math.PI,s=(a+15)*Math.PI/180,c=(a-15)*Math.PI/180,l=o*Math.cos(s),u=o*Math.sin(s),d=o*Math.cos(c),p=o*Math.sin(c);e.save(),e.beginPath(),this.useDashedStyle(e),e.lineCap="round",e.lineWidth=this.shapeStyle.lineWidth,e.strokeStyle=this.shapeStyle.strokeStyle,e.fillStyle=this.shapeStyle.strokeStyle,e.moveTo(t,r),e.lineTo(n,i),e.stroke(),e.closePath(),e.beginPath(),e.setLineDash([]),e.lineCap="butt",e.moveTo(n+l,i+u),e.lineTo(n,i),e.lineTo(n+d,i+p),e.stroke(),e.fill(),e.closePath(),e.restore()}}])}(),bitsToNum=function(e){return e.reduce(function(e,t){return 2*e+t},0)},byteToBitArr=function(e){for(var t=[],r=7;r>=0;r--)t.push(!!(e&1<<r));return t},Stream=function(e){this.data=e,this.len=this.data.length,this.pos=0,this.readByte=function(){if(this.pos>=this.data.length)throw Error("Attempted to read past end of stream.");return e instanceof Uint8Array?e[this.pos++]:255&e.charCodeAt(this.pos++)},this.readBytes=function(e){for(var t=[],r=0;e>r;r++)t.push(this.readByte());return t},this.read=function(e){for(var t="",r=0;e>r;r++)t+=String.fromCharCode(this.readByte());return t},this.readUnsigned=function(){var e=this.readBytes(2);return(e[1]<<8)+e[0]}},lzwDecode=function(e,t){for(var r,n,i=0,o=function(e){for(var r=0,n=0;e>n;n++)t.charCodeAt(i>>3)&1<<(7&i)&&(r|=1<<n),i++;return r},a=[],s=1<<e,c=s+1,l=e+1,u=[],d=function(){u=[],l=e+1;for(var t=0;s>t;t++)u[t]=[t];u[s]=[],u[c]=null};;)if(n=r,(r=o(l))!==s){if(r===c)break;if(u.length>r)n!==s&&u.push(u[n].concat(u[r][0]));else{if(r!==u.length)throw Error("Invalid LZW code.");u.push(u[n].concat(u[n][0]))}a.push.apply(a,u[r]),u.length===1<<l&&12>l&&l++}else d();return a},parseGIF=function(e,t){t||(t={});var r=function(t){for(var r=[],n=0;t>n;n++)r.push(e.readBytes(3));return r},n=function(){var t,r;r="";do{t=e.readByte(),r+=e.read(t)}while(0!==t);return r},i=function(){var o={};switch(o.sentinel=e.readByte(),String.fromCharCode(o.sentinel)){case"!":o.type="ext",function(r){switch(r.label=e.readByte(),r.label){case 249:r.extType="gce",function(r){e.readByte();var n=byteToBitArr(e.readByte());r.reserved=n.splice(0,3),r.disposalMethod=bitsToNum(n.splice(0,3)),r.userInput=n.shift(),r.transparencyGiven=n.shift(),r.delayTime=e.readUnsigned(),r.transparencyIndex=e.readByte(),r.terminator=e.readByte(),t.gce&&t.gce(r)}(r);break;case 254:r.extType="com",function(e){e.comment=n(),t.com&&t.com(e)}(r);break;case 1:r.extType="pte",function(r){e.readByte(),r.ptHeader=e.readBytes(12),r.ptData=n(),t.pte&&t.pte(r)}(r);break;case 255:r.extType="app",function(r){e.readByte(),r.identifier=e.read(8),r.authCode=e.read(3),"NETSCAPE"===r.identifier?function(r){e.readByte(),r.unknown=e.readByte(),r.iterations=e.readUnsigned(),r.terminator=e.readByte(),t.app&&t.app.NETSCAPE&&t.app.NETSCAPE(r)}(r):function(e){e.appData=n(),t.app&&t.app[e.identifier]&&t.app[e.identifier](e)}(r)}(r);break;default:r.extType="unknown",function(e){e.data=n(),t.unknown&&t.unknown(e)}(r)}}(o);break;case",":o.type="img",function(i){i.leftPos=e.readUnsigned(),i.topPos=e.readUnsigned(),i.width=e.readUnsigned(),i.height=e.readUnsigned();var o=byteToBitArr(e.readByte());i.lctFlag=o.shift(),i.interlaced=o.shift(),i.sorted=o.shift(),i.reserved=o.splice(0,2),i.lctSize=bitsToNum(o.splice(0,3)),i.lctFlag&&(i.lct=r(1<<i.lctSize+1)),i.lzwMinCodeSize=e.readByte();var a=n();i.pixels=lzwDecode(i.lzwMinCodeSize,a),i.interlaced&&(i.pixels=function(e,t){for(var r=Array(e.length),n=e.length/t,i=function(n,i){var o=e.slice(i*t,(i+1)*t);r.splice.apply(r,[n*t,t].concat(o))},o=[0,4,2,1],a=[8,8,4,2],s=0,c=0;4>c;c++)for(var l=o[c];n>l;l+=a[c])i(l,s),s++;return r}(i.pixels,i.width)),t.img&&t.img(i)}(o);break;case";":o.type="eof",t.eof&&t.eof(o);break;default:throw Error("Unknown block: 0x"+o.sentinel.toString(16))}"eof"!==o.type&&setTimeout(i,0)};!function(){var n={};if(n.sig=e.read(3),n.ver=e.read(3),"GIF"!==n.sig)throw Error("Not a GIF file.");n.width=e.readUnsigned(),n.height=e.readUnsigned();var i=byteToBitArr(e.readByte());n.gctFlag=i.shift(),n.colorRes=bitsToNum(i.splice(0,3)),n.sorted=i.shift(),n.gctSize=bitsToNum(i.splice(0,3)),n.bgColor=e.readByte(),n.pixelAspectRatio=e.readByte(),n.gctFlag&&(n.gct=r(1<<n.gctSize+1)),t.hdr&&t.hdr(n)}(),setTimeout(i,0)};function SuperGif(e){var t,r,n={vp_l:0,vp_t:0,vp_w:null,vp_h:null,c_w:null,c_h:null};for(var i in e)n[i]=e[i];n.vp_w&&n.vp_h&&(n.is_vp=!0);var o=null,a=!1,s=null,c=null,l=null,u=null,d=null,p=null,h=null,f=!0,g=!1,y=[],v=[],m=n.gif;void 0===n.auto_play&&(n.auto_play=!m.getAttribute("rel:auto_play")||"1"==m.getAttribute("rel:auto_play"));var b,S,_,w=n.hasOwnProperty("on_end")?n.on_end:null,I=n.hasOwnProperty("loop_delay")?n.loop_delay:0,T=n.hasOwnProperty("loop_mode")?n.loop_mode:"auto",E=!n.hasOwnProperty("draw_while_loading")||n.draw_while_loading,O=!!E&&(!n.hasOwnProperty("show_progress_bar")||n.show_progress_bar),P=n.hasOwnProperty("progressbar_height")?n.progressbar_height:25,C=n.hasOwnProperty("progressbar_background_color")?n.progressbar_background_color:"rgba(255,255,255,0.4)",R=n.hasOwnProperty("progressbar_foreground_color")?n.progressbar_foreground_color:"rgba(255,0,22,.8)",x=function(){s=null,c=null,d=l,l=null,p=null},k=function(){try{parseGIF(t,U)}catch(e){N("parse")}},A=function(e,t){b.width=e*z(),b.height=t*z(),_.width=e,_.height=t,_.style.width=e+"px",_.style.height=t+"px",_.getContext("2d").setTransform(1,0,0,1,0,0)},D=function(e,t,r){if(r&&O){var i,o,a,s=P;n.is_vp?g?(o=(n.vp_t+n.vp_h-s)/z(),s/=z(),i=n.vp_l/z()+e/t*(n.vp_w/z()),a=b.width/z()):(o=n.vp_t+n.vp_h-s,i=n.vp_l+e/t*n.vp_w,a=b.width):(o=(b.height-s)/(g?z():1),i=e/t*b.width/(g?z():1),a=b.width/(g?z():1),s/=g?z():1),S.fillStyle=C,S.fillRect(i,o,a-i,s),S.fillStyle=R,S.fillRect(0,o,i,s)}},N=function(e){o=e,r={width:m.width,height:m.height},y=[],S.fillStyle="black",S.fillRect(0,0,n.c_w?n.c_w:r.width,n.c_h?n.c_h:r.height),S.strokeStyle="red",S.lineWidth=3,S.moveTo(0,0),S.lineTo(n.c_w?n.c_w:r.width,n.c_h?n.c_h:r.height),S.moveTo(0,n.c_h?n.c_h:r.height),S.lineTo(n.c_w?n.c_w:r.width,0),S.stroke()},M=function(){p&&(y.push({data:p.getImageData(0,0,r.width,r.height),delay:c}),v.push({x:0,y:0}))},j=function(){var e,t,r,i=-1,a=0,s=function(e){i+=e,l()},c=(e=!1,t=function(){null!==w&&w(m),a++,!1!==T||0>a?r():(e=!1,f=!1)},r=function(){if(e=f){s(1);var n=10*y[i].delay;n||(n=100),0===(i+1+y.length)%y.length?setTimeout(t,n+=I):setTimeout(r,n)}},function(){e||setTimeout(r,0)}),l=function(){var e;(i=parseInt(i,10))>y.length-1&&(i=0),0>i&&(i=0),e=v[i],_.getContext("2d").putImageData(y[i].data,e.x,e.y),S.globalCompositeOperation="copy",S.drawImage(_,0,0)};return{init:function(){o||(n.c_w&&n.c_h||S.scale(z(),z()),n.auto_play?c():(i=0,l()))},step:c,play:function(){f=!0,c()},pause:function(){f=!1},playing:f,move_relative:s,current_frame:function(){return i},length:function(){return y.length},move_to:function(e){i=e,l()}}}(),L=function(e){D(t.pos,t.data.length,e)},$=function(){},B=function(e,t){return function(r){e(r),L(t)}},U={hdr:B(function(e){A((r=e).width,r.height)}),gce:B(function(e){M(),x(),s=e.transparencyGiven?e.transparencyIndex:null,c=e.delayTime,l=e.disposalMethod}),com:B($),app:{NETSCAPE:B($)},img:B(function(e){p||(p=_.getContext("2d"));var t=y.length,i=e.lctFlag?e.lct:r.gct;t>0&&(3===d?null!==u?p.putImageData(y[u].data,0,0):p.clearRect(h.leftPos,h.topPos,h.width,h.height):u=t-1,2===d&&p.clearRect(h.leftPos,h.topPos,h.width,h.height));var o=p.getImageData(e.leftPos,e.topPos,e.width,e.height);e.pixels.forEach(function(e,t){e!==s&&(o.data[4*t+0]=i[e][0],o.data[4*t+1]=i[e][1],o.data[4*t+2]=i[e][2],o.data[4*t+3]=255)}),p.putImageData(o,e.leftPos,e.topPos),g||(S.scale(z(),z()),g=!0),E&&(S.drawImage(_,0,0),E=n.auto_play),h=e},!0),eof:function(){M(),L(!1),n.c_w&&n.c_h||(b.width=r.width*z(),b.height=r.height*z()),j.init(),a=!1,W&&W(m)}},F=function(){var e=document.createElement("div");b=document.createElement("canvas"),S=b.getContext("2d"),_=document.createElement("canvas"),e.width=b.width=m.width,e.height=b.height=m.height,e.className="jsgif",e.appendChild(b),n.c_w&&n.c_h&&A(n.c_w,n.c_h),V=!0},z=function(){return n.max_width&&r&&r.width>n.max_width?n.max_width/r.width:1},V=!1,W=!1,H=function(e){return!a&&(W=e||!1,a=!0,y=[],x(),u=null,d=null,p=null,h=null,!0)};return{play:j.play,pause:j.pause,move_relative:j.move_relative,move_to:j.move_to,get_playing:function(){return f},get_canvas:function(){return b},get_canvas_scale:function(){return z()},get_loading:function(){return a},get_auto_play:function(){return n.auto_play},get_length:function(){return j.length()},get_current_frame:function(){return j.current_frame()},load_url:function(e,r){if(H(r)){var n=new XMLHttpRequest;n.open("GET",e,!0),"overrideMimeType"in n?n.overrideMimeType("text/plain; charset=x-user-defined"):"responseType"in n?n.responseType="arraybuffer":n.setRequestHeader("Accept-Charset","x-user-defined"),n.onloadstart=function(){V||F()},n.onload=function(e){200!=this.status&&N("xhr - response"),"response"in this||(this.response=new VBArray(this.responseText).toArray().map(String.fromCharCode).join(""));var r=this.response;(""+r).indexOf("ArrayBuffer")>0&&(r=new Uint8Array(r)),t=new Stream(r),setTimeout(k,0)},n.onprogress=function(e){e.lengthComputable&&D(e.loaded,e.total,!0)},n.onerror=function(){N("xhr")},n.send()}},load:function(e){this.load_url(m.getAttribute("rel:animated_src")||m.src,e)},load_raw:function(e,r){H(r)&&(V||F(),t=new Stream(e),setTimeout(k,0))},set_frame_offset:function(e,t){v[e]?(void 0!==t.x&&(v[e].x=t.x),void 0!==t.y&&(v[e].y=t.y)):v[e]=t}}}var ImageLoader=function(){function e(){_classCallCheck$1(this,e)}return _createClass$1(e,null,[{key:"checkPendingLoadJob",value:function(){var e=this.loadImagePendingList.shift();e&&this.doLoadJob(e).catch(function(){})}},{key:"log",value:function(e){e.startsWith("data:")}},{key:"doLoadJob",value:(t=_asyncToGenerator$1(_regeneratorRuntime$1.mark(function t(r){var n,i,o,a,s,c=this;return _regeneratorRuntime$1.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n=Date.now(),i=r.resolve,o=r.reject,a=r.imgUrl,t.prev=1,t.next=2,getURLBase64(a);case 2:a=t.sent,t.next=4;break;case 3:t.prev=3,t.catch(1),Log.logInfo("ImageShape img load first try get url base64 failed, will load directly",a);case 4:(s=new Image).src=a,s.onload=function(){var t=Date.now();i(s),c.loadImageJobCount--,e.log(a,"ImageLoader img load success, time cost",t-n,"this.loadImageJobCount",c.loadImageJobCount,a),c.checkPendingLoadJob()},s.onerror=function(){var t=new Image;t.crossOrigin="Anonymous",t.src=a,t.onload=function(){i(t),c.loadImageJobCount--;var r=Date.now();e.log(a,"ImageLoader img load success, time cost",r-n,"this.loadImageJobCount",c.loadImageJobCount,a),c.checkPendingLoadJob()},t.onerror=function(t){c.loadImageJobCount--,2===r.retryCount?(e.log(r.imgUrl,"ImageLoader img load failed after 2 times retry, ",r.imgUrl),o(t)):(r.retryCount++,e.log(a,"ImageLoader img load failed, will add to joblist and try again, retryCount",r.retryCount,a),c.loadImagePendingList.push(r)),c.checkPendingLoadJob()}};case 5:case"end":return t.stop()}},t,null,[[1,3]])})),function(e){return t.apply(this,arguments)})},{key:"loadImg",value:function(t){var r=this;return this.loadImageJobCount++,new Promise(function(n,i){r.maxConcurrency>r.loadImageJobCount?(e.log(t,"ImageLoader got new load job, loading jobs: ",r.loadImageJobCount,"pending jobs: ",r.loadImagePendingList.length,"job not full, will load directly",t),r.doLoadJob({imgUrl:t,resolve:n,reject:i,retryCount:0}).catch(function(){e.log("load failed",t)})):(e.log(t,"ImageLoader got new load job, loading jobs: ",r.loadImageJobCount,"pending jobs: ",r.loadImagePendingList.length,"job full, will add to pending job list",t),r.loadImagePendingList.push({imgUrl:t,resolve:n,reject:i,retryCount:0}))})}},{key:"loadImgAnonymous",value:function(e){return new Promise(function(t,r){var n=new Image;n.src=e,n.crossOrigin="Anonymous",n.onload=function(){t(n)},n.onerror=function(e){r(e)}})}},{key:"loadGif",value:function(e){return new Promise(function(t,r){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){var e=n.response;e?t(e):r(Error("Gif loader:: Invalid response"))},n.onerror=function(e){return r(e)},n.send(null)})}},{key:"loadAsArrayBuffer",value:function(e){return new Promise(function(t,r){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){var e=n.response;e?t(e):r(Error("Fileloader:: Invalid response"))},n.onerror=function(e){return r(e)},n.send(null)})}}]);var t}();function ownKeys$a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$a(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$a(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$a(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$k(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$k()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$k(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$k=function(){return!!e})()}function _superPropGet$4(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return 2&n&&"function"==typeof i?function(e){return i.apply(r,e)}:i}Object.defineProperty(ImageLoader,"loadImageJobCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(ImageLoader,"maxConcurrency",{enumerable:!0,configurable:!0,writable:!0,value:5}),Object.defineProperty(ImageLoader,"loadImagePendingList",{enumerable:!0,configurable:!0,writable:!0,value:[]});var Image$1=function(e){function t(e,r){var n;return _classCallCheck$1(this,t),n=_callSuper$k(this,t,[e.points,e.shapeId,e.creator,e.pageId]),Object.defineProperty(n,"imgUrl",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(n,"loadedUrl",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(n,"_img",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"gifData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"gifRenderInterval",{enumerable:!0,configurable:!0,writable:!0,value:0}),includes(r,"gif")&&(ImageLoader.loadImg(r).then(function(e){var t;n.gifData=SuperGif({gif:e,show_progress_bar:!1,draw_while_loading:!1}),null===(t=n.gifData)||void 0===t||t.load()}).catch(function(e){Log.logError("ImageShape load gif failed",e)}),n.gifRenderInterval=window.setInterval(function(){n.emitRenderRequest()},1e3/BaseShape.GIF_RENDER_RATE)),n}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$a({},e)})),shapeId:r,creator:e,pageId:this.pageId},this.imgUrl)}},{key:"img",get:function(){return this._img},set:function(e){this._img=e,this.emitRenderRequest()}},{key:"shapeType",get:function(){return ShapeType.Image}},{key:"export",value:function(){return Object.assign({},_superPropGet$4(t,"export",this,3)([]),{imgUrl:this.imgUrl})}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"genDrawMsg",value:function(e){return _objectSpread$a(_objectSpread$a({},_superPropGet$4(t,"genDrawMsg",this,3)([e])),{},{pageId:this.pageId,image:JSON.stringify({height:this.height,url:this.imgUrl,width:this.width})})}},{key:"loadImage",value:function(){var e=this;return this._img&&this.loadedUrl===this.imgUrl?Promise.resolve(this._img):ImageLoader.loadImg(this.imgUrl).then(function(t){return e.img=t,e.loadedUrl=e.imgUrl,t})}},{key:"isPointInShape",value:function(e,t){return e>this.minx&&this.maxx>e&&t>this.miny&&this.maxy>t}},{key:"isGif",value:function(){return includes(this.imgUrl,"gif")}},{key:"renderShape",value:function(e){if(this.img&&!this.isGif()){e.save();try{e.drawImage(this.img,this.points[0].x,this.points[0].y,this.points[1].x-this.points[0].x,this.points[1].y-this.points[0].y)}catch(e){console.error(e)}e.restore()}else this.gifData&&e.drawImage(this.gifData.get_canvas(),this.points[0].x,this.points[0].y,this.points[1].x-this.points[0].x,this.points[1].y-this.points[0].y)}},{key:"genRgnMsg",value:function(e){return _objectSpread$a(_objectSpread$a({},_superPropGet$4(t,"genRgnMsg",this,3)([e])),{},{pageId:this.pageId})}},{key:"destructor",value:function(){_superPropGet$4(t,"destructor",this,3)([]),this.gifRenderInterval&&clearInterval(this.gifRenderInterval)}}])}(),css_248z='.dingrtc-wb-switch{align-items:center;box-sizing:border-box;display:flex;height:32px;pointer-events:auto}.dingrtc-wb-switch label{font-size:13px;font-weight:500}.dingrtc-wb-switch input[type=checkbox]{display:none}.dingrtc-wb-switch .dingrtc-switch-handle{border-radius:50px;cursor:pointer;display:inline-block;font-size:14px;height:22px;margin-left:5px;position:relative;transition:all .1s ease-in;width:50px}.dingrtc-wb-switch .dingrtc-switch-handle:after{background-color:#fff;border-radius:100px;box-shadow:inset 0 0 0 0 #eee,0 0 1px rgba(0,0,0,.4);content:" ";height:16px;left:0;position:absolute;top:3px;transition:box-shadow .1s ease-in;width:40px}.dingrtc-wb-switch .dingrtc-switch-handle:before{background:#fff;border-radius:100px;box-shadow:0 3px 1px rgba(0,0,0,.05),0 0 1px rgba(0,0,0,.3);content:" ";height:20px;left:-1px;position:absolute;top:0;transition:left .1s ease-in;width:20px;z-index:999999}.dingrtc-wb-switch input[type=checkbox]:checked+.dingrtc-switch-handle:before{left:22px}.dingrtc-wb-switch input[type=checkbox]:checked+.dingrtc-switch-handle:after{background:#4cda60;box-shadow:0 0 1px #4cda60;content:" ";font-size:1.5em;position:absolute}';styleInject(css_248z);var SwitchButton=function(){return _createClass$1(function e(t){var r=this,n=1>=arguments.length||void 0===arguments[1]||arguments[1],i=arguments.length>2?arguments[2]:void 0;_classCallCheck$1(this,e),Object.defineProperty(this,"_checked",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"onSwitch",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"wrapperElement",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"checkbox",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("input")}),Object.defineProperty(this,"lable",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("label")}),Object.defineProperty(this,"onClick",{enumerable:!0,configurable:!0,writable:!0,value:function(e){e.stopPropagation(),r.checked=!r.checked,r.checkbox.checked=r.checked,r.onSwitch(r.checked)}}),this.wrapperElement=document.createElement("div");var o=document.createElement("span");o.className="dingrtc-switch-handle",this.wrapperElement.className="dingrtc-wb-switch",this.checkbox.type="checkbox",this.lable.innerHTML=t,this.wrapperElement.append(this.lable),this.wrapperElement.append(this.checkbox),this.wrapperElement.append(o),this.checkbox.checked=n,this.wrapperElement.addEventListener("click",this.onClick)},[{key:"checked",get:function(){return this._checked},set:function(e){this._checked=e,this.checkbox.checked=e}}])}(),I18n=function(){function e(){_classCallCheck$1(this,e)}return _createClass$1(e,null,[{key:"setConfig",value:function(e){this.conifg=merge$1(this.conifg,e)}},{key:"t",value:function(t){return get(e.conifg,"".concat(e.locale,".").concat(t),"")}}])}();function ownKeys$9(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$9(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$9(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$9(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$j(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$j()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$j(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$j=function(){return!!e})()}function _superPropGet$3(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return 2&n&&"function"==typeof i?function(e){return i.apply(r,e)}:i}Object.defineProperty(I18n,"locale",{enumerable:!0,configurable:!0,writable:!0,value:"zh_CN"}),Object.defineProperty(I18n,"conifg",{enumerable:!0,configurable:!0,writable:!0,value:{zh_CN:{repeatPlay:"循环播放"},de:{repeatPlay:"Wiederholen Sie das Spiel"},fr:{repeatPlay:"répéter la lecture"},ja:{repeatPlay:"リピートプレイ"},ko:{repeatPlay:"반복 재생"},zh_TW:{repeatPlay:"循環播放"},en:{repeatPlay:"Repeat play"}}});var MediaShape=function(e){function t(e,r){var n;_classCallCheck$1(this,t),n=_callSuper$j(this,t,[e.points,e.shapeId,e.creator,e.pageId]),Object.defineProperty(n,"mediaUrl",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(n,"wrapperDom",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(n,"mediaElement",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"_headerDom",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(n,"_switchButton",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"_repeatPlay",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(n,"callbacks",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"_onVideoStop",{enumerable:!0,configurable:!0,writable:!0,value:function(){n.mediaElement.play()}}),Object.defineProperty(n,"_onMouseMove",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(){var e;return null===(e=n.callbacks)||void 0===e?void 0:e.onShapeFocused(n)},30)}),Object.defineProperty(n,"_onClick",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;return null===(e=n.callbacks)||void 0===e?void 0:e.onShapeSelected(n)}}),Object.defineProperty(n,"_onVideoTimePlay",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;return null===(e=n.callbacks)||void 0===e?void 0:e.onMediaUpdate(n)}}),Object.defineProperty(n,"_onVideoTimePause",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;return null===(e=n.callbacks)||void 0===e?void 0:e.onMediaUpdate(n)}}),Object.defineProperty(n,"_onVideoTimeUpdate",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(){var e;null===(e=n.callbacks)||void 0===e||e.onMediaUpdate(n)},3e3)}),n.wrapperDom.className="dingrtc-wb__media",n.mediaElement=n._makeMediaElement(),n._headerDom.className="dingrtc-wb__media__header";var i=document.createElement("span");i.innerHTML="Video Player",n._headerDom.appendChild(i),n._switchButton=new SwitchButton(I18n.t("repeatPlay"),n.repeatPlay,function(e){return n.repeatPlay=e}),n._headerDom.appendChild(n._switchButton.wrapperElement);var o=document.createElement("div");return o.className="dingrtc-wb__media__body",n.mediaElement.src=n.mediaUrl,n.mediaElement.setAttribute("controlslist","nodownload"),n.mediaElement.controls=!0,n.wrapperDom.appendChild(n._headerDom),n.wrapperDom.appendChild(o),o.appendChild(n.mediaElement),n.mediaElement.addEventListener("play",n._onVideoTimePlay),n.mediaElement.addEventListener("timeupdate",n._onVideoTimeUpdate),n.mediaElement.addEventListener("pause",n._onVideoTimePause),n._headerDom.addEventListener("click",n._onClick),n.wrapperDom.addEventListener("mousemove",n._onMouseMove),n}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"repeatPlay",get:function(){return this._repeatPlay},set:function(e){this._repeatPlay=e,this._switchButton.checked=e,e?this.mediaElement.addEventListener("ended",this._onVideoStop):this.mediaElement.removeEventListener("ended",this._onVideoStop)}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"export",value:function(){return Object.assign({},_superPropGet$3(t,"export",this,3)([]),{mediaUrl:this.mediaUrl})}},{key:"setCallback",value:function(e){this.callbacks=e}},{key:"genDrawMsg",value:function(e){return _objectSpread$9({},_superPropGet$3(t,"genDrawMsg",this,3)([e]))}},{key:"visible",get:function(){return this._visible},set:function(e){this._visible=e,this.emitRenderRequest(),e||this.removeMediaDom()}},{key:"isPointInShape",value:function(e,t){return e>this.minx&&this.maxx>e&&t>this.miny&&this.maxy>t}},{key:"renderShape",value:function(e,t){this.wrapperDom.style.width="".concat(this.maxx-this.minx-6,"px"),this.wrapperDom.style.left="".concat(this.minx*t.scale+t.translate[0]+3,"px"),this.wrapperDom.style.top="".concat(this.miny*t.scale+t.translate[1]+3,"px"),this.wrapperDom.style.transform="scale(".concat(t.scale,")"),this.wrapperDom.style.height="".concat(this.maxy-this.miny-6,"px"),this.wrapperDom.parentElement||t.wrapperDom.appendChild(this.wrapperDom),this.shouldRenderOutline?(this.renderOutline(e,t.scale),this.wrapperDom.style.pointerEvents="none",this._headerDom.style.opacity="1"):(this.wrapperDom.style.pointerEvents="auto",this._headerDom.style.opacity="0"),this._headerDom.style.pointerEvents=this.interactionStatus===InteractionStatusType.focused?"auto":"none",this.mediaElement.style.pointerEvents=this.interactionStatus===InteractionStatusType.selected?"none":"auto"}},{key:"removeMediaDom",value:function(){var e;null===(e=this.wrapperDom.parentElement)||void 0===e||e.removeChild(this.wrapperDom)}},{key:"destructor",value:function(){this.removeMediaDom(),this.mediaElement.removeEventListener("play",this._onVideoTimePlay),this.mediaElement.removeEventListener("pause",this._onVideoTimePause),this.mediaElement.removeEventListener("timeupdate",this._onVideoTimeUpdate),this._headerDom.removeEventListener("click",this._onClick),this.wrapperDom.removeEventListener("mousemove",this._onMouseMove)}}])}();function ownKeys$8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$8(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$8(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$8(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$i(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$i()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$i(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$i=function(){return!!e})()}var Video=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$i(this,t,arguments)}return _inherits$1(t,MediaShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$8({},e)})),shapeId:r,creator:e,pageId:this.pageId},this.mediaUrl)}},{key:"_makeMediaElement",value:function(){return document.createElement("video")}},{key:"shapeType",get:function(){return ShapeType.Video}}])}();function ownKeys$7(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$7(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$7(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$7(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$h(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$h()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$h(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$h=function(){return!!e})()}var Audio=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$h(this,t,arguments)}return _inherits$1(t,MediaShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$7({},e)})),shapeId:r,creator:e,pageId:this.pageId},this.mediaUrl)}},{key:"_makeMediaElement",value:function(){return document.createElement("audio")}},{key:"shapeType",get:function(){return ShapeType.Audio}}])}();function ownKeys$6(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$6(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$6(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$6(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$g(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$g()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$g(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$g=function(){return!!e})()}var Eraser=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$g(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$6({},e)})),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Brush}},{key:"shouldSelectAfterAdd",value:function(){return!1}},{key:"isPointInShape",value:function(){return!1}},{key:"renderShape",value:function(e){var t=this;e.save(),e.beginPath(),e.strokeStyle="rgba(0, 0, 0, 1)",e.fillStyle="rgba(0, 0, 0, 1)",e.lineWidth=this.shapeStyle.lineWidth,e.lineCap="round",e.lineJoin="round",e.globalCompositeOperation="destination-out",this.points.forEach(function(r,n){if(0===n)e.moveTo(r.x,r.y);else if(n===t.points.length-1)e.lineTo(r.x,r.y),e.stroke(),e.closePath(),e.restore();else{var i={x:(r.x+t.points[n-1].x)/2,y:(r.y+t.points[n-1].y)/2};e.quadraticCurveTo(i.x,i.y,r.x,r.y)}}),e.globalCompositeOperation="source-over"}}])}();function ownKeys$5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$5(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$5(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$5(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$f(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$f()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$f(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$f=function(){return!!e})()}var Triangle=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$f(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$5({},e)})),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Triangle}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save(),r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent";var n=this.points[0],i={x:.5*(n.x+this.points[1].x),y:this.points[1].y},o={x:this.points[1].x,y:n.y};r.moveTo(n.x,n.y),r.lineTo(i.x,i.y),r.lineTo(o.x,o.y),r.lineTo(n.x,n.y),r.stroke(),r.closePath();var a=this.shapeStyle.fillType===ShapeFillType.color?r.isPointInStroke(e,t):r.isPointInPath(e,t);return r.restore(),a}},{key:"renderShape",value:function(e){e.save(),e.lineCap="round",this.useDashedStyle(e),e.beginPath(),e.lineWidth=this.shapeStyle.lineWidth,e.strokeStyle=this.shapeStyle.strokeStyle;var t=this.points[0],r={x:.5*(t.x+this.points[1].x),y:this.points[1].y},n={x:this.points[1].x,y:t.y};e.moveTo(t.x,t.y),e.lineTo(r.x,r.y),e.lineTo(n.x,n.y),e.lineTo(t.x,t.y),e.stroke(),e.closePath(),this.shapeStyle.fillType===ShapeFillType.color&&(e.fillStyle=this.shapeStyle.fillStyle,e.fill()),e.restore()}}])}();function ownKeys$4(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$4(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$4(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$4(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$e(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$e()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$e(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$e=function(){return!!e})()}var Rhombic=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$e(this,t,arguments)}return _inherits$1(t,DrawableShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$4({},e)})),shapeId:r,creator:e,pageId:this.pageId},this._shapeStyle)}},{key:"shapeType",get:function(){return ShapeType.Rhombic}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"isPointInShape",value:function(e,t){var r=getSharedCanvasCtx();r.save(),r.beginPath(),r.lineWidth=this.shapeStyle.lineWidth+EXTENTION_SELECT_WIDTH,r.strokeStyle="transparent";var n={x:this.points[0].x,y:.5*(this.points[0].y+this.points[1].y)},i={x:.5*(n.x+this.points[1].x),y:this.points[1].y},o={x:this.points[1].x,y:n.y},a={x:i.x,y:this.points[0].y};r.moveTo(n.x,n.y),r.lineTo(i.x,i.y),r.lineTo(o.x,o.y),r.lineTo(a.x,a.y),r.lineTo(n.x,n.y),r.stroke(),r.closePath();var s=this.shapeStyle.fillType===ShapeFillType.none?r.isPointInStroke(e,t):r.isPointInPath(e,t);return r.restore(),s}},{key:"renderShape",value:function(e){e.save(),e.lineCap="round",this.useDashedStyle(e),e.beginPath(),e.lineWidth=this.shapeStyle.lineWidth,e.strokeStyle=this.shapeStyle.strokeStyle;var t={x:this.points[0].x,y:.5*(this.points[0].y+this.points[1].y)},r={x:.5*(t.x+this.points[1].x),y:this.points[1].y},n={x:this.points[1].x,y:t.y},i={x:r.x,y:this.points[0].y};e.moveTo(t.x,t.y),e.lineTo(r.x,r.y),e.lineTo(n.x,n.y),e.lineTo(i.x,i.y),e.lineTo(t.x,t.y),e.stroke(),e.closePath(),this.shapeStyle.fillType===ShapeFillType.color&&(e.fillStyle=this.shapeStyle.fillStyle,e.fill()),e.restore()}}])}(),images={plus:"https://img.alicdn.com/imgextra/i3/O1CN01PsyXYc1HjhTqgZuQP_!!6000000000794-55-tps-18-18.svg",eraser:"https://img.alicdn.com/imgextra/i1/O1CN011VE3sO27TXWbuVtj1_!!6000000007798-55-tps-16-16.svg",pencil:"https://img.alicdn.com/imgextra/i2/O1CN018ML8Gu1HXKmo27wpQ_!!6000000000767-55-tps-16-16.svg",text:"https://img.alicdn.com/imgextra/i3/O1CN01HLEKtO27bKG5EoaSo_!!6000000007815-55-tps-16-16.svg",select:"https://img.alicdn.com/imgextra/i1/O1CN01E5By8i1qm01Hbhnoh_!!6000000005537-55-tps-16-16.svg",laser:"https://img.alicdn.com/imgextra/i2/O1CN01wz96mh1Em2esQp7W2_!!6000000000393-2-tps-30-30.png"};function _callSuper$d(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$d()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$d(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$d=function(){return!!e})()}var cursorLaserPointerImage=void 0;ImageLoader.loadImg(images.laser).then(function(e){return cursorLaserPointerImage=e}).catch(function(e){Log.logError("laser pointer load failed: ",e)});var LaserPointer=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$d(this,t,arguments)}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"clone",value:function(){throw Error("Method not implemented.")}},{key:"shapeType",get:function(){return ShapeType.LaserPointer}},{key:"isPointInShape",value:function(){return!1}},{key:"shouldSelectAfterAdd",value:function(){return!1}},{key:"renderShape",value:function(e,t){var r=t.scale;e.save(),cursorLaserPointerImage&&e.drawImage(cursorLaserPointerImage,0,0,cursorLaserPointerImage.naturalWidth,cursorLaserPointerImage.naturalHeight,this.points[0].x-15/r,this.points[0].y-15/r,cursorLaserPointerImage.naturalWidth/r,cursorLaserPointerImage.naturalHeight/r),e.restore()}}])}(),Metrics=function(){return _createClass$1(function e(){_classCallCheck$1(this,e)},null,[{key:"sendEventMetrics",value:function(e){throw Error("Method not implemented.")}}])}();function ownKeys$3(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$3(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$3(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$3(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$c(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$c()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$c(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$c=function(){return!!e})()}function _superPropGet$2(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return 2&n&&"function"==typeof i?function(e){return i.apply(r,e)}:i}var StampResourceCache=function(){return _createClass$1(function e(){_classCallCheck$1(this,e)},null,[{key:"get",value:function(e){return this.stampResources.get(e)}},{key:"cache",value:function(e,t,r){Log.logInfo("StampResourceCache.cache load image",e,t,r);var n={url:t,resizable:r,serverCache:!1,getImgEl:ImageLoader.loadImg(t).catch(function(n){return Log.logError("StampResourceCache.cache load image failed",e,t,r),Metrics.sendEventMetrics({event:"image load failed",url:t,message:"Stamp image load failed"}),Promise.reject(n)})};return this.stampResources.set(e,n),n}},{key:"setServerCache",value:function(e){var t=this.stampResources.get(e);t&&(t.serverCache=!0)}}])}();Object.defineProperty(StampResourceCache,"stampResources",{enumerable:!0,configurable:!0,writable:!0,value:new Map});var Stamp=function(e){function t(e,r,n,i){var o,a;return _classCallCheck$1(this,t),a=_callSuper$c(this,t,[e.points,e.shapeId,e.creator,e.pageId]),Object.defineProperty(a,"stampId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(a,"resizable",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(a,"imgUrl",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(a,"img",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),(null!==(o=t.stampResourceCache.get(a.stampId))&&void 0!==o?o:t.stampResourceCache.cache(a.stampId,a.imgUrl,a.resizable)).getImgEl.then(function(e){a.img=e,a.emitRenderRequest()}),a}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"clone",value:function(e,r){return new t({points:_toConsumableArray(this.points.map(function(e){return _objectSpread$3({},e)})),shapeId:r,creator:e,pageId:this.pageId},this.stampId,this.resizable,this.imgUrl)}},{key:"shapeType",get:function(){return ShapeType.Stamp}},{key:"shouldSelectAfterAdd",value:function(){return!0}},{key:"export",value:function(){return Object.assign({},_superPropGet$2(t,"export",this,3)([]),{imgUrl:this.imgUrl,stampId:this.stampId,resizable:this.resizable})}},{key:"genDrawMsg",value:function(e){return _objectSpread$3(_objectSpread$3({},_superPropGet$2(t,"genDrawMsg",this,3)([e])),{},{data:points2numArr(this.resizable?this.points:[this.center,this.center]).join(" "),pageId:this.pageId,image:JSON.stringify({height:this.height,url:this.stampId,width:this.width})})}},{key:"genRgnMsg",value:function(e){return _objectSpread$3(_objectSpread$3({},_superPropGet$2(t,"genRgnMsg",this,3)([e])),{},{pageId:this.pageId})}},{key:"isPointInShape",value:function(e,t){return e>this.minx&&this.maxx>e&&t>this.miny&&this.maxy>t}},{key:"isGif",value:function(){return includes(this.imgUrl,"gif")}},{key:"renderShape",value:function(e){if(this.img){e.save();try{this.resizable?e.drawImage(this.img,this.points[0].x,this.points[0].y,this.points[1].x-this.points[0].x,this.points[1].y-this.points[0].y):e.drawImage(this.img,this.center.x-this.img.naturalWidth/2,this.center.y-this.img.naturalHeight/2)}catch(e){console.error(e)}e.restore()}}},{key:"outlineResizeHandles",get:function(){var e=this;return this.resizable?[new OutlineResizeHandle(function(){return e.minx},function(){return e.miny},"nwse-resize",ResizeType.widthAndHeight),new OutlineResizeHandle(function(){return(e.minx+e.maxx)/2},function(){return e.miny},"ns-resize",ResizeType.height),new OutlineResizeHandle(function(){return e.maxx},function(){return e.miny},"nesw-resize",ResizeType.widthAndHeight),new OutlineResizeHandle(function(){return e.maxx},function(){return(e.miny+e.maxy)/2},"ew-resize",ResizeType.width),new OutlineResizeHandle(function(){return e.maxx},function(){return e.maxy},"nwse-resize",ResizeType.widthAndHeight),new OutlineResizeHandle(function(){return(e.minx+e.maxx)/2},function(){return e.maxy},"ns-resize",ResizeType.height),new OutlineResizeHandle(function(){return e.minx},function(){return e.maxy},"nesw-resize",ResizeType.widthAndHeight),new OutlineResizeHandle(function(){return e.minx},function(){return(e.miny+e.maxy)/2},"ew-resize",ResizeType.width)]:[new OutlineResizeHandle(function(){return e.minx},function(){return e.miny},"",ResizeType.none),new OutlineResizeHandle(function(){return e.maxx},function(){return e.miny},"",ResizeType.none),new OutlineResizeHandle(function(){return e.maxx},function(){return e.maxy},"",ResizeType.none),new OutlineResizeHandle(function(){return e.minx},function(){return e.maxy},"",ResizeType.none)]}},{key:"destructor",value:function(){_superPropGet$2(t,"destructor",this,3)([])}}])}(),MouseType;function _callSuper$b(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$b()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$b(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$b=function(){return!!e})()}Object.defineProperty(Stamp,"stampResourceCache",{enumerable:!0,configurable:!0,writable:!0,value:StampResourceCache}),function(e){e.draw="draw",e.select="select",e.delete="delete",e.erase="erase",e.text="text",e.polygon="polygon",e.laserPointer="laserPointer",e.default="default"}(MouseType||(MouseType={}));var pencilImage=void 0,eraserImage=void 0,textCursorImage=void 0,pointerImage=void 0,polygonImage=void 0;ImageLoader.loadImg(images.pencil).then(function(e){return pencilImage=e}).catch(function(e){Log.logError("cursor load failed: ",e)}),ImageLoader.loadImg(images.eraser).then(function(e){return eraserImage=e}).catch(function(e){Log.logError("cursor load failed: ",e)}),ImageLoader.loadImg(images.text).then(function(e){return textCursorImage=e}).catch(function(e){Log.logError("cursor load failed: ",e)}),ImageLoader.loadImg(images.laser).then(function(e){return pointerImage=e}).catch(function(e){Log.logError("cursor load failed: ",e)}),ImageLoader.loadImg(images.plus).then(function(e){return polygonImage=e}).catch(function(e){Log.logError("cursor load failed: ",e)});var Cursor=function(e){function t(e,r,n,i){var o;return _classCallCheck$1(this,t),o=_callSuper$b(this,t,[e.points,e.shapeId,e.creator]),Object.defineProperty(o,"userName",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(o,"cursorType",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(o,"color",{enumerable:!0,configurable:!0,writable:!0,value:i}),o}return _inherits$1(t,BaseShape),_createClass$1(t,[{key:"clone",value:function(){throw Error("Method not implemented.")}},{key:"shouldSelectAfterAdd",value:function(){return!1}},{key:"updateCursor",value:function(e,t,r,n){this.color=r,this.points=[{x:e,y:t}],this.cursorType=n,this.emitRenderRequest()}},{key:"shapeType",get:function(){return ShapeType.Cursor}},{key:"isPointInShape",value:function(){return!1}},{key:"renderShape",value:function(e,t){var r,n,i=t.scale;e.save();var o=pencilImage,a=0,s=0;this.cursorType===MouseType.draw?(o=pencilImage,a=-14):this.cursorType===MouseType.erase?(o=eraserImage,a=-12):this.cursorType===MouseType.select?o=pointerImage:this.cursorType===MouseType.text?o=textCursorImage:this.cursorType===MouseType.polygon&&(o=polygonImage,a=-8,s=-8);var c=this.points[0],l=(null===(r=o)||void 0===r?void 0:r.naturalWidth)||16,u=(null===(n=o)||void 0===n?void 0:n.naturalHeight)||16;o&&e.drawImage(o,0,0,l,u,c.x+s/i,c.y+a/i,l/i,u/i),e.fillStyle=this.color,e.font="".concat(12/i,"px ").concat(DEFAULT_FONT_FAMILY);var d=e.measureText(this.userName).width;drawRoundedRectangle(e,c.x+s/i,c.y+(a-28)/i,d+10/i,18/i,3/i,this.color,this.color),e.fillStyle="RGBA(255,255,255,1)",e.fillText(this.userName,c.x+(s+5)/i,c.y+(a-15)/i),e.restore()}}])}();function parseToolType(e){switch(e){case ShapeType.Pen:return MouseType.draw;case ShapeType.Arrow:case ShapeType.Ellipse:case ShapeType.Line:case ShapeType.Circle:case ShapeType.Square:case ShapeType.Rect:case ShapeType.Stamp:return MouseType.polygon;case ShapeType.Select:case ShapeType.Click:return MouseType.select;case ShapeType.Brush:return MouseType.erase;case ShapeType.Delete:return MouseType.delete;case ShapeType.Text:return MouseType.text;case ShapeType.LaserPointer:return MouseType.laserPointer;default:return MouseType.default}}function getShapeCursorStyle(e){switch(parseToolType(e)){case MouseType.erase:return"none";case MouseType.delete:return"url('".concat(images.eraser,"') 0 12, auto");case MouseType.draw:return Environment.isSafari()?"auto":"url('".concat(images.pencil,"') 0 16, auto");case MouseType.laserPointer:return"url('".concat(images.laser,"') 14 14, auto");case MouseType.polygon:return"url('".concat(images.plus,"') 8 8, auto");case MouseType.select:return"url('".concat(images.select,"') 0 0, auto");case MouseType.text:return"url('".concat(images.text,"') 0 0, auto");default:return""}}Environment.isSafari();var RenderStats=function(){return _createClass$1(function e(){_classCallCheck$1(this,e),Object.defineProperty(this,"renderInfo",{enumerable:!0,configurable:!0,writable:!0,value:[]})},[{key:"record",value:function(e,t){this.renderInfo.push({startTime:e,timeCost:t})}}])}(),RENDER_STATUS;!function(e){e[e.Aavilable=0]="Aavilable",e[e.Busy=1]="Busy"}(RENDER_STATUS||(RENDER_STATUS={}));var Renderer=function(){return _createClass$1(function e(t){var r=this;_classCallCheck$1(this,e),Object.defineProperty(this,"wb",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"canvasElement",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("canvas")}),Object.defineProperty(this,"cachedCanvas",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("canvas")}),Object.defineProperty(this,"eraserCacheCvs",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("canvas")}),Object.defineProperty(this,"renderStatus",{enumerable:!0,configurable:!0,writable:!0,value:RENDER_STATUS.Aavilable}),Object.defineProperty(this,"renderStats",{enumerable:!0,configurable:!0,writable:!0,value:new RenderStats}),Object.defineProperty(this,"frameRenderRate",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"renderContext2d",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"eraserCvsCtx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cachedCvsCtx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"eraserCvsOutdated",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_sizeLimitStyle",{enumerable:!0,configurable:!0,writable:!0,value:{strokeStyle:"rgba(0,0,0,0.5)",lineWidth:1,fillStyle:"rgba(0,0,0,0)"}}),Object.defineProperty(this,"cachedCtxSnapshot",{enumerable:!0,configurable:!0,writable:!0,value:{devicePixelRatio:this.getDevicePixelRatio(),width:0,height:0,translate:[0,0],scale:1,shapesHashSum:0,shapesSize:0,docId:"",pageId:""}}),Object.defineProperty(this,"updateCanvasSize",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e=0>=arguments.length||void 0===arguments[0]||arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Math.floor(r.canvasElement.clientWidth*r.getDevicePixelRatio()),o=Math.floor(r.canvasElement.clientHeight*r.getDevicePixelRatio());if(r.canvasElement.width!==i||r.canvasElement.height!==o||t){if(0===i||0===o)return;Log.logInfo("Renderer.updateCanvasSize before",{width:r.canvasElement.width,height:r.canvasElement.height},"after",{width:i,height:o}),r.canvasElement.width=i,r.canvasElement.height=o,r.cachedCanvas.width=i,r.cachedCanvas.height=o,r.eraserCacheCvs.width=i,r.eraserCacheCvs.height=o}n&&setTimeout(function(){r.updateCanvasSize(e,t,!1)},1e3)}}),Object.defineProperty(this,"checkCanvasSize",{enumerable:!0,configurable:!0,writable:!0,value:function(){Log.logInfo("Renderer.checkCanvasSize");try{var e=Math.floor(r.canvasElement.clientWidth*r.getDevicePixelRatio()),t=Math.floor(r.canvasElement.clientHeight*r.getDevicePixelRatio());if(r.canvasElement.width!==e||r.canvasElement.height!==t){if(0===e||0===t)return;Log.logInfo("Renderer._checkCanvasSize before",{width:r.canvasElement.width,height:r.canvasElement.height},"after",{width:e,height:t}),r.canvasElement.width=e,r.canvasElement.height=t,r.cachedCanvas.width=e,r.cachedCanvas.height=t,r.eraserCacheCvs.width=e,r.eraserCacheCvs.height=t,r.doRebuildCacheRenderer(),r.updateBg()}}catch(e){Log.logError("check canvas size error",e)}}}),Object.defineProperty(this,"render",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.renderStatus!==RENDER_STATUS.Busy&&(r.wb.isWhiteboardOpen?(r.renderStatus=RENDER_STATUS.Busy,requestAnimationFrame(function(){return r.doRender()})):Log.logInfo("Renderer.render whiteboard not open yet, will not render"))}}),Object.defineProperty(this,"doRender",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e=Date.now(),t=(new Date).toISOString();r.renderStatus=RENDER_STATUS.Aavilable,r.updateBg(),r.renderShapes(),r.renderStats.record(t,Date.now()-e)}}),Object.defineProperty(this,"updateBg",{enumerable:!0,configurable:!0,writable:!0,value:function(){if(r.wb.isWhiteboardOpen&&r.renderContext2d){var e=r.wb.currentPage.backgroundImage;if(r.wbWrapperDom.style.backgroundColor=r.wb.backgroundColor,e?(r.wb.bgImg.src!==e.imgUrl&&(r.wb.bgImg.src=e.imgUrl),r.wb.bgImg.style.display="block",r.wb.bgImg.style.transform="translate(".concat(r.translate[0],"px,").concat(r.translate[1],"px) scale(").concat(r.scale,")"),r.wb.bgImg.style.left="".concat(e.points[0].x*r.scale,"px"),r.wb.bgImg.style.top="".concat(e.points[0].y*r.scale,"px"),r.wb.bgImg.style.width="".concat(e.width,"px"),r.wb.bgImg.style.height="".concat(e.height,"px")):(r.wb.bgImg.src="",r.wb.bgImg.style.display="none"),"pdf"===r.wb.activeDoc.type&&(r.wb.pdfWrapper.style.left="0px",r.wb.pdfWrapper.style.top="0px",r.wb.pdfWrapper.style.transform="translate(".concat(r.translate[0],"px,").concat(r.translate[1],"px) scale(").concat(r.scale,")")),r.selectedShape instanceof Text){var t="".concat(r.selectedShape.maxy-r.selectedShape.miny+2*r.selectedShape.fontStyle.fontSize,"px"),n="".concat(r.selectedShape.maxx-r.selectedShape.minx,"px"),i=r.selectedShape.fontStyleStr,o=r.selectedShape.shapeStyle.strokeStyle,a="".concat(r.selectedShape.minx*r.scale+r.translate[0],"px"),s="".concat(r.selectedShape.miny*r.scale+r.translate[1],"px"),c="scale(".concat(r.scale,")");r.textArea.style.left===a&&r.textArea.style.top===s&&r.textArea.style.transform===c&&r.textArea.style.height===t&&r.textArea.style.width===n&&r.textArea.style.font===i&&r.textArea.style.color===o&&"1"===r.textArea.style.zIndex||(r.textArea.style.left=a,r.textArea.style.top=s,r.textArea.style.transform=c,r.textArea.style.height=t,r.textArea.style.width=n,r.textArea.style.font=i,r.textArea.style.color=o,r.textArea.style.zIndex="1",r.textArea.style.lineHeight="".concat(Text.LINE_HEIGHT),r.textArea.style.verticalAlign="top")}else r.textArea.style.zIndex="0",r.textArea.style.color="transparent"}}}),Object.defineProperty(this,"doRebuildCacheRenderer",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.frameRenderRate++,r.cachedCvsCtx.clearRect(0,0,r.cachedCanvas.width,r.cachedCanvas.height),r.renderAllVisibleShapes(r.cachedCvsCtx,r.translate,r.scale,!1),r.renderContext2d.clearRect(0,0,r.canvasElement.width,r.canvasElement.height),r.renderTopShapes(r.renderContext2d,r.translate,r.scale),r.visibleShapes.forEach(function(e){return e.hash=0}),r.cachedCtxSnapshot={docId:r.wb.activeDocId,pageId:r.wb.currentPage.pageId,devicePixelRatio:r.getDevicePixelRatio(),width:r.canvasElement.width,height:r.canvasElement.height,translate:[r.translate[0],r.translate[1]],scale:r.scale,shapesHashSum:0,shapesSize:r.visibleShapes.length},r.eraserCvsOutdated=!0}}),Object.defineProperty(this,"rebuildCacheRenderer",{enumerable:!0,configurable:!0,writable:!0,value:debounce(this.doRebuildCacheRenderer,500)}),this.cachedCanvas.className="dingrtc-wb__cache-cvs",this.canvasElement.style.pointerEvents="none",this.cachedCanvas.style.pointerEvents="none",this.renderContext2d=this.canvasElement.getContext("2d"),this.eraserCvsCtx=this.eraserCacheCvs.getContext("2d"),this.cachedCvsCtx=this.cachedCanvas.getContext("2d"),this.wbWrapperDom.appendChild(this.cachedCanvas),this.wbWrapperDom.appendChild(this.canvasElement)},[{key:"translate",get:function(){return this.wb.translate}},{key:"scale",get:function(){return this.wb.scale}},{key:"wbWrapperDom",get:function(){return this.wb.wbWrapperDom}},{key:"selectedShape",get:function(){return this.wb.selectedShape}},{key:"textArea",get:function(){return this.wb.textArea}},{key:"hideCanvas",value:function(){this.canvasElement.style.visibility="hidden",this.cachedCanvas.style.visibility="hidden"}},{key:"showCanvas",value:function(){this.canvasElement.style.visibility="visible",this.cachedCanvas.style.visibility="visible"}},{key:"activeShapes",get:function(){return this.visibleShapes.slice(this.cachedCtxSnapshot.shapesSize)}},{key:"visibleShapes",get:function(){return this.wb.visibleShapes}},{key:"anyEraserInActiveShapes",get:function(){return some(this.activeShapes,function(e){return e.shapeType===ShapeType.Brush})}},{key:"insertType",get:function(){return this.wb.getToolType()}},{key:"lineWidth",get:function(){return this.wb.lineWidth}},{key:"getDevicePixelRatio",value:function(){return window.devicePixelRatio||1}},{key:"renderActiveShapes",value:function(){var e=this,t=this.renderContext2d,r=this.translate,n=this.scale;t.translate(r[0]*this.getDevicePixelRatio(),r[1]*this.getDevicePixelRatio()),t.scale(n*this.getDevicePixelRatio(),n*this.getDevicePixelRatio());var i=this.wb.getViewport();this.activeShapes.forEach(function(r){r.render(t,{scale:e.scale,translate:e.translate,wrapperDom:e.wbWrapperDom,viewport:i,lineWidth:e.wb.lineWidth,insertType:e.wb.getToolType(),forceRenderText:!1})}),this.activeShapes.forEach(function(r){r.renderOutline(t,e.scale)}),t.scale(1/n/this.getDevicePixelRatio(),1/n/this.getDevicePixelRatio()),t.translate(-r[0]*this.getDevicePixelRatio(),-r[1]*this.getDevicePixelRatio())}},{key:"isCacheCtxOutdated",get:function(){var e=this.cachedCtxSnapshot,t=e.translate,r=e.shapesHashSum,n=e.shapesSize;return e.docId!==this.wb.activeDocId||e.pageId!==this.wb.currentPage.pageId||n>this.visibleShapes.length||e.width!==this.canvasElement.width||e.height!==this.canvasElement.height||e.scale!==this.scale||e.devicePixelRatio!==this.getDevicePixelRatio()||t[0]!==this.translate[0]||t[1]!==this.translate[1]||r!==this.visibleShapes.slice(0,n).reduce(function(e,t){return e+t.hash},0)}},{key:"renderShapes",value:function(){var e=this.renderContext2d;e.clearRect(0,0,this.canvasElement.width,this.canvasElement.height),this.isCacheCtxOutdated?this.doRebuildCacheRenderer():(this.frameRenderRate++,this.anyEraserInActiveShapes&&(this.eraserCvsOutdated&&(this.eraserCvsCtx.clearRect(0,0,this.eraserCacheCvs.width,this.eraserCacheCvs.height),this.eraserCvsCtx.drawImage(this.cachedCanvas,0,0,this.cachedCanvas.width,this.cachedCanvas.height),this.cachedCvsCtx.clearRect(0,0,this.cachedCanvas.width,this.cachedCanvas.height),this.eraserCvsOutdated=!1),this.renderContext2d.clearRect(0,0,this.canvasElement.width,this.canvasElement.height),this.renderContext2d.drawImage(this.eraserCacheCvs,0,0,this.eraserCacheCvs.width,this.eraserCacheCvs.height)),this.renderActiveShapes(),this.renderTopShapes(e,this.translate,this.scale)),this.activeShapes.length&&this.rebuildCacheRenderer()}},{key:"renderAllVisibleShapes",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.translate,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.scale,i=arguments.length>3?arguments[3]:void 0;e.translate(r[0]*this.getDevicePixelRatio(),r[1]*this.getDevicePixelRatio()),e.scale(n*this.getDevicePixelRatio(),n*this.getDevicePixelRatio());var o=this.wb.getViewport();this.visibleShapes.forEach(function(r){r.render(e,{scale:t.scale,translate:t.translate,wrapperDom:t.wbWrapperDom,viewport:o,lineWidth:t.wb.lineWidth,insertType:t.wb.getToolType(),forceRenderText:i})}),this.visibleShapes.forEach(function(r){r.renderOutline(e,t.scale)}),e.scale(1/n/this.getDevicePixelRatio(),1/n/this.getDevicePixelRatio()),e.translate(-r[0]*this.getDevicePixelRatio(),-r[1]*this.getDevicePixelRatio())}},{key:"renderTopShapes",value:function(e){var t,r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.translate,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.scale;if(e.translate(n[0]*this.getDevicePixelRatio(),n[1]*this.getDevicePixelRatio()),e.scale(i*this.getDevicePixelRatio(),i*this.getDevicePixelRatio()),this.wb.sizeLimitVisible&&(this.wb.sizeConfig||"scroll"===this.wb.activeDoc.browseMode)){var o,a,s=(null===(o=this.wb.sizeConfig)||void 0===o?void 0:o.width)||this.wb.activeDoc.width,c=(null===(a=this.wb.sizeConfig)||void 0===a?void 0:a.height)||this.wb.activeDoc.scrollHeight;renderRect(e,0+Math.ceil(this._sizeLimitStyle.lineWidth/2),0+Math.ceil(this._sizeLimitStyle.lineWidth/2),s-this._sizeLimitStyle.lineWidth,c-this._sizeLimitStyle.lineWidth,this._sizeLimitStyle.strokeStyle,this._sizeLimitStyle.lineWidth,this._sizeLimitStyle.fillStyle)}var l=this.wb.getViewport();this.wb.laserPointers.forEach(function(t){return t.render(e,{scale:r.scale,translate:r.translate,wrapperDom:r.wbWrapperDom,viewport:l,lineWidth:r.wb.lineWidth,insertType:r.wb.getToolType(),forceRenderText:!1})}),this.wb.selectIndicator.visible&&this.wb.selectIndicator.render(e,{scale:this.scale,translate:this.translate,wrapperDom:this.wbWrapperDom,viewport:l,lineWidth:this.wb.lineWidth,insertType:this.wb.getToolType(),forceRenderText:!1}),this.insertType===ShapeType.Brush&&this.wb.eraserIndicator.render(e,{scale:this.scale,translate:this.translate,wrapperDom:this.wbWrapperDom,viewport:l,lineWidth:this.lineWidth,insertType:this.insertType,forceRenderText:!1}),this.wb.cursors.forEach(function(t){return t.render(e,{scale:r.scale,translate:r.translate,wrapperDom:r.wbWrapperDom,viewport:l,lineWidth:r.lineWidth,insertType:r.insertType,forceRenderText:!1})}),null===(t=this.selectedShape)||void 0===t||t.renderOutline(e,i),e.scale(1/i/this.getDevicePixelRatio(),1/i/this.getDevicePixelRatio()),e.translate(-n[0]*this.getDevicePixelRatio(),-n[1]*this.getDevicePixelRatio())}}])}(),axios$3={exports:{}},bind$2=function(e,t){return function(){for(var r=Array(arguments.length),n=0;r.length>n;n++)r[n]=arguments[n];return e.apply(t,r)}},bind$1=bind$2,toString=Object.prototype.toString;function isArray(e){return"[object Array]"===toString.call(e)}function isUndefined(e){return void 0===e}function isBuffer(e){return null!==e&&!isUndefined(e)&&null!==e.constructor&&!isUndefined(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function isArrayBuffer(e){return"[object ArrayBuffer]"===toString.call(e)}function isFormData(e){return"undefined"!=typeof FormData&&e instanceof FormData}function isArrayBufferView(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function isString(e){return"string"==typeof e}function isNumber(e){return"number"==typeof e}function isObject(e){return null!==e&&"object"==typeof e}function isPlainObject(e){if("[object Object]"!==toString.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function isDate(e){return"[object Date]"===toString.call(e)}function isFile(e){return"[object File]"===toString.call(e)}function isBlob(e){return"[object Blob]"===toString.call(e)}function isFunction(e){return"[object Function]"===toString.call(e)}function isStream(e){return isObject(e)&&isFunction(e.pipe)}function isURLSearchParams(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function trim(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function isStandardBrowserEnv(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function forEach(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),isArray(e))for(var r=0,n=e.length;n>r;r++)t.call(null,e[r],r,e);else for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.call(null,e[i],i,e)}function merge(){var e={};function t(t,r){e[r]=isPlainObject(e[r])&&isPlainObject(t)?merge(e[r],t):isPlainObject(t)?merge({},t):isArray(t)?t.slice():t}for(var r=0,n=arguments.length;n>r;r++)forEach(arguments[r],t);return e}function extend(e,t,r){return forEach(t,function(t,n){e[n]=r&&"function"==typeof t?bind$1(t,r):t}),e}function stripBOM(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e}var utils$8={isArray:isArray,isArrayBuffer:isArrayBuffer,isBuffer:isBuffer,isFormData:isFormData,isArrayBufferView:isArrayBufferView,isString:isString,isNumber:isNumber,isObject:isObject,isPlainObject:isPlainObject,isUndefined:isUndefined,isDate:isDate,isFile:isFile,isBlob:isBlob,isFunction:isFunction,isStream:isStream,isURLSearchParams:isURLSearchParams,isStandardBrowserEnv:isStandardBrowserEnv,forEach:forEach,merge:merge,extend:extend,trim:trim,stripBOM:stripBOM},utils$7=utils$8;function encode(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var buildURL$1=function(e,t,r){if(!t)return e;var n;if(r)n=r(t);else if(utils$7.isURLSearchParams(t))n=""+t;else{var i=[];utils$7.forEach(t,function(e,t){null!=e&&(utils$7.isArray(e)?t+="[]":e=[e],utils$7.forEach(e,function(e){utils$7.isDate(e)?e=e.toISOString():utils$7.isObject(e)&&(e=JSON.stringify(e)),i.push(encode(t)+"="+encode(e))}))}),n=i.join("&")}if(n){var o=e.indexOf("#");-1!==o&&(e=e.slice(0,o)),e+=(-1===e.indexOf("?")?"?":"&")+n}return e},utils$6=utils$8;function InterceptorManager$1(){this.handlers=[]}InterceptorManager$1.prototype.use=function(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1},InterceptorManager$1.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},InterceptorManager$1.prototype.forEach=function(e){utils$6.forEach(this.handlers,function(t){null!==t&&e(t)})};var InterceptorManager_1=InterceptorManager$1,utils$5=utils$8,normalizeHeaderName=function(e,t){utils$5.forEach(e,function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])})},enhanceError=function(e,t,r,n,i){return e.config=t,r&&(e.code=r),e.request=n,e.response=i,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},e},createError,hasRequiredCreateError,settle,hasRequiredSettle,cookies,hasRequiredCookies,isAbsoluteURL,hasRequiredIsAbsoluteURL,combineURLs,hasRequiredCombineURLs,buildFullPath,hasRequiredBuildFullPath,parseHeaders,hasRequiredParseHeaders,isURLSameOrigin,hasRequiredIsURLSameOrigin,Cancel_1,hasRequiredCancel,xhr,hasRequiredXhr,defaults_1,hasRequiredDefaults;function requireCreateError(){if(hasRequiredCreateError)return createError;hasRequiredCreateError=1;var e=enhanceError;return createError=function(t,r,n,i,o){return e(Error(t),r,n,i,o)}}function requireSettle(){if(hasRequiredSettle)return settle;hasRequiredSettle=1;var e=requireCreateError();return settle=function(t,r,n){var i=n.config.validateStatus;n.status&&i&&!i(n.status)?r(e("Request failed with status code "+n.status,n.config,null,n.request,n)):t(n)}}function requireCookies(){if(hasRequiredCookies)return cookies;hasRequiredCookies=1;var e=utils$8;return cookies=e.isStandardBrowserEnv()?{write:function(t,r,n,i,o,a){var s=[];s.push(t+"="+encodeURIComponent(r)),e.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),e.isString(i)&&s.push("path="+i),e.isString(o)&&s.push("domain="+o),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}}function requireIsAbsoluteURL(){return hasRequiredIsAbsoluteURL?isAbsoluteURL:(hasRequiredIsAbsoluteURL=1,isAbsoluteURL=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)})}function requireCombineURLs(){return hasRequiredCombineURLs?combineURLs:(hasRequiredCombineURLs=1,combineURLs=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e})}function requireBuildFullPath(){if(hasRequiredBuildFullPath)return buildFullPath;hasRequiredBuildFullPath=1;var e=requireIsAbsoluteURL(),t=requireCombineURLs();return buildFullPath=function(r,n){return r&&!e(n)?t(r,n):n}}function requireParseHeaders(){if(hasRequiredParseHeaders)return parseHeaders;hasRequiredParseHeaders=1;var e=utils$8,t=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];return parseHeaders=function(r){var n,i,o,a={};return r?(e.forEach(r.split("\n"),function(r){if(o=r.indexOf(":"),n=e.trim(r.substr(0,o)).toLowerCase(),i=e.trim(r.substr(o+1)),n){if(a[n]&&t.indexOf(n)>=0)return;a[n]="set-cookie"===n?(a[n]?a[n]:[]).concat([i]):a[n]?a[n]+", "+i:i}}),a):a}}function requireIsURLSameOrigin(){if(hasRequiredIsURLSameOrigin)return isURLSameOrigin;hasRequiredIsURLSameOrigin=1;var e=utils$8;return isURLSameOrigin=e.isStandardBrowserEnv()?function(){var t,r=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function i(e){var t=e;return r&&(n.setAttribute("href",t),t=n.href),n.setAttribute("href",t),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return t=i(window.location.href),function(r){var n=e.isString(r)?i(r):r;return n.protocol===t.protocol&&n.host===t.host}}():function(){return!0}}function requireCancel(){if(hasRequiredCancel)return Cancel_1;function e(e){this.message=e}return hasRequiredCancel=1,e.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},e.prototype.__CANCEL__=!0,Cancel_1=e}function requireXhr(){if(hasRequiredXhr)return xhr;hasRequiredXhr=1;var e=utils$8,t=requireSettle(),r=requireCookies(),n=buildURL$1,i=requireBuildFullPath(),o=requireParseHeaders(),a=requireIsURLSameOrigin(),s=requireCreateError(),c=requireDefaults(),l=requireCancel();return xhr=function(u){return new Promise(function(d,p){var h,f=u.data,g=u.headers,y=u.responseType;function v(){u.cancelToken&&u.cancelToken.unsubscribe(h),u.signal&&u.signal.removeEventListener("abort",h)}e.isFormData(f)&&delete g["Content-Type"];var m=new XMLHttpRequest;u.auth&&(g.Authorization="Basic "+btoa((u.auth.username||"")+":"+(u.auth.password?unescape(encodeURIComponent(u.auth.password)):"")));var b=i(u.baseURL,u.url);function S(){if(m){var e="getAllResponseHeaders"in m?o(m.getAllResponseHeaders()):null;t(function(e){d(e),v()},function(e){p(e),v()},{data:y&&"text"!==y&&"json"!==y?m.response:m.responseText,status:m.status,statusText:m.statusText,headers:e,config:u,request:m}),m=null}}if(m.open(u.method.toUpperCase(),n(b,u.params,u.paramsSerializer),!0),m.timeout=u.timeout,"onloadend"in m?m.onloadend=S:m.onreadystatechange=function(){m&&4===m.readyState&&(0!==m.status||m.responseURL&&0===m.responseURL.indexOf("file:"))&&setTimeout(S)},m.onabort=function(){m&&(p(s("Request aborted",u,"ECONNABORTED",m)),m=null)},m.onerror=function(){p(s("Network Error",u,null,m)),m=null},m.ontimeout=function(){var e=u.timeout?"timeout of "+u.timeout+"ms exceeded":"timeout exceeded";u.timeoutErrorMessage&&(e=u.timeoutErrorMessage),p(s(e,u,(u.transitional||c.transitional).clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",m)),m=null},e.isStandardBrowserEnv()){var _=(u.withCredentials||a(b))&&u.xsrfCookieName?r.read(u.xsrfCookieName):void 0;_&&(g[u.xsrfHeaderName]=_)}"setRequestHeader"in m&&e.forEach(g,function(e,t){void 0===f&&"content-type"===t.toLowerCase()?delete g[t]:m.setRequestHeader(t,e)}),e.isUndefined(u.withCredentials)||(m.withCredentials=!!u.withCredentials),y&&"json"!==y&&(m.responseType=u.responseType),"function"==typeof u.onDownloadProgress&&m.addEventListener("progress",u.onDownloadProgress),"function"==typeof u.onUploadProgress&&m.upload&&m.upload.addEventListener("progress",u.onUploadProgress),(u.cancelToken||u.signal)&&(h=function(e){m&&(p(!e||e&&e.type?new l("canceled"):e),m.abort(),m=null)},u.cancelToken&&u.cancelToken.subscribe(h),u.signal&&(u.signal.aborted?h():u.signal.addEventListener("abort",h))),f||(f=null),m.send(f)})}}function requireDefaults(){if(hasRequiredDefaults)return defaults_1;hasRequiredDefaults=1;var e=utils$8,t=normalizeHeaderName,r=enhanceError,n={"Content-Type":"application/x-www-form-urlencoded"};function i(t,r){!e.isUndefined(t)&&e.isUndefined(t["Content-Type"])&&(t["Content-Type"]=r)}var o,a={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(o=requireXhr()),o),transformRequest:[function(r,n){return t(n,"Accept"),t(n,"Content-Type"),e.isFormData(r)||e.isArrayBuffer(r)||e.isBuffer(r)||e.isStream(r)||e.isFile(r)||e.isBlob(r)?r:e.isArrayBufferView(r)?r.buffer:e.isURLSearchParams(r)?(i(n,"application/x-www-form-urlencoded;charset=utf-8"),""+r):e.isObject(r)||n&&"application/json"===n["Content-Type"]?(i(n,"application/json"),function(t,r,n){if(e.isString(t))try{return(r||JSON.parse)(t),e.trim(t)}catch(e){if("SyntaxError"!==e.name)throw e}return(n||JSON.stringify)(t)}(r)):r}],transformResponse:[function(t){var n=this.transitional||a.transitional,i=!(n&&n.silentJSONParsing)&&"json"===this.responseType;if(i||n&&n.forcedJSONParsing&&e.isString(t)&&t.length)try{return JSON.parse(t)}catch(e){if(i){if("SyntaxError"===e.name)throw r(e,this,"E_JSON_PARSE");throw e}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&300>e},headers:{common:{Accept:"application/json, text/plain, */*"}}};return e.forEach(["delete","get","head"],function(e){a.headers[e]={}}),e.forEach(["post","put","patch"],function(t){a.headers[t]=e.merge(n)}),defaults_1=a}var utils$4=utils$8,defaults$2=requireDefaults(),transformData$1=function(e,t,r){var n=this||defaults$2;return utils$4.forEach(r,function(r){e=r.call(n,e,t)}),e},isCancel$1,hasRequiredIsCancel;function requireIsCancel(){return hasRequiredIsCancel?isCancel$1:(hasRequiredIsCancel=1,isCancel$1=function(e){return!(!e||!e.__CANCEL__)})}var utils$3=utils$8,transformData=transformData$1,isCancel=requireIsCancel(),defaults$1=requireDefaults(),Cancel=requireCancel();function throwIfCancellationRequested(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Cancel("canceled")}var dispatchRequest$1=function(e){return throwIfCancellationRequested(e),e.headers=e.headers||{},e.data=transformData.call(e,e.data,e.headers,e.transformRequest),e.headers=utils$3.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),utils$3.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]}),(e.adapter||defaults$1.adapter)(e).then(function(t){return throwIfCancellationRequested(e),t.data=transformData.call(e,t.data,t.headers,e.transformResponse),t},function(t){return isCancel(t)||(throwIfCancellationRequested(e),t&&t.response&&(t.response.data=transformData.call(e,t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})},utils$2=utils$8,mergeConfig$2=function(e,t){t=t||{};var r={};function n(e,t){return utils$2.isPlainObject(e)&&utils$2.isPlainObject(t)?utils$2.merge(e,t):utils$2.isPlainObject(t)?utils$2.merge({},t):utils$2.isArray(t)?t.slice():t}function i(r){return utils$2.isUndefined(t[r])?utils$2.isUndefined(e[r])?void 0:n(void 0,e[r]):n(e[r],t[r])}function o(e){if(!utils$2.isUndefined(t[e]))return n(void 0,t[e])}function a(r){return utils$2.isUndefined(t[r])?utils$2.isUndefined(e[r])?void 0:n(void 0,e[r]):n(void 0,t[r])}function s(r){return r in t?n(e[r],t[r]):r in e?n(void 0,e[r]):void 0}var c={url:o,method:o,data:o,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s};return utils$2.forEach(Object.keys(e).concat(Object.keys(t)),function(e){var t=c[e]||i,n=t(e);utils$2.isUndefined(n)&&t!==s||(r[e]=n)}),r},data,hasRequiredData;function requireData(){return hasRequiredData?data:(hasRequiredData=1,data={version:"0.24.0"})}var VERSION=requireData().version,validators$1={};["object","boolean","number","function","string","symbol"].forEach(function(e,t){validators$1[e]=function(r){return typeof r===e||"a"+(1>t?"n ":" ")+e}});var deprecatedWarnings={};function assertOptions(e,t,r){if("object"!=typeof e)throw new TypeError("options must be an object");for(var n=Object.keys(e),i=n.length;i-- >0;){var o=n[i],a=t[o];if(a){var s=e[o],c=void 0===s||a(s,o,e);if(!0!==c)throw new TypeError("option "+o+" must be "+c)}else if(!0!==r)throw Error("Unknown option "+o)}}validators$1.transitional=function(e,t,r){function n(e,t){return"[Axios v"+VERSION+"] Transitional option '"+e+"'"+t+(r?". "+r:"")}return function(r,i,o){if(!1===e)throw Error(n(i," has been removed"+(t?" in "+t:"")));return t&&!deprecatedWarnings[i]&&(deprecatedWarnings[i]=!0,console.warn(n(i," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,i,o)}};var validator$1={assertOptions:assertOptions,validators:validators$1},utils$1=utils$8,buildURL=buildURL$1,InterceptorManager=InterceptorManager_1,dispatchRequest=dispatchRequest$1,mergeConfig$1=mergeConfig$2,validator=validator$1,validators=validator.validators;function Axios$1(e){this.defaults=e,this.interceptors={request:new InterceptorManager,response:new InterceptorManager}}Axios$1.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=mergeConfig$1(this.defaults,e)).method=e.method?e.method.toLowerCase():this.defaults.method?this.defaults.method.toLowerCase():"get";var t=e.transitional;void 0!==t&&validator.assertOptions(t,{silentJSONParsing:validators.transitional(validators.boolean),forcedJSONParsing:validators.transitional(validators.boolean),clarifyTimeoutError:validators.transitional(validators.boolean)},!1);var r=[],n=!0;this.interceptors.request.forEach(function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(n=n&&t.synchronous,r.unshift(t.fulfilled,t.rejected))});var i,o=[];if(this.interceptors.response.forEach(function(e){o.push(e.fulfilled,e.rejected)}),!n){var a=[dispatchRequest,void 0];for(Array.prototype.unshift.apply(a,r),a=a.concat(o),i=Promise.resolve(e);a.length;)i=i.then(a.shift(),a.shift());return i}for(var s=e;r.length;){var c=r.shift(),l=r.shift();try{s=c(s)}catch(e){l(e);break}}try{i=dispatchRequest(s)}catch(e){return Promise.reject(e)}for(;o.length;)i=i.then(o.shift(),o.shift());return i},Axios$1.prototype.getUri=function(e){return e=mergeConfig$1(this.defaults,e),buildURL(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},utils$1.forEach(["delete","get","head","options"],function(e){Axios$1.prototype[e]=function(t,r){return this.request(mergeConfig$1(r||{},{method:e,url:t,data:(r||{}).data}))}}),utils$1.forEach(["post","put","patch"],function(e){Axios$1.prototype[e]=function(t,r,n){return this.request(mergeConfig$1(n||{},{method:e,url:t,data:r}))}});var Axios_1=Axios$1,CancelToken_1,hasRequiredCancelToken,spread,hasRequiredSpread,isAxiosError,hasRequiredIsAxiosError;function requireCancelToken(){if(hasRequiredCancelToken)return CancelToken_1;hasRequiredCancelToken=1;var e=requireCancel();function t(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var r;this.promise=new Promise(function(e){r=e});var n=this;this.promise.then(function(e){if(n._listeners){var t,r=n._listeners.length;for(t=0;r>t;t++)n._listeners[t](e);n._listeners=null}}),this.promise.then=function(e){var t,r=new Promise(function(e){n.subscribe(e),t=e}).then(e);return r.cancel=function(){n.unsubscribe(t)},r},t(function(t){n.reason||(n.reason=new e(t),r(n.reason))})}return t.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},t.prototype.subscribe=function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]},t.prototype.unsubscribe=function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}},t.source=function(){var e;return{token:new t(function(t){e=t}),cancel:e}},CancelToken_1=t}function requireSpread(){return hasRequiredSpread?spread:(hasRequiredSpread=1,spread=function(e){return function(t){return e.apply(null,t)}})}function requireIsAxiosError(){return hasRequiredIsAxiosError?isAxiosError:(hasRequiredIsAxiosError=1,isAxiosError=function(e){return"object"==typeof e&&!0===e.isAxiosError})}var utils=utils$8,bind=bind$2,Axios=Axios_1,mergeConfig=mergeConfig$2,defaults=requireDefaults();function createInstance(e){var t=new Axios(e),r=bind(Axios.prototype.request,t);return utils.extend(r,Axios.prototype,t),utils.extend(r,t),r.create=function(t){return createInstance(mergeConfig(e,t))},r}var axios$2=createInstance(defaults);axios$2.Axios=Axios,axios$2.Cancel=requireCancel(),axios$2.CancelToken=requireCancelToken(),axios$2.isCancel=requireIsCancel(),axios$2.VERSION=requireData().version,axios$2.all=function(e){return Promise.all(e)},axios$2.spread=requireSpread(),axios$2.isAxiosError=requireIsAxiosError(),axios$3.exports=axios$2,axios$3.exports.default=axios$2;var axiosExports=axios$3.exports,axios=axiosExports,axios$1=getDefaultExportFromCjs$1(axios);function ownKeys$2(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$2(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$2(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$2(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var MAX_MEDIA_SIZE=300,TranscodeStatusCode;function selectAndTranscodeFile(e){return new Promise(function(t,r){var n=e.onUploadProgress,i=e.onTranscodeProgress,o=e.accept,a=e.channelId,s=e.userId,c=e.appId,l=e.securityToken,u=e.gslb,d=e.targetType;Log.logInfo("RtcWhiteboard.uploadFile",o),selectFile(o,function(e){var o=e.name.split(".").pop()||"";return"pdf"===d&&o===d?uploadTempFile({file:e,channelId:a,userId:s,appId:c,securityToken:l,gslb:u,onProgress:n}).then(function(e){return t({pageCount:1,url:[e.url],fileName:e.fileName,docId:e.docId})},r):uploadFileForTranscode({file:e,channelId:a,userId:s,appId:c,securityToken:l,gslb:u,onProgress:n}).then(function(e){return transcodeFile({channelId:a,userId:s,appId:c,securityToken:l,gslb:u,targetType:d,docId:e.docId,onProgress:i}).then(function(r){t(_objectSpread$2(_objectSpread$2({},e),r))},r)})})})}function selectAndUploadTempFile(e){return new Promise(function(t,r){var n=e.onProgress,i=e.accept,o=e.channelId,a=e.userId,s=e.appId,c=e.securityToken,l=e.gslb;Log.logInfo("RtcWhiteboard.uploadFile",i),selectFile(i,function(e){return uploadTempFile({file:e,channelId:o,userId:a,appId:s,securityToken:c,gslb:l,onProgress:n}).then(t,r)})})}function uploadTempFile(e){var t=e.onProgress,r=e.file,n=e.channelId,i=e.userId,o=e.appId,a=e.securityToken,s=e.gslb;return new Promise(function(e,c){if(Log.logInfo("RtcWhiteboard.uploadFile"),r.size/1048576>MAX_MEDIA_SIZE){var l="file too large, up to ".concat(MAX_MEDIA_SIZE,"M, your file size is ").concat(r.size/1048576," M");return Log.logError("RtcWhiteboard.uploadFile: upload failed, ",l,n),c({code:-1,state:"err_file_too_large",message:l})}var u="".concat(formateDate(new Date,"yyyyMMdd-hhmmss"),".").concat(i||"",".").concat(n,".").concat(r.name);axios$1.request({url:"".concat(s,"/v1/file/init"),method:"POST",data:{channelId:n,userId:i,appId:o,securityToken:a,fileName:u}}).then(function(n){var i=n.data,o=i.docId,a=i.uploadUrl,s=i.uploadInfo,l=new FormData;l.append("policy",s.policy),l.append("OSSAccessKeyId",s.OSSAccessKeyId),l.append("signature",s.signature),l.append("key",s.key),l.append("file",r);var u=0,d=0;axios$1.request({url:a,data:l,method:"POST",headers:{"Content-Type":"multipart/form-data"},onUploadProgress:function(e){u=e.total,d=e.loaded,null==t||t({total:e.total,loaded:e.loaded})}}).then(function(){u!==d&&(null==t||t({total:u,loaded:u}));var i=r.name;try{i=decodeURI(escape(i))}catch(e){}e({docId:o,url:n.data.downloadUrl,fileName:i})}).catch(function(){return c({state:"upload_failed",code:-3,message:"file upload failed."})})}).catch(function(e){return Log.logError("RtcWhiteboard.uploadFile: upload failed, err_failed_fetch_upload_token",e,n),c({code:-2,state:"err_failed_fetch_upload_token",message:"file upload failed."})})})}function uploadFileForTranscode(e){var t=e.onProgress,r=e.file,n=e.channelId,i=e.userId,o=e.appId,a=e.securityToken,s=e.gslb;return new Promise(function(e,c){if(Log.logInfo("RtcWhiteboard.uploadFile"),r.size/1048576>MAX_MEDIA_SIZE){var l="file too large, up to ".concat(MAX_MEDIA_SIZE,"M, your file size is ").concat(r.size/1048576," M");return Log.logError("RtcWhiteboard.uploadFile: upload failed, ",l,n),c({code:-1,state:"err_file_too_large",message:l})}var u="".concat(formateDate(new Date,"yyyyMMdd-hhmmss"),".").concat(i||"",".").concat(n,".").concat(r.name);axios$1.request({url:"".concat(s,"/v1/docs/init"),method:"POST",data:{channelId:n,userId:i,appId:o,securityToken:a,fileName:u}}).then(function(n){var i=n.data,o=i.docId,a=i.uploadUrl,s=i.uploadInfo,l=new FormData;l.append("policy",s.policy),l.append("OSSAccessKeyId",s.OSSAccessKeyId),l.append("signature",s.signature),l.append("key",s.key),l.append("file",r);var u=0,d=0;axios$1.request({url:a,data:l,method:"POST",headers:{"Content-Type":"multipart/form-data"},onUploadProgress:function(e){u=e.total,d=e.loaded,null==t||t({total:e.total,loaded:e.loaded})}}).then(function(){u!==d&&(null==t||t({total:u,loaded:u}));var n=r.name;try{n=decodeURI(escape(n))}catch(e){}e({docId:o,fileName:n})}).catch(function(){return c({state:"upload_failed",code:-3,message:"file upload failed."})})}).catch(function(e){return Log.logError("RtcWhiteboard.uploadFile: upload failed, err_failed_fetch_upload_token",e,n),c({code:-2,state:"err_failed_fetch_upload_token",message:"file upload failed."})})})}function selectFile(e,t){var r=document.createElement("input");r.style.position="absolute",r.style.top="0",r.style.left="0",r.style.zIndex="-100",r.style.visibility="hidden",document.body.appendChild(r),r.type="file",r.accept=e,r.addEventListener("change",function(e){document.body.removeChild(r);var n=get(e,"target.files[0]");n&&t(n)}),r.click()}function mapTranscodeStatusCode(e){switch(e){case TranscodeStatusCode.INIT:return"init";case TranscodeStatusCode.PROCESSING:return"processing";case TranscodeStatusCode.FINISH:case TranscodeStatusCode.PARSED:return"success";default:return"failed"}}function transcodeFile(e){var t=e.onProgress,r=e.targetType,n=e.channelId,i=e.userId,o=e.appId,a=e.securityToken,s=e.gslb,c=e.docId;function l(){return new Promise(function(e,r){axios$1.request({url:"".concat(s,"/v1/docs/describe"),method:"POST",data:{channelId:n,userId:i,appId:o,securityToken:a,docId:c}}).then(function(n){return null==t||t(mapTranscodeStatusCode(n.data.status)),n.data.status===TranscodeStatusCode.FINISH||n.data.status===TranscodeStatusCode.PARSED?e(n.data):n.data.status===TranscodeStatusCode.FAILED?r(n):void setTimeout(function(){return l().then(e,r)},3e3)})})}return new Promise(function(e,t){axios$1.request({url:"".concat(s,"/v1/docs/start"),method:"POST",data:{channelId:n,userId:i,appId:o,securityToken:a,docId:c,targetType:r}}).then(function(r){var n;return 200===(null===(n=r.data)||void 0===n?void 0:n.statusCode)?l().then(e,t):t(r.data)}).catch(function(e){t(e)})})}!function(e){e[e.INIT=0]="INIT",e[e.PROCESSING=1]="PROCESSING",e[e.FINISH=2]="FINISH",e[e.PARSED=3]="PARSED",e[e.FAILED=-1]="FAILED"}(TranscodeStatusCode||(TranscodeStatusCode={}));var version$2="1.1.12",packageInfo={version:version$2};function saveLogs(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"".concat(formateDate(new Date,"yyyyMMdd-hhmmss"),".web-sdk.logs.gz"),t=new FileReader;t.readAsArrayBuffer(new Blob([JSON.stringify(window._dingrtc_wb_logs||[],null,2)],{type:"text/plain"})),t.onload=function(){var r=new Uint8Array(t.result),n=new File([r],e,{type:"application/x-gzip"}),i=document.createElement("a");i.href=window.URL.createObjectURL(n),i.download=e,i.style.display="none",document.body.appendChild(i),requestAnimationFrame(function(){i.click(),document.body.removeChild(i)})}}function _callSuper$a(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$a()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$a(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$a=function(){return!!e})()}var Page=function(e){function t(e){var r;return _classCallCheck$1(this,t),r=_callSuper$a(this,t),Object.defineProperty(r,"pageId",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(r,"shapes",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(r,"_backgroundColor",{enumerable:!0,configurable:!0,writable:!0,value:DEFAULT_BACKGROUND}),Object.defineProperty(r,"_backgroundImage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"_scale",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(r,"_translate",{enumerable:!0,configurable:!0,writable:!0,value:[0,0]}),Object.defineProperty(r,"history",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),r.history=new History,r}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"scale",get:function(){return this._scale},set:function(e){if(!isNumber$1(e))throw Error("scale must be a number");this._scale=e}},{key:"translate",get:function(){return this._translate},set:function(e){if(!Array.isArray(e))throw Error("translate must be an array");if(!isNumber$1(e[0])||!isNumber$1(e[1]))throw Error("translate must be an array of numbers");this._translate=e}},{key:"miny",get:function(){return-this.translate[1]/this.scale}},{key:"minx",get:function(){return-this.translate[0]/this.scale}},{key:"visibleShapes",get:function(){return this.shapes.filter(function(e){return e.visible})}},{key:"backgroundImage",get:function(){return this._backgroundImage},set:function(e){this._backgroundImage=e}},{key:"backgroundColor",get:function(){return this._backgroundColor},set:function(e){this._backgroundColor=e}},{key:"addShape",value:function(e){var t=this;this.shapes.push(e),e.on("requestRender",function(){t.emit("page-content-updated",t)}),this.emit("page-content-updated",this)}},{key:"getShapeBySeq",value:function(e,t){var r="".concat(t).concat(SHAPE_SEQ_LINK_STR).concat(e);return this.shapes.find(function(e){return e.shapeId===r})}},{key:"updateShapesOrder",value:function(){var e=[],t=[],r=[],n=[];this.shapes.forEach(function(i){"normal"===i.order?r.push(i):"bg"===i.order?n.push(i):"back"===i.order?t.push(i):"front"===i.order&&e.push(i)}),e=orderBy(e,"orderTime"),t=orderBy(t,"orderTime","desc"),r=orderBy(r,"orderTime"),n=orderBy(n,"orderTime"),this.shapes=[].concat(_toConsumableArray(n),_toConsumableArray(t),_toConsumableArray(r),_toConsumableArray(e))}},{key:"getShapes",value:function(){return[].concat(_toConsumableArray(this.shapes),_toConsumableArray(this.backgroundImage?[this.backgroundImage]:[]))}},{key:"clearShapes",value:function(){this.shapes.forEach(function(e){return e.destructor()}),this.shapes=[]}},{key:"clearPage",value:function(){this.clearShapes(),this.clearBackgroundImage(),this.history.clearAll()}},{key:"clearBackgroundImage",value:function(){this.backgroundImage&&(this.backgroundImage.destructor(),this.backgroundImage=void 0,this.emit("background-image-updated"))}},{key:"clearUserBackgroundImage",value:function(e){this.backgroundImage&&this.backgroundImage.creator===e&&(this.backgroundImage.destructor(),this.backgroundImage=void 0,this.emit("background-image-updated"))}},{key:"clearUserShapes",value:function(e){this.shapes=this.shapes.filter(function(t){return t.creator!==e||(t.destructor(),!1)}),this.history.clearUserHistory(e)}},{key:"removeShape",value:function(e){var t=findIndex(this.shapes,function(t){return t.shapeId===e});if(t>=0){var r=this.shapes[t];this.history.clearShapeHistory(r.shapeId),this.shapes.splice(t,1),r.destructor()}this.backgroundImage&&this.backgroundImage.shapeId===e&&(this.backgroundImage.destructor(),this.backgroundImage=void 0,this.emit("background-image-updated"))}},{key:"reset",value:function(){this.scale=1,this.translate=[0,0],this.backgroundColor=DEFAULT_BACKGROUND,this.backgroundImage=void 0,this.shapes.forEach(function(e){(e instanceof Video||e instanceof Audio)&&e.removeMediaDom(),e.destructor()}),this.clearShapes()}},{key:"export",value:function(){var e;return{pageId:this.pageId,scale:this.scale,translate:this.translate,backgroundColor:this.backgroundColor,backgroundImage:null===(e=this.backgroundImage)||void 0===e?void 0:e.export(),shapes:this.visibleShapes.map(function(e){return e.export()})}}},{key:"restoreShapes",value:function(e){var r=this,n=t.restoreShapes(e);return n.forEach(function(e){return e&&r.addShape(e)}),this.updateShapesOrder(),n}}],[{key:"restore",value:function(e){var r=new t(e.pageId);return r.scale=e.scale,r.translate=e.translate,r.backgroundColor=e.backgroundColor,r.backgroundImage=e.backgroundImage,this.restoreShapes(e.shapes).forEach(function(e){return e&&r.addShape(e)}),r.updateShapesOrder(),r}},{key:"restoreShapes",value:function(e){return e.map(function(e){var t;switch(e.type){case ShapeType.Pen:t=new Pen({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Arrow:t=new Arrow({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Audio:t=new Audio({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.mediaUrl);break;case ShapeType.Video:t=new Video({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.mediaUrl);break;case ShapeType.Ellipse:t=new Ellipse({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Image:var r=new Image$1({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.imgUrl);r.loadImage(),t=r;break;case ShapeType.Stamp:t=new Stamp({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.stampId,e.resizable,e.imgUrl);break;case ShapeType.Line:t=new Line({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Rect:t=new Rect({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Text:t=new Text({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle,e.text||"",e.fontStyle);break;case ShapeType.Triangle:t=new Triangle({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle);break;case ShapeType.Rhombic:t=new Rhombic({points:e.points,shapeId:e.shapeId,creator:e.creator,pageId:e.pageId},e.shapeStyle)}return t&&(t.order=e.order,t.orderTime=e.orderTime),t}).filter(function(e){return!!e})}}])}(),tween={easeInQuad:function(e){return Math.pow(e,2)},easeOutQuad:function(e){return-(Math.pow(e-1,2)-1)},easeInOutQuad:function(e){return 1>(e/=.5)?.5*Math.pow(e,2):-.5*((e-=2)*e-2)},easeInCubic:function(e){return Math.pow(e,3)},easeOutCubic:function(e){return Math.pow(e-1,3)+1},easeInOutCubic:function(e){return 1>(e/=.5)?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2)},easeInQuart:function(e){return Math.pow(e,4)},easeOutQuart:function(e){return-(Math.pow(e-1,4)-1)},easeInOutQuart:function(e){return 1>(e/=.5)?.5*Math.pow(e,4):-.5*((e-=2)*Math.pow(e,3)-2)},easeInQuint:function(e){return Math.pow(e,5)},easeOutQuint:function(e){return Math.pow(e-1,5)+1},easeInOutQuint:function(e){return 1>(e/=.5)?.5*Math.pow(e,5):.5*(Math.pow(e-2,5)+2)},easeInSine:function(e){return 1-Math.cos(e*(Math.PI/2))},easeOutSine:function(e){return Math.sin(e*(Math.PI/2))},easeInOutSine:function(e){return-.5*(Math.cos(Math.PI*e)-1)},easeInExpo:function(e){return 0===e?0:Math.pow(2,10*(e-1))},easeOutExpo:function(e){return 1===e?1:1-Math.pow(2,-10*e)},easeInOutExpo:function(e){return 0===e?0:1===e?1:1>(e/=.5)?.5*Math.pow(2,10*(e-1)):.5*(2-Math.pow(2,-10*--e))},easeInCirc:function(e){return-(Math.sqrt(1-e*e)-1)},easeOutCirc:function(e){return Math.sqrt(1-Math.pow(e-1,2))},easeInOutCirc:function(e){return 1>(e/=.5)?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)},easeOutBounce:function(e){return 1/2.75>e?7.5625*e*e:2/2.75>e?7.5625*(e-=1.5/2.75)*e+.75:2.5/2.75>e?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInBack:function(e){var t=1.70158;return e*e*((t+1)*e-t)},easeOutBack:function(e){var t=1.70158;return(e-=1)*e*((t+1)*e+t)+1},easeInOutBack:function(e){var t=1.70158;return 1>(e/=.5)?e*e*((1+(t*=1.525))*e-t)*.5:.5*((e-=2)*e*((1+(t*=1.525))*e+t)+2)},elastic:function(e){return-1*Math.pow(4,-8*e)*Math.sin(2*Math.PI*(6*e-1)/2)+1},swingFromTo:function(e){var t=1.70158;return 1>(e/=.5)?e*e*((1+(t*=1.525))*e-t)*.5:.5*((e-=2)*e*((1+(t*=1.525))*e+t)+2)},swingFrom:function(e){var t=1.70158;return e*e*((t+1)*e-t)},swingTo:function(e){var t=1.70158;return(e-=1)*e*((t+1)*e+t)+1},bounce:function(e){return 1/2.75>e?7.5625*e*e:2/2.75>e?7.5625*(e-=1.5/2.75)*e+.75:2.5/2.75>e?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},bouncePast:function(e){return 1/2.75>e?7.5625*e*e:2/2.75>e?2-(7.5625*(e-=1.5/2.75)*e+.75):2.5/2.75>e?2-(7.5625*(e-=2.25/2.75)*e+.9375):2-(7.5625*(e-=2.625/2.75)*e+.984375)},easeFromTo:function(e){return 1>(e/=.5)?.5*Math.pow(e,4):-.5*((e-=2)*Math.pow(e,3)-2)},easeFrom:function(e){return Math.pow(e,4)},easeTo:function(e){return Math.pow(e,.25)},linear:function(e){return e},sinusoidal:function(e){return-Math.cos(e*Math.PI)/2+.5},reverse:function(e){return 1-e},spring:function(e){return 1-Math.cos(4.5*e*Math.PI)*Math.exp(6*-e)}};function _callSuper$9(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$9()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$9(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$9=function(){return!!e})()}var MAX_SCALE=5,MIN_SCALE=.1,DocBrowserMode,DocType;!function(e){e.flip="flip",e.scroll="scroll"}(DocBrowserMode||(DocBrowserMode={})),function(e){e.normal="normal",e.externalDoc="externalDoc",e.h5="h5",e.pdf="pdf"}(DocType||(DocType={}));var BaseDoc=function(e){function t(e){var r;return _classCallCheck$1(this,t),r=_callSuper$9(this,t),Object.defineProperty(r,"createdEventNotEmited",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(r,"docId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"creator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"pageVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"fileKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"pages",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(r,"previousPageIndex",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(r,"curPageId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"maxSeq",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(r,"_browseMode",{enumerable:!0,configurable:!0,writable:!0,value:DocBrowserMode.flip}),Object.defineProperty(r,"disableScale",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(r,"pageSize",{enumerable:!0,configurable:!0,writable:!0,value:{width:1920,height:1080}}),Object.defineProperty(r,"_scrollPages",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(r,"sizeConfig",{enumerable:!0,configurable:!0,writable:!0,value:{width:0,height:0,limited:!1}}),Object.defineProperty(r,"onPageUpdated",{enumerable:!0,configurable:!0,writable:!0,value:function(e){e===r.currentPage&&r.requestRender()}}),Object.defineProperty(r,"updateBoardWithNewScale",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t,n,i){"scroll"===r.browseMode&&(t=i.width/2,n=i.height/2);var o=r.scale,a=e>MAX_SCALE?MAX_SCALE:MIN_SCALE>e?MIN_SCALE:e;"scroll"===r.browseMode&&r.disableScale&&(a=i.height/r.pageSize.height>i.width/r.pageSize.width?i.width/r.pageSize.width:i.height/r.pageSize.height);var s=t-(t-r.translate[0])/o*a,c=n-(n-r.translate[1])/o*a,l=s,u=c;if(r.isSizeLimited||"scroll"===r.browseMode){var d=r.getSizeConfigLimitSize(i),p=r.getPotentialViewportPosition([s,c],e,i);if(d.minScale>=a){if(r.setScaleAndTranslate(d.minScale,r.translate,!1,i),"flip"===r.browseMode){var h=r.getLimitedTranslate(d.minScale,d,i);r.setTranslate(h.minX,h.minY,i,!1,0)}return}if("flip"===r.browseMode){var f=r.getLimitedTranslate(a,d,i);p.minY+1>d.minY||(u=f.minY),p.minX+1>d.minX||(l=f.minX),d.maxX>p.maxX-1||(l=f.maxX),d.maxY>p.maxY-1||(u=f.maxY)}}r.setScaleAndTranslate(a,[l,u],!1,i)}}),e.sizeConfig&&r.setSizeConfig(e.sizeConfig),r.docId=e.docId,r.name=e.name,r.creator=e.creator,r.curPageId=e.curPageId,r.pageVersion=e.pageVersion,r.fileKey=e.fileKey,r.browseMode=e.browseMode||DocBrowserMode.flip,r}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"browseMode",get:function(){return this._browseMode},set:function(e){this._browseMode=e}},{key:"scrollPages",get:function(){return this._scrollPages},set:function(e){this._scrollPages=e,this.emit("page-index-changed",this.docId)}},{key:"width",get:function(){return this.pageSize.width}},{key:"scrollPageHeight",get:function(){return this.pageSize.height}},{key:"scrollHeight",get:function(){return this.pageSize.height*this.totalPages}},{key:"y",get:function(){var e;return(null===(e=this.pages[0])||void 0===e?void 0:e.miny)||0}},{key:"currentPageIndex",get:function(){return"scroll"===this.browseMode?Math.floor(this.y/this.pageSize.height):findIndex(this.pages,{pageId:this.curPageId})},set:function(e){if(0>e||e>=this.pages.length)throw Error("page index out of range");if(this.browseMode===DocBrowserMode.flip){var t=this.pages[e].pageId;t!==this.curPageId&&(this.curPageId=t,this.emit("page-index-changed",this.docId))}}},{key:"currentPage",get:function(){return"scroll"===this.browseMode?this.pages[0]:this.pages[this.currentPageIndex]}},{key:"totalPages",get:function(){return"flip"===this.browseMode?this.pages.length:this.scrollPages}},{key:"scale",get:function(){return this.currentPage.scale}},{key:"translate",get:function(){return _toConsumableArray(this.currentPage.translate)}},{key:"setSizeConfig",value:function(e){this.sizeConfig=e}},{key:"isSizeLimited",get:function(){return this.sizeConfig.limited}},{key:"getPageByPageId",value:function(e){return find(this.pages,{pageId:e})}},{key:"getPageIndexByPageId",value:function(e){return findIndex(this.pages,{pageId:e})}},{key:"getPages",value:function(){return this.pages}},{key:"getPageAtIndex",value:function(e){return this.pages[e]}},{key:"generateNewPageId",value:function(){return"".concat(this.docId,"-").concat(++this.maxSeq)}},{key:"addPage",value:function(e){this.pages.splice(arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.pages.length,0,e),this.setUpPageListeners(e),this.emit("page-index-changed",this.docId)}},{key:"removePage",value:function(e){this.pages[e].reset(),this.pages.splice(e,1),this.emit("page-index-changed",this.docId)}},{key:"setUpPageListeners",value:function(e){e.off("page-content-updated",this.onPageUpdated),e.on("page-content-updated",this.onPageUpdated)}},{key:"requestRender",value:function(){this.emit("requestRender",this.docId)}},{key:"regenerate",value:function(e){var t=this,r=this.pages;this.pages=[],this.pages=e.map(function(e){var n=find(r,{pageId:e});return n||(n=new Page(e),t.setUpPageListeners(n)),n})}},{key:"setScrollY",value:function(e,t){this.setTranslate(this.translate[0],-e*this.scale,t)}},{key:"setTranslate",value:function(e,t,r){var n=this,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:400;if(this.isSizeLimited||"scroll"===this.browseMode){var a=this.getSizeConfigLimitSize(r),s=this.getPotentialViewportPosition([e,t],this.scale,r),c=this.getLimitedTranslate(this.scale,a,r);if(a.minY>=s.minY+1)return this.setScaleAndTranslate(this.scale,[this.translate[0],c.minY],!1,r),void this.requestRender();if(a.minX>=s.minX+1)return this.setScaleAndTranslate(this.scale,[c.minX,this.translate[1]],!1,r),void this.requestRender();if(s.maxX-1>=a.maxX)return this.setScaleAndTranslate(this.scale,[c.maxX,this.translate[1]],!1,r),void this.requestRender();if(s.maxY-1>=a.maxY)return this.setScaleAndTranslate(this.scale,[this.translate[0],c.maxY],!1,r),void this.requestRender()}if(i){var l=e-this.translate[0],u=t-this.translate[1],d=1/(o/RENDER_INTEVAL),p=0,h=_slicedToArray(this.currentPage.translate,2),f=h[0],g=h[1],y=setInterval(function(){n.setScaleAndTranslate(n.scale,[f+tween.easeInOutCubic(p)*l,g+tween.easeInOutCubic(p)*u],!1,r),p+=d,n.requestRender()},RENDER_INTEVAL);setTimeout(function(){clearInterval(y),n.setScaleAndTranslate(n.scale,[e,t],!1,r),n.requestRender()},o)}else this.setScaleAndTranslate(this.scale,[e,t],!1,r)}},{key:"setScale",value:function(e){var t=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;1>=arguments.length||void 0===arguments[1]||arguments[1]?this.updateBoardWithNewScale(e,r?r.x:t.width/2,r?r.y:t.height/2,t):this.updateBoardWithNewScale(e,0,0,t)}},{key:"setScaleAndTranslate",value:function(e,t){var r=arguments.length>3?arguments[3]:void 0,n=e;arguments.length>2&&void 0!==arguments[2]&&arguments[2]&&(n=e>MAX_SCALE?MAX_SCALE:MIN_SCALE>e?MIN_SCALE:e),this.currentPage.scale=n,this.sharePageSize&&this.getPages().forEach(function(e){e.scale=n});var i=t[0],o=t[1];if("scroll"===this.browseMode){i=(r.width-this.width*this.scale)/2,o>0&&(o=0);var a=(r.height/this.scale-this.scrollHeight)*this.scale;a>o&&(o=a)}i===this.translate[0]&&o===this.translate[1]||(this.currentPage.translate[0]=i,this.currentPage.translate[1]=o,this.sharePageSize&&this.getPages().forEach(function(e){e.translate[0]=i,e.translate[1]=o}),this.emit("viewport-updated",this.docId),"scroll"===this.browseMode&&this.previousPageIndex!==this.currentPageIndex&&(this.previousPageIndex=this.currentPageIndex,this.emit("page-index-changed",this.docId)),this.requestRender())}},{key:"setDocViewport",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.currentPage,n=e.width,i=e.height,o=e.minx,a=e.miny,s=0;s=t.height/i>t.width/n?t.width/n:t.height/i,r===this.currentPage?this.setScaleAndTranslate(s,[-o*s-(n*s-t.width)/2,-a*s-(i*s-t.height)/2],!1,t):(r.scale=s,r.translate=[-o*s-(n*s-t.width)/2,-a*s-(i*s-t.height)/2])}},{key:"getSizeConfigLimitSize",value:function(e){var t=this.sizeConfig,r=t.width,n=t.height;"scroll"===this.browseMode&&(r=this.width,n=this.scrollHeight);return{minScale:e.width/r>e.height/n?e.width/r:e.height/n,maxWidth:r,maxHeight:n,minX:0,maxX:r,minY:0,maxY:n}}},{key:"getPotentialViewportPosition",value:function(e,t,r){return{minX:-e[0]/t,minY:-e[1]/t,maxX:r.width/t-e[0]/t,maxY:r.height/t-e[1]/t}}},{key:"getLimitedTranslate",value:function(e,t,r){return{minX:-t.minX*e,minY:-t.minY*e,maxX:(r.width/e-t.maxX)*e,maxY:(r.height/e-t.maxY)*e}}},{key:"scaleBoardFitBackgroundImage",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.currentPage,t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,n=e.backgroundImage;if(n&&n.width&&t){var i=n.width,o=n.height;if(this.isSizeLimited&&(i=this.sizeConfig.width,o=this.sizeConfig.height),"auto"===r){var a=t.width/i;a>MAX_SCALE?a=MAX_SCALE:MIN_SCALE>a&&(a=MIN_SCALE);var s=t.height/o;s>MAX_SCALE?s=MAX_SCALE:MIN_SCALE>s&&(s=MIN_SCALE),a>s?(e.scale=s,e.translate[0]=t.width/2-i/2*e.scale,e.translate[1]=0):(e.scale=a,e.translate[0]=0,e.translate[1]=t.height/2-o/2*e.scale)}else"fillWidth"===r?(e.scale=t.width/i,e.translate[0]=0,e.translate[1]=0):"fillHeight"===r&&(e.scale=t.height/o,e.translate[0]=0,e.translate[1]=0);this.emit("viewport-updated",this.docId),e===this.currentPage&&this.isSizeLimited&&this.updateBoardWithNewScale(this.scale,0,0,t),this.emit("requestRender",this.docId)}}},{key:"getDocViewportPosition",value:function(e){var t=this.currentPage;return{minx:t.minx,miny:t.miny,maxx:e.width/t.scale+t.minx,maxy:e.height/t.scale+t.miny}}},{key:"export",value:function(){return{docId:this.docId,name:this.name,creator:this.creator,pageIndex:this.currentPageIndex,pageVersion:this.pageVersion,pages:this.pages.map(function(e){return e.export()}),fileKey:this.fileKey}}},{key:"toJson",value:function(){return{docId:this.docId,name:this.name,creator:this.creator,pageIndex:this.currentPageIndex,pageLength:this.pages.length,fileKey:this.fileKey}}},{key:"clear",value:function(){this.pages.forEach(function(e){e.reset(),e.clearPage()})}},{key:"clearPageById",value:function(e){var t=this.getPageByPageId(e);null==t||t.clearPage()}},{key:"clearUserShapes",value:function(e){this.pages.forEach(function(t){t.clearUserShapes(e)})}},{key:"clearUserBackgroundImage",value:function(e){this.pages.forEach(function(t){t.clearUserBackgroundImage(e)})}},{key:"reset",value:function(){this.clear()}}])}();function _callSuper$8(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$8()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$8(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$8=function(){return!!e})()}var ExternalDoc=function(e){function t(e){var r;return _classCallCheck$1(this,t),r=_callSuper$8(this,t,[e]),Object.defineProperty(r,"externalDocWidth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"externalDocHeight",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),r.externalDocWidth=e.width,r.externalDocHeight=e.height,r}return _inherits$1(t,BaseDoc),_createClass$1(t,[{key:"width",get:function(){return this.externalDocWidth}},{key:"type",get:function(){return t.DOC_TYPE}},{key:"sharePageSize",get:function(){return!1}},{key:"canModifyPage",get:function(){return!0}}])}();function createSkeleton(){var e=document.createElement("div");return e.className="p-pdf-skeletons",e.appendChild(Skeleton()),e.appendChild(Skeleton()),e}function Skeleton(){var e=document.createElement("div");e.className="p-pdf-skeleton";var t=document.createElement("div");t.className="p-pdf-skeleton__avator";var r=document.createElement("div");return r.className="p-pdf-skeleton__content",e.appendChild(t),e.appendChild(r),e}function _callSuper$7(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$7()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$7(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$7=function(){return!!e})()}function _superPropGet$1(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return"function"==typeof i?function(e){return i.apply(r,e)}:i}function findPageIndex(e,t){for(var r=0,n=t.length;n>r;){var i=Math.floor((r+n)/2);t[i]>e?n=i:r=i+1}return r}Object.defineProperty(ExternalDoc,"DOC_TYPE",{enumerable:!0,configurable:!0,writable:!0,value:DocType.externalDoc});var PdfDoc=function(e){function t(e,r){var n;return _classCallCheck$1(this,t),n=_callSuper$7(this,t,[e]),Object.defineProperty(n,"pdfViewer",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(n,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"lastSyncY",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(n,"currentPageMem",{enumerable:!0,configurable:!0,writable:!0,value:{index:0,top:0,bottom:1280}}),Object.defineProperty(n,"lazyLoadPdfPage",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(e){if("loaded"===n.pdfViewer.state){var t=n.getPdfVisiblePage(e);if(t)for(var r=t.start,i=t.end,o=t.pagesNum,a=n.pdfViewer.domRef,s=0;o>s;s++){var c,l=n.pdfViewer.pdfPages.get(s);if(!l)return;if(s<r||i<s)null===(c=l.domRef.parentNode)||void 0===c||c.removeChild(l.domRef);else l.domRef.parentNode||a.appendChild(l.domRef)}}},300)}),Object.defineProperty(n,"lazyRenderPdfPage",{enumerable:!0,configurable:!0,writable:!0,value:debounce(function(e){if("loaded"===n.pdfViewer.state){var t=n.getPdfVisiblePage(e);if(t)for(var r,i=t.start,o=t.end,a=t.pagesNum,s=function(e){var t=n.pdfViewer.pdfPages.get(e);if(!t)return{v:void 0};if(!(i>e||e>o||t.rendered||t.rendering)){t.rendering=!0;var r=Date.now();renderPdfPage(t.viewport,t.pdfProxy).then(function(i){var o;t.img.src=i,t.rendered=!0,t.rendering=!1,t.domRef.appendChild(t.img),null===(o=t.skeleton.parentNode)||void 0===o||o.removeChild(t.skeleton),Log.logInfo("RtcWhiteboard.lazyLoadPdf page render success, page",e,"cost",Date.now()-r,n.name,n.docId)}).catch(function(e){console.error(e),Log.logInfo("RtcWhiteboard.lazyLoadPdf page render failed",n.name,n.docId)})}},c=0;a>c;c++)if(r=s(c))return r.v}},100)}),n.url=r.url,n}return _inherits$1(t,BaseDoc),_createClass$1(t,[{key:"browseMode",get:function(){return DocBrowserMode.scroll},set:function(e){this._browseMode=DocBrowserMode.scroll}},{key:"type",get:function(){return t.DOC_TYPE}},{key:"sharePageSize",get:function(){return!1}},{key:"canModifyPage",get:function(){return!1}},{key:"width",get:function(){return this.pdfViewer.width}},{key:"scrollHeight",get:function(){return this.pdfViewer.totalHeight}},{key:"isInCurrentMemPage",value:function(){return this.y>=this.currentPageMem.top&&this.currentPageMem.bottom>this.y}},{key:"currentPageIndex",get:function(){if(this.isInCurrentMemPage())return this.currentPageMem.index;var e=findPageIndex(this.y,this.pdfViewer.pageHightList);return this.currentPageMem={index:e,top:this.pdfViewer.pageHightList[e-1]||0,bottom:this.pdfViewer.pageHightList[e]||0},e}},{key:"load",value:(r=_asyncToGenerator$1(_regeneratorRuntime$1.mark(function e(){var t=this;return _regeneratorRuntime$1.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.pdfViewer.state="loading",this.createPdfLoadingPage(),Whiteboard.PdfPlugin){e.next=1;break}return Log.logError("RtcWhiteboard: you have not set the pdf plugin, please add pdf plugin to resolve pdf file."),e.abrupt("return",Promise.reject("RtcWhiteboard load pdf error, because you have not set pdf plugin."));case 1:return e.abrupt("return",Whiteboard.PdfPlugin.loadPdf(this.url,this).then(function(){t.pdfViewer.state="loaded"}).then(function(){t.currentPageMem={index:0,top:0,bottom:t.pdfViewer.pageHightList[0]},t.emit("page-index-changed",t.docId)}).catch(function(e){Log.logError("RtcWhiteboard.handlePdfResource getDocument failed",t.docId,t.name,e)}));case 2:case"end":return e.stop()}},e,this)})),function(){return r.apply(this,arguments)})},{key:"setScrollY",value:function(e,r){_superPropGet$1(t,"setScrollY",this)([e,r]),this.isInCurrentMemPage()||this.emit("page-index-changed",this.docId)}},{key:"setScaleAndTranslate",value:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0;"loaded"===this.pdfViewer.state&&_superPropGet$1(t,"setScaleAndTranslate",this)([e,r,n,i])}},{key:"createPdfLoadingPage",value:function(){var e=this.pdfViewer.domRef,t=this.width;this.pdfViewer.totalHeight=t;var r=document.createElement("div");r.className="dingrtc-pdf-viewer__page",e.appendChild(r),r.style.width="".concat(this.width||0,"px"),r.style.height="".concat(t,"px"),r.style.top="".concat(0,"px"),r.setAttribute("data-h","".concat(t));var n=createSkeleton();r.appendChild(n)}},{key:"centerPdfDoc",value:function(){Log.logInfo("RtcWhiteboard.centerPdfDoc",this.docId,this.name);var e=0/this.width;this.getPages().forEach(function(t){t.scale=e,t.translate[0]=0}),this.emit("requestRender",this.docId)}},{key:"getPdfVisiblePage",value:function(e){var t;if("loaded"===this.pdfViewer.state){for(var r=this.pdfViewer.pdfPages.size,n=this.getDocViewportPosition(e),i=-1,o=r-1,a=0;r>a;a++){var s=this.pdfViewer.pdfPages.get(a);if(!s)return;if(-1===i&&s.top>n.miny&&(i=a-1),s.top>=n.maxy){o=a-1;break}}-1===i&&(i=r-1);var c=0>i-3?0:i-3,l=o+3>r?r:o+3;return i!==(null===(t=this.pdfViewer)||void 0===t?void 0:t.pageIndex)&&(this.pdfViewer.pageIndex=i),{pagesNum:r,start:c,end:l,firstVisibleIndex:i,lastVisibleIndex:o}}}}]);var r}();function _callSuper$6(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$6()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$6(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$6=function(){return!!e})()}Object.defineProperty(PdfDoc,"DOC_TYPE",{enumerable:!0,configurable:!0,writable:!0,value:DocType.pdf});var DefaultDoc=function(e){function t(){return _classCallCheck$1(this,t),_callSuper$6(this,t,arguments)}return _inherits$1(t,BaseDoc),_createClass$1(t,[{key:"type",get:function(){return t.DOC_TYPE}},{key:"sharePageSize",get:function(){return!1}},{key:"canModifyPage",get:function(){return!0}}],[{key:"restore",value:function(e){var r=new t({docId:e.docId,name:e.name,creator:e.creator,curPageId:e.curPageId,pageVersion:e.pageVersion,fileKey:e.fileKey,browseMode:e.browseMode});return e.pages.map(function(e){return Page.restore(e)}).forEach(function(e){return r.addPage(e)}),r}}])}();function _callSuper$5(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$5()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$5(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$5=function(){return!!e})()}Object.defineProperty(DefaultDoc,"DOC_TYPE",{enumerable:!0,configurable:!0,writable:!0,value:DocType.normal});var DocManager=function(e){function t(){var e;return _classCallCheck$1(this,t),e=_callSuper$5(this,t),Object.defineProperty(e,"browseMode",{enumerable:!0,configurable:!0,writable:!0,value:DocBrowserMode.flip}),Object.defineProperty(e,"docs",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"_activeDocId",{enumerable:!0,configurable:!0,writable:!0,value:DEFAULT_DOC_ID}),Object.defineProperty(e,"onDocRequestRender",{enumerable:!0,configurable:!0,writable:!0,value:function(t){e.activeDocId===t&&e.emit("requestRender")}}),Object.defineProperty(e,"onViewportUpdate",{enumerable:!0,configurable:!0,writable:!0,value:function(t){e.activeDocId===t&&e.emit("viewport-updated")}}),Object.defineProperty(e,"onPageIndexChanged",{enumerable:!0,configurable:!0,writable:!0,value:function(t){e.activeDocId===t&&(e.emit("viewport-updated"),e.emit("page-index-changed",e.activeDocId,e.activeDoc.currentPageIndex,e.activeDoc.totalPages))}}),e.setup(),e}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"switchActiveDoc",value:function(e){if(!this.getDocByDocId(e))throw Error("docId ".concat(e," not found"));this._activeDocId!==e&&(this._activeDocId=e,this.emit("viewport-updated"),this.emit("doc-switched"),this.emit("requestRender"))}},{key:"activeDocId",get:function(){return this._activeDocId}},{key:"activeDoc",get:function(){return find(this.docs,{docId:this.activeDocId})||this.docs[0]}},{key:"setBrowserMode",value:function(e){var t=1>=arguments.length||void 0===arguments[1]||arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{width:1920,height:1080};if("flip"!==e&&"scroll"!==e)throw Error("setBrowserMode: mode must be flip or scroll");var i=this.getDocByDocId(DEFAULT_DOC_ID);i.browseMode=e,"scroll"===e&&i&&(i.disableScale=t,i.scrollPages=r,i.pageSize=n)}},{key:"addDoc",value:function(e){this.docs.push(e),this.emit("doc-created",e.docId),e.on("requestRender",this.onDocRequestRender),e.on("viewport-updated",this.onViewportUpdate),e.on("page-index-changed",this.onPageIndexChanged)}},{key:"deleteDoc",value:function(e){e.reset(),this.docs.splice(this.docs.indexOf(e),1),this.emit("doc-deleted",e.docId)}},{key:"deleteDocByDocId",value:function(e){var t=this.getDocByDocId(e);t&&this.deleteDoc(t)}},{key:"getDocByDocId",value:function(e){return find(this.docs,{docId:e})}},{key:"getDocByPageId",value:function(e){var t=e.split("-"),r=t.slice(0,t.length-1).join("-");return find(this.docs,{docId:r})}},{key:"getDocs",value:function(){return this.docs}},{key:"setup",value:function(){this.docs.forEach(function(e){return e.reset()}),this.docs=[];var e="".concat(DEFAULT_DOC_ID,"-1"),t=new DefaultDoc({docId:DEFAULT_DOC_ID,name:"default",creator:"0",curPageId:e,pageVersion:0,browseMode:this.browseMode});t.addPage(new Page(e)),this.addDoc(t)}},{key:"handleDocCommnad",value:function(e,t,r,n){this.getDocByDocId(e.moziMessageIdDTO.messageId)||this.createDocFromCommand(e,r,n),this.updateDocFromCommand(e,t,r)}},{key:"handlePdfResource",value:function(e,t,r){var n=this,i=this.getDocByDocId(e.moziMessageIdDTO.messageId);if(e.message.url&&i){"notloaded"===i.pdfViewer.state&&i.load().then(function(){n.centerPdfDoc(i,r),i.pdfViewer.state="loaded",i.docId===n.activeDocId&&(i.lazyLoadPdfPage(r),i.lazyRenderPdfPage(r)),i.setTranslate(i.translate[0],-i.pdfViewer.y*i.scale,r,!1,0)}).catch(function(){n.emit("doc-load-failed",i.docId,i.name)});var o=parseInt(e.message.y||"-1");t||-1===o||(i.pdfViewer.y=o||0,i.lastSyncY=o,i.docId===this.activeDocId?i.setTranslate(i.translate[0],-o*i.scale,r):i.currentPage.translate[1]=-o*i.scale)}else Log.logError("RtcWhiteboard.handlePdfResource doc not found",e)}},{key:"centerPdfDoc",value:function(e,t){Log.logInfo("RtcWhiteboard.centerPdfDoc",e.docId,e.name);var r=t.width/e.width;e.getPages().forEach(function(e){e.scale=r,e.translate[0]=0}),this.emit("requestRender")}},{key:"updateDocFromCommand",value:function(e,t,r){var n=this.getDocByDocId(e.moziMessageIdDTO.messageId);if(n){var i=n.currentPageIndex,o=n.getPages().length;n.name=e.message.name||n.name,n.pageVersion=e.version,n.fileKey=e.message.fileKey||n.fileKey,n.regenerate(e.message.pagelist.split(" ")),n.curPageId=e.message.curpage,"pdf"===e.message.docType&&this.handlePdfResource(e,t,r),i===n.currentPageIndex&&o===n.getPages().length||n.emit("page-index-changed",n.docId),this.emit("requestRender")}}},{key:"createDocFromCommand",value:function(e,t,r){Log.logInfo("RtcWhiteboard.createDocFromCommand",e);var n,i={docId:e.moziMessageIdDTO.messageId,name:e.message.name,creator:e.message.creator,curPageId:e.message.curpage,pageVersion:e.version||0,fileKey:e.message.fileKey,sizeConfig:r,browseMode:e.message.docType===DocType.pdf?DocBrowserMode.scroll:DocBrowserMode.flip};switch(e.message.docType||"normal"){case"normal":n=new DefaultDoc(i);break;case"pdf":n=new PdfDoc(i,{pageIndex:0,url:e.message.url,width:this.activeDoc.isSizeLimited&&this.activeDoc.sizeConfig.width?this.activeDoc.sizeConfig.width:PDF_DEFALT_WIDTH,totalHeight:PDF_DEFALT_WIDTH,pdfPages:new Map,domRef:document.createElement("div"),state:"notloaded",y:0,pageHightList:[]}),this.centerPdfDoc(n,t)}if(void 0!==n)return this.addDoc(n),n;throw Error("createDocFromCommand: unknown docType")}},{key:"reset",value:function(){this.setup()}}])}(),WBClearType;function _callSuper$4(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$4()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$4(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$4=function(){return!!e})()}!function(e){e.All="all",e.DRAWS="draws",e.BACKGROUND_IMAGE="backgroundImage"}(WBClearType||(WBClearType={}));var version$1=packageInfo.version,PanMoveType;!function(e){e[e.none=0]="none",e[e.insertShape=1]="insertShape",e[e.moveShape=2]="moveShape",e[e.resizeShape=3]="resizeShape",e[e.moveBoard=4]="moveBoard",e[e.selectShape=5]="selectShape"}(PanMoveType||(PanMoveType={}));var MEDIA_DOM_WIDTH=350,VIDEO_DOM_HEIGHT=220,AUDIO_DOM_HEIGHT=80,EVENT_CAPTURE_RATE=40,Whiteboard=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";_classCallCheck$1(this,t),e=_callSuper$4(this,t),Object.defineProperty(e,"sessionId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(e,"isOpen",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"_everOpened",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"bSharingVision",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"_lockVisonUserId",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(e,"_prevPenetrable",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"lastMediaStates",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"connection",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"cwSnapshotCbMap",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(e,"stampId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"tabletScale",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(e,"tabletMatchMode",{enumerable:!0,configurable:!0,writable:!0,value:"fitWidth"}),Object.defineProperty(e,"tabletTranslate",{enumerable:!0,configurable:!0,writable:!0,value:[0,0]}),Object.defineProperty(e,"isWhiteboardOpen",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"_penetrable",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"_cursorSyncEnabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"sizeLimitVisible",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"tabletWriteMode",{enumerable:!0,configurable:!0,writable:!0,value:"static"}),Object.defineProperty(e,"_innerEventhub",{enumerable:!0,configurable:!0,writable:!0,value:new EventEmitter}),Object.defineProperty(e,"pinchShapeCenter",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0}}),Object.defineProperty(e,"lastPanMoveDelta",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0}}),Object.defineProperty(e,"pinchBoardOriginalScale",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(e,"wheelDsiabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"frameRenderRateInterval",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"wrapperDomRect",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"bgImg",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("img")}),Object.defineProperty(e,"textArea",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("textarea")}),Object.defineProperty(e,"renderFPS",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(e,"wbWrapperDom",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(e,"pdfWrapper",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(e,"insertingShape",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"hammer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"metricsBuffer",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"sendMetricsTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"clearLaserPointerId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"panMoveType",{enumerable:!0,configurable:!0,writable:!0,value:PanMoveType.none}),Object.defineProperty(e,"natureObjSeq",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(e,"selectIndicator",{enumerable:!0,configurable:!0,writable:!0,value:new SelectIndicator}),Object.defineProperty(e,"eraserIndicator",{enumerable:!0,configurable:!0,writable:!0,value:new EraserIndicator}),Object.defineProperty(e,"_shiftPressing",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"sizeConfig",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"_scaleAndMoveDisabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"isShapesVisible",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(e,"laserPointers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"cursors",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"_visionLockInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"pinchEndTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(e,"scrollToScale",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(e,"_bFollowVision",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"docManager",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"_cursorSyncType",{enumerable:!0,configurable:!0,writable:!0,value:"write"}),Object.defineProperty(e,"originalTranslate",{enumerable:!0,configurable:!0,writable:!0,value:[0,0]}),Object.defineProperty(e,"originalDragStartPonit",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0}}),Object.defineProperty(e,"renderer",{enumerable:!0,configurable:!0,writable:!0,value:new Renderer(e)}),Object.defineProperty(e,"failoverShapeCache",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(e,"failoverDocCache",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(e,"strokeStyle",{enumerable:!0,configurable:!0,writable:!0,value:"rgba(33,212,183,1)"}),Object.defineProperty(e,"fillStyle",{enumerable:!0,configurable:!0,writable:!0,value:DEFAULT_FILL_COLOR}),Object.defineProperty(e,"fillType",{enumerable:!0,configurable:!0,writable:!0,value:ShapeFillType.color}),Object.defineProperty(e,"_lineWidth",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(e,"dashed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"italic",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"bold",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"_fontSize",{enumerable:!0,configurable:!0,writable:!0,value:18}),Object.defineProperty(e,"bgScaleMode",{enumerable:!0,configurable:!0,writable:!0,value:"auto"}),Object.defineProperty(e,"_role",{enumerable:!0,configurable:!0,writable:!0,value:"Attendee"}),Object.defineProperty(e,"insertType",{enumerable:!0,configurable:!0,writable:!0,value:ShapeType.Pen}),Object.defineProperty(e,"multiSelecetedShapes",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"_selectedShape",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"onHistoryChanged",{enumerable:!0,configurable:!0,writable:!0,value:function(t){e.emit("history-changed",t.undo,t.redo)}}),Object.defineProperty(e,"onActiveDocSwitched",{enumerable:!0,configurable:!0,writable:!0,value:function(){if(e.checkDocAndSetPenetrable(e.insertType),e.onActivePageChanged(),e.pdfWrapper.innerHTML="",e.activeDoc instanceof PdfDoc){var t,r,n;if(Log.logInfo("showPdfView"),null===(t=e.activeDoc.pdfViewer)||void 0===t||!t.domRef||(null===(r=e.activeDoc.pdfViewer)||void 0===r?void 0:r.domRef.parentNode)===e.pdfWrapper)return;e.pdfWrapper.appendChild(null===(n=e.activeDoc.pdfViewer)||void 0===n?void 0:n.domRef),e.lazyLoadPdfPage(),e.lazyRenderPdfPage()}e.emit("doc-switched",e.docManager.activeDocId)}}),Object.defineProperty(e,"onActivePageChanged",{enumerable:!0,configurable:!0,writable:!0,value:function(){e.setUpHistoryListener(),e.selectedShape&&(e.selectedShape.interactionStatus=InteractionStatusType.default,e.selectedShape=void 0),e.docManager.getDocs().forEach(function(t){return t.getPages().forEach(function(r){return r.getShapes().forEach(function(n){(n instanceof Video||n instanceof Audio)&&(r.pageId===e.currentPage.pageId&&t.docId===e.docManager.activeDocId||n.removeMediaDom())})})}),e.shouldUpdateViewAfterSizeChange?(e._bFollowVision&&e._visionLockInfo&&e.activeDoc.setDocViewport(e._visionLockInfo,e.getWrapperDomRect()),"externalDoc"===e.activeDoc.type&&e.updateCustomDocPosition(e.activeDoc),e.render()):e._updateBoardWithNewScale(e.scale,0,0),e.emit("page-index-changed",e.activeDocId,e.pageIndex,e.activeDoc.totalPages),e.emit("history-changed",e.history.canUndo(),e.history.canRedo())}}),Object.defineProperty(e,"addPage",{enumerable:!0,configurable:!0,writable:!0,value:function(){return e.insertPage(e.pageIndex,0>=arguments.length||void 0===arguments[0]||arguments[0])}}),Object.defineProperty(e,"removePage",{enumerable:!0,configurable:!0,writable:!0,value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e.pageIndex,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.docManager.activeDocId;if(Log.logInfo("RtcWhiteboard.removePage",t,r),!e.isConnected)throw new DingRTCError(ErrorCode.InvaildState);var n,i=e.docManager.getDocByDocId(r);if(!i)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not found");if(!i.canModifyPage)throw new DingRTCError(ErrorCode.InvaildArgument,"doc can not modify");if(i.browseMode===DocBrowserMode.scroll)e.removeScrollDocShapesByScrollY(i,i.scrollPages-1),i.scrollPages=i.scrollPages-1,null===(n=e.connection)||void 0===n||n.sendDocResourceMessage(i);else if(i.browseMode===DocBrowserMode.flip){var o;if(t>i.totalPages-1||0>t)throw new DingRTCError(ErrorCode.InvaildArgument,"invalid index");if(1===i.totalPages)throw new DingRTCError(ErrorCode.InvaildArgument,"invalid index");var a=i.getPages().map(function(e){return e.pageId});a.splice(t,1),null===(o=e.connection)||void 0===o||o.sendDocResourceMessage(i,i.getPageAtIndex(t>0?t-1:t).pageId,a)}}}),Object.defineProperty(e,"autoUpdateCanvasSize",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(){e.isSizeLimited||e.activeDoc.browseMode===DocBrowserMode.scroll?(e.updateCanvasSize(!1,!0,!0),e._updateBoardWithNewScale(e.scale,0,0)):e.updateCanvasSize(!0,!0,!0)},200)}),Object.defineProperty(e,"updateCanvasSize",{enumerable:!0,configurable:!0,writable:!0,value:function(){var t=0>=arguments.length||void 0===arguments[0]||arguments[0],r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Math.floor(e.wbWrapperDom.clientWidth*e.getDevicePixelRatio()),o=Math.floor(e.wbWrapperDom.clientHeight*e.getDevicePixelRatio()),a=e.renderer.canvasElement.width,s=e.renderer.canvasElement.height;if(a!==i||s!==o||r){if(0===i||0===o)return;Log.logInfo("RtcWhiteboard.updateCanvasSize before",{width:a,height:s},"after",{width:i,height:o}),e.renderer.updateCanvasSize(t,r,n),t&&e.docManager.getDocs().forEach(function(t){t instanceof PdfDoc?(e.centerPdfDoc(t),t.currentPage.translate[1]=i/a*t.currentPage.translate[1]):t.sharePageSize?e.center(t):t.getPages().forEach(function(r){r.backgroundImage?t.scaleBoardFitBackgroundImage(r,e.getWrapperDomRect(),e.bgScaleMode):(r.translate[0]=r.translate[0]+(i-a)/2/e.getDevicePixelRatio(),r.translate[1]=r.translate[1]+(o-s)/2/e.getDevicePixelRatio())})}),e.shouldUpdateViewAfterSizeChange&&(e._bFollowVision&&e._visionLockInfo&&e.followVision(e._visionLockInfo),e.activeDoc instanceof ExternalDoc&&e.updateCustomDocPosition(e.activeDoc)),e.renderer.doRebuildCacheRenderer(),e.renderer.updateBg(),e.onViewPortChanged()}n&&setTimeout(function(){e.updateCanvasSize(t,r,!1)},1e3)}}),Object.defineProperty(e,"lazyLoadPdfPage",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(){if(e.activeDoc instanceof PdfDoc&&"loaded"===e.activeDoc.pdfViewer.state){var t=e.getPdfVisiblePage();if(t)for(var r=t.start,n=t.end,i=t.pagesNum,o=e.activeDoc.pdfViewer.domRef,a=0;i>a;a++){var s,c=e.activeDoc.pdfViewer.pdfPages.get(a);if(!c)return;if(a<r||n<a)null===(s=c.domRef.parentNode)||void 0===s||s.removeChild(c.domRef);else c.domRef.parentNode||o.appendChild(c.domRef)}}},300)}),Object.defineProperty(e,"lazyRenderPdfPage",{enumerable:!0,configurable:!0,writable:!0,value:debounce(function(){if(e.activeDoc instanceof PdfDoc&&"loaded"===e.activeDoc.pdfViewer.state){var t=e.getPdfVisiblePage();if(t)for(var r,n=t.start,i=t.end,o=t.pagesNum,a=function(t){var r=e.activeDoc.pdfViewer.pdfPages.get(t);if(!r)return{v:void 0};if(!(n>t||t>i||r.rendered||r.rendering)){r.rendering=!0;var o=Date.now();renderPdfPage(r.viewport,r.pdfProxy).then(function(n){var i;r.img.src=n,r.rendered=!0,r.rendering=!1,r.domRef.appendChild(r.img),null===(i=r.skeleton.parentNode)||void 0===i||i.removeChild(r.skeleton),Log.logInfo("RtcWhiteboard.lazyLoadPdf page render success, page",t,"cost",Date.now()-o,e.activeDoc.name,e.activeDoc.docId)}).catch(function(t){Log.logError("RtcWhiteboard.lazyLoadPdf page render failed",e.activeDoc.name,e.activeDoc.docId,JSON.stringify(t))})}},s=0;o>s;s++)if(r=a(s))return r.v}},100)}),Object.defineProperty(e,"render",{enumerable:!0,configurable:!0,writable:!0,value:function(){return e.renderer.render()}}),Object.defineProperty(e,"onDoubleClick",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=e.getWrapperDomRect(),n=e.convertPointCoords({x:t.clientX-r.left,y:t.clientY-r.top}),i=e.getShapeByPoint(n.x,n.y);i instanceof Text&&(e.setAsSelectedShape(i),e.focusTetxArea(i))}}),Object.defineProperty(e,"onMouseDown",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r;(2===t.button&&(e.moveAndScaleDisabled||(e.panMoveType=PanMoveType.moveBoard,e.originalTranslate=_toConsumableArray(e.translate),e.originalDragStartPonit={x:t.clientX,y:t.clientY})),e.insertType===ShapeType.Drag)&&(null===(r=e.wbWrapperDom.classList)||void 0===r||r.add("dingrtc-wb-wrapper__draging"))}}),Object.defineProperty(e,"onMouseMove",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(t){var r,n=e.getWrapperDomRect(),i=e.convertPointCoords({x:t.clientX-n.left,y:t.clientY-n.top}),o=i.x,a=i.y;if(e.panMoveType===PanMoveType.moveBoard){if(!e.moveAndScaleDisabled){var s=t.clientX-e.originalDragStartPonit.x,c=t.clientY-e.originalDragStartPonit.y;Log.logInfo("Whiteboard.onMouseMove moveBoard",0>s?"move left":"move right",s,0>c?"move down":"move up",c),e.setTranslate(e.activeDoc instanceof PdfDoc?e.originalTranslate[0]:e.originalTranslate[0]+t.clientX-e.originalDragStartPonit.x,e.originalTranslate[1]+t.clientY-e.originalDragStartPonit.y),e.emitViewportUpdateBySelfEvent()}}else if(e.insertType!==ShapeType.Select&&e.insertType!==ShapeType.Delete||e.panMoveType===PanMoveType.moveShape||null!==(r=e.selectedShape)&&void 0!==r&&r.isPointInShapeRect(o,a))e.insertType===ShapeType.LaserPointer?e.throttleSendLaserPointerMsg(o,a):e.insertType===ShapeType.Brush&&(e.eraserIndicator.points=[{x:o,y:a}]);else for(var l=!1,u=e.visibleShapes.length-1;u>=0;u--){var d=e.visibleShapes[u];if(e.isPermittedShape(d))if(d.interactionStatus!==InteractionStatusType.selected)if(!l&&d.isPointInShape(o,a))l=!0,d.interactionStatus=e.insertType===ShapeType.Delete?InteractionStatusType.willBeDeleted:InteractionStatusType.focused;else includes(e.multiSelecetedShapes,d)||(d.interactionStatus=InteractionStatusType.default);else l=d.isPointInShape(o,a)}var p=getShapeCursorStyle(e.insertType);if(e.selectedShape){var h=p;if(e.getShapeResizeHandle(o,a)){var f=e.getShapeResizeHandle(o,a);h=(null==f?void 0:f.cursorStyle)||p}else e.selectedShape.isPointInShapeRect(o,a)&&(h="move");h!==e.wbWrapperDom.style.cursor&&(e.wbWrapperDom.style.cursor=h)}else if(e.multiSelecetedShapes.length){var g=e.isPointInAnyMultySlectedShape(o,a);e.wbWrapperDom.style.cursor=g?"move":p}else e.wbWrapperDom.style.cursor=p;e._cursorSyncEnabled&&e.insertType!==ShapeType.LaserPointer&&"all"===e._cursorSyncType&&e.sendCursor(o,a,e.strokeStyle,parseToolType(e.insertType))},EVENT_CAPTURE_RATE)}),Object.defineProperty(e,"sendCursor",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(t,r,n,i){var o;return null===(o=e.connection)||void 0===o?void 0:o.sendCursorMsg(t,r,n,i)},40)}),Object.defineProperty(e,"onPaste",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r,n=null===(r=t.clipboardData)||void 0===r?void 0:r.items;if(n&&n.length)for(var i=function(){if(-1!==n[o].type.indexOf("image")){var r=n[o].getAsFile();return r&&e.uploadLocalImage(r,!1,function(e){Log.logInfo("RtcWhiteboard.onPaste processing",e)}),0}if("string"===n[o].kind){var i=t.clipboardData.getData("Text");try{var a=JSON.parse(i),s=[];return a.forEach(function(t){var r=t.docId,n=t.pageId,i=t.shapeId;if(r&&n&&i){var o=e.docManager.getDocByDocId(r);if(!o)return;var a=o.getPageByPageId(n);if(!a)return;var c=find(a.getShapes(),{shapeId:i});if(!c)return;var l=c.clone(e.userId,e.getNewShapeId());l&&(e.currentPage.addShape(l),e.sendDrawCmd(l,"draw"),s.push(l))}}),1===s.length?(e.selectedShape=s[0],e.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,s[0].shapeId,s[0].export(),void 0))):(e.multiSelecetedShapes=s,s.forEach(function(e){e.interactionStatus=InteractionStatusType.focused}),e.history.batchSave(new BatchHistory(HistoryActionType.newShape,s.map(function(e){return{shapeId:e.shapeId,currentState:e.export(),lastState:void 0}})))),e.copyShapeInfoToClipboard(s),0}catch(e){Log.logError("RtcWhiteboard.onPaste",e)}}},o=0;n.length>o&&0!==i();o++);}}),Object.defineProperty(e,"_onPenEvent",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r,n,i=t.detail,o=i.eventType,a="fitWidth"===e.tabletMatchMode?e.wbWrapperDom.clientWidth/i.width:e.wbWrapperDom.clientHeight/i.height;if("static"===e.tabletWriteMode)r=i.x*e.tabletScale*a+e.tabletTranslate[0],n=i.y*e.tabletScale*a+e.tabletTranslate[1];else{var s=e.convertPointCoords({x:i.x*e.tabletScale*a+e.tabletTranslate[0],y:i.y*e.tabletScale*a+e.tabletTranslate[1]});r=s.x,n=s.y}"hang"===o?(e.insertType===ShapeType.LaserPointer&&e.throttleSendLaserPointerMsg(r,n),e.insertingShape=void 0):"write"===o?e.insertType===ShapeType.LaserPointer?e.throttleSendLaserPointerMsg(r,n):(e.insertingShape?e.insertingShape.points=[].concat(_toConsumableArray(e.insertingShape.points),[{x:r,y:n}]):(e.insertingShape=new Pen({points:[{x:r,y:n},{x:r,y:n}],shapeId:e.getNewShapeId(),pageId:e.currentPage.pageId,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)),e.throttleSendDrawCmd(e.insertingShape,"draw")):"end"===o&&(e.insertingShape&&e.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,e.insertingShape.shapeId,e.insertingShape.export(),void 0)),e.insertingShape=void 0)}}),Object.defineProperty(e,"onMouseUp",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r;(e.panMoveType===PanMoveType.moveBoard&&(e.moveAndScaleDisabled||(e.setTranslate(e.activeDoc instanceof PdfDoc?e.originalTranslate[0]:e.originalTranslate[0]+t.clientX-e.originalDragStartPonit.x,e.originalTranslate[1]+t.clientY-e.originalDragStartPonit.y),e.panMoveType=PanMoveType.none)),e.insertType===ShapeType.Drag)&&(null===(r=e.wbWrapperDom.classList)||void 0===r||r.remove("dingrtc-wb-wrapper__draging"))}}),Object.defineProperty(e,"onTouchEnd",{enumerable:!0,configurable:!0,writable:!0,value:function(t){if(1>=t.changedTouches.length){var r=e.getWrapperDomRect(),n=e.convertPointCoords({x:t.changedTouches.item(0).clientX-r.left,y:t.changedTouches.item(0).clientY-r.top}),i=n.x,o=n.y;e.insertType===ShapeType.Select&&(e.checkMouseOverAndSetType(i,o,InteractionStatusType.selected),e.selectedShape instanceof Text&&e.selectedShape.isPointInShapeRect(i,o))&&e.focusTetxArea(e.selectedShape)}}}),Object.defineProperty(e,"onTap",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=e.getWrapperDomRect(),n=e.currentPage.pageId;e.selectedShape&&!e.selectedShape.visible&&(e.selectedShape=void 0);var i=e.convertPointCoords({x:t.center.x-r.left-t.deltaX,y:t.center.y-r.top-t.deltaY}),o=i.x,a=i.y;if(e.selectedShape instanceof Text&&e.selectedShape.isPointInShapeRect(o,a))e.focusTetxArea(e.selectedShape);else if(e.visibleShapes.forEach(function(t){t instanceof Text&&""===t.text&&(t.visible=!1,e.throttleSendDrawCmd(t,"draw"))}),e.insertType===ShapeType.Delete)e.deleteShapeOnPosition(o,a);else if(e.insertType===ShapeType.Text){if(e.insertingShape instanceof Text)return e.insertingShape.interactionStatus=InteractionStatusType.default,e.selectedShape=void 0,void(e.insertingShape=void 0);var s=e.getVisionMaxX(),c=new Text({points:[{x:o,y:a},{x:o+200>s?o-200:o+200,y:a+20}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle(),"",{fontSize:12>Math.round(e.fontSize/e.scale)?12:Math.round(e.fontSize/e.scale),bold:e.bold,italic:e.italic});e.currentPage.addShape(c),e.currentPage.getShapes().forEach(function(e){return e.interactionStatus=InteractionStatusType.default}),e.setAsSelectedShape(c),e.insertingShape=c,e.focusTetxArea(c)}else if(e.insertType===ShapeType.Brush);else if(e.insertType===ShapeType.Select)e.multiSelecetedShapes.forEach(function(e){return e.interactionStatus=InteractionStatusType.default}),e.multiSelecetedShapes=[],e.checkMouseOverAndSetType(o,a,InteractionStatusType.selected);else if(e.insertType===ShapeType.Stamp&&e.stampId){var l=Stamp.stampResourceCache.get(e.stampId);if(l&&!l.resizable){var u=new Stamp({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.stampId,l.resizable,l.url);e.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,u.shapeId,u.export(),void 0)),e.currentPage.addShape(u),e.sendDrawCmd(u,"draw")}}else e.selectedShape&&(e.selectedShape.interactionStatus=InteractionStatusType.default,e.selectedShape=void 0)}}),Object.defineProperty(e,"onPanStart",{enumerable:!0,configurable:!0,writable:!0,value:function(t){e.renderer.checkCanvasSize();var r=e.getWrapperDomRect();e.selectedShape&&!e.selectedShape.visible&&(e.selectedShape=void 0);var n=e.currentPage.pageId,i=e.convertPointCoords({x:t.center.x-r.left-t.deltaX,y:t.center.y-r.top-t.deltaY}),o=i.x,a=i.y;if(e.selectedShape){if(e.getShapeResizeHandle(o,a))return e.panMoveType=PanMoveType.resizeShape,void e.selectedShape.onResizeStart(o,a);if(e.selectedShape.isPointInShapeRect(o,a))return e.panMoveType=PanMoveType.moveShape,void e.selectedShape.onMoveStart()}if(e.insertType===ShapeType.Drag)e.panMoveType=PanMoveType.moveBoard,e.originalTranslate=_toConsumableArray(e.translate),e.originalDragStartPonit={x:t.center.x,y:t.center.y},e.emitViewportUpdateBySelfEvent();else if(e.multiSelecetedShapes.length&&e.isPointInAnyMultySlectedShape(o,a))e.panMoveType=PanMoveType.moveShape,e.multiSelecetedShapes.forEach(function(e){return e.onMoveStart()});else if(e.insertType===ShapeType.Select||e.insertType===ShapeType.Delete)e.panMoveType=PanMoveType.selectShape,e.selectIndicator.visible=!0,e.selectIndicator.points=[{x:o,y:a},{x:o,y:a}];else{if(e.clearSelectedShapes(),e.panMoveType=PanMoveType.insertShape,e.insertType===ShapeType.Line)e.insertingShape=new Line({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape);else if(e.insertType===ShapeType.Arrow)e.insertingShape=new Arrow({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape);else if(e.insertType===ShapeType.Stamp&&e.stampId){var s=Stamp.stampResourceCache.get(e.stampId);if(s){var c=new Stamp({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.stampId,s.resizable,s.url);e.insertingShape=c,e.currentPage.addShape(e.insertingShape)}}else e.insertType===ShapeType.Rect||e.insertType===ShapeType.Square?(e.insertingShape=new Rect({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)):e.insertType===ShapeType.Ellipse||e.insertType===ShapeType.Circle?(e.insertingShape=new Ellipse({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)):e.insertType===ShapeType.Pen?(e.insertingShape=new Pen({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)):e.insertType===ShapeType.Brush?(e.insertingShape=new Eraser({points:[{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)):e.insertType===ShapeType.Triangle?(e.insertingShape=new Triangle({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape)):e.insertType===ShapeType.Rhombic&&(e.insertingShape=new Rhombic({points:[{x:o,y:a},{x:o,y:a}],shapeId:e.getNewShapeId(),pageId:n,creator:e.userId},e.getShapeStyle()),e.currentPage.addShape(e.insertingShape));e.insertingShape&&e.throttleSendDrawCmd(e.insertingShape,"draw")}}}),Object.defineProperty(e,"batchSendRgnShapes",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(t){t.forEach(function(t){return e.sendDrawCmd(t,"rgn")})},300)}),Object.defineProperty(e,"onPanMove",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=e.getWrapperDomRect(),n=e.convertPointCoords({x:t.center.x-r.left,y:t.center.y-r.top}),i=n.x,o=n.y;if(e.panMoveType===PanMoveType.resizeShape)e.selectedShape&&(e.selectedShape.onResize(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY),e._shiftPressing),e.throttleSendDrawCmd(e.selectedShape,"rgn"));else if(e.panMoveType===PanMoveType.moveShape)e.selectedShape?(e.selectedShape.onMove(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY)),e.throttleSendDrawCmd(e.selectedShape,"rgn")):e.multiSelecetedShapes.length&&e.multiSelecetedShapes.forEach(function(r){r.onMove(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY))});else if(e.panMoveType===PanMoveType.insertShape)e.insertType===ShapeType.Line||e.insertType===ShapeType.Ellipse||e.insertType===ShapeType.Rect||e.insertType===ShapeType.Arrow||e.insertType===ShapeType.Square||e.insertType===ShapeType.Circle?e.insertingShape.points=e._shiftPressing&&(e.insertType===ShapeType.Ellipse||e.insertType===ShapeType.Rect)||e.insertType===ShapeType.Square||e.insertType===ShapeType.Circle?[e.insertingShape.points[0],{x:i,y:e.insertingShape.points[0].y+i-e.insertingShape.points[0].x}]:[e.insertingShape.points[0],{x:i,y:o}]:e.insertType===ShapeType.Pen||e.insertType===ShapeType.Brush?e.insertingShape&&(e.insertingShape.points=[].concat(_toConsumableArray(e.insertingShape.points),[{x:i,y:o}]),e.insertType===ShapeType.Brush&&(e.eraserIndicator.points=[{x:i,y:o}])):e.insertType===ShapeType.Stamp&&e.insertingShape instanceof Stamp?e.insertingShape.points=[e.insertingShape.resizable?e.insertingShape.points[0]:{x:i,y:o},{x:i,y:o}]:e.insertType===ShapeType.Triangle?e.insertingShape&&(e.insertingShape.points=[e.insertingShape.points[0],{x:i,y:o}]):e.insertType===ShapeType.Rhombic&&e.insertingShape&&(e.insertingShape.points=[e.insertingShape.points[0],{x:i,y:o}]),e.insertingShape&&e.throttleSendDrawCmd(e.insertingShape,"draw"),e._cursorSyncEnabled&&e.insertType!==ShapeType.LaserPointer&&e.sendCursor(i,o,e.strokeStyle,parseToolType(e.insertType));else if(e.panMoveType===PanMoveType.selectShape)e.selectIndicator.points=[e.selectIndicator.points[0],{x:i,y:o}],e.rangeSelect();else if(e.panMoveType===PanMoveType.moveBoard&&!e.moveAndScaleDisabled){var a=t.center.x-e.originalDragStartPonit.x,s=t.center.y-e.originalDragStartPonit.y;Log.logInfo("Whiteboard.onMouseMove moveBoard",0>a?"move left":"move right",a,0>s?"move down":"move up",s),e.setTranslate(e.activeDoc instanceof PdfDoc?e.originalTranslate[0]:e.originalTranslate[0]+t.center.x-e.originalDragStartPonit.x,e.originalTranslate[1]+t.center.y-e.originalDragStartPonit.y)}}}),Object.defineProperty(e,"onPanEnd",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=e.getWrapperDomRect(),n=e.convertPointCoords({x:t.center.x-r.left,y:t.center.y-r.top}),i=n.x,o=n.y;if(e.panMoveType===PanMoveType.moveBoard)e.moveAndScaleDisabled||(e.setTranslate(e.activeDoc instanceof PdfDoc?e.originalTranslate[0]:e.originalTranslate[0]+t.center.x-e.originalDragStartPonit.x,e.originalTranslate[1]+t.center.y-e.originalDragStartPonit.y),e.panMoveType=PanMoveType.none);else if(e.panMoveType===PanMoveType.moveShape){if(e.selectedShape){var a=e.selectedShape.transformOriginalInfo.export();e.selectedShape.onMoveEnd(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY)),e.history.saveHistory(new ShapeHistory(HistoryActionType.rgnShape,e.selectedShape.shapeId,e.selectedShape.export(),a)),e.sendDrawCmd(e.selectedShape,"rgn")}else if(e.multiSelecetedShapes.length){var s=[];e.multiSelecetedShapes.forEach(function(r){var n=r.transformOriginalInfo.export();r.onMoveEnd(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY)),s.push({shapeId:r.shapeId,currentState:r.export(),lastState:n})}),e.history.batchSave(new BatchHistory(HistoryActionType.rgnShape,s)),e.batchSendRgnShapes(e.multiSelecetedShapes)}}else if(e.panMoveType===PanMoveType.resizeShape){if(e.selectedShape){var c=e.selectedShape.transformOriginalInfo.export();e.selectedShape.onResizeEnd(e.convertDelta(t.deltaX),e.convertDelta(t.deltaY),e._shiftPressing),e.history.saveHistory(new ShapeHistory(HistoryActionType.rgnShape,e.selectedShape.shapeId,e.selectedShape.export(),c)),e.sendDrawCmd(e.selectedShape,"rgn")}}else if(e.panMoveType===PanMoveType.insertShape){var l;if(e.insertingShape)e.insertingShape.points=2!==e.insertingShape.points.length?[].concat(_toConsumableArray(e.insertingShape.points),[{x:i,y:o}]):e._shiftPressing&&(e.insertType===ShapeType.Ellipse||e.insertType===ShapeType.Rect)||e.insertType===ShapeType.Square||e.insertType===ShapeType.Circle?[e.insertingShape.points[0],{x:i,y:e.insertingShape.points[0].y+i-e.insertingShape.points[0].x}]:e.insertType===ShapeType.Stamp&&e.insertingShape instanceof Stamp?[e.insertingShape.resizable?e.insertingShape.points[0]:{x:i,y:o},{x:i,y:o}]:[e.insertingShape.points[0],{x:i,y:o}],e.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,e.insertingShape.shapeId,e.insertingShape.export(),void 0)),e.sendDrawCmd(e.insertingShape,"draw"),null!==(l=e.insertingShape)&&void 0!==l&&l.shouldSelectAfterAdd()&&e.setAsSelectedShape(e.insertingShape)}else e.panMoveType===PanMoveType.selectShape?(e.selectIndicator.points=[e.selectIndicator.points[0],{x:i,y:o}],e.rangeSelect(),e.insertType===ShapeType.Delete&&e.deleteRageSelectedShapes()):e.panMoveType!==PanMoveType.none&&e.panMoveType!==PanMoveType.moveBoard||!e.insertingShape||(e.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,e.insertingShape.shapeId,e.insertingShape.export(),void 0)),e.sendDrawCmd(e.insertingShape,"draw"));e.panMoveType=PanMoveType.none,e.selectIndicator.visible=!1,e.insertingShape=void 0}}),Object.defineProperty(e,"onPinchStart",{enumerable:!0,configurable:!0,writable:!0,value:function(){var t;(e.originalTranslate=_toConsumableArray(e.translate),e.pinchBoardOriginalScale=e.scale,e.lastPanMoveDelta={x:0,y:0},e.selectedShape)&&(null===(t=e.selectedShape)||void 0===t||t.storeTransformStartPoints(),e.pinchShapeCenter=e.selectedShape.center);e.emitViewportUpdateBySelfEvent()}}),Object.defineProperty(e,"onPinch",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(t){e.selectedShape?(e.selectedShape.resizeByRatio(t.scale,t.scale,e.pinchShapeCenter),e.throttleSendDrawCmd(e.selectedShape,"rgn")):e.moveAndScaleDisabled||t.scale>=.9&&1.1>=t.scale||e._updateBoardWithNewScale(e.pinchBoardOriginalScale*t.scale,t.center.x,t.center.y)},EVENT_CAPTURE_RATE)}),Object.defineProperty(e,"onPinchEnd",{enumerable:!0,configurable:!0,writable:!0,value:function(t){if(e.pinchEndTime=Date.now(),e.selectedShape){var r=e.selectedShape.export();e.selectedShape.resizeByRatio(t.scale,t.scale),e.throttleSendDrawCmd(e.selectedShape,"rgn"),e.history.saveHistory(new ShapeHistory(HistoryActionType.rgnShape,e.selectedShape.shapeId,e.selectedShape.export(),r))}}}),Object.defineProperty(e,"onPinchMove",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(t){if(!e.moveAndScaleDisabled&&!e.selectedShape){var r=t.deltaX-e.lastPanMoveDelta.x,n=t.deltaY-e.lastPanMoveDelta.y;Log.logInfo("Whiteboard.onPinchMove moveBoard",0>r?"move left":"move right",r,0>n?"move down":"move up",n),e.setTranslate(e.activeDoc instanceof PdfDoc?e.translate[0]:e.translate[0]+t.deltaX-e.lastPanMoveDelta.x,e.translate[1]+t.deltaY-e.lastPanMoveDelta.y)}e.lastPanMoveDelta={x:t.deltaX,y:t.deltaY}},EVENT_CAPTURE_RATE)}),Object.defineProperty(e,"_updateBoardWithNewScale",{enumerable:!0,configurable:!0,writable:!0,value:function(t,r,n){e.activeDoc.updateBoardWithNewScale(t,r,n,e.getWrapperDomRect())}}),Object.defineProperty(e,"onWheel",{enumerable:!0,configurable:!0,writable:!0,value:function(t){t.stopPropagation(),t.preventDefault(),e.wheelDsiabled||e._scaleAndMoveDisabled||(e.emitViewportUpdateBySelfEvent(),e.throttledOnWheel(t))}}),Object.defineProperty(e,"throttledOnWheel",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(t){if(t.ctrlKey){var r=e.getWrapperDomRect();!e.moveAndScaleDisabled&&e._updateBoardWithNewScale(e.scale-t.deltaY/r.height*20,t.clientX-r.left,t.clientY-r.top)}else{var n=e.translate[0]-t.deltaX;e.activeDoc instanceof PdfDoc&&(n=e.translate[0]),e.setTranslate(n,e.translate[1]-t.deltaY)}},EVENT_CAPTURE_RATE)}),Object.defineProperty(e,"emitViewportUpdateBySelfEvent",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(){e.emit("viewport-updated-by-self")},500)}),Object.defineProperty(e,"onContextMenu",{enumerable:!0,configurable:!0,writable:!0,value:function(e){e.preventDefault()}}),Object.defineProperty(e,"onKeyDown",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=t.keyCode||t.code||t.which;""+r!="8"&&""+r!="46"||(!e.selectedShape||e.selectedShape instanceof Text&&e.selectedShape.interactionStatus===InteractionStatusType.selected&&document.activeElement===e.textArea||(e.deleteShape(e.selectedShape),e.selectedShape=void 0),e.deleteRageSelectedShapes()),""+r=="16"&&(e._shiftPressing=!0),(t.ctrlKey||t.metaKey)&&("z"===t.key?e.undo():"c"===t.key&&(e.selectedShape&&e.selectedShape.interactionStatus===InteractionStatusType.selected?e.copyShapeInfoToClipboard([e.selectedShape]):e.multiSelecetedShapes.length>0&&e.copyShapeInfoToClipboard(e.multiSelecetedShapes)))}}),Object.defineProperty(e,"onKeyUp",{enumerable:!0,configurable:!0,writable:!0,value:function(t){""+(t.keyCode||t.code||t.which)=="16"&&(e._shiftPressing=!1)}}),Object.defineProperty(e,"onMouseOut",{enumerable:!0,configurable:!0,writable:!0,value:function(){e._shiftPressing=!1}}),Object.defineProperty(e,"deleteShape",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var r=1>=arguments.length||void 0===arguments[1]||arguments[1],n=t.export();t.visible=!1,t instanceof Text?(t.interactionStatus=InteractionStatusType.default,e.textArea.style.zIndex="0",e.textArea.style.color="transparent"):(t instanceof Video||t instanceof Audio)&&t.removeMediaDom(),e.sendDrawCmd(t,"draw"),r&&e.history.saveHistory(new ShapeHistory(HistoryActionType.hideShape,t.shapeId,t.export(),n))}}),Object.defineProperty(e,"_onLoadImageError",{enumerable:!0,configurable:!0,writable:!0,value:function(t){Log.logError("RtcWhiteboard._onLoadImageError: load image failed, img url: ",t),e._sendMetrics({time:(new Date).toISOString(),event:"image load failed",eventtype:"rts",sessiontype:"whiteboard",url:t,sessionId:e.sessionId,pageNum:e.pageIndex,errmsg:"load image failed"})}}),Object.defineProperty(e,"throttleSendLaserPointerMsg",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(t,r){var n;null===(n=e.connection)||void 0===n||n.sendLaserPointerMsg(t,r),e.clearLaserPointerId&&clearTimeout(e.clearLaserPointerId),e.clearLaserPointerId=window.setTimeout(function(){var t;null===(t=e.connection)||void 0===t||t.sendClearResourceMsg("laserPointer",["".concat(e.userId,"@").concat(e.appId,"-laserPointer")])},3e3)},t.RENDER_INTEVAL/1.5)}),Object.defineProperty(e,"onViewPortChanged",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(){var t=e.getViewport();e.emit("viewport-updated",e.scale,t),e.bSharingVision&&"pdf"!==e.activeDoc.type&&e.throttleSendVisionCmd(t),"scroll"===e.activeDoc.browseMode&&(e.lazyLoadPdfPage(),e.lazyRenderPdfPage(),!e.isSynchronizer&&!e.bSharingVision||e._bFollowVision||e.throttleSendDocResourceMsg(e.activeDoc))},1e3/60)}),Object.defineProperty(e,"throttleSendVisionCmd",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(t){var r;null===(r=e.connection)||void 0===r||r.sendVisionResourceMsg(t.maxx-t.minx,t.maxy-t.miny,t.minx,t.miny)},t.CMD_SEND_WAIT)}),Object.defineProperty(e,"throttleSendDocResourceMsg",{enumerable:!0,configurable:!0,writable:!0,value:throttle(function(t){var r;t instanceof PdfDoc&&1>Math.abs(t.lastSyncY-t.y)||null===(r=e.connection)||void 0===r||r.sendDocResourceMessage(t)},t.CMD_SEND_WAIT)}),Object.defineProperty(e,"sendDrawCmd",{enumerable:!0,configurable:!0,writable:!0,value:function(t,r){if("draw"===r){var n;if(t instanceof Stamp){var i,o=Stamp.stampResourceCache.get(t.stampId);if(o&&!o.serverCache)null===(i=e.connection)||void 0===i||i.sendStampMsg(t.stampId,t.imgUrl,t.resizable)}null===(n=e.connection)||void 0===n||n.sendShapeDrawMessage(t)}else if("rgn"===r){var a;null===(a=e.connection)||void 0===a||a.sendShapeRgnMessage(t)}}}),Object.defineProperty(e,"throttleSendDrawCmd",{enumerable:!0,configurable:!0,writable:!0,value:throttle(e.sendDrawCmd,100)}),Object.defineProperty(e,"doSendMetrics",{enumerable:!0,configurable:!0,writable:!0,value:function(){e.sendMetricsTimeout=void 0,e.metricsBuffer=[]}}),e.docManager=new DocManager,e.docManager.on("requestRender",e.render),e.docManager.on("page-index-changed",e.onActivePageChanged),e.docManager.on("viewport-updated",e.onViewPortChanged),e.docManager.on("doc-switched",e.onActiveDocSwitched),e.docManager.on("doc-deleted",function(t){e.emit("doc-deleted",t)}),e.docManager.on("doc-created",function(t){e.emit("doc-created",t)}),e.docManager.on("doc-load-failed",function(t,r){return e.emit("doc-load-failed",t,r)}),e.hammer=new Hammer(e.wbWrapperDom);var n=new Hammer.Pan({direction:Hammer.DIRECTION_ALL,threshold:0,enable:function(){return Date.now()-e.pinchEndTime>300}}),i=(new Hammer.Pinch).requireFailure(n);e.hammer.add(n),e.hammer.add(i),e.hammer.get("press").set({enable:!1}),e.hammer.get("swipe").set({enable:!1}),e.hammer.get("doubletap").set({enable:!1}),e.hammer.get("rotate").set({enable:!1}),e.wbWrapperDom.className="dingrtc-wb-wrapper",e.pdfWrapper.className="dingrtc-pdf-viewer",e.renderFPS.className="dingrtc-wb-render-fps",e.bgImg.className="dingrtc-wb__bg-img",e.wbWrapperDom.appendChild(e.pdfWrapper),e.wbWrapperDom.appendChild(e.renderFPS),e.wbWrapperDom.appendChild(e.bgImg),e.wbWrapperDom.appendChild(e.textArea),e.textArea.style.zIndex="0",e.textArea.style.color="transparent",e.textArea.value="",e.textArea.className="wb-shape-textarea";var o,a=void 0;return e.textArea.addEventListener("change",function(){e.selectedShape instanceof Text&&(a=e.selectedShape),a&&(a.text=e.textArea.value,e.throttleSendDrawCmd(a,"draw"),e.history.saveHistory(new ShapeHistory(HistoryActionType.updateText,a.shapeId,a.export(),o)))}),e.textArea.addEventListener("input",function(){e.selectedShape instanceof Text&&e.selectedShape!==a&&(o=e.selectedShape.export()),e.selectedShape instanceof Text&&(a=e.selectedShape),a&&(a.text=e.textArea.value,a.setTextMaxLength(e.getVisionMaxX()-a.minx),e.chackIfTextAreaOutofBound(a))}),e.setUpHistoryListener(),e._hookShapeRenderRequest(e.eraserIndicator),e._hookShapeRenderRequest(e.selectIndicator),e}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"isSynchronizer",get:function(){return"Admin"===this.role}},{key:"getWrapperDomRect",value:function(){var e=this.wbWrapperDom.getBoundingClientRect();return e.width&&e.height&&(this.wrapperDomRect=e),this.wrapperDomRect||{x:0,y:0,width:1e3,height:600,top:0,right:1e3,bottom:600,left:0}}},{key:"history",get:function(){return this.currentPage.history}},{key:"userId",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.userId)||""}},{key:"appId",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.appId)||""}},{key:"channelId",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.channelId)||""}},{key:"token",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.token)||""}},{key:"userName",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.userName)||""}},{key:"cid",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.connectionInfo.channelId)||""}},{key:"activeDoc",get:function(){return this.docManager.activeDoc}},{key:"activeDocId",get:function(){return this.docManager.activeDocId}},{key:"isSizeLimited",get:function(){var e;return null===(e=this.sizeConfig)||void 0===e?void 0:e.limited}},{key:"pages",get:function(){return this.activeDoc.getPages()}},{key:"lineWidth",get:function(){return this._lineWidth},set:function(e){this._lineWidth=parseFloat("".concat(e))||this._lineWidth}},{key:"fontSize",get:function(){return this._fontSize},set:function(e){this._fontSize=parseFloat("".concat(e))||this._fontSize}},{key:"role",get:function(){return this._role}},{key:"isAdmin",get:function(){return"Admin"===this._role}},{key:"currentPage",get:function(){return this.docManager.activeDoc.currentPage}},{key:"scale",get:function(){return this.currentPage.scale},set:function(e){this.activeDoc.setScale(e,!0,this.getWrapperDomRect())}},{key:"_hookShapeRenderRequest",value:function(e){var t=this;e.on("requestRender",function(){t.render()})}},{key:"getCursorSyncType",value:function(){return this._cursorSyncType}},{key:"setCursorSyncType",value:function(e){this._cursorSyncType=e}},{key:"setRoleType",value:function(e){var t=this.role;Log.logInfo("RtcWhiteboard.setRoleType",e),"Viewer"===e?this.stopInteraction():this.enableInteraction(e),this.selectedShape&&(this.selectedShape.interactionStatus=InteractionStatusType.default,this.selectedShape=void 0),this.insertType===ShapeType.Click&&this.setPenetrable(this._penetrable),t!==e&&(this._role=e)}},{key:"getToolType",value:function(){return this.insertType}},{key:"setToolType",value:function(e){var t,r,n,i;(Log.logInfo("RtcWhiteboard.setToolType",this.insertType,e),this.checkDocAndSetPenetrable(e),e===ShapeType.Delete&&this.selectedShape&&this.deleteShape(this.selectedShape),e===ShapeType.LaserPointer)?null===(t=this.wbWrapperDom.classList)||void 0===t||t.add("dingrtc-wb-wrapper__laser-on"):null===(r=this.wbWrapperDom.classList)||void 0===r||r.remove("dingrtc-wb-wrapper__laser-on");e===ShapeType.Drag?null===(n=this.wbWrapperDom.classList)||void 0===n||n.add("dingrtc-wb-wrapper__drag-on"):null===(i=this.wbWrapperDom.classList)||void 0===i||i.remove("dingrtc-wb-wrapper__drag-on");this.insertType=e,this.wbWrapperDom.style.cursor=getShapeCursorStyle(this.insertType)}},{key:"checkDocAndSetPenetrable",value:function(e){this.setPenetrable(!1)}},{key:"getDevicePixelRatio",value:function(){return window.devicePixelRatio||1}},{key:"enumerateDocs",value:function(){return Log.logInfo("RtcWhiteboard.enumerateDocs"),_toConsumableArray(this.docManager.getDocs().map(function(e){return{docId:e.docId,name:e.name,creator:e.creator,currentPage:e.currentPageIndex,fileKey:e.fileKey}}))}},{key:"selectedShape",get:function(){return this._selectedShape},set:function(e){this._selectedShape&&(this._selectedShape.interactionStatus=InteractionStatusType.default),this._selectedShape=e}},{key:"setSelectedShapeStyle",value:function(e){if(Log.logInfo("RtcWhiteboard.setSelectedShapeStyle",e),this._selectedShape&&this._selectedShape instanceof DrawableShape){var t=this._selectedShape.export();this._selectedShape.shapeStyle=Object.assign(this._selectedShape.shapeStyle,e),this.throttleSendDrawCmd(this._selectedShape,"draw"),this.history.saveHistory(new ShapeHistory(HistoryActionType.updateStyle,this._selectedShape.shapeId,this._selectedShape.export(),t))}}},{key:"setSelectedShapeFontStyle",value:function(e){if(Log.logInfo("RtcWhiteboard.setSelectedShapeFontStyle",e),this._selectedShape&&this._selectedShape instanceof Text){var t=this._selectedShape.export();this._selectedShape.fontStyle=Object.assign(this._selectedShape.fontStyle,e),this.throttleSendDrawCmd(this._selectedShape,"draw"),this.history.saveHistory(new ShapeHistory(HistoryActionType.updateStyle,this._selectedShape.shapeId,this._selectedShape.export(),t))}}},{key:"pageIndex",get:function(){return this.activeDoc.currentPageIndex}},{key:"switchToDoc",value:function(e){if(Log.logInfo("RtcWhiteboard.switchToDoc",e),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState);if(!this.docManager.getDocByDocId(e))throw new DingRTCError(ErrorCode.InvaildArgument,"doc not existed");var t;this.docManager.switchActiveDoc(e),null===(t=this.connection)||void 0===t||t.sendActiveDocResourceMessage(e)}},{key:"getCurrentPageNumber",value:function(){return this.pageIndex}},{key:"gotoPage",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.docManager.activeDocId,r=2>=arguments.length||void 0===arguments[2]||arguments[2];if(Log.logInfo("RtcWhiteboard.gotoPage",e,t,r),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState);var n=this.docManager.getDocByDocId(t);if(!n)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not existed");if(n instanceof PdfDoc)return this.activeDocId!==t&&r&&this.switchToDoc(t),this.gotoPdfPage(e,n);if(e>n.totalPages-1||0>e)throw new DingRTCError(ErrorCode.InvaildArgument,"invalid index");if(this.activeDocId!==t&&r&&this.switchToDoc(t),n.browseMode!==DocBrowserMode.scroll){var i;if(n.browseMode!==DocBrowserMode.flip)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not existed");null===(i=this.connection)||void 0===i||i.sendDocResourceMessage(n,n.getPageAtIndex(e).pageId)}else n.setScrollY(e*n.scrollPageHeight,this.getWrapperDomRect())}},{key:"gotoPdfPage",value:function(e,t){if(Log.logInfo("RtcWhiteboard.gotoPdfPage",e),!(t instanceof PdfDoc))throw new DingRTCError(ErrorCode.InvaildArgument,"not a pdf");if(e>t.pdfViewer.pdfPages.size-1||0>e)throw new DingRTCError(ErrorCode.InvaildArgument,"pageIndex is invalid");var r=Math.ceil(t.pdfViewer.pageHightList[e-1]||0);t.docId===this.activeDocId?this.setTranslate(this.translate[0],-r*this.scale):t.currentPage.translate=[t.currentPage.translate[0],-r*t.currentPage.scale]}},{key:"nextPage",value:function(){return Log.logInfo("RtcWhiteboard.nextPage"),this.gotoPage(this.getCurrentPageNumber()+1)}},{key:"prevPage",value:function(){return Log.logInfo("RtcWhiteboard.prevPage"),this.gotoPage(this.getCurrentPageNumber()-1)}},{key:"backgroundColor",get:function(){return this.currentPage.backgroundColor},set:function(e){Log.logInfo("RtcWhiteboard.setbackgroundColor",e),e!==this.backgroundColor&&(this.currentPage.backgroundColor=e,this.render())}},{key:"getTotalNumberOfPages",value:function(){var e;return this.activeDoc instanceof PdfDoc?(null===(e=this.activeDoc.pdfViewer)||void 0===e?void 0:e.pdfPages.size)||1:this.activeDoc.totalPages}},{key:"visibleShapes",get:function(){return this.currentPage.visibleShapes}},{key:"translate",get:function(){return this.currentPage.translate}},{key:"getTranslate",value:function(){return{x:this.currentPage.translate[0],y:this.currentPage.translate[1]}}},{key:"setTranslate",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:400;this.activeDoc.setTranslate(e,t,this.getWrapperDomRect(),r,n)}},{key:"getVisionMaxX",value:function(){return this.getWrapperDomRect().width/this.scale-this.translate[0]/this.scale}},{key:"getVisionMaxY",value:function(){return this.getWrapperDomRect().height/this.scale-this.translate[1]/this.scale}},{key:"setUpHistoryListener",value:function(){this.history.off("history-changed",this.onHistoryChanged),this.history.on("history-changed",this.onHistoryChanged)}},{key:"undo",value:function(){var e=this;Log.logInfo("RtcWhiteboard.undo"),this.clearSelectedShapes();var t=this.history.undo();if(t)if(t instanceof ShapeHistory){var r=this.getShapeById(t.shapeId);r&&(this.restoreShapeFormSavedState(t.shapeId,t.actionType,t.lastState),this.sendDrawCmd(r,"draw"))}else{if(t.actionType===HistoryActionType.deleteShape)this.currentPage.restoreShapes(t.shapeStates.map(function(e){return e.currentState})).forEach(function(t){return e.sendDrawCmd(t,"draw")});else t.shapeStates.forEach(function(r){e.getShapeById(r.shapeId)&&e.restoreShapeFormSavedState(r.shapeId,t.actionType,r.lastState)})}}},{key:"redo",value:function(){var e=this;Log.logInfo("RtcWhiteboard.redo"),this.clearSelectedShapes();var t=this.history.redo();if(t)if(t instanceof ShapeHistory){var r=this.getShapeById(t.shapeId);r&&(this.restoreShapeFormSavedState(t.shapeId,t.actionType,t.lastState),this.sendDrawCmd(r,"draw"))}else t.shapeStates.forEach(function(r){e.getShapeById(r.shapeId)&&e.restoreShapeFormSavedState(r.shapeId,t.actionType,r.lastState)})}},{key:"restoreShapeFormSavedState",value:function(e,t,r){var n=this.getShapeById(e);if(n)if(t===HistoryActionType.rgnShape){if(!r)return;n.points=r.points,n.rngReverse=r.rngReverse,this.sendDrawCmd(n,"rgn")}else t===HistoryActionType.newShape?(n.visible=!n.visible,this.sendDrawCmd(n,"draw")):r&&(n.visible=r.visible,n instanceof DrawableShape&&(n.shapeStyle=Object.assign({},r.shapeStyle)),n instanceof Text&&(n.text=r.text||"",n.fontStyle=Object.assign({},r.fontStyle)),this.sendDrawCmd(n,"draw"))}},{key:"getShapeById",value:function(e){for(var t,r=0;this.activeDoc.totalPages>r;r++){var n=find(this.pages[r].getShapes(),{shapeId:e});if(n){t=n;break}}return t}},{key:"reset",value:function(){this.close(),this._everOpened=!1,this.bSharingVision=!1,this._bFollowVision=!1,this._lockVisonUserId="",this._visionLockInfo=void 0,this.docManager.reset(),this.pdfWrapper.innerHTML="",this.docManager.switchActiveDoc(DEFAULT_DOC_ID),this.activeDoc.currentPageIndex=0,this.insertType=ShapeType.Select,this._role="Attendee",this._selectedShape=void 0,this.multiSelecetedShapes=[]}},{key:"setBackgroundImageScalingMode",value:function(e){this.bgScaleMode=e,this.isSizeLimited||this.activeDoc.scaleBoardFitBackgroundImage(this.currentPage,this.getWrapperDomRect(),this.bgScaleMode)}},{key:"getShapeStyle",value:function(){return{lineWidth:this.lineWidth,strokeStyle:this.strokeStyle,fillStyle:this.fillStyle,fillType:this.fillType,dashed:this.dashed}}},{key:"_getLimitedImgSize",value:function(e,t){var r,n,i=(null===(r=this.sizeConfig)||void 0===r?void 0:r.width)||2048,o=(null===(n=this.sizeConfig)||void 0===n?void 0:n.height)||2048,a=e,s=t;return a>s&&a>i&&(a=i,s=i/e*t),s>a&&s>o&&(s=o,a=o/t*e),{imgWidth:a,imgHeight:s}}},{key:"_scaleBoardFitBackground",value:function(e){if(e instanceof PdfDoc)this.centerPdfDoc(e);else if(e.sharePageSize){e.scaleBoardFitBackgroundImage(e.currentPage,this.getWrapperDomRect(),this.bgScaleMode);var t=e.currentPage.scale,r=e.currentPage.translate;e.getPages().forEach(function(e){e.scale=t,e.translate=_toConsumableArray(r)})}else this.currentPage.backgroundImage?this.activeDoc.scaleBoardFitBackgroundImage(this.currentPage,this.getWrapperDomRect(),this.bgScaleMode):this.isSizeLimited?this.fitWithSizeConfig():this.activeDoc.setScaleAndTranslate(1,[0,0],!1,this.getWrapperDomRect())}},{key:"fitWithSizeConfig",value:function(){var e=this;this.sizeConfig&&this.docManager.getDocs().forEach(function(r){var n,i;r instanceof PdfDoc&&e.sizeConfig&&r.width!==(null===(n=e.sizeConfig)||void 0===n?void 0:n.width)?null===(i=t.PdfPlugin)||void 0===i||i.updatePdfWidth(r,e.sizeConfig.width):e.sizeConfig.limited?r.updateBoardWithNewScale(.001,0,0,e.getWrapperDomRect()):r.getPages().forEach(function(t){r.setDocViewport({width:e.sizeConfig.width,height:e.sizeConfig.height,minx:0,miny:0},e.getWrapperDomRect(),t),t.backgroundImage&&r.scaleBoardFitBackgroundImage(t,e.getWrapperDomRect(),e.bgScaleMode)})})}},{key:"setBackgroundImage",value:function(e){var t=this;if(Log.logInfo("RtcWhiteboard.setBackgroundImage",e),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState);if(this.activeDoc instanceof PdfDoc)throw Log.logWarn("RtcWhiteboard.setBackgroundImage failed because doc type not support",e),new DingRTCError(ErrorCode.InvaildArgument,"doc type not support image");var r=this.currentPage,n=seqIdToShapeId("bg-".concat(r.pageId),this.userId),i=r.backgroundImage;return i?i.imgUrl=e:((i=new Image$1({points:[{x:0,y:0},{x:0,y:0}],shapeId:n,pageId:r.pageId,creator:this.userId},e)).order=ShapeOrderType.bg,r.backgroundImage=i),i.loadImage().then(function(e){var n,o=t._getLimitedImgSize(e.naturalWidth,e.naturalHeight);t.updateBgImgPosition(i,o.imgWidth,o.imgHeight),t.activeDoc.scaleBoardFitBackgroundImage(r,t.getWrapperDomRect(),t.bgScaleMode),null===(n=t.connection)||void 0===n||n.sendShapeDrawMessage(i)}).catch(function(){return t._onLoadImageError(e)})}},{key:"updateBgImgPosition",value:function(e,t,r){this.isSizeLimited&&this.sizeConfig?"auto"===this.bgScaleMode?e.points=[{x:(this.sizeConfig.width-t)/2,y:(this.sizeConfig.height-r)/2},{x:(this.sizeConfig.width-t)/2+t,y:(this.sizeConfig.height-r)/2+r}]:"fillWidth"===this.bgScaleMode?e.points=[{x:0,y:0},{x:this.sizeConfig.width,y:this.sizeConfig.width*r/t}]:"fillHeight"===this.bgScaleMode&&(e.points=[{x:0,y:0},{x:this.sizeConfig.height*t/r,y:this.sizeConfig.height}]):e.points=[e.points[0],{x:t,y:r}]}},{key:"addImageShape",value:function(e){var t=this;return Log.logInfo("RtcWhiteboard.addImageShape",e),new Promise(function(r,n){var i=new Image$1({points:[{x:0,y:0},{x:0,y:0}],shapeId:t.getNewShapeId(),pageId:t.currentPage.pageId,creator:t.userId},e);i.loadImage().then(function(e){var n=t._getLimitedImgSize(e.naturalWidth,e.naturalHeight),o=n.imgWidth,a=n.imgHeight,s=t.getViewport();i.points=[{x:(s.minx+s.maxx-o)/2,y:(s.miny+s.maxy-a)/2},{x:(s.minx+s.maxx+o)/2,y:(s.miny+s.maxy+a)/2}],t.currentPage.addShape(i),t.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,i.shapeId,i.export(),void 0)),t.setAsSelectedShape(i),t.throttleSendDrawCmd(i,"draw"),r()}).catch(function(r){Log.logError("RtcWhiteboard.addImageShape: img load failed, ",r,e),t._onLoadImageError(e),n(new DingRTCError(ErrorCode.InvaildState,"img load failed"))})})}},{key:"setStamp",value:function(e){this.stampId=e,this.setToolType(ShapeType.Stamp)}},{key:"thumbnails",get:function(){return"default"===this.activeDoc.docId?[]:some(this.activeDoc.getPages(),function(e){return e.backgroundImage})?this.activeDoc.getPages().map(function(e,t){var r;return(null===(r=e.backgroundImage)||void 0===r?void 0:r.imgUrl)||"empty-bg-".concat(t)}):[]}},{key:"setMediaShapeCallback",value:function(e){var t=this;e.setCallback({onShapeFocused:function(e){return t._focusShape(e)},onShapeSelected:function(e){return t._selectShape(e)},onMediaUpdate:function(e){t.isSynchronizer&&t.sendDrawCmd(e,"draw")}})}},{key:"addAudioShape",value:function(e){var t=this;return Log.logInfo("RtcWhiteboard.addAudioShape invoked"),new Promise(function(r,n){t.isConnected||n(new DingRTCError(ErrorCode.InvaildState));var i=t.getViewport(),o=new Audio({points:[{x:(i.minx+i.maxx-MEDIA_DOM_WIDTH)/2,y:(i.miny+i.maxy-AUDIO_DOM_HEIGHT)/2},{x:(i.minx+i.maxx+MEDIA_DOM_WIDTH)/2,y:(i.miny+i.maxy+AUDIO_DOM_HEIGHT)/2}],shapeId:t.getNewShapeId(),pageId:t.currentPage.pageId,creator:t.userId},e);t.setMediaShapeCallback(o),t.currentPage.addShape(o),t.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,o.shapeId,o.export(),void 0)),t.setAsSelectedShape(o),t.throttleSendDrawCmd(o,"draw"),r()})}},{key:"addVideoShape",value:function(e){var t=this;return Log.logInfo("RtcWhiteboard.addVideoShape",e),new Promise(function(r,n){t.isConnected||n(new DingRTCError(ErrorCode.InvaildState));var i=t.getViewport(),o=new Video({points:[{x:(i.minx+i.maxx-MEDIA_DOM_WIDTH)/2,y:(i.miny+i.maxy-VIDEO_DOM_HEIGHT)/2},{x:(i.minx+i.maxx+MEDIA_DOM_WIDTH)/2,y:(i.miny+i.maxy+VIDEO_DOM_HEIGHT)/2}],shapeId:t.getNewShapeId(),pageId:t.currentPage.pageId,creator:t.userId},e);t.setMediaShapeCallback(o),t.currentPage.addShape(o),t.history.saveHistory(new ShapeHistory(HistoryActionType.newShape,o.shapeId,o.export(),void 0)),t.setAsSelectedShape(o),t.throttleSendDrawCmd(o,"draw"),r()})}},{key:"setAsSelectedShape",value:function(e){this.selectedShape&&(this.selectedShape.interactionStatus=InteractionStatusType.default),this.selectedShape=e,e.interactionStatus=InteractionStatusType.selected}},{key:"insertPage",value:function(e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.docManager.activeDocId,r=3>=arguments.length||void 0===arguments[3]||arguments[3];if(Log.logInfo("RtcWhiteboard.insertPage",e,1>=arguments.length||void 0===arguments[1]||arguments[1],t,r),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState);var n,i=this.docManager.getDocByDocId(t);if(!i)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not found");if(!i.canModifyPage)throw new DingRTCError(ErrorCode.InvaildArgument,"doc can not modify");if(i.browseMode===DocBrowserMode.scroll)i.scrollPages=i.scrollPages+1,null===(n=this.connection)||void 0===n||n.sendDocResourceMessage(i);else if(i.browseMode===DocBrowserMode.flip){var o;if(0>e)throw new DingRTCError(ErrorCode.InvaildArgument,"invalid index");var a=i.generateNewPageId(),s=i.getPages().map(function(e){return e.pageId});return null==s||s.splice(e+1,0,a),null===(o=this.connection)||void 0===o||o.sendDocResourceMessage(i,r?a:i.curPageId,s),this.activeDocId!==t&&r&&this.switchToDoc(t),a}}},{key:"removeScrollDocShapesByScrollY",value:function(e,t){var r=this;if(e.browseMode===DocBrowserMode.scroll){var n=e.getPages()[0],i=t*e.scrollPageHeight;n.getShapes().forEach(function(e){e.miny>i&&r.deleteShape(e,!1)})}}},{key:"setSizeLimitVisible",value:function(e){this.sizeLimitVisible=e,this.render()}},{key:"updateCustomDocPosition",value:function(e){if(Log.logInfo("RtcWhiteboard.updateCustomDocPosition",e.docId,e.name),e.width){var t=this.calculateScaleAndTranslate({width:e.externalDocWidth,height:e.externalDocHeight,minx:0,miny:0});e.getPages().forEach(function(e){e.scale=t.scale,e.translate=[t.translate[0],t.translate[1]]})}else Log.logError("RtcWhiteboard.updateCustomDocPosition doc width not exists!")}},{key:"centerPdfDoc",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.activeDoc;if(Log.logInfo("RtcWhiteboard.centerPdfDoc",e.docId,e.name),e instanceof PdfDoc){var t=this.getWrapperDomRect().width/e.width;e.getPages().forEach(function(e){e.scale=t,e.translate[0]=0}),this.render()}else Log.logError("RtcWhiteboard.centerPdfDoc doc width not exists!")}},{key:"getPdfVisiblePage",value:function(){var e;if(this.activeDoc instanceof PdfDoc&&"loaded"===this.activeDoc.pdfViewer.state){for(var t=this.activeDoc.pdfViewer.pdfPages.size,r=this.getViewport(),n=-1,i=t-1,o=0;t>o;o++){var a=this.activeDoc.pdfViewer.pdfPages.get(o);if(!a)return;if(-1===n&&a.top>r.miny&&(n=o-1),a.top>=r.maxy){i=o-1;break}}-1===n&&(n=t-1);var s=0>n-3?0:n-3,c=i+3>t?t:i+3;return n!==(null===(e=this.activeDoc.pdfViewer)||void 0===e?void 0:e.pageIndex)&&(this.activeDoc.pdfViewer.pageIndex=n),{pagesNum:t,start:s,end:c,firstVisibleIndex:n,lastVisibleIndex:i}}}},{key:"followVision",value:function(e){"pdf"!==this.activeDoc.type&&(Log.logInfo("RtcWhiteboard.followVision"),this.activeDoc.setDocViewport(e,this.getWrapperDomRect()))}},{key:"calculateScaleAndTranslate",value:function(e){var t=this.getWrapperDomRect(),r=e.width,n=e.height,i=0;return{scale:i=t.height/n>t.width/r?t.width/r:t.height/n,translate:[-e.minx*i-(r*i-t.width)/2,-e.miny*i-(n*i-t.height)/2]}}},{key:"showFps",value:function(){var e=this;Log.logInfo("RtcWhiteboard.showFps"),this.renderer.frameRenderRate=0,this.frameRenderRateInterval=window.setInterval(function(){e.renderFPS.innerHTML="fps: ".concat(e.renderer.frameRenderRate),e.renderer.frameRenderRate=0},1e3)}},{key:"stopShowFps",value:function(){Log.logInfo("RtcWhiteboard.stopShowFps"),clearInterval(this.frameRenderRateInterval)}},{key:"setPenetrable",value:function(e){Log.logInfo("RtcWhiteboard.setPenetrable",e),this._penetrable=e}},{key:"getViewport",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.currentPage,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getWrapperDomRect();return{minx:-e.translate[0]/e.scale,miny:-e.translate[1]/e.scale,maxx:(null==t?void 0:t.width)/e.scale-e.translate[0]/e.scale,maxy:(null==t?void 0:t.height)/e.scale-e.translate[1]/e.scale}}},{key:"setShapesVisible",value:function(e){var t,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e?(Log.logInfo("RtcWhiteboard.showWhiteboard"),this.enableInteraction(),this.renderer.showCanvas(),this.bgImg.parentElement!==this.wbWrapperDom&&this.wbWrapperDom.appendChild(this.bgImg)):(Log.logInfo("RtcWhiteboard.hideWhiteboard",r),this.stopInteraction(),this.renderer.hideCanvas(),r&&(null===(t=this.bgImg.parentElement)||void 0===t||t.removeChild(this.bgImg)));this.isShapesVisible=e}},{key:"convertPointCoords",value:function(e){return{x:(e.x-this.translate[0])/this.scale,y:(e.y-this.translate[1])/this.scale}}},{key:"convertDelta",value:function(e){return e/this.scale}},{key:"checkMouseOverAndSetType",value:function(e,t,r){if(this.selectedShape&&this.selectedShape.isPointInShapeRect(e,t))return this.visibleShapes.forEach(function(e){return e.interactionStatus=InteractionStatusType.default}),void(this.selectedShape.interactionStatus=r);for(var n=!1,i=this.visibleShapes.length-1;i>=0;i--){var o=this.visibleShapes[i];if(this.isPermittedShape(o))o.isPointInShape(e,t)&&!n?(n=!0,o.interactionStatus=r,this.selectedShape=o,o instanceof Text&&(this.textArea.value=o.text)):includes(this.multiSelecetedShapes,o)||(o.interactionStatus=InteractionStatusType.default)}n||(this.selectedShape=void 0)}},{key:"focusTetxArea",value:function(e){var t=this;if(this.chackIfTextAreaOutofBound(e),this.textArea.style.zIndex="1",this.textArea.style.color=this.strokeStyle,this.textArea.value=e.text,this.textArea!==document.activeElement){var r=this.textArea.value.length;this.textArea.setSelectionRange(r,r),this.textArea.focus(),requestAnimationFrame(function(){return t.textArea.focus()})}}},{key:"chackIfTextAreaOutofBound",value:function(e){var t=this.getVisionMaxX(),r=this.getVisionMaxY();(e.maxy>r||e.maxx>t)&&(this.setTranslate(e.maxx>t?this.translate[0]+(t-e.maxx-10)*this.scale:this.translate[0],e.maxy>r?this.translate[1]+(r-e.maxy-10)*this.scale:this.translate[1]),this.renderer.doRender())}},{key:"_selectShape",value:function(e){this.selectedShape!==e&&this.isPermittedShape(e)&&this.setAsSelectedShape(e)}},{key:"_focusShape",value:function(e){this.isPermittedShape(e)&&this.insertType===ShapeType.Select&&e.interactionStatus!==InteractionStatusType.selected&&(e.interactionStatus=InteractionStatusType.focused)}},{key:"getShapeResizeHandle",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.selectedShape;return r&&find(r.outlineResizeHandles,function(r){return r.isPointInShape(e,t)})}},{key:"rangeSelect",value:function(){var e=this,t=[],r=this.insertType===ShapeType.Delete?InteractionStatusType.willBeDeleted:InteractionStatusType.focused;this.visibleShapes.forEach(function(n){e.isPermittedShape(n)&&(e.selectIndicator.isPointInShapeRect(n.minx,n.miny)||e.selectIndicator.isPointInShapeRect(n.maxx,n.miny)||e.selectIndicator.isPointInShapeRect(n.maxx,n.maxy)||e.selectIndicator.isPointInShapeRect(n.minx,n.maxy))?(t.push(n),n.interactionStatus=r):n.interactionStatus=InteractionStatusType.default}),this.multiSelecetedShapes=t}},{key:"clearSelectedShapes",value:function(){this.selectedShape&&(this.selectedShape.interactionStatus=InteractionStatusType.default,this.selectedShape=void 0),this.multiSelecetedShapes.forEach(function(e){return e.interactionStatus=InteractionStatusType.default}),this.multiSelecetedShapes=[]}},{key:"shouldUpdateViewAfterSizeChange",get:function(){return"externalDoc"===this.activeDoc.type||this._bFollowVision}},{key:"moveAndScaleDisabled",get:function(){return this._scaleAndMoveDisabled||"externalDoc"===this.activeDoc.type||this._bFollowVision}},{key:"getShapeByPoint",value:function(e,t){for(var r=this.visibleShapes.length-1;r>=0;r--){var n=this.visibleShapes[r];if(this.isPermittedShape(n)&&n.isPointInShape(e,t))return n}}},{key:"center",value:function(){this._scaleBoardFitBackground(arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.activeDoc)}},{key:"enableCursorSync",value:function(){this._cursorSyncEnabled=!0}},{key:"disableCursorSync",value:function(){this._cursorSyncEnabled=!1}},{key:"isPointInAnyMultySlectedShape",value:function(e,t){for(var r=!1,n=0;this.multiSelecetedShapes.length>n;n++)if(this.multiSelecetedShapes[n].isPointInShapeRect(e,t)){r=!0;break}return r}},{key:"uploadLocalImage",value:function(e,t,r){var n,i,o,a=this;uploadTempFile({file:e,channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(n=null===(i=this.connection)||void 0===i?void 0:i.connectionInfo.securityToken)&&void 0!==n?n:"",gslb:(null===(o=this.connection)||void 0===o?void 0:o.connectionInfo.gslb)||getGslb(),onProgress:r}).then(function(r){var n=r.url;t?a.setBackgroundImage(n):includes(e.name,".gif")||includes(e.name,"imgtype=gif")?a.addImageShape(includes(n,"?")?"".concat(n,"&imgtype=gif"):"".concat(n,"?imgtype=gif")).catch(function(){Log.logError("RtcWhiteboard.uploadLocalImage","addImageShape error")}):a.addImageShape(n).catch(function(){Log.logError("RtcWhiteboard.uploadLocalImage","addImageShape error")})}).catch(function(e){Log.logError("RtcWhiteboard.uploadLocalImage: img upload failed, ",e.message,a.sessionId)})}},{key:"deleteRageSelectedShapes",value:function(){var e=this,t=[];this.multiSelecetedShapes.forEach(function(r){r.interactionStatus=InteractionStatusType.default;var n=r.export();r.visible=!1,r instanceof Text?(r.interactionStatus=InteractionStatusType.default,e.textArea.style.zIndex="0",e.textArea.style.color="transparent"):(r instanceof Video||r instanceof Audio)&&r.removeMediaDom(),t.push({shapeId:r.shapeId,currentState:r.export(),lastState:n}),e.sendDrawCmd(r,"draw")}),this.history.batchSave(new BatchHistory(HistoryActionType.hideShape,t)),this.multiSelecetedShapes=[]}},{key:"copyShapeInfoToClipboard",value:function(e){var t=this.activeDoc,r=e.map(function(e){return{docId:t.docId,pageId:t.currentPage.pageId,shapeId:e.shapeId}});setClipboard(JSON.stringify(r)).catch(function(e){Log.logError("RtcWhiteboard.copyShapeInfoToClipboard failed",e.message)})}},{key:"disableScaleAndMove",value:function(){Log.logInfo("RtcWhiteboard.disableScaleAndMove"),this._scaleAndMoveDisabled=!0}},{key:"enableScaleAndMove",value:function(){Log.logInfo("RtcWhiteboard.enableScaleAndMove"),this._scaleAndMoveDisabled=!1}},{key:"disableWheelScale",value:function(){Log.logInfo("RtcWhiteboard.disableWheelScale"),this.wheelDsiabled=!0}},{key:"enableWheelScale",value:function(){Log.logInfo("RtcWhiteboard.enableWheelScale"),this.wheelDsiabled=!1}},{key:"enableInteraction",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._role;this.stopInteraction(),"Viewer"!==e?(this.hammer.on("tap",this.onTap),this.hammer.on("panstart",this.onPanStart),this.hammer.on("panmove",this.onPanMove),this.hammer.on("panend",this.onPanEnd),this.hammer.on("pinchstart",this.onPinchStart),this.hammer.on("pinchin",this.onPinch),this.hammer.on("pinchend",this.onPinchEnd),this.hammer.on("pinchout",this.onPinch),this.hammer.on("pinchmove",this.onPinchMove),this.wbWrapperDom.addEventListener("dblclick",this.onDoubleClick),this.wbWrapperDom.addEventListener("mousedown",this.onMouseDown),this.wbWrapperDom.addEventListener("mousemove",this.onMouseMove),this.wbWrapperDom.addEventListener("touchend",this.onTouchEnd),this.wbWrapperDom.addEventListener("mouseup",this.onMouseUp),this.wbWrapperDom.addEventListener("contextmenu",this.onContextMenu),this.wbWrapperDom.addEventListener("wheel",this.onWheel),document.addEventListener("keydown",this.onKeyDown),document.addEventListener("keyup",this.onKeyUp),document.addEventListener("mouseout",this.onMouseOut),document.addEventListener("paste",this.onPaste)):Log.logInfo("RtcWhiteboard.enableInteraction role is viewer, return")}},{key:"stopInteraction",value:function(){this.wbWrapperDom.removeEventListener("mousemove",this.onMouseMove),this.wbWrapperDom.removeEventListener("mousedown",this.onMouseDown),this.wbWrapperDom.removeEventListener("mouseup",this.onMouseUp),this.wbWrapperDom.removeEventListener("contextmenu",this.onContextMenu),this.wbWrapperDom.removeEventListener("wheel",this.onWheel),this.wbWrapperDom.removeEventListener("touchend",this.onTouchEnd),document.removeEventListener("keydown",this.onKeyDown),document.removeEventListener("keyup",this.onKeyUp),document.removeEventListener("mouseout",this.onMouseOut),document.removeEventListener("paste",this.onPaste),this.hammer&&(this.hammer.off("tap",this.onTap),this.hammer.off("panstart",this.onPanStart),this.hammer.off("panmove",this.onPanMove),this.hammer.off("panend",this.onPanEnd),this.hammer.on("pinchstart",this.onPinchStart),this.hammer.off("pinchin",this.onPinch),this.hammer.off("pinchend",this.onPinchEnd),this.hammer.off("pinchout",this.onPinch),this.hammer.off("pinchmove",this.onPinchMove))}},{key:"deleteShapeOnPosition",value:function(e,t){for(var r=this.visibleShapes.length-1;r>=0;r--){var n=this.visibleShapes[r];if(this.isPermittedShape(n)&&n.isPointInShape(e,t)){this.deleteShape(n);break}}}},{key:"snapshot",value:(n=_asyncToGenerator$1(_regeneratorRuntime$1.mark(function e(){var t,r,n,i,o,a,s,c,l,u,d,p,h,f,g,y,v,m,b,S,_,w,I,T,E,O,P,C,R,x,k,A,D,N=arguments;return _regeneratorRuntime$1.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=N.length>2&&void 0!==N[2]?N[2]:"png",i=N.length>3&&void 0!==N[3]?N[3]:.5,Log.logInfo("RtcWhiteboard.snapshot",t=0>=N.length||void 0===N[0]||N[0],r=N.length>1&&void 0!==N[1]?N[1]:"view",this.sessionId),o=document.createElement("canvas"),a=this.renderer.canvasElement.width,s=this.renderer.canvasElement.height,c=0,l=0,u=0,d=0,this.activeDoc instanceof PdfDoc&&"all"===r&&(r="view",Log.logWarn("RtcWhiteboard.snapshot current page is pdf, only supprot snapshot mode 'view'")),"all"===r?(p=this.getViewport(),c=Math.min.apply(Math,[this.currentPage.backgroundImage?this.currentPage.backgroundImage.minx:0].concat(_toConsumableArray((h=this.visibleShapes).map(function(e){return e.minx}))))-10,l=Math.max.apply(Math,[0,this.currentPage.backgroundImage?this.currentPage.backgroundImage.maxx:0].concat(_toConsumableArray(h.map(function(e){return e.maxx}))))+10,u=Math.min.apply(Math,[this.currentPage.backgroundImage?this.currentPage.backgroundImage.miny:0].concat(_toConsumableArray(h.map(function(e){return e.miny}))))-10,d=Math.max.apply(Math,[0,this.currentPage.backgroundImage?this.currentPage.backgroundImage.maxy:0].concat(_toConsumableArray(h.map(function(e){return e.maxy}))))+10,c=Math.min(p.minx,c),l=Math.max(p.maxx,l),u=Math.min(p.miny,u),d=Math.max(p.maxy,d),f=(l-c)*this.getDevicePixelRatio(),g=(d-u)*this.getDevicePixelRatio(),o.width=f,o.height=g):(o.width=a,o.height=s),(y=o.getContext("2d")).save(),y.fillStyle=this.currentPage.backgroundColor,y.fillRect(0,0,o.width,o.height),y.restore(),!this.currentPage.backgroundImage){e.next=11;break}if(e.prev=1,v=this.currentPage.backgroundImage.img){e.next=3;break}return e.next=2,this.currentPage.backgroundImage.loadImage();case 2:v=this.currentPage.backgroundImage.img;case 3:if(isImageExportable(v)){e.next=9;break}return e.prev=4,e.next=5,ImageLoader.loadImgAnonymous(this.currentPage.backgroundImage.imgUrl);case 5:if(v=e.sent){e.next=7;break}return e.next=6,this.currentPage.backgroundImage.loadImage();case 6:v=this.currentPage.backgroundImage.img;case 7:v=void 0,e.next=9;break;case 8:e.prev=8,k=e.catch(4),v=void 0,Log.logError("背景图截图失败",JSON.stringify(k));case 9:v&&(m=this._getLimitedImgSize(v.naturalWidth,v.naturalHeight),b=m.imgWidth,S=m.imgHeight,y.save(),"all"===r?(y.scale(this.getDevicePixelRatio(),this.getDevicePixelRatio()),y.drawImage(v,this.currentPage.backgroundImage.minx,this.currentPage.backgroundImage.miny,b,S),y.scale(1/this.getDevicePixelRatio(),1/this.getDevicePixelRatio())):(y.translate(this.translate[0]*this.getDevicePixelRatio(),this.translate[1]*this.getDevicePixelRatio()),y.scale(this.scale*this.getDevicePixelRatio(),this.scale*this.getDevicePixelRatio()),y.drawImage(v,this.currentPage.backgroundImage.minx,this.currentPage.backgroundImage.miny,b,S),y.scale(1/this.scale/this.getDevicePixelRatio(),1/this.scale/this.getDevicePixelRatio()),y.translate(-this.translate[0]*this.getDevicePixelRatio(),-this.translate[1]*this.getDevicePixelRatio())),y.restore()),e.next=11;break;case 10:e.prev=10,A=e.catch(1),Log.logError("RtcWhiteboard.snapshot error, current page background image is blocked by CROS",JSON.stringify(A));case 11:if(!(this.activeDoc instanceof PdfDoc)){e.next=15;break}if(!(_=this.getPdfVisiblePage())){e.next=15;break}w=_.lastVisibleIndex,I=_.firstVisibleIndex;case 12:if(I>w){e.next=15;break}if(E=null===(T=this.activeDoc.pdfViewer)||void 0===T||null===(T=T.pdfPages.get(I))||void 0===T?void 0:T.img){e.next=13;break}return e.abrupt("continue",14);case 13:O=parseInt(E.getAttribute("data-w")||"",10),P=parseInt(E.getAttribute("data-h")||"",10),C=parseInt(E.getAttribute("data-t")||"",10),y.translate(this.translate[0]*this.getDevicePixelRatio(),this.translate[1]*this.getDevicePixelRatio()),y.scale(this.scale*this.getDevicePixelRatio(),this.scale*this.getDevicePixelRatio()),y.drawImage(E,0,C,O,P),y.scale(1/this.scale/this.getDevicePixelRatio(),1/this.scale/this.getDevicePixelRatio()),y.translate(-this.translate[0]*this.getDevicePixelRatio(),-this.translate[1]*this.getDevicePixelRatio());case 14:I++,e.next=12;break;case 15:return e.prev=15,"all"===r?(this.renderer.renderAllVisibleShapes(y,[-c,-u],1,!0),this.renderer.renderTopShapes(y,[-c,-u],1)):(this.renderer.renderAllVisibleShapes(y,this.translate,this.scale,!0),this.renderer.renderTopShapes(y,this.translate,this.scale)),R=o.toDataURL("image/".concat(n),i),t&&((x=document.createElement("a")).download="".concat(this.userId,"_").concat((new Date).toISOString(),".png"),x.href=R,document.body.appendChild(x),x.click(),x.remove()),e.abrupt("return",R);case 16:throw e.prev=16,D=e.catch(15),Log.logError("白板截图失败",D),new DingRTCError(ErrorCode.InvaildState,JSON.stringify(D));case 17:case"end":return e.stop()}},e,this,[[1,10],[4,8],[15,16]])})),function(){return n.apply(this,arguments)})},{key:"getNewShapeId",value:function(){return"".concat(this.userId).concat(SHAPE_SEQ_LINK_STR).concat(this.natureObjSeq++)}},{key:"isPermittedShape",value:function(e){return this.isAdmin||e.creator===this.userId}},{key:"getStatistics",value:function(){Log.logInfo("RtcWhiteboard.getStatistics");var e=[];return this.docManager.getDocs().forEach(function(t){t.getPages().forEach(function(t){t.getShapes().forEach(function(t){var r=find(e,{userId:t.creator});r||e.push(r={userId:t.creator,shapes:[]}),r.shapes.push(omit(t.export(),["points","rngReverse"]))})})}),e}},{key:"clearUserContents",value:function(e,t,r){var n,i=this;if(Log.logInfo("RtcWhiteboard.clearUserContents",e,t,r,this.isAdmin,this.sessionId),e!==this.userId&&!this.isAdmin)throw new DingRTCError(ErrorCode.InvaildArgument,"cannot clear contents becase of privilege");var o=[],a=[];this.docManager.getDocs().forEach(function(n){n.getPages().forEach(function(n){t&&n.pageId!==i.currentPage.pageId||n.getShapes().filter(function(t){return t.creator===e&&(r===WBClearType.BACKGROUND_IMAGE?t===n.backgroundImage:r!==WBClearType.DRAWS||t!==n.backgroundImage)}).forEach(function(e){t&&a.push(e),o.push({seq:e.shapeSeq,userId:e.creator})})})}),a.length&&this.history.batchSave(new BatchHistory(HistoryActionType.deleteShape,a.map(function(e){return{shapeId:e.shapeId,currentState:e.export(),lastState:e.export()}}))),null===(n=this.connection)||void 0===n||n.sendClearDrawMsg(o)}},{key:"createDoc",value:function(e,t,r,n){var i,o,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:genRandomDocId();if(Log.logInfo("RtcWhiteboard.createDoc",e,t,this.sessionId),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState,"session not connected");null===(i=this.connection)||void 0===i||i.sendCreateDocResourceMessage(a,e,t,r,n),null===(o=this.connection)||void 0===o||o.sendActiveDocResourceMessage(a)}},{key:"setLocale",value:function(e){I18n.locale=e}},{key:"setI18nConfig",value:function(e){I18n.setConfig(e)}},{key:"getI18nConfig",value:function(){return I18n.conifg}},{key:"resendLocalInfoOnFailover",value:function(){Log.logInfo("RtcWhiteboard.resendLocalInfoOnFailover"),this.sendLocalDocAndShapesOnReconnect(),this.setRoleType(this.role),this.bSharingVision&&(Log.logInfo("RtcWhiteboard.resendLocalInfoOnFailover resend locale vision"),this.throttleSendVisionCmd(this.getViewport()))}},{key:"sendLocalDocAndShapesOnReconnect",value:function(){var e=this;this.failoverShapeCache.clear(),this.failoverDocCache.clear(),this._innerEventhub.once("syncCompleted",function(){e.docManager.getDocs().forEach(function(t){var r,n;(e.failoverDocCache.get(t.docId)||-1)<t.pageVersion&&(null===(r=e.connection)||void 0===r||r.sendDocResourceMessage(t),e.isSynchronizer&&t.docId===e.docManager.activeDocId&&(null===(n=e.connection)||void 0===n||n.sendActiveDocResourceMessage(t.docId)));t.getPages().forEach(function(t){t.getShapes().forEach(function(t){e.failoverShapeCache.get(t.shapeId)||e.sendDrawCmd(t,"draw")}),t.backgroundImage&&(e.failoverShapeCache.get(t.backgroundImage.shapeId)||e.sendDrawCmd(t.backgroundImage,"draw"))})})})}},{key:"open",value:function(e){var t=this;Log.logInfo("RtcWhiteboard.openWhiteboard",this.sessionId),this.checkDocAndSetPenetrable(this.insertType),e.appendChild(this.wbWrapperDom),this.wrapperDomRect=e.getBoundingClientRect(),window.addEventListener("resize",this.autoUpdateCanvasSize),window.addEventListener("scroll",this.autoUpdateCanvasSize),this.enableInteraction(),window.requestAnimationFrame(function(){t.updateCanvasSize(!1),t._updateBoardWithNewScale(t.scale,0,0),t.render()}),setTimeout(function(){t.updateCanvasSize(!1,!1,!0),t._updateBoardWithNewScale(t.scale,0,0),t.render()},1e3),this.isWhiteboardOpen=!0,window.addEventListener("panoPenEvent",this._onPenEvent),requestAnimationFrame(function(){t.docManager.getDocs().forEach(function(e){return e.getPages().forEach(function(r,n){e.docId===t.activeDocId&&n===t.pageIndex&&t._bFollowVision||(e.scaleBoardFitBackgroundImage(r,t.getWrapperDomRect(),t.bgScaleMode),e instanceof ExternalDoc&&e.width&&t.updateCustomDocPosition(e))})}),t._everOpened||(t.fitWithSizeConfig(),t._everOpened=!0)}),this.isOpen=!0,this._bFollowVision&&requestAnimationFrame(function(){t._visionLockInfo&&t.followVision(t._visionLockInfo)})}},{key:"close",value:function(){var e;Log.logInfo("RtcWhiteboard.close"),window.removeEventListener("panoPenEvent",this._onPenEvent),this.isWhiteboardOpen=!1,this.currentPage.getShapes().forEach(function(e){(e instanceof Video||e instanceof Audio)&&e.removeMediaDom()}),this.stopInteraction(),null===(e=this.wbWrapperDom.parentElement)||void 0===e||e.removeChild(this.wbWrapperDom),window.removeEventListener("resize",this.autoUpdateCanvasSize),window.removeEventListener("scroll",this.autoUpdateCanvasSize),clearInterval(this.frameRenderRateInterval),this.isOpen=!1}},{key:"alignVision",value:function(){var e,t=this.getViewport();null===(e=this.connection)||void 0===e||e.sendVisionResourceMsg(t.maxx-t.minx,t.maxy-t.miny,t.minx,t.miny)}},{key:"initVision",value:function(e,t){var r,n,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(Log.logInfo("RtcWhiteboard.initVision",e,t,i,this.sessionId),!parseFloat("".concat(e))||!parseFloat("".concat(t)))throw new DingRTCError(ErrorCode.InvaildArgument);if(t!==(null===(r=this.sizeConfig)||void 0===r?void 0:r.height)||e!==(null===(n=this.sizeConfig)||void 0===n?void 0:n.width)||i!==this.isSizeLimited){var o={width:e,height:t,limited:i};this.sizeConfig=o,this.docManager.getDocs().forEach(function(e){e.setSizeConfig(o)}),this.fitWithSizeConfig()}}},{key:"startVisionShare",value:function(){Log.logInfo("RtcWhiteboard.startVisionShare",this.sessionId),this.bSharingVision=!0,this._bFollowVision=!1,this.enableScaleAndMove(),this.isOpen&&this.throttleSendVisionCmd(this.getViewport())}},{key:"stopVisionShare",value:function(){var e;Log.logInfo("RtcWhiteboard.stopVisionShare",this.sessionId),this.bSharingVision=!1,this._lockVisonUserId===this.userId&&(null===(e=this.connection)||void 0===e||e.sendClearResourceMsg("vision",["vision"]))}},{key:"startFollowVision",value:function(){Log.logInfo("RtcWhiteboard.startFollowVision",this._visionLockInfo,this.sessionId),this._bFollowVision=!0,this._visionLockInfo&&this.followVision(this._visionLockInfo)}},{key:"stopFollowVision",value:function(){Log.logInfo("RtcWhiteboard.stopFollowVision",this.sessionId),this._bFollowVision=!1}},{key:"deleteDoc",value:function(e,t){var r;if(Log.logInfo("RtcWhiteboard.deleteDoc",this.sessionId),e===DEFAULT_DOC_ID)throw new DingRTCError(ErrorCode.InvaildArgument,"cannot delete default doc");var n=this.docManager.getDocByDocId(e);if(!n)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not found");e===this.docManager.activeDocId&&(t&&this.docManager.getDocByDocId(t)?this.switchToDoc(t):this.switchToDoc(DEFAULT_DOC_ID)),null===(r=this.connection)||void 0===r||r.sendClearResourceMsg("doc",[n.docId]),this.docManager.deleteDocByDocId(e)}},{key:"clearContents",value:function(e,t){var r,n=this;if(Log.logInfo("RtcWhiteboard.clearContents",e,t,this.sessionId),!this.isAdmin)throw Log.logError("RtcWhiteboard.clearContents failed, not admin role"),new DingRTCError(ErrorCode.InvaildArgument,"cannot clear contents becase of privilege");var i=[];if(e){var o=[];t===WBClearType.All?this.currentPage.getShapes().forEach(function(e){o.push(e),i.push({seq:e.shapeSeq,userId:e.creator})}):t===WBClearType.BACKGROUND_IMAGE?this.currentPage.backgroundImage&&(o.push(this.currentPage.backgroundImage),i.push({seq:this.currentPage.backgroundImage.shapeSeq,userId:this.currentPage.backgroundImage.creator})):t===WBClearType.DRAWS&&this.currentPage.getShapes().forEach(function(e){e!==n.currentPage.backgroundImage&&(o.push(e),i.push({seq:e.shapeSeq,userId:e.creator}))}),o.length&&this.history.batchSave(new BatchHistory(HistoryActionType.deleteShape,o.map(function(e){return{shapeId:e.shapeId,currentState:e.export(),lastState:e.export()}})))}else t===WBClearType.All?this.docManager.getDocs().forEach(function(e){e.getPages().forEach(function(e){e.getShapes().forEach(function(e){i.push({seq:e.shapeSeq,userId:e.creator})})})}):t===WBClearType.BACKGROUND_IMAGE?this.docManager.getDocs().forEach(function(e){e.getPages().forEach(function(e){e.backgroundImage&&i.push({seq:e.backgroundImage.shapeSeq,userId:e.backgroundImage.creator})})}):t===WBClearType.DRAWS&&this.docManager.getDocs().forEach(function(e){e.getPages().forEach(function(e){e.getShapes().forEach(function(t){t!==e.backgroundImage&&i.push({seq:t.shapeSeq,userId:t.creator})})})});null===(r=this.connection)||void 0===r||r.sendClearDrawMsg(i)}},{key:"clearDocContents",value:function(e,t){var r;if(Log.logInfo("RtcWhiteboard.clearDocContents",e,t,this.isAdmin,this.sessionId),!this.isAdmin)throw new DingRTCError(ErrorCode.InvaildArgument,"cannot clear contents becase of privilege");var n=this.docManager.getDocByDocId(e);if(!n)throw new DingRTCError(ErrorCode.InvaildArgument,"doc not found");var i=[];n.getPages().forEach(function(e){e.getShapes().forEach(function(e){i.push({seq:e.shapeSeq,userId:e.creator})})}),null===(r=this.connection)||void 0===r||r.sendClearDrawMsg(i)}},{key:"setScale",value:function(e){this.activeDoc.setScale(e,!0,this.getWrapperDomRect())}},{key:"uploadPDF",value:function(e){var t,r,n,i=this;return Log.logInfo("RtcWhiteboard.uploadPDF",this.sessionId),selectAndUploadTempFile({accept:".pdf",channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(t=null===(r=this.connection)||void 0===r?void 0:r.connectionInfo.securityToken)&&void 0!==t?t:"",gslb:(null===(n=this.connection)||void 0===n?void 0:n.connectionInfo.gslb)||getGslb(),onProgress:e}).then(function(e){return i.addPdfDoc(e.url,e.fileName),e})}},{key:"addPdfDoc",value:function(e,t){var r,n,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:genRandomDocId(),o=arguments.length>3?arguments[3]:void 0;Log.logInfo("RtcWhiteboard.addPdfDoc",e,t,this.sessionId);var a=i;return null===(r=this.connection)||void 0===r||r.sendCreatePdfDocResourceMessage(i,t,e,o),null===(n=this.connection)||void 0===n||n.sendActiveDocResourceMessage(i),a}},{key:"transcodeFile",value:function(e){var t,r,n,i=this;Log.logInfo("RtcWhiteboard.transcodeFile",e,this.sessionId);var o=e.targetType,a=e.onUploadProgress,s=e.onTranscodeProgress;return selectAndTranscodeFile({accept:".docx, .xlsx, .pptx, .doc, .xls, .ppt, .pdf",channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(t=null===(r=this.connection)||void 0===r?void 0:r.connectionInfo.securityToken)&&void 0!==t?t:"",gslb:(null===(n=this.connection)||void 0===n?void 0:n.connectionInfo.gslb)||getGslb(),targetType:o,onUploadProgress:a,onTranscodeProgress:s}).then(function(e){var t=e.url,r=e.fileName,n=e.docId;return"pdf"===o?i.addPdfDoc(t[0],r,n,n):i.addBackgroundImages(t,r,n),e})}},{key:"addBackgroundImages",value:function(e,t){var r,n,i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:genRandomDocId();if(Log.logInfo("RtcWhiteboard.addBackgroundImages",t,this.sessionId),!this.isConnected)throw new DingRTCError(ErrorCode.InvaildState,"session not connected");null===(r=this.connection)||void 0===r||r.sendCreateDocResourceMessage(o,e.length,t||o.slice(-6)),null===(n=this.connection)||void 0===n||n.sendActiveDocResourceMessage(o),e.forEach(function(e,t){var r,n="".concat(o,"-").concat(t+1),a=new Image$1({points:[{x:0,y:0},{x:0,y:0}],shapeId:"bg-".concat(n),pageId:n,creator:i.userId},e);a.order=ShapeOrderType.bg,null===(r=i.connection)||void 0===r||r.sendShapeDrawMessage(a)})}},{key:"uploadAudio",value:function(e){var t,r,n,i=this;return Log.logInfo("RtcWhiteboard.uploadAudio",this.sessionId),selectAndUploadTempFile({accept:"audio/mp3,audio/ogg",channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(t=null===(r=this.connection)||void 0===r?void 0:r.connectionInfo.securityToken)&&void 0!==t?t:"",gslb:(null===(n=this.connection)||void 0===n?void 0:n.connectionInfo.gslb)||getGslb(),onProgress:e}).then(function(e){return i.addAudioShape(e.url),e})}},{key:"uploadVideo",value:function(e){var t,r,n,i=this;return Log.logInfo("RtcWhiteboard.uploadVideo",this.sessionId),selectAndUploadTempFile({accept:"video/mp4,audio/ogg,video/webm",channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(t=null===(r=this.connection)||void 0===r?void 0:r.connectionInfo.securityToken)&&void 0!==t?t:"",gslb:(null===(n=this.connection)||void 0===n?void 0:n.connectionInfo.gslb)||getGslb(),onProgress:e}).then(function(e){i.addVideoShape(e.url)})}},{key:"_sendMetrics",value:function(e){e.time=(new Date).toISOString(),this.metricsBuffer.push(e);var t=e.event||"";t.includes("join")||t.includes("leave")?this.doSendMetrics():this.sendMetricsTimeout||(this.sendMetricsTimeout=window.setTimeout(this.doSendMetrics,1e4))}},{key:"uploadImage",value:function(){var e,t,r,n=this,i=0>=arguments.length||void 0===arguments[0]||arguments[0],o=arguments.length>1?arguments[1]:void 0;if(Log.logInfo("RtcWhiteboard.uploadImage",this.sessionId),this.isConnected)return selectAndUploadTempFile({accept:"image/*",channelId:this.channelId,userId:this.userId,appId:this.appId,securityToken:null!==(e=null===(t=this.connection)||void 0===t?void 0:t.connectionInfo.securityToken)&&void 0!==e?e:"",gslb:(null===(r=this.connection)||void 0===r?void 0:r.connectionInfo.gslb)||getGslb(),onProgress:o}).then(function(e){var t=e.url,r=e.fileName;i?n.setBackgroundImage(t):includes(r,".gif")||includes(t,"imgtype=gif")?n.addImageShape(includes(r,"?")?"".concat(t,"&imgtype=gif"):"".concat(t,"?imgtype=gif")).catch(function(){Log.logError("RtcWhiteboard.uploadImage","addImageShape error")}):n.addImageShape(t).catch(function(){Log.logError("RtcWhiteboard.uploadImage","addImageShape error")})})}},{key:"addStamp",value:function(e,t,r){Log.logInfo("RtcWhiteboard.addStamp",e,t,r),Stamp.stampResourceCache.cache(e,t,r)}},{key:"getSdkVersion",value:function(){return version$1}},{key:"exportAsJson",value:(r=_asyncToGenerator$1(_regeneratorRuntime$1.mark(function e(){var t,r,n,i,o,a,s,c=arguments;return _regeneratorRuntime$1.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=c.length>0&&void 0!==c[0]&&c[0],r=this.docManager.getDocs().map(function(e){return e.export()}),n="",e.prev=1,e.next=2,this.snapshot(!1,"all","png",.1);case 2:n=e.sent,e.next=4;break;case 3:e.prev=3,e.catch(1),Log.logError("RtcWhiteboard.exportAsJson snapshot error");case 4:return i={snapshot:n,docsInfo:r},t&&(o="".concat(this.channelId,"-").concat(this.userId,".wbstates.json"),a=new File([new Blob([JSON.stringify(i)],{type:"text/plain"})],o,{type:"text/plain"}),(s=document.createElement("a")).href=window.URL.createObjectURL(a),s.download=o,s.style.display="none",document.body.appendChild(s),requestAnimationFrame(function(){s.click(),document.body.removeChild(s)})),e.abrupt("return",i);case 5:case"end":return e.stop()}},e,this,[[1,3]])})),function(){return r.apply(this,arguments)})},{key:"saveLogs",value:function(){saveLogs(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"".concat(formateDate(new Date,"yyyyMMdd-hhmmss"),".web-sdk.log"))}}],[{key:"usePdf",value:function(e){t.PdfPlugin=e}}]);var r,n}();function _callSuper$3(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$3()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$3(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$3=function(){return!!e})()}function _superPropGet(e,t,r,n){var i=_get(_getPrototypeOf$1(e.prototype),t,r);return 2&n&&"function"==typeof i?function(e){return i.apply(r,e)}:i}Object.defineProperty(Whiteboard,"MAX_SCALE",{enumerable:!0,configurable:!0,writable:!0,value:5}),Object.defineProperty(Whiteboard,"MIN_SCALE",{enumerable:!0,configurable:!0,writable:!0,value:.1}),Object.defineProperty(Whiteboard,"MAX_MEDIA_SIZE",{enumerable:!0,configurable:!0,writable:!0,value:300}),Object.defineProperty(Whiteboard,"DEFAULE_DOC_URL_DURATION",{enumerable:!0,configurable:!0,writable:!0,value:172800}),Object.defineProperty(Whiteboard,"RENDER_INTEVAL",{enumerable:!0,configurable:!0,writable:!0,value:RENDER_INTEVAL}),Object.defineProperty(Whiteboard,"CMD_SEND_WAIT",{enumerable:!0,configurable:!0,writable:!0,value:100}),Object.defineProperty(Whiteboard,"sdkVersion",{enumerable:!0,configurable:!0,writable:!0,value:version$1}),Object.defineProperty(Whiteboard,"docTranscodeStaicMaxSize",{enumerable:!0,configurable:!0,writable:!0,value:200});var RtcWhiteboard=function(e){function t(e,r){var n;return _classCallCheck$1(this,t),n=_callSuper$3(this,t,[e.sessionId]),Object.defineProperty(n,"wbManager",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(n,"users",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"joinStatus",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"openStatus",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"leave",{enumerable:!0,configurable:!0,writable:!0,value:function(){Log.logInfo("RtcWhiteboard.leaveWhiteboard whiteboardId",n.sessionId),n.close(),n.joinStatus="leaving",n.connection.leave(),n.joinStatus="left",n.users=[]}}),Object.defineProperty(n,"stop",{enumerable:!0,configurable:!0,writable:!0,value:function(){Log.logInfo("RtcWhiteboard.stopWhiteboard",n.sessionId),n.connection.stop(),n.reset(),n.joinStatus="left"}}),Object.defineProperty(n,"onReceiveCommand",{enumerable:!0,configurable:!0,writable:!0,value:function(e){try{var t=e.type;if("resource"===t){var r=e.moziMessageIdDTO.messageId;if("activeDoc"===r)Log.logInfo("RtcWhiteboard.onReceiveCommand active",e,n.sessionId),n.docManager.switchActiveDoc(e.message.active);else if("doc"===e.message.resourceType){Log.logInfo("RtcWhiteboard.onReceiveCommand doc",e,n.sessionId),n.docManager.handleDocCommnad(e,n.connection.connectionInfo.pid===e.editor,n.getWrapperDomRect(),n.sizeConfig)}else"vision"===r?n._handleVisionCommand(e):"laserPointer"===e.message.resourceType?n._handleLaserPointerCommand(e):"cursor"===e.message.resourceType?n._handleCoursorCommand(e):"stamp"===e.message.resourceType&&n._handleStampResourceCommand(e)}else"clear"===t?"object"===e.messageType?n._handleClearObj(e):n._handleClearResource(e):"object"===t?n._handleDrawCommand(e):"snapshot"===t&&n._handleSnapshotCommand(e)}catch(t){Log.logError("RtcWhiteboard.onReceiveCommand: Handle command failed: ",e,t,n.sessionId)}}}),n.connection=e,n.users=[],n.connection.on("data-received",function(e,t,r){try{var i=JSON.parse(e);n.onReceiveCommand(i)}catch(n){Log.logInfo("RtcWhiteboard data-received parse error",e,t,r)}}),n.connection.on("status-sync",function(){n._innerEventhub.emit("syncCompleted")}),n.connection.on("user-join",function(e){n.users.some(function(t){return t.userId===e})||(n.users.push({userId:e}),n.emit("user-join",e))}),n.connection.on("user-leave",function(e){var t=n.users.findIndex(function(t){return t.userId===e});t>-1&&(n.users.splice(t,1),n.emit("user-leave",e))}),n.joinStatus="init",n.openStatus="init",n}return _inherits$1(t,Whiteboard),_createClass$1(t,[{key:"isConnected",get:function(){var e;return(null===(e=this.connection)||void 0===e?void 0:e.isConnected)||!1}},{key:"open",value:(r=_asyncToGenerator$1(_regeneratorRuntime$1.mark(function e(r){var n,i,o;return _regeneratorRuntime$1.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=this.openStatus,this.openStatus="opening",Log.logInfo("RtcWhiteboard.open",this.sessionId),this.isConnected){e.next=1;break}return Log.logInfo("RtcWhiteboard.open wb session not connected, will join session",this.sessionId),this.openStatus=n,e.abrupt("return");case 1:return e.prev=1,e.next=2,this.joinSession();case 2:e.next=4;break;case 3:return e.prev=3,o=e.catch(1),this.openStatus=n,e.abrupt("return",Promise.reject(o));case 4:return i=_superPropGet(t,"open",this,3)([r]),this.openStatus="opened",e.abrupt("return",i);case 5:case"end":return e.stop()}},e,this,[[1,3]])})),function(e){return r.apply(this,arguments)})},{key:"close",value:function(){if("closed"!==this.openStatus){this.openStatus="closing";var e=_superPropGet(t,"close",this,3)([]);return this.openStatus="closed",e}Log.logInfo("RtcWhiteboard.close already closed, directly resolve",this.sessionId)}},{key:"joinSession",value:function(){var e=this;if("joined"===this.joinStatus)return Log.logInfo("RtcWhiteboard.joinSession already joined, directly resolve",this.sessionId),Promise.resolve(!0);var t=this.joinStatus;return this.joinStatus="joining",this.connection.joinSession().then(function(){var t;e.joinStatus="joined",null===(t=e.connection.session)||void 0===t||t.nodeMap.nodesInfo.forEach(function(t){-1===e.users.findIndex(function(e){return e.userId===t.uid})&&e.users.push({userId:t.uid})})}).catch(function(r){return e.joinStatus=t,Promise.reject(r)})}},{key:"_handleSnapshotCommand",value:function(e){var t,r=this;Log.logInfo("RtcWhiteboard._handleSnapshotCommand",e,this.sessionId),e.start&&Log.logInfo("RtcWhiteboard._handleSnapshotCommand start"),e.objects.forEach(function(e){"activeDoc"!==e.moziMessageIdDTO.messageId?r.onReceiveCommand(e):t=e}),t&&this.onReceiveCommand(t),e.end&&Log.logInfo("RtcWhiteboard._handleSnapshotCommand end")}},{key:"_handleCoursorCommand",value:function(e){if(e.moziMessageIdDTO.userDTO.userId!==this.userId){Log.logDebug("RtcWhiteboard._handleCoursorCommand",e,this.sessionId);var t=find(this.cursors,{shapeId:e.moziMessageIdDTO.messageId}),r=parseInt(e.message.x),n=parseInt(e.message.y),i=num2rgba(parseInt(e.message.color));if(t)t.updateCursor(r,n,i,e.message.type);else{var o=new Cursor({points:[{x:r,y:n},{x:r,y:n}],shapeId:e.moziMessageIdDTO.messageId,creator:e.moziMessageIdDTO.userDTO.userId},e.message.name,e.message.type,i);this.cursors.push(o),this._hookShapeRenderRequest(o)}}}},{key:"_handleClearResource",value:function(e){var t=this;Log.logInfo("RtcWhiteboard._handleClearResource",e,this.sessionId);var r=e.resourceType;e.clearedMessageIds.map(function(e){var t=JSON.parse(e);return{messageId:t.messageId,userId:t.userDTO.userId}}).forEach(function(e){var n,i=e.messageId,o=e.userId;if("vision"===r)t.emit("user-vision-share-stop",o),o===(null===(n=t._visionLockInfo)||void 0===n?void 0:n.userId)&&(t._visionLockInfo=void 0,t._lockVisonUserId="",t.stopFollowVision());else if("cursor"===r)t.cursors.splice(findIndex(t.cursors,{shapeId:i,creator:o},1));else if("laserPointer"===r)t.laserPointers=t.laserPointers.filter(function(e){return e.creator!==o});else if("doc"===r){var a=t.docManager.getDocByDocId(i);if(!a||a.docId!==i)return;a.docId===t.docManager.activeDocId&&t.docManager.switchActiveDoc(DEFAULT_DOC_ID),t.docManager.deleteDoc(a)}}),this.render()}},{key:"_handleClearObj",value:function(e){var t=this;Log.logInfo("RtcWhiteboard._handleClearObj",e,this.sessionId),e.clearedMessageIds.map(function(e){var t=JSON.parse(e);return{shapeSeq:t.messageId,userId:t.userDTO.userId}}).forEach(function(e){var r=e.shapeSeq,n=e.userId;t.docManager.getDocs().forEach(function(e){for(var t=0;e.totalPages>t;t++)e.getPageAtIndex(t).removeShape(seqIdToShapeId(r,n))})}),this.render()}},{key:"_handleStampResourceCommand",value:function(e){Log.logInfo("RtcWhiteboard._handleStampResourceCommand",e);var t=e.moziMessageIdDTO.messageId;Stamp.stampResourceCache.get(t)?Stamp.stampResourceCache.setServerCache(t):e.message.url&&(Stamp.stampResourceCache.cache(t,e.message.url,"1"===e.message.resizable),Stamp.stampResourceCache.setServerCache(t))}},{key:"_handleLaserPointerCommand",value:function(e){var t=e.moziMessageIdDTO.userDTO.userId;if(t!==this.userId){var r=e.moziMessageIdDTO.messageId,n=seqIdToShapeId(r,t),i=parseInt(e.message.x),o=parseInt(e.message.y),a=find(this.laserPointers,function(e){return e.shapeId===n});a?a.points=[{x:i,y:o},{x:i,y:o}]:(a=new LaserPointer([{x:i,y:o},{x:i,y:o}],seqIdToShapeId(r,t),t),this._hookShapeRenderRequest(a),this.laserPointers.push(a))}}},{key:"_handleVisionCommand",value:function(e){if(e.moziMessageIdDTO.userDTO.userId!==this.userId){var t=parseInt(e.message.width),r=parseInt(e.message.height),n=e.moziMessageIdDTO.userDTO.userId;this._visionLockInfo={width:t,height:r,minx:parseInt(e.message.minx),miny:parseInt(e.message.miny),userId:n},this.bSharingVision&&n!==this.userId&&(this.bSharingVision=!1,this.emit("vision-lock-stop")),this._lockVisonUserId!==n&&(this._lockVisonUserId=n,Log.logInfo("RtcWhiteboard._handleVisionCommand userVisionShareStart",e,this.sessionId),this.emit("user-vision-share-start",n)),this.isWhiteboardOpen&&(t>0&&r>0?this._bFollowVision&&this.followVision(this._visionLockInfo):Log.logError("RtcWhiteboard._handleVisionCommand: ","width or height is minus, won't handle this",this.sessionId))}else this._lockVisonUserId=this.userId}},{key:"_handleDrawCommand",value:function(e){var t=this;Log.logDebug("RtcWhiteboard.handleDrawCommand: ",e,this.sessionId);var r=e.message,n=e.moziMessageIdDTO.userDTO.userId;if(e.editor!==this.connection.connectionInfo.pid||r.shape===ShapeType.Image&&"bg"===r.order){var i=r.pageId,o=r.order,a=void 0===o?ShapeOrderType.normal:o,s=r.text,c=r.data,l=r.style,u=r.font,d=r.image,p=r.video,h=r.audio,f=r.shape,g=this.docManager.getDocByPageId(i),y=null==g?void 0:g.getPageByPageId(i);if(y&&g){var v=g.getPageIndexByPageId(i),m=e.moziMessageIdDTO.messageId,b=seqIdToShapeId(m,n),S=y.getShapeBySeq(m,n);if(!S){Log.logInfo("RtcWhiteboard.handleDrawCommand: local shape not found, will create new shape.");var _=c&&numArr2points(c),w=generateShapeStyle(l?JSON.parse(l):void 0);if(!_||!_.length)return void Log.logWarn("RtcWhiteboard.handleDrawCommand: no point data when create a new shape!");if(f===ShapeType.Pen)S=new Pen({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Line)S=new Line({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Rect)S=new Rect({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Ellipse)S=new Ellipse({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Triangle)S=new Triangle({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Rhombic)S=new Rhombic({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Arrow)S=new Arrow({points:_,shapeId:b,creator:n,pageId:i},w);else if(f===ShapeType.Video){var I=JSON.parse(p||"");S=new Video({points:_,shapeId:b,creator:n,pageId:i},I.url),this.setMediaShapeCallback(S)}else if(f===ShapeType.Stamp){var T=JSON.parse(d||"").url,E=Stamp.stampResourceCache.get(T);E?S=new Stamp({points:_,shapeId:b,creator:n,pageId:i},T,E.resizable,E.url):Log.logError("RtcWhiteboard.handleDrawCommand: stamp resource cache not found!",T,this.sessionId)}else if(f===ShapeType.Audio){var O=JSON.parse(h||"");S=new Audio({points:_,shapeId:b,creator:n,pageId:i},O.url),this.setMediaShapeCallback(S)}else if(f===ShapeType.Text){var P=JSON.parse(u||"{}"),C=generateShapeFont(JSON.parse(u||"{}")),R=generateShapeStyle({fillcolor:P.color,filltype:ShapeFillType.color,linecolor:P.color,linewidth:1});S=new Text({points:_,shapeId:b,creator:n,pageId:i},R,s,C)}else if(f===ShapeType.Image){var x=JSON.parse(d||"").url;(S=new Image$1({points:_,shapeId:b,creator:n,pageId:i},x)).order=a,S.loadImage().then(function(e){if(0===S.points[1].y||0===S.points[1].x){var r=t._getLimitedImgSize(e.naturalWidth,e.naturalHeight);t.updateBgImgPosition(S,r.imgWidth,r.imgHeight),n===t.userId&&(Log.logInfo("RtcWhiteboard.handleDrawCommand: resend shape data because bg image width or height is 0",t.sessionId),t.sendDrawCmd(S,"draw"))}"bg"===S.order&&(y.backgroundImage=S,t._bFollowVision||g.scaleBoardFitBackgroundImage(y,t.getWrapperDomRect(),t.bgScaleMode),t.emit("background-image-updated",g.docId,v,x))}).catch(function(){Log.logError("image load failed when handle draw command")})}else f===ShapeType.Brush&&(S=new Eraser({points:_,shapeId:b,creator:n,pageId:i},w));if(!S)return void Log.logError("RtcWhiteboard.handleDrawCommand: no shape created!");S instanceof Image$1&&"bg"===S.order||y.addShape(S)}if(r.rgn){var k=numArr2points(r.rgn);if(S instanceof Line||S instanceof Arrow)S.points=k;else{var A={x:(k[0].x+k[1].x)/2,y:(k[0].y+k[1].y)/2};S.onMoveStart(),S.onMoveEnd(A.x-S.center.x,A.y-S.center.y),S.storeTransformStartPoints();var D=S.rngReverse,N=D.xReversed,M=D.yReversed,j=k[0].x-k[1].x>0,L=k[0].y-k[1].y>0,$=Math.abs((k[0].x-k[1].x)/(S.minx-S.maxx)),B=Math.abs((k[0].y-k[1].y)/(S.miny-S.maxy));S.resizeByRatio(N&&j||!N&&!j?$:-$,M&&L||!M&&!L?B:-B)}}else{var U=r.order,F=void 0===U?S.order||ShapeOrderType.normal:U,z=r.orderTime,V=r.text,W=r.data,H=r.visible,q=r.style,G=r.font,Y=r.image,K=r.video,J=r.audio,X=W&&numArr2points(W),Z=generateShapeStyle(q?JSON.parse(q):void 0);if(S.points=X||S.points,S instanceof DrawableShape&&(S.shapeStyle=Z||S.shapeStyle),S instanceof Text&&(S.fontStyle=G&&generateShapeFont(JSON.parse(G))||S.fontStyle,S.text=V||S.text),S instanceof Image$1){var Q=JSON.parse(Y||"").url;S.order=F,Q!==S.imgUrl&&(S.imgUrl=Q,S.loadImage().then(function(e){if(0===S.points[1].y||0===S.points[1].x){var r=t._getLimitedImgSize(e.naturalWidth,e.naturalHeight);t.updateBgImgPosition(S,r.imgWidth,r.imgHeight),n===t.userId&&(Log.logInfo("RtcWhiteboard.handleDrawCommand: resend shape data because bg image width or height is 0",t.sessionId),t.sendDrawCmd(S,"draw"))}"bg"===S.order&&(t._bFollowVision||g.scaleBoardFitBackgroundImage(y,t.getWrapperDomRect(),t.bgScaleMode),t.emit("background-image-updated",g.docId,v,Q))}).catch(function(){Log.logError("image load failed when handle draw command")}))}if(S instanceof MediaShape){var ee=JSON.parse(K||J||""),te=ee.time,re=ee.isPlaying,ne=ee.repeatPlay;void 0!==te&&(Math.abs(te-S.mediaElement.currentTime)>1||S.mediaElement.paused!==!re||ne!==S.repeatPlay?(S.mediaElement.currentTime=te,S.repeatPlay=ne,re?S.mediaElement.play().catch(function(){Log.logError("mediaElement play failed when handle draw command")}):S.mediaElement.pause()):Log.logInfo("RtcWhiteboard.ignore meida sync",e,{time:S.mediaElement.currentTime,isPlaying:!S.mediaElement.paused,repeatPlay:S.repeatPlay},this.sessionId))}if(H===ShapeVisibleType.invisible||H===ShapeVisibleType.visible){var ie=H===ShapeVisibleType.visible;S.visible!==ie&&(S.visible=ie)}S.order=F,S.orderTime=new Date(z||Date.now()).getTime(),y.updateShapesOrder()}}else Log.logError("RtcWhiteboard.handleDrawCommand: page not found!",i,this.sessionId)}}}]);var r}();function ownKeys$1(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread$1(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$1(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$1(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$2(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$2()?Reflect.construct(t,r||[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$2(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$2=function(){return!!e})()}var ISession=function(e){function t(){var e;return _classCallCheck$1(this,t),e=_callSuper$2(this,t,arguments),Object.defineProperty(e,"clearCursorTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"generateBaseMessage",value:function(e,t,r){return{type:"resource",editor:this.connectionInfo.pid,operationTime:Date.now(),version:-1,messageSettingsDTO:{autoDelete:t},moziMessageIdDTO:{channelId:this.connectionInfo.sessionId,messageId:e,userDTO:{appId:this.connectionInfo.appId,userId:r}}}}},{key:"sendDocResourceMessage",value:function(e,t,r){var n,i,o,a=e.browseMode===DocBrowserMode.scroll,s=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(e.docId,!1,e.creator)),{},{type:"resource",message:{resourceType:"doc",docType:e.type,creator:"".concat(e.creator,"@").concat(this.connectionInfo.appId),curpage:t||e.currentPage.pageId,fileKey:e.fileKey||e.docId,maxSeq:""+e.maxSeq,name:e.name,pagelist:(r||e.getPages().map(function(e){return e.pageId})).join(" "),width:a?null===(n=e.width)||void 0===n?void 0:""+n:void 0,height:a?null===(i=e.scrollPageHeight)||void 0===i?void 0:""+i:void 0,pageNum:a?"".concat(e.currentPageIndex+1):void 0,y:a?null===(o=e.y)||void 0===o?void 0:""+o:void 0,url:e.url||void 0,download:e.url||void 0}});return Log.logInfo("IConnection.sendDocResourceMessage",s),this.sendData(JSON.stringify(s),!0,!0)}},{key:"sendCreateDocResourceMessage",value:function(e,t,r,n,i){var o=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(e,!1,this.connectionInfo.userId)),{},{type:"resource",message:{resourceType:"doc",creator:"".concat(this.connectionInfo.userId,"@").concat(this.connectionInfo.appId),curpage:"".concat(e,"-1"),fileKey:e,maxSeq:""+(t+1),name:r,docType:DocType.normal,pagelist:Array(t).fill(e).map(function(t,r){return"".concat(e,"-").concat(r+1)}).join(" "),width:null==n?void 0:""+n,height:null==i?void 0:""+i}});return Log.logInfo("IConnection.sendCreateDocResourceMessage",o),this.sendData(JSON.stringify(o),!0,!0)}},{key:"sendCreatePdfDocResourceMessage",value:function(e,t,r,n){var i=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(e,!1,this.connectionInfo.userId)),{},{type:"resource",message:{resourceType:"doc",docType:DocType.pdf,creator:"".concat(this.connectionInfo.userId,"@").concat(this.connectionInfo.appId),curpage:"".concat(e,"-1"),fileKey:n||e,maxSeq:"1",name:t,pagelist:"".concat(e,"-1"),url:r,download:r,y:"0",pageNum:"1"}});return Log.logInfo("IConnection.sendCreatePdfDocResourceMessage",i),this.sendData(JSON.stringify(i),!0,!0)}},{key:"sendActiveDocResourceMessage",value:function(e){var t=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage("active",!1,this.connectionInfo.userId)),{},{type:"resource",moziMessageIdDTO:{channelId:this.connectionInfo.sessionId,messageId:"activeDoc",userDTO:{appId:this.connectionInfo.appId,userId:this.connectionInfo.userId}},message:{resourceType:"active",active:e}});return Log.logInfo("IConnection.sendActiveDocResourceMessage",t),this.sendData(JSON.stringify(t),!0,!0)}},{key:"sendShapeDrawMessage",value:function(e){var t=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(e.shapeSeq,!1,e.creator)),{},{type:"object",message:e.genDrawMsg(this.connectionInfo.userName)});return Log.logDebug("IConnection.sendShapeDrawMessage",t),this.sendData(JSON.stringify(t),!0,!0)}},{key:"sendShapeRgnMessage",value:function(e){var t=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(e.shapeSeq,!1,e.creator)),{},{type:"object",message:e.genRgnMsg(this.connectionInfo.userName)});return Log.logDebug("IConnection.sendShapeRgnMessage",t),this.sendData(JSON.stringify(t),!1,!0)}},{key:"sendLaserPointerMsg",value:function(e,t){var r=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage("".concat(this.connectionInfo.userId,"@").concat(this.connectionInfo.appId,"-laserPointer"),!0,this.connectionInfo.userId)),{},{type:"resource",message:{resourceType:"laserPointer",x:""+e,y:""+t}});return this.sendData(JSON.stringify(r),!0,!0)}},{key:"sendStampMsg",value:function(e,t,r){var n=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage("stamp-".concat(e),!1,this.connectionInfo.userId)),{},{type:"resource",message:{resourceType:"stamp",url:t,data:"",resizable:r?"1":"0"}});return Log.logInfo("IConnection.sendStampMsg",n),this.sendData(JSON.stringify(n),!0,!0)}},{key:"sendCursorMsg",value:function(e,t,r,n){var i=this,o="".concat(this.connectionInfo.userId,"@").concat(this.connectionInfo.appId,"-cursor"),a=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage(o,!0,this.connectionInfo.userId)),{},{type:"resource",message:{resourceType:"cursor",name:this.connectionInfo.userName,x:""+e,y:""+t,color:""+rgba2num(r),type:n}});return this.clearCursorTimer&&clearTimeout(this.clearCursorTimer),this.clearCursorTimer=window.setTimeout(function(){i.sendClearResourceMsg("cursor",[o])},3e3),this.sendData(JSON.stringify(a),!0,!0)}},{key:"sendVisionResourceMsg",value:function(e,t,r,n){var i=_objectSpread$1(_objectSpread$1({},this.generateBaseMessage("vision",!1,this.connectionInfo.userId)),{},{type:"resource",moziMessageIdDTO:{channelId:this.connectionInfo.sessionId,messageId:"vision",userDTO:{appId:this.connectionInfo.appId,userId:this.connectionInfo.userId}},message:{resourceType:"vision",name:this.connectionInfo.userName,height:""+t,minx:""+r,miny:""+n,width:""+e}});return this.sendData(JSON.stringify(i),!0,!0)}},{key:"sendClearResourceMsg",value:function(e,t){var r=this,n={type:"clear",channelId:this.connectionInfo.sessionId,clearSubType:"specific",clearType:"specific",resourceType:e,clearedMessageIds:t.map(function(e){return JSON.stringify({channelId:r.connectionInfo.sessionId,messageId:e,userDTO:{appId:r.connectionInfo.appId,userId:r.connectionInfo.userId}})}),messageType:"resource",operator:{appId:this.connectionInfo.appId,userId:this.connectionInfo.userId}};return Log.logInfo("IConnection.sendClearResourceMsg",n),this.sendData(JSON.stringify(n),!0,!0)}},{key:"sendClearDrawMsg",value:function(e){var t=this,r={type:"clear",channelId:this.connectionInfo.sessionId,clearSubType:"specific",clearType:"specific",clearedMessageIds:e.map(function(e){return JSON.stringify({channelId:t.connectionInfo.sessionId,messageId:e.seq,userDTO:{appId:t.connectionInfo.appId,userId:e.userId}})}),messageType:"object",operator:{appId:this.connectionInfo.appId,userId:this.connectionInfo.userId}};return Log.logInfo("IConnection.sendClearDrawMsg",r),this.sendData(JSON.stringify(r),!0,!0)}}])}();function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _callSuper$1(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct$1()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct$1(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct$1=function(){return!!e})()}var WebSession=function(e){function t(e,r){var n,i,o;return _classCallCheck$1(this,t),o=_callSuper$1(this,t),Object.defineProperty(o,"session",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(o,"wbManager",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(o,"onReceiveUserUpdate",{enumerable:!0,configurable:!0,writable:!0,value:function(e){Log.logInfo("WebSession.onReceiveUserUpdate",e)}}),Object.defineProperty(o,"onReceiveCmdData",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t,r,n,i,a){Log.logInfo("WebSession.onReceiveCmdData",{from_pid:e,cmdType:t,cmd:r,data:n,broadcast:i,reqId:a}),o.emit("cmd-received",e,t,r,n,i,a)}}),Object.defineProperty(o,"onReceiveData",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t,r){o.emit("data-received",t,e,r)}}),Object.defineProperty(o,"leave",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;Log.logInfo("WebSession.leaveWhiteboard whiteboardId",o.sessionId),null===(e=o.session)||void 0===e||e.leave()}}),Object.defineProperty(o,"stop",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;Log.logInfo("WebSession.stopWhiteboard",o.sessionId);var t=null===(e=o.session)||void 0===e?void 0:e.close();null==t||t.then(function(){Log.logInfo("WebSession.stopWhiteboard closed",o.sessionId)},function(){Log.logError("WebSession.stopWhiteboard error",o.sessionId)})}}),Object.defineProperty(o,"sendData",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t;null===(t=o.session)||void 0===t||t.sendMessage({echo:arguments.length>1&&void 0!==arguments[1]&&arguments[1],message:e})}}),null===(n=o.session)||void 0===n||n.on("message",function(e){e.cmdType?o.onReceiveCmdData(e.pid,e.cmdType,e.cmd,e.message,e.broadcast,e.requestId):o.onReceiveData(e.pid,e.message,e.broadcast)}),null===(i=o.session)||void 0===i||i.on("user-update",o.onReceiveUserUpdate),o}return _inherits$1(t,ISession),_createClass$1(t,[{key:"sessionId",get:function(){return this.session.id}},{key:"isConnected",get:function(){var e;return(null===(e=this.wbManager)||void 0===e?void 0:e.isConnected)||!1}},{key:"connectionInfo",get:function(){return _objectSpread({sessionId:this.sessionId},this.wbManager.connectionInfo)}},{key:"joinSession",value:function(){var e;return Log.logInfo("WebSession.joinSession",this.sessionId),null===(e=this.session)||void 0===e?void 0:e.join()}}])}(),version="3.0.0",pkg={version:version};function _callSuper(e,t,r){return t=_getPrototypeOf$1(t),_possibleConstructorReturn$1(e,_isNativeReflectConstruct()?Reflect.construct(t,[],_getPrototypeOf$1(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_isNativeReflectConstruct=function(){return!!e})()}var WhiteboardManager=function(e){function t(){var e;return _classCallCheck$1(this,t),e=_callSuper(this,t),Object.defineProperty(e,"id",{enumerable:!0,configurable:!0,writable:!0,value:createUuid()}),Object.defineProperty(e,"whiteboardMap",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(e,"channel",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"reporter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e}return _inherits$1(t,EventEmitter),_createClass$1(t,[{key:"gslb",get:function(){var e;return(null===(e=this.channel)||void 0===e?void 0:e.gslb)||getGslb()}},{key:"getWhiteboard",value:function(e){if((null==e?void 0:e.length)>64||SESSIONID_REGEXP.test(e))throw new DingRTCError(ErrorCode.InvaildArgument,"invalid whiteboardId");var t=this.whiteboardMap.get(e);if(!t){var r=new WebSession(this.channel.dataSwitcher.getSession(yt.WHITEBOARD,e),this);t=new RtcWhiteboard(r,this),this.whiteboardMap.set(e,t)}return t}},{key:"getAnnotation",value:function(e,t){if((null==e?void 0:e.length)>64||SESSIONID_REGEXP.test(e))throw new DingRTCError(ErrorCode.InvaildArgument,"invalid annotationId");if(!["video","share","external"].includes(t))throw new DingRTCError(ErrorCode.InvaildArgument,"invalid source type");var r="".concat(ANNOTATION_PREFIX,"#").concat(t,"#").concat(e),n=this.whiteboardMap.get(r);if(!n){var i=new WebSession(this.channel.dataSwitcher.getSession(yt.WHITEBOARD,r),this);n=new RtcWhiteboard(i,this),this.whiteboardMap.set(r,n)}return n}},{key:"connectionInfo",get:function(){var e,t,r,n,i,o,a;return{userId:null===(e=this.channel)||void 0===e||null===(e=e.joinInfo)||void 0===e?void 0:e.uid,userName:null===(t=this.channel)||void 0===t||null===(t=t.joinInfo)||void 0===t?void 0:t.userName,channelId:null===(r=this.channel)||void 0===r||null===(r=r.joinInfo)||void 0===r?void 0:r.channel,token:null===(n=this.channel)||void 0===n||null===(n=n.joinInfo)||void 0===n?void 0:n.token,appId:null===(i=this.channel)||void 0===i||null===(i=i.joinInfo)||void 0===i?void 0:i.appId,pid:null===(o=this.channel)||void 0===o||null===(o=o.userManager)||void 0===o?void 0:o.currentPid,securityToken:null===(a=this.channel)||void 0===a||null===(a=a.securityToken)||void 0===a?void 0:a.securityToken,gslb:this.gslb||getGslb()}}},{key:"detach",value:function(){}},{key:"attach",value:function(e){this.setupChannel(e),Log.logInfo("WhiteboardManager.attach")}},{key:"isConnected",get:function(){var e;return"connected"===(null===(e=this.channel)||void 0===e?void 0:e.connectionState)}},{key:"setupChannel",value:function(e){var t=this;Log.attach(e.reporter),this.channel=e,this.channel.on("connection-state-change",function(e,r,n){Log.logInfo("WebConnection on connection-state-change",{currentState:e,prevState:r,reason:n}),t.emit("connection-state-change",e,r,n)}),this.channel.dataSwitcher.on("sessionCreate",function(e){var r=e.id;if(e.type===yt.WHITEBOARD)if(r.includes(ANNOTATION_PREFIX)){var n=_slicedToArray(r.split("#").slice(2),2);t.emit("annotation-start",n[1],n[0])}else t.emit("whiteboard-start",r)}),this.channel.dataSwitcher.on("sessionClose",function(e){var r=e.id;if(e.type===yt.WHITEBOARD)if(r.includes(ANNOTATION_PREFIX)){var n=_slicedToArray(r.split("#").slice(2),2);t.emit("annotation-stop",n[1],n[0])}else t.emit("whiteboard-stop",r)})}},{key:"join",value:(r=_asyncToGenerator$1(_regeneratorRuntime$1.mark(function e(t){return _regeneratorRuntime$1.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.reporter=registerReporter(this.id),this.setupChannel(new wt({reporter:this.reporter,sdkVersion:pkg.version,scene:"whiteboard"})),Log.logInfo("WebConnection.join",t),e.next=1,this.channel.join(t);case 1:case"end":return e.stop()}},e,this)})),function(e){return r.apply(this,arguments)})},{key:"leave",value:function(){Log.logInfo("WhiteboardManager.leave",this.connectionInfo),this.channel.leave(),this.whiteboardMap.clear()}},{key:"clear",value:function(){Log.logInfo("WhiteboardManager.reset"),this.whiteboardMap.clear()}}]);var r}();export{RtcWhiteboard,ShapeFillType,ShapeFontFormatType,ShapeLineType,ShapeOrderType,ShapeVisibleType,ShapeType as ToolType,WBClearType,Whiteboard,WhiteboardManager,WhiteboardManager as default};
|